HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Breaking the x86 Instruction Set

Black Hat9 HN recommenders · recommended in 8 months, 2017-2022
YouTube
381K views · 9 years ago · talk · evergreen

Christopher Domas presents at Black Hat 2017 how page fault analysis and processor fuzzing can exhaustively search the x86 instruction set. The talk uncovers undocumented instructions and hardware bugs and shows limits of disassemblers.

HN recommends it as a clever, entertaining and easy-to-follow talk on finding hidden x86 instructions with the Sandsifter tool.

Security & hackingComputer architecture & CPUs#x86#fuzzing#sandsifter#disassemblers#cpusecurity#reverseengineering

17 comments from Hacker News

@LinuxBender2022 · in “Ask HN: Do you worry about CPU backdoors like IME?”

What are the implications of such hardware on user security? Threat persistence, i.e. persistent rootkits, persistent remote monitoring if one has privs to tickle the CPU instructions that give access. It is just a matter of time before there are public tools for script kiddies to manage the OS within the CPU. Here [1] is an example of someone slowly making progress decoding all the undocumented instructions and here is a talk with a brief overview of the tools. [2] This is not specific to Intel's ME but it is the way people will eventually tame/exploit that beast in my opinion. There are more recent talks that get deeper into security rings in the CPU. This video [3] more related to your question but not specific to ME however can be used to access ME and much more. If this appears to difficult and time consuming just know that some folks out there have the documentation for the undocumented instructions. You may find some tools on github and other public repos for disabling ME. Use with care. Test on an identical model of system that is at the same firmware/BIOS and same model of CPU as those tools can brick your CPU. As @rocket_surgeron stated, one can buy CPU's with ME disabled but that will not disable the "God Mode" referenced in [3]. [1] - link [2] - ▶ this video [3] - link

CitesView on HN
@brokenmachine2021 · in “Undocumented x86 instructions to control the CPU at the microarchitecture level [pdf]”

I watched a super interesting Black Hat video on youtube that talked about discovering secret instructions on CPUs by iterating over each bit of opcodes until you get an illegal instruction, and thereby discovering if an opcode is valid or not. He set up a room full of PCs running his code and had hardware to auto-reset them when they crashed. ▶ this video

RecommendsView on HN
@skunkworker2021 · in “A Silly Anti-Disassembly Trick”

I would be really interested to see how often malicious software utilized undocumented opcodes that disassemblers incorrectly interpret and thus lead a security researcher down a rabbit hole while the actual opcode does something different. Like the 66e9xxxxxxxx and 66e8xxxxxxxx opcodes in x86_64 [1] If my understanding is correct, Stuxnet incorporated bytecode for the PLCs in S7comm, a protocol that was not open at the time. Though this is different then including undocumented opcodes for the system being targeted directly. [1] ▶ this video

CitesView on HN
@gbrown_2021 · in “How many x86 instructions are there? (2016)”

How about undocumented instructions? Sandsifter[1] is an interesting project and the video from BlackHat[2] is a good watch. There's also a previous discussion of it on HN[3]. [1] link [2] ▶ this video [3] link

RecommendsView on HN
@BlackLotus892021 · in “Undocumented x86 instructions in Intel CPUs that can modify microcode”

There was an interesting black hat talk about automatically finding undocumented instructions. [0] Interesting comment on twitter to the instruction of the original post[1] [0] ▶ this video [1] link

RecommendsView on HN
@dnautics2020 · in “Cosmopolitan Libc: build-once run-anywhere C library”

xoreaxeaxeax's videos about how to systematically parse the asm space of x86 really hit home to me how bad the encoding is. ▶ this video

CitesView on HN
@tyingq2020 · in “XuanTie C906 based Allwinner RISC-V processor to power $12 Linux SBC's”

"I thought you were saying that the use of microcode would complicate verification of the hardware." I do think that microcode opens up the possibility of subtle injections to follow code/hardware paths you might not easily predict. A really good talk on reverse engineering an ISA implementation: ▶ this video

