Fabricked: Misconfiguring Infinity Fabric to Break AMD SEV-SNP

(xca-attacks.github.io)

33 points | by negura 6 hours ago ago

19 comments

  • eggnet 3 hours ago

    There are microcode updates for this already https://www.amd.com/en/resources/product-security/bulletin/a...

    • negura 3 hours ago

      but is it possible to verify that the cloud provider has applied the update?

      • wmf 4 minutes ago

        The SEV-SNP attestation includes the microcode version. https://www.amd.com/content/dam/amd/en/documents/developer/l...

      • eggnet 2 hours ago

        Yes, it is. You do have to have some infrastructure you trust somewhere to validate an attestation report from the confidential VM.

      • nvme0n1p1 3 hours ago

        /proc/cpuinfo shows the current microcode version

        • negura 2 hours ago

          i don't think the information that unprivilleged VMs can obtain from that is necessarily reliable. for example with Xen as hypervisor only dom0 is privilleged (as management console for the system) and still it needs to call dedicated tooling in order to read or manage CPU features like clock speed or frequency scaling

  • nine_k 5 hours ago

    I wonder how much more expensive it is to rent the whole physical machine at all times for confidential computing purposes, compared to the losses incurred by a breach.

    • AnthonyMouse 4 hours ago

      The premise of attestation is supposed to be that you can use hardware even though it's in the physical possession of someone you don't trust. It's a terrible idea, because vulnerabilities are found on a regular basis and the party you're not supposed to be trusting is then already in possession of your sensitive data when the next one is published. The premise should be abandoned and the parties attempting to get anyone to rely on it should be lampooned and run out of town.

      Not having a multi-tenant system is something else. There you're trying to be protected from other customers, not the provider. Excluding other tenants still wouldn't protect you against the provider, especially on systems with proprietary and potentially exploitable ring -1 hardware they could already be silently in control of even when the entire machine is allocated to you.

      Meanwhile for anything on the scale of an organization, having physical possession of the machine yourself isn't that expensive. People got hoodwinked when virtualization first came around because they compared the cost of having a mostly-idle physical server for each of their applications to having that many cloud VMs, and the cloud VMs were cheaper, but that isn't the right comparison. You don't compare having 100 physical machines to having 100 VMs, even if people used to use 100 physical machines for that in 2005. You compare it to having three physical machines that can each run 100 VMs, and then having physical possession of your own hardware is frequently less expensive.

    • tardedmeme 14 minutes ago

      It's actually several times cheaper to rent a whole physical machine than to rent a single Amazon VM of equivalent compute power.

      • wmf 2 minutes ago

        Unless you want that whole machine to support IAM/VPC/EBS/etc and have proximity to your other VMs.

    • UltraSane 4 hours ago

      A lot more expensive and this is required for any classified data. I honestly don't think you can truly securely share a CPU with a hostile tenant because their are just too many side-channels.

      • vlovich123 4 hours ago

        A hostile tenant is insufficient if you read the summary. You need a malicious hypervisor (ie your cloud provider) or a way to escape the sandbox and attack the hypervisor. Both attacks are highly unlikely in practice

  • edelbitter 4 hours ago

    What purpose does the "news" of finding another way to break "confidential computing" serve, other than proliferate the incorrect assumption that there even was a working concept beforehand?

    • stingraycharles 2 hours ago

      I guess the reason you provided is the answer to the question.

  • procone 2 hours ago

    Requires an already compromised hypervisor / UEFI. Yawn.

    • Borealid 2 hours ago

      The only purpose of SEV is to protect a guest against the person who controls the hypervisor.

      So this is a threat against SEV.

  • userbinator 4 hours ago

    More evidence that "confidential computing" is just a trick to convince people to hand over control of their computing to "someone else's machine". Never trusted the clown, and never will.

    • 7e 4 hours ago

      A vulnerability is a trick? All complex systems have them, but eventually they will all be formally verified and secure. Progress marches on. Unless you’d rather make your own processors along with the moonshine in your shed, of course.

      • AnthonyMouse 4 hours ago

        If there is a vulnerability in a system you control, you can mitigate it until it can be patched, or if necessary disable access to it until it can be patched.

        If there is a vulnerability in a system controlled by an untrusted party that already has your sensitive data on it, you're pwned.