Slashdot Mirror


New Secure Boot Patches Break Hibernation

hypnosec writes "Matthew Garrett published some patches today which break hibernate and kexec support on Linux when Secure Boot is used. The reason for disabling hibernation is that currently the Linux kernel doesn't have the capability of verifying the resume image when returning from hibernation, which compromises the Secure Boot trust model. The reason for disabling the kexec support while running in Secure Boot is that the kernel execution mechanism may be used to load a modified kernel thus bypassing the trust model of Secure Boot." Before arming your tactical nuclear flame cannon, note that mjg says "These patches break functionality that people rely on without providing any functional equivalent, so I'm not suggesting that they be merged as-is." Support for signed kexec should come eventually, but it looks like hibernation will require some clever hacking to support properly in a Restricted Boot environment.

28 of 196 comments (clear)

  1. Why is this a story again? by Anonymous Coward · · Score: 3, Insightful

    A patch that is not going to be merged into the kernel proper breaks hibernation with secure boot in Linux...some editor is trying desperately hard to get a flame war started. If you're really that desperate for ideas try something creative, like creating a fake petition to have Minecraft converted from Java to C#. It's not hard to start a flame war.

    Fucktard.

  2. Good first step by detain · · Score: 2

    I think this patch, while it probably wont be something we want in the kernel in the long run, at least is bringing attention to more people that we need to work on kexec and hibernation to better support the secure boot trust model. It offers a solution that does keep a system following the secure boot trust model, and once some people are able to keep a system following that model, they will to keep following the secure boot model but insist on all the old features working again. Hopefully there is enough of this type of push towards getting kexec and Hibernate improved so his patchs ultimately become obsolete.

    --
    http://interserver.net/
  3. Certificates can be revoked by tepples · · Score: 5, Interesting

    A patch that is not going to be merged into the kernel proper breaks hibernation with secure boot in Linux

    Perhaps the fear is that if the patch is not merged, Microsoft will revoke the certificates that have been used to sign mainstream GNU/Linux distributions.

    1. Re:Certificates can be revoked by Rockoon · · Score: 2

      A compromised system could simply always hibernate even when the user requests a proper shutdown, and then fake the appearance of a real bootup upon power up.

      While you would not expect such an elaborate design as a form of mass public malware, consider how effective this would be with a more targeted attack.. the trusted boot process nullified to trivially.

      --
      "His name was James Damore."
    2. Re:Certificates can be revoked by Trogre · · Score: 3, Insightful

      Is no one else here alarmed at the unreasonable amount of power Microsoft has over the future of GNU/Linux on Secure Boot platforms?

      That alone should be cause enough to lobby hardware manufacturers to have secure boot abolished and to hell with those little "Works with Windows 8" stickers.

      Microsoft have already mandated that systems with ARM platforms MUST NOT have an option to disable Secure Boot. Therefore the only software that will boot on these systems is software that Microsoft has blessed. I know they would love nothing more to dictate such terms on x86 hardware too. I predict that within five years, notwithstanding active opposition RIGHT NOW, they will do exactly this.

      This, like climate change, is something I really, really hope I am wrong about but fear that I am not.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    3. Re:Certificates can be revoked by vux984 · · Score: 2

      Microsoft have already mandated that systems with ARM platforms MUST NOT have an option to disable Secure Boot.

      if they ship with Windows 8 RT.

      There is nothing stopping asus/acer/google/ and who ever else out there from releasing ARM platforms with secure boot configured any way they like.

      Perhaps, at worst, we are reaching a point int time where if you want a Windows PC you will buy one, and if you don't want a windows PC you will buy one without windows.

      And the people looking to take a windows PC and convert it to a linux pc... well they're will always be someone you can take it to to flash an open bios or otherwise 'unlock it'.

    4. Re:Certificates can be revoked by Nerdfest · · Score: 5, Interesting

      I just bought a very nice laptop from System76. Good price/performance, fantastic Linux comparability, and no Microsoft tax. I figured I might as well put my money where my mouth is on supporting vendors that have good support for Linux.

    5. Re:Certificates can be revoked by exomondo · · Score: 2

      Perhaps the fear is that if the patch is not merged, Microsoft will revoke the certificates that have been used to sign mainstream GNU/Linux distributions.

      Microsoft doesn't control the certificates, VeriSign does, Microsoft can't just 'revoke' certificates and stop SecureBoot from loading them, they don't control any of that.

    6. Re:Certificates can be revoked by benjymouse · · Score: 2

      Perhaps the fear is that if the patch is not merged, Microsoft will revoke the certificates that have been used to sign mainstream GNU/Linux distributions.

      Microsoft doesn't control the certificates, VeriSign does, Microsoft can't just 'revoke' certificates and stop SecureBoot from loading them, they don't control any of that.

      Yes they do. The bootload'ers used for booting Linux are signed by Microsoft. The Linux community *could* work with vendors do have a "Linux" certificate installed in the firmware which would allow other boot-loaders to boot. But given the number of vendors that has been deemed impractical. Instead Linux distros (and Matthew Garett) have created boot loaders/shims which are chain-loaded from Microsofts boot-loader. As such they need a MS key.

      Presumably MS has a number of restrictions on how such a boot loader works. For instance, they probably require that the user is being made aware of the fact that they boot a non-Windows OS. If they didn't (and allowed silent boots) a rootkit could simply install itself as a chained, silent OS and then boot Windows from within a VM. A rootkit.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    7. Re:Certificates can be revoked by hairyfeet · · Score: 2

      And the people looking to take a windows PC and convert it to a linux pc... well they're will always be someone you can take it to to flash an open bios or otherwise 'unlock it'.

      Or those people along with anyone else who actually cares about open hardware could just put their money where their mouths are and buy AMD who is switching to Coreboot which is a FOSS BIOS/UEFI replacement. After all no need to "flash an open BIOS" if you already have one.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  4. lm-sensors by tepples · · Score: 3, Funny

    My system doesn't hibernate, it passes out from exhaustion.

    You could try setting up lm-sensors. Or is your motherboard not supported?

  5. Re:Meh. Hybernation is overrated by Anonymous Coward · · Score: 2, Insightful

    No, "Secure" Boot is overrated. Very few people have any need for it; mostly a tool for corporate entities to strong-arm others in to complying with their every whim.

  6. Re:Making root not root? by Rockoon · · Score: 5, Informative

    You really dont seem to understand the technologies involved.

    Hibernation does a complete dump of the memory and thread state of the system to disk, and when the computer is later booted a well behaved loader sees the dump and restores the memory and thread states from disk.

    The problem is that anyone with physical access can fuck with the memory dump in between the hibernation and the restore, thereby injecting untrusted code into the supposedly trusted environment.

    But thanks for giving us your ignorant opinion.

    --
    "His name was James Damore."
  7. Sign the hibernation file by tepples · · Score: 3, Interesting

    The problem is that anyone with physical access can fuck with the memory dump in between the hibernation and the restore

    Anyone with physical access can probably reset the BIOS password and turn off secure boot. But barring that, perhaps one solution is to sign the memory dump with a key stored in the TPM.

    1. Re:Sign the hibernation file by Rockoon · · Score: 3, Informative

      Anyone with physical access can probably reset the BIOS password and turn off secure boot.

      The point of secure boot is to make possible a chain of proof attesting that everything that gets loaded into ring0 has not been modified. Clearly if you can disable the chain of proof then you can disabled the chain of proof, but you cannot do so invisibly, which is the entire point of secure boot.

      --
      "His name was James Damore."
    2. Re:Sign the hibernation file by 0123456 · · Score: 3, Insightful

      The point of secure boot is vendor lockin. The point of Linux is to not be locked to a vendor.

    3. Re:Sign the hibernation file by Anonymous Coward · · Score: 5, Insightful

      "DRM is to promote sales through reducing piracy "

            No, the point of DRM is to increase profits by removing a potential threat to sales. The point of secure boot is potentially lock hardware to the operating system. The chain of proof is just a selling tactic at best but irrelevant as there are a myriad of ways to compromise a system for those with the will to do so. It's more effective as a wedge to eventually control hardware manufacture. Remember this kind of behavior wouldn't be new for Microsoft.

  8. Fuck Secure Boot by Anonymous Coward · · Score: 5, Insightful

    It's my goddamn computer, my goddamn hardware, and it's MINE. I will run any fucking operating system I goddamn well please on it, and if Microsoft doesn't like that, they can FUCK THEMSELVES right in the GODDAMN EAR.

    1. Re:Fuck Secure Boot by UltraZelda64 · · Score: 5, Insightful

      Why the downmods? Yeah, maybe the AC was just trolling, but his overall point I actually agree with. If anything, it should've been modded +1 "Funny" for the "fuck themselves in the god damn ear" part.

    2. Re:Fuck Secure Boot by blueg3 · · Score: 2

      It's only yours if you buy it. I suggest not buying hardware with Secure Boot, if it bothers you so much. But then, all x86 hardware with Secure Boot is required to have the option to disable that feature. So, you could take that route, too.

    3. Re:Fuck Secure Boot by grcumb · · Score: 3, Funny

      It's my goddamn computer, my goddamn hardware, and it's MINE. I will run any fucking operating system I goddamn well please on it, and if Microsoft doesn't like that, they can FUCK THEMSELVES right in the GODDAMN EAR.

      Or you can just disable it...

      What, and miss the chance of seeing Ballmer fuck himself in the goddam ear?

      Shyeah....

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
  9. Conceptually.. by Junta · · Score: 5, Interesting

    What distinguishes hibernated memory image from, say, an initrd? Practically speaking, a distro has to allow for initrds to boot that aren't signed by the distribution. In fact, what about booting *any* filesystem? Some may suggest that the goal would be to have every binary signed, but what about end-user maintained scripts and config files? SecureBoot as currently defined only about the OS provider signing what they provide and that leaves a whole lot of area for malicious content outside that scope. It's of little comfort that you have assurance that you are running the correct sshd if, for example, you have malicious ssh_config and malicious authorized_keys.

    --
    XML is like violence. If it doesn't solve the problem, use more.
    1. Re:Conceptually.. by mjg59 · · Score: 5, Insightful

      The kernel can execute ring 0 instructions. Your initrd can't. The difference is that you could construct an appropriately modified hibernation image that booted an arbitrary kernel - or even an entirely separate OS. In that scenario, your kernel is effectively a new bootloader, except unlike the signed bootloaders it'll happily boot an entirely unsigned OS. That's unlikely to end well.

      But, conceptually, you're right. Secure Boot doesn't magically make a system secure, but it *is* a vital part of system security - if you can't trust your kernel, any other security you attempt to build is pretty much pointless.

  10. Re:Why?? by Junta · · Score: 2

    The practical answer to that concern would be why is the kernel so damn special. You could hijack any number of equally important processes, security wise. init, sshd, apache, any shell, web browser, whatever. Replacing kernel pages in reality isn't really that important if you have access to the entire suspend image...

    --
    XML is like violence. If it doesn't solve the problem, use more.
  11. The problem isn't with the hibernation by sethstorm · · Score: 2

    Secureboot is the problem and disabling it(or getting rid of the device for a freer one) is the solution.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  12. Re:To many X86 servers do not boot Windows by 0123456 · · Score: 4, Insightful

    To many X86 servers do not boot Windows for them to try to push that kind of lock down.

    Yeah, so? Your $1,000 server motherboard will still be able to run Linux. Doesn't help the rest of us.

    If you give Microsoft the power to control what software will and won't run, then they will use it, sooner or later. It's a fscking retarded idea.

  13. SecureBoot is a modern version of vendor lockin by Damouze · · Score: 3, Informative

    SecureBoot is nothing more than a modern kind of vendor lock-in, so why support it at all? Haven't the FSS and OSS communities by now gained enough leverage on their own to stimulate the development of software in the direction it should go, namely that essential software, like an OS, a BIOS or a piece of firmware, should be free (in the FSS sense) for use by anyone?

    By accepting and even supporting suspicious software and business models such as SecureBoot, aren't the FSS and OSS communities more or less digging their own graves because Microsoft - who admittedly has changed a lot for the better the last few years - owns the very keys their software relies on for proper functioning?

    --
    And on the Eighth Day, Man created God.
  14. Re:Why?? by lingon · · Score: 3, Insightful

    No, I think he's straight on. Secure boot stems from a broken threat model: that kernel access is extremely important. I know about userspace security, but the kernel already secures userspace without secure boot and proper privilege separation secures the kernel. Secure boot is a way of securing the system from root, which is futile (look at SELinux, for example).

    This is primarily a technology for vendor lock-in. Always has been, always will be.