TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Sandsifter: find undocumented instructions and bugs on x86 CPU

447 pointsby argorainalmost 8 years ago

20 comments

mcculleyalmost 8 years ago
This is great. That a program can learn about and exploit the CPU on which it is running from unprivileged userspace reminds me of the notion in Charlie Stross' Accelerando of running a timing attack against the universe to learn about the virtual machine in which we are being simulated.
评论 #14873493 未加载
评论 #14873981 未加载
评论 #14874178 未加载
_wmdalmost 8 years ago
tl&#x27;dr of the slides:<p><pre><code> Found on one processor... instruction Single malformed instruction in ring 3 locks Tested on 2 Windows kernels, 3 Linux kernels Kernel debugging, serial I&#x2F;O, interrupt analysis seem to confirm Unfortunately, not finished with responsible disclosure No details available [yet] on chip, vendor, or instructions </code></pre> He&#x27;s found a new f00f bug, winter 2017 is going to be interesting :)
评论 #14872949 未加载
评论 #14873970 未加载
评论 #14874455 未加载
hellbanneralmost 8 years ago
Related: <a href="https:&#x2F;&#x2F;www.theregister.co.uk&#x2F;2013&#x2F;05&#x2F;20&#x2F;intel_chip_customization&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.theregister.co.uk&#x2F;2013&#x2F;05&#x2F;20&#x2F;intel_chip_customiz...</a><p>&quot;Everybody hates the golden screwdriver upgrade approach, where a feature is either hidden or activated through software, but the truth of the matter is that chip makers have been doing this sort of thing for decades – and charging extra for it.&quot;<p>&quot;&quot;We are moving rapidly in the direction of realizing that people want unique things and they are going to want them in silicon. In some cases, it will be done in software,&quot; said Waxman.&quot;<p>Also, Github says &quot;several million&quot; undocumented instructions.. is that right? I don&#x27;t know much about assembly but that number sounds absurdly high.
评论 #14874015 未加载
评论 #14874105 未加载
dtx1almost 8 years ago
This is highly interesting. I assume a lot of those are going to be debug and instructions to help the binning process. Some of these might even unlock access to parts of the CPUs we aren&#x27;t supposed to have access too, opening the doors to custom microcode (unlikely that anyone outside the CPU OEM can do that though) but may allow us to disable &quot;security features&quot; such as the Management Engine. This is a really interesting approach and i would love to see the results ported to other hardware&#x2F;vendors. The same could potentially be done with GPUs, ARM-CPUs, etc.
评论 #14873097 未加载
评论 #14876176 未加载
fovcalmost 8 years ago
Here&#x27;s a link to the slides [pdf]: <a href="https:&#x2F;&#x2F;github.com&#x2F;xoreaxeaxeax&#x2F;sandsifter&#x2F;raw&#x2F;master&#x2F;references&#x2F;domas_breaking_the_x86_isa.pdf" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;xoreaxeaxeax&#x2F;sandsifter&#x2F;raw&#x2F;master&#x2F;refere...</a>
partycoderalmost 8 years ago
Also from the same author <a href="https:&#x2F;&#x2F;sites.google.com&#x2F;site&#x2F;xxcantorxdustxx&#x2F;visual-re" rel="nofollow">https:&#x2F;&#x2F;sites.google.com&#x2F;site&#x2F;xxcantorxdustxx&#x2F;visual-re</a>
评论 #14872527 未加载
SAI_Peregrinusalmost 8 years ago
Christopher Domas does some very cool work. His System Management Mode exploit a few years back was quite nice. It will be interesting to see which processor it is that he found the ring 3 hard lockup instruction in...
评论 #14874396 未加载
d33almost 8 years ago
...isn&#x27;t the usability of the tool limited because it&#x27;s running in userspace, which has fewer privileges in terms of what instructions can be ran?
评论 #14872994 未加载
评论 #14872955 未加载
partycoderalmost 8 years ago
Lot of weird stuff done happening nowadays in CPUs.<p>There&#x27;s a lot of mystery in microcode (equivalent to the CPU firmware), the &quot;system management mode&quot; aka protection ring -2, and the infamous management engine.
tonygalmost 8 years ago
I wonder what dbe0, dbe1, and df{c0-c7} do? They are present and undocumented in all of Intel, AMD and VIA&#x27;s variations (see p4-p5 of the paper).
pbsdalmost 8 years ago
For what it&#x27;s worth, the size-prefixed jcc&#x2F;call binutils bug had already been fixed a couple of years ago: <a href="https:&#x2F;&#x2F;sourceware.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=18386" rel="nofollow">https:&#x2F;&#x2F;sourceware.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=18386</a>
pwdisswordfishalmost 8 years ago
The slides mention an &#x27;apicall&#x27; opcode 0ffff0; searching the web turns up nothing but these same slides. Does anyone know anything about it?
评论 #14878148 未加载
rurbanalmost 8 years ago
Regarding the ring 3 hard lockup he didn&#x27;t disclose yet: isn&#x27;t that the recent kaby lake&#x2F;skylake error, released about a month ago?
ngneeralmost 8 years ago
Chip vendors do the same in the course of validation, and technically even before any silicon has been fabricated, using simulators.
shdonalmost 8 years ago
No instructions there to disable the IME?
评论 #14873557 未加载
评论 #14876178 未加载
egberts1almost 8 years ago
found another that is QEMU-specific.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;unicorn-engine&#x2F;unicorn&#x2F;issues&#x2F;364" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;unicorn-engine&#x2F;unicorn&#x2F;issues&#x2F;364</a>
评论 #14876360 未加载
purpleideaalmost 8 years ago
wow... anyone have a link to the video of his talk?
pmarreckalmost 8 years ago
Is this basically a CPU fuzzer?
评论 #14878805 未加载
brawnyalmost 8 years ago
Out of curiosity, are there any toy compiler projects out there that try and make use of the incedental instructions? Could you possibly expect to see a with while performance boost (I&#x27;m thinking it would be unlikely...)
m00dyalmost 8 years ago
Someone built a fuzzer for cpus