Hardware backdoors in some x86 CPUs

(github.com)

92 points | by epestr 3 hours ago

12 comments

  • joss82 1 hour ago
    This backdoor only appears on decades-old VIA C3 embedded x86 processors
    • littlecranky67 1 hour ago
      They should have mentioned that in the first line of the github readme, not burried deep down in the text.
    • __atx__ 1 hour 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.
    • userbinator 1 hour 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

      • phire 37 minutes 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.

        • brador 29 minutes ago
          Doesn’t backdoor imply hidden? If it’s clearly documented it’s just a (front)door?
          • blank429384jf 18 minutes 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.
            • close04 4 minutes 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”.

              Nobody calls the SMS 2FA or password reset fallback on a login form a backdoor just because it’s weaker than what you normally use.

      • inigyou 1 hour ago
        Was this documentation public at the time? The pdf still does not document the instructions themselves.
      • cinntaile 1 hour 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.
  • saidnooneever 2 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...)

  • codedokode 1 hour 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.

  • rzzzt 1 hour ago
    You can find recorded presentations on YouTube: https://youtu.be/_eSAF_qT_FY
  • sfdlkj3jk342a 2 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?
    • microtonal 2 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?
    • crest 1 hour 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.

  • bassiee 1 hour ago
    For Intel-ME and AMD PSP, you fundamentally can't see the backdoor they could produce unless you probe the seperate chip lol.
    • po1nt 37 minutes ago
      Or we use AI to find bug in those systems. Along with the way to completely disable those.
      • codedokode 19 minutes ago
        If you have an AI, you could make it analyze crystal photos?
  • sph 1 hour ago
    Should add (2018) to the title
  • inigyou 1 hour ago
    While the README calls it a separate core, it's more likely to be a direct encoding of uops.
  • userbinator 1 hour ago
    "Not this shit again"...

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

  • WhereIsTheTruth 1 hour ago
  • IshKebab 1 hour ago
    Can we add "some ancient Via CPUs" to the title. Current title is pure click bait.