RecommendsView on HN
@caleb-allen2020 · in “Undocumented CPU behavior: analyzing undocumented opcodes on Intel x86-64 (2018) [pdf]”

This was also linked elsewhere but a security researcher was able to identify a significant number of undocumented instructions: ▶ this video

CitesView on HN
@mmcloughlin2019 · in “Destroying x86_64 instruction decoders with differential fuzzing”

Great project and write-up. I'm reminded of a couple other projects. MC Hammer project for LLVM tests round-trip properties of the ARM assembler. link Sandsifter x86 fuzzer. link ▶ this video

CitesView on HN
@jchw2019 · in “A Complete Formal Semantics of x86-64 User-Level Instruction Set Architecture”

There was a really good Blackhat talk a year or two ago in a sort of similar vein: they developed an approach to iterate and find undocumented opcodes. ▶ this video The software they developed is called Sandsifter.

RecommendsView on HN
@nnnate2018 · in “Ask HN: What are some of the best technical talks you've heard?”

Breaking the x86 Instruction Set by Christopher Domas. ▶ this video I found it easy to follow and pretty entertaining.

RecommendsView on HN
@ohaal2018 · in “A CPU bug with undocumented opcodes, possibly Intel (scroll to p. 155)”

Related talk (relevant part starts at 38:43) ▶ this video Quote from the talk: I don't want to make it sound like the sky is falling. This was found on one very esoteric processor that is not used in widespread production. I think it's mostly interesting from an academic perspective that we have a tool that is able to find these kinds of things now.

CitesView on HN
@FLUX-YOU2018 · in “Reading privileged memory with a side-channel”

I do also wonder if some speculative prediction / branching stuff can be controlled through undocumented CPU instructions: ▶ this video

CitesView on HN
@DyslexicAtheist2018 · in “Ask HN: What’s your favorite talk from 2017?”

my favorite were: - How the reputation economy is creating data-driven conformity link - DEF CON 25 (2017) - Weaponizing Machine Learning link - BlackHat 2017: Breaking the x86 Instruction Set ▶ this video

RecommendsView on HN
@anfractuosity2018 · in “Ask HN: What’s your favorite talk from 2017?”

One of my favourite talks I watched was "Low Cost Non-Invasive Biomedical Imaging - An Open Electrical Impedance Tomography Project" link As it presented an interesting technique I'd never heard of before, along with an implementation. Also I thought the 'Breaking the x86 Instruction Set' talk was extremely clever - ▶ this video

RecommendsView on HN
@zilitor2017 · in “I'm Testifying to Congress about Data Breaches – What Should I Say?”

Data Breach Transparency - At a minimum, their should be a penalty that grows from the time the breach was learned to when they disclose it publicly. - There should also be penalities for not being transparent about what exact data was leaked for what users. Social Security Number - SSN is similar to a password- you want to keep it hidden, and if it leaked, you should change it. However, we can't change it. Perhaps it should be considered more as a password? User Data Rights - People should know what personal data companies have on them. A good example of this is Equifax storing peoples home addresses- this could be disclosed. On the other hand, a it is probably fine to exclude other types of data, such as an advertiser storing your zip code- people probably don't care as much. - Should people have a right to have certain kinds of data (e.g. SSN) removed from websites? Adoption from USA Nutrition Label - Is it a good idea to mandate companies disclose the security they use? For example, at one time reddit had their passwords stored as plaintext and they got hacked. Disclosing basic security hygiene (e.g. password storage) somewhere standardized in the website would make it much less outrageous. Technology Improvement - Certain technologies enable hackers more than others. SQL seems to enable a lot of hacking. Should we discourage it? - Get rid of Intel ME technologies - link - Get rid of Intel hidden instructions - ▶ this video - Get rid of Simon and Speck - link - What is "be

CitesView on HN
@AceJohnny22017 · in “IDA: What's new in 7.00”

> I trust its disassembler (especially for mainstream languages) more than almost any other disassembler Might I suggest Christopher Domas' Black Hat talk "Breaking the x86 ISA", along the way of which he demonstrates the limitations of all disassemblers out there, including IDA's :) Talk: ▶ this video Slides: link Paper: link

