Hi everyone, I found the great question on booting encrypted drives, and since I’m somewhat paranoid I’d like to ask a follow-up:

When the key to decrypt the drive is input into the system, I’m assuming it stays in the RAM till the time the computer shuts downs. We know that one could, in theory, get a dump of the contents of the RAM in such a state, if done correctly. How would you deal with this problem? Is there some way to insert the USB, decrypt the drive, and then remove the USB and all traces of the key from the system?

Thanks!


Edit: link to the question I referenced: https://feddit.de/post/6735667

  • Kalcifer@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    11 months ago

    I’m assuming it stays in the RAM till the time the computer shuts downs

    Correct.

    We know that one could, in theory, get a dump of the contents of the RAM in such a state, if done correctly.

    An example of such an attack would a “cold boot attack”.

    Is there some way to insert the USB, decrypt the drive, and then remove the USB and all traces of the key from the system?

    It sort of depends on how the underlying hardware is designed. You can create a system in which the RAM’s contents are encrypted by the hardware, but at some point the data must be decrypted for use. For example, one could theoretically sniff the data-lines between the RAM, and the CPU. This is all of course ignoring the fact that the hardware, itself, could be compromised i.e. Intel M.E., backdoors/vulnerabilities in the BIOS, etc. There’s lots that can be done to try to mitigate security vulnerabilites, but there is always a tradeoff between security, and convenience.

    Maybe the best form of security is memorizing a private key, then manually doing the math with a pen and paper to decrypt some text, and transmit it with a carrier pigeon.

  • WaterWaiver@aussie.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    11 months ago

    I wouldn’t attack via USB, that path has already been too well thought out. I’d go for an interface with some sort of way to get DMA, such as:

    • PCIE slots including M.2 and external thunderbolt. Some systems might support hotplug and there will surely be some autoloading device drivers that can be abused for DMA (such as a PCIE firewire card?)
    • Laptop docking connectors (I can’t find a public pinout for the one on my Thinkpad, but I assume it’ll have something vulnerable/trusted like PCIE)
    • Firewire (if you’re lucky, way too old to be found now)
    • If you have enough funding: possibly even ones no-one has thought about like displayport + GPU + driver stack. I believe there have been some ethernet interface vulnerabilities previously (or were those just crash/DOS bugs?)