Hardware backdoors in some x86 CPUs
225 points by epestr 8 hours ago | 70 comments

saidnooneever 8 hours ago
this is pretty old by now but still very relevant. people dont look at this enough but with rising chip complexities for TPU units etc. and a shift towards poorly documented hardware like NVIDIA gives this problem new fuel.

Domas (and maybe his team or colleagues?) has put out shit tons of very interesting materials over the past years on advanced malware, implants and things like Cantor Dust which are amazing things to dive into.

using his own cpu fuzzer, msr fuzzing techniques etc. he has found, reversed and implemented attacks through hardware bugs and backdoors.

It cant be confirmed if a backdoor is malicious or for debugging but essentially the capabilities gained through them are what is important.

These techniques he shows throughout his videos are not super tricky to replicate and I can recommend people who have interest to dive into it, reproduce things and try to help in this domain to raise awareness and findings.

Another good avenu is: Defcon 21 - Decapping Chips The Strike Easy Hard Way

People speak about supply chain issues in NPM and Pip etc. but these are much more severe and hard to detect.

Almost no one looks at it. Most vendors totally ignore it because you cannot sell products against it. (if ud detect it u need to trash the hw so its not handy... for sales...)

reply
rkagerer 4 hours ago
I didn't know what Cantor Dust was, and had to click through a few different search results to get past all the abstract descriptions and begin to form a basic idea.

In a nutshell, I understand them as a sort of "blockie" for binary data formats. Things like WAV audio files, bitmaps, ASCII text, machine code, etc. each generate their own distinct visual signature (but different examples within any of these categories tend to generate similar signatures). So once you learn the "blockies" for different types of data, they really pop out when content is viewed this way ("hey there's an image buried in that sequence of 1's and 0's!").

The explanation on this page isn't bad, and the bitmap example near the bottom is particularly illustrative (once you've seen the reference image for bitmaps earlier in the page):

https://inside.battelle.org/blog-details/battelle-publishes-...

My armchair-expertise here is only about 20 minutes old, but I hope this helps someone else looking for a starting point to learn about them!

reply
dgellow 35 minutes ago
Fascinating, thanks for sharing. A candor dust guessing game would be pretty fun to play
reply
addaon 8 minutes ago
This is excellent!
reply
mike_hock 48 minutes ago
A poorly documented or undocumented (debugging) backdoor in a chip marketed for ATMs and medical hardware, enabled by default, at the very least qualifies as reckless endangerment.
reply
joss82 7 hours ago
This backdoor only appears on decades-old VIA C3 embedded x86 processors
reply
K0balt 3 hours ago
TBF the specific backdoor isn’t the point of the article. It’s a cautionary tale. The point is that practically all systems above the MCU level, and even some of those, have lower level systems that are often undocumented or not intended for use by the hardware designers, much less the end users. Those systems often have extremely low level access to system resources.

For example, I am building a device that records motion data, video, audio, and lidar imaging. Inside the 6 dollar IMU and the 12 dollar lidar sensor are powerful processors that load binary blobs provided by the manufacturer. The lidar could potentially gain access to any of the system data stored on the SPI bus, which includes the bulk storage and secondary RAM for the system. It could exfiltrate that data using its laser to anyone within a few hundred meters in the laser fov. It could also receive remote c&c over its optical sensor. The only thing that prevents that from being the case is that I trust the blob does not include the code to do those things, but it would be trivial to replace the blob with one that does.

Millions of devices are made that include basic wifi functionality. often, this comes in the form of a dedicated WiFi module. Those almost entirely consist of a powerful processor running a proprietary binary blobs, connected to some internal bus of the system that may give it access to some or all of the functions of the device, or at the very least could cause the device to malfunction. These WiFi phy modules are sub$1, pervasive, and often built in to devices that do not have any advertised connectivity features. A threat actor that has knowledge of an attack surface for that opaque blob can probably cause >50% of the connected devices built with that product to malfunction, in some cases in serious and dangerous ways, and sometimes to exfiltrate data that might be compromising or valuable.

That’s what this article is really about.

reply
hnuser123456 17 minutes ago
I recently got an air purifier. The touch button controls for adjusting the fan speed didn't seem to be working, so I emailed support.

They had me download their app, link the air purifier, and give them its MAC address. Then they asked me to try pressing each of the buttons a few times and email them back. I did so, and they responded that they re-calibrated the buttons using my touch samples. It worked.