RecommendsView on HN
GOD MODE UNLOCKED - Hardware Backdoors in x86 CPUs51:00

GOD MODE UNLOCKED - Hardware Backdoors in x86 CPUs

Black Hat
319K views • 8 years ago
The Memory Sinkhole - Unleashing An X86 Design Flaw Allowing Universal Privilege Escalation46:34

The Memory Sinkhole - Unleashing An X86 Design Flaw Allowing Universal Privilege Escalation

Black Hat
169K views • 10 years ago
DEF CON 26  - Christopher Domas - GOD MODE UNLOCKED Hardware Backdoors in redacted x8646:04

DEF CON 26 - Christopher Domas - GOD MODE UNLOCKED Hardware Backdoors in redacted x86

DEFCONConference
86K views • 8 years ago
Joanna Rutkowska: Towards (reasonably) trustworthy x86 laptops1:02:52

Joanna Rutkowska: Towards (reasonably) trustworthy x86 laptops

media.ccc.de
27K views • 10 years ago
David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast1:03:40

David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast

media.ccc.de
7M views • 11 years ago
Behind the scenes of iOS and Mac Security44:29

Behind the scenes of iOS and Mac Security

Black Hat
36K views • 6 years ago
David Kriesel: Lies, damned lies and scans52:59

David Kriesel: Lies, damned lies and scans

Free and Open Source Software Conference (FrOSCon) e.V.
58K views • 11 years ago
DEF CON 26  - Christopher Domas - The Ring 0 Facade Awakening the Processors Inner Demons21:28

DEF CON 26 - Christopher Domas - The Ring 0 Facade Awakening the Processors Inner Demons

DEFCONConference
24K views • 8 years ago
Ichthyology: Phishing as a Science24:28

Ichthyology: Phishing as a Science

Black Hat
38K views • 9 years ago
"Finding bugs without running or even looking at code" by Jay Parlar40:27

"Finding bugs without running or even looking at code" by Jay Parlar

Strange Loop Conference
42K views • 7 years ago
Compiling C to printable x86, to make an executable research paper25:41

Compiling C to printable x86, to make an executable research paper

suckerpinch
479K views • 9 years ago
Black Hat 2013 - Exploiting Network Surveillance Cameras Like a Hollywood Hacker33:36

Black Hat 2013 - Exploiting Network Surveillance Cameras Like a Hollywood Hacker

HackersOnBoard
1.1M views • 12 years ago
BlueHat IL 2023 - David Weston - Default Security54:35

BlueHat IL 2023 - David Weston - Default Security

Microsoft Israel R&D Center
47K views • 3 years ago
Netanel Rubin: The Perl Jam: Exploiting a 20 Year-old Vulnerability29:01

Netanel Rubin: The Perl Jam: Exploiting a 20 Year-old Vulnerability

media.ccc.de
8K views • 11 years ago
CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”52:01

CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”

CppCon
158K views • 9 years ago
Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas46:19

Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas

Adrian Crenshaw
81K views • 11 years ago
DEF CON 23 - Zoz - And That's How I Lost My Other Eye...Explorations in Data Destruction (Fixed)53:09

DEF CON 23 - Zoz - And That's How I Lost My Other Eye...Explorations in Data Destruction (Fixed)

DEFCONConference
533K views • 11 years ago
OffensiveCon19 - Alex Ionescu - Keynote - Reversing Without Reversing33:41

OffensiveCon19 - Alex Ionescu - Keynote - Reversing Without Reversing

OffensiveCon
20K views • 7 years ago
LibreSSL with Bob Beck1:05:45

LibreSSL with Bob Beck

Jason Tubnor
25K views • 12 years ago
36C3 -  Uncover, Understand, Own - Regaining Control Over Your AMD CPU56:37

36C3 - Uncover, Understand, Own - Regaining Control Over Your AMD CPU

media.ccc.de
23K views • 6 years ago