reply
evanjrowley 12 minutes ago
Perfect. The next the the bank's ATM "cannot process the transaction" we now have a pathway to debug the issue.
reply
littlecranky67 7 hours ago
They should have mentioned that in the first line of the github readme, not burried deep down in the text.
reply
RamRodification 4 hours ago
Buried? Deep down? The fourth paragraph, clearly labeled "Affected Systems", a minute or two into the read.
reply
fph 4 hours ago
Opening with the title "hardware backdoors in x86 CPUs" is quite misleading, though.
reply
rbanffy 4 hours ago
We have shorter attention spans now.
reply
bunbun69 4 hours ago
Multiple things can be true at the same time. While we do have shorter attention spans, some (lots of?) developers absolutely suck at writing articles
reply
rbanffy 4 hours ago
I fancy myself as a decent writer, but I suck at writing documentation. People describe reading my notes frustrating and incomprehensible. I find it much better to use AI to untangle my, admittedly, convoluted reasoning
reply
arcfour 28 minutes ago
They knew what they were doing by not including "VIA C3 CPUs" before the fourth paragraph. Come on. It should have been in the title.
reply
netsharc 3 hours ago
Imagine getting a letter "High Risk of Cancer" and getting all the way to the 4th paragraph to see it's just relevant to a race of blue aliens...
reply
userbinator 6 hours ago
It's not even a "backdoor", it's documented in the datasheet...

http://datasheets.chipdb.org/VIA/Nehemiah/VIA%20C3%20Nehemia... (page 82)

...which along with the already publicly-known microarchitecture of the C3 makes this statement sound like total nonsense:

The rosenbridge backdoor is a small, non-x86 core embedded alongside the main x86 core in the CPU

I remember laughing at this with a few others knowledgeable in x86 when it first came out; a self-proclaimed "security researcher" who somehow failed to RTFM.

There's even a Wikipedia article about it now, with a link to the alternate instruction set documentation: https://en.wikipedia.org/wiki/Alternate_Instruction_Set

reply
phire 6 hours ago
"It's documented in the datasheet" is such a weak excuse for a backdoor.

Documenting a backdoor doesn't make it not a backdoor, just means it's not a hidden backdoor.

The fact that a number of machines shipped with the backdoor accidentally enabled, and nobody noticed for over a decade shows just how dangerous even a documented backdoor can be. The oversight wasn't even detected by someone reading the manual, it was detected by a security researcher who wrote a generic tool to fuzz out such backdoors.

reply
brador 6 hours ago
Doesn’t backdoor imply hidden? If it’s clearly documented it’s just a (front)door?
reply
blank429384jf 5 hours ago
backdoor means a secondary access point that defeats the security features of the primary. In the door analogy, the home owner spends a ton on a lock and camera for the front door but doesn't even have a deadbolt on the back.
reply
close04 5 hours ago
Every definition of a “backdoor” in computing implicitly or explicitly considers it hidden/covert.

In the house analogy you don’t see the backdoor when approaching the front. If it was just “an alternative everyone knows about and can be broken easier than the front door” then it probably would have been called “a window”.

Most login forms have a weaker option like a SMS 2FA or password reset fallback. Nobody calls it a backdoor. It’s just a crappy second front door, or window.

reply
JacobKfromIRC 21 minutes ago
The Free Software Foundation (FSF) calls the update system used in Windows 10 a "back door" [1], I think because it installs updates automatically. This sounds like nonsense to me, because it implies that I installed a back door on my own machine by enabling automatic upgrades (on Trisquel).

It's meaningful that the Windows 10 install method has no (official) way to disable it, but I don't think making something optional could make it not a back door, if it was one before.

Even when automatic updates are disabled, I'm not going to be reading every update so the effect seems mostly the same, regardless of whether updates are automatic or not.

The FSF's definition of "back door" (at the bottom of the linked page) is "any feature of a program that enables someone who is not supposed to be in control of the computer where it is installed to send it commands" which leaves a lot of ambiguity with the words "supposed to be". I am not sure how to interpret this definition.

[1] https://www.gnu.org/proprietary/proprietary-back-doors.html#...

reply
blank429384jf 5 hours ago
I'm probably mistaken, but I've always referred to password resets as backdoors. Is there another term they could be classfied as?
reply
close04 5 hours ago
> Is there another term they could be classfied as?

As an advertised feature of the product.

Your personal definition doesn’t match the general understanding of the word and concept. By your definition every window on a house or car is a “backdoor”. Anything with an advertised fallback is a backdoor. And sometimes the “front door” is the back door: getting money from an ATM is less secure than with an ID at the bank teller.

reply
blank429384jf 4 hours ago
Password resets aren't "backdoors" unless they contain a flaw the defeats any security protections. It's not just that the backdoor is less secure than the front, the backdoor has no security or is so easily defeated the security may as well not exist.

I'm surprised the hidden aspect of backdoor is so forward in folks minds. In my thinking nothing in cyber security is hidden, I drop the obviously present hidden part of backdoor definition when it's used in yhe cyber security context.

reply
close04 4 hours ago
No offense but I don’t think you have a clear enough definition in your head and you’re making it up as we go along and you get challenged.

>> I'm probably mistaken, but I've always referred to password resets as backdoors

> Password resets aren't "backdoors" unless they contain a flaw the defeats any security protections.

You really have to make up your mind. It was “always” but then it wasn’t, and even as you put it you’d have been wrong almost every time to call a reset “a backdoor”.

> I'm surprised the hidden aspect of backdoor is so forward in folks minds.

Only because you misunderstand the meaning of the term, as made very clear above. Go through the wiki page for a “backdoor”.

> In my thinking nothing in cyber security is hidden

I wonder what all those security researchers do all day, with everything being so out in the open and known by everyone.

> I drop the obviously present hidden part of backdoor definition when it's used in yhe cyber security context.

You can drop it but then you’re just using the wrong definition and wrong understanding.

reply
blank429384jf 2 hours ago
no offense taken. i shouldnt have included password resets in my def. it muddied the conversation. covert is part of a def, at least sometimes, but i think its still acurate to drop it. consider a machine with two copies of ssh running, one of 22 with authentication and another on 2222 with an automatic root login. the instance on 2222 would be considered a backdoor, even though its barely hidden. Swap the ports and it's an unauthenticated frontdoor, but i'd still call it a backdoor and expect everyone to know what i mean. the important part is its bypassing securit, not that its hidden.
reply
phire 4 hours ago
Not really... backdoor just means something that can bypass the main security.

It's just that publicly known backdoors are of very limited usefulness, because people go out of their way to remove, disable, or avoid them. Or worse, use them for their own gains. There have been more than a few cases of governments trying to implement and enforce publicly known backdoors (with keys only the government knows), such as the Clipper cryptography chip in the 90s.

But... just because something is documented, doesn't mean it's publicly known. We have an example here of something obscure enough to be a useful backdoor (assuming someone knew about it).

And while the underlying feature might have been documented, the fact that many BIOSes enabled the feature was not documented anywhere. That does count as hidden.

reply
crest 20 minutes ago
The documentation was locked away behind NDAs when the faulty BIOS leaving it reachable was discovered. Look at the publication dates.
reply
inigyou 6 hours ago
Was this documentation public at the time? The pdf still does not document the instructions themselves.
reply
userbinator 6 hours ago
It was public at least 4 years before he first announced his discovery:

https://web.archive.org/web/20140130160743/http://datasheets...

reply
23455646gg3g 6 hours ago
yes, AIS was known

sandsifter was lots of noisy PR, but no new encoding findings

reply
jcranmer 52 minutes ago
AFAIK, sandsifter did find a halt-and-catch-fire instruction on one of the CPUs, but I haven't seen anyone announce which CPU model it was.
reply
cinntaile 6 hours ago
It's not as clear cut as you describe it here. In the other old thread you linked there was no real consensus if this should be considered a backdoor or not.
reply
__atx__ 6 hours ago
Also worth noting that the exploit was published nearly decade ago. Still, even at that time, those VIA CPUs were over 15 years old.
reply
wbsun 10 minutes ago
I am always wondering how those backdoors are discovered without internal leaks, fuzzing or enumerating all instructions bytes seem like too random.
reply
codedokode 7 hours ago
This shows that large companies making closed-source CPUs cannot be trusted. No doubt they would add whatever the government asks them to add.

What can be done to mitigate this? One option would be to buy a large FPGA and flash it with an open-source CPU. Another would be to emulate a CPU, working with encrypted data and commands, so that even if the backdoor in a host CPU tries to overwrite memory, it would only crash the emulated OS. One more option would be to run the code in a Virtual Machine like QEMU which translates the code and prevents issuing unknown instructions.

reply
v5v3 4 hours ago
>What can be done to mitigate this?

Buy hardware used by government computers that are rivals to your country.

So if American, buy Chinese CPUs and install Chinese Linux or HarmoneyOS Assuming there is nothing you are doing of interest to them, as that will also have back doors

After Snowden, one can only imagine the worst and think everything has a backdoor.

But unless you are a high level terrorist or other person of interest, no state organization is going to target you at this level

P.s. you say no one can trust closed source, but a lot of open source is maintained by one or two people or a small group, just takes infiltration by one or two trusted contributors to push malicious code in and unless someone looks and finds that code amongst millions of lines of code, may never be discovered (more so as mainstream media won't publish any thing)

reply
amelius 4 hours ago
If many people do this then I'm sure China will find some uses for that data at some point.
reply
Zigurd 4 hours ago
Sure but the cops aren't going to pull you over based on what you think about Chinese policy. Government do mess with people across international borders, but the capacity to do that is inherently limited.
reply
skinfaxi 2 minutes ago
> Sure but the cops aren't going to pull you over based on what you think about Chinese policy.

You might be surprised to learn that China has operated clandestine prisons in the US!

https://www.justice.gov/archives/opa/pr/two-arrested-operati...

reply
fsflover 4 minutes ago
Can't Chinese government exchange the data with your government whenever they need it?
reply
amelius 3 hours ago
Blackmail is still a possibility ...

Plus your data can be sold on the market. To US based entities. While the Chinese still hold on to the data for future uses ...

reply
Zigurd 2 hours ago
That still doesn't resolve who is more likely to blackmail or otherwise misuse data. I think it's a Chinese saying: the mountains are high and the emperor is far away.
reply
anthk 4 hours ago
Once you control the hosts CPU it's game over for the guest. The best you can do is to fetch old PPC G4 Apple computers or Thinkpads.
reply
blueflow 4 hours ago
As noted by userbinator: https://news.ycombinator.com/item?id=49220030

Not a backdoor, but a documented CPU feature.

The whitepaper about rosenbridge cannot be published because it would constitute scientific fraud.

reply
alfanick 4 hours ago
> Not a backdoor, but a documented CPU feature.

I would be even more explicit and call it “Not a backdoor, but a documented feature of ancient de facto unused Via C3 CPU.”

reply
rzzzt 7 hours ago
You can find recorded presentations on YouTube: https://youtu.be/_eSAF_qT_FY
reply
sfdlkj3jk342a 7 hours ago
So is it apparent that this backdoor was intentionally added by VIA for nefarious purposes? Or is there any other reasonable explanation for its existence?
reply
microtonal 7 hours ago
I was wondering the same, this is an ancient CPU by now, having been introduced in 2001. During development and at the introduction, most people were still running Windows 95/98/ME, which had more serious security issues (like every user essentially being admin). It may just have been a handy (debugging?) feature?
reply
crest 7 hours ago
Yes there is a harmless explanation. The VIA C3 is a fairly simple CPU design that cracks x86 instructions into an internal simpler instruction format. Some complex x86 behaviour is normally implemented by lengthy microcode or complex state machines. VIA wanted to make their CPU simpler than Intel and AMD. To do that they exposed this internal instruction set to the BIOS to let it handle hardware initialisation and documented how to lock this feature safely away afterward. Some BIOS authors didn't read/understand the full specification. shrug.

IIRC there are also a few hints they at least considered exposing this alternative instruction set at runtime to get more performance out of the CPU core e.g. more useable registers, more three operand instructions, saturating and packed math for DSP workloads, etc.

reply
bassiee 7 hours ago
For Intel-ME and AMD PSP, you fundamentally can't see the backdoor they could produce unless you probe the seperate chip lol.
reply
po1nt 6 hours ago
Or we use AI to find bug in those systems. Along with the way to completely disable those.
reply
codedokode 5 hours ago
If you have an AI, you could make it analyze crystal photos?
reply
BoingBoomTschak 3 hours ago
Even before that, wasn't SMM the OG x86 backdoor?
reply
jcalvinowens 2 hours ago
A much better title would be "A hardware backdoor in a historical VIA x86 CPU".
reply
zx8080 4 hours ago
Title should be: ..in VIA C3 processors.
reply
sph 6 hours ago
Should add (2018) to the title
reply
epestr 4 hours ago
My bad, but I don't see an edit option anymore.
reply
rbanffy 4 hours ago
It’s lovely to think some x86 CPUs have a nice ISA buried under the layers of cruft that form a recent x86 ISA.

I still remember the time when mnemonics were 2 or 3 characters. Good days.

reply
userbinator 6 hours ago
"Not this shit again"...

Almost exactly 8 years ago: https://news.ycombinator.com/item?id=17727140

reply
inigyou 6 hours ago
While the README calls it a separate core, it's more likely to be a direct encoding of uops.
reply
ironbound 4 hours ago
Click bait title, please change it to VIA C3 CPUs
reply
netsharc 3 hours ago
I recommend flagging this sort of crap to death...

Stupid autistic policy of "Don't editorialize the title"...

reply
epestr 2 hours ago
My bad, HN doesn't allow editing after an hour of posting
reply
StrLght 5 hours ago
(2018)
reply
IshKebab 7 hours ago
Can we add "some ancient Via CPUs" to the title. Current title is pure click bait.
reply
jkwang 4 hours ago
[flagged]
reply
DobarDabar 3 hours ago
[dead]
reply
greenyhuman 3 hours ago
[dead]
reply
benfortaz 4 hours ago
[dead]
reply