Cold Boot Attack Utilities Released At HOPE Conference 113
An anonymous reader writes "Jacob Appelbaum, one of the security researchers who worked on the cold boot attacks to recover encryption keys from memory even after reboot, has announced the release of the complete source code for the utilities at The Last HOPE in New York City. The hope (obligatory pun) is that the release of these tools will help to improve awareness of this attack vector and enable the development of countermeasures and mitigation techniques in both software and hardware. The full research paper (PDF) is also available."
RE: Editor/Submitter (Score:4, Funny)
I think the editor and submitter both need to read this [thebestpag...iverse.net].
Re: (Score:2)
Yup (Score:2, Interesting)
I was there in the room when they released this attack. It was really an interesting idea of taking the memory out before decay happens and putting into another box to read stuff off of it. Of Course Physical security of a machine will solve this problem but it is a very interesting attack.
Re: (Score:1)
Re: (Score:2)
Why hasn't the team come forth with a fix for this exploit? They have more knowlege on the subject then I do.
Well, not that I'm too knowledgeable in the domain, but don't encryption keys and such need to be decoded at some point in memory to be used?
Re: (Score:1, Interesting)
With multicore processors, it might be feasible to keep the key in a CPU register and not in RAM at all times.
Re: (Score:2)
You assume there are people reading this that know how to do that (e.g. assembly language programming).
because the fix would have to be in-hardware (Score:5, Informative)
and not just the machine hardware, but rather the RAM stick itself.
Essentially the exploit relies on data that is in RAM to still exist, even if it's just for a few seconds, if you take it out of the machine.
You could add a 'write random crap to RAM' thing to your shutdown procedure, but that won't help if they simply power the machine off.
The machine hardware could write random crap to RAM when it is powered down, but that won't help if they simply yank the RAM stick out while the machine is still running.
So the RAM stick itself would have to detect that it is no longer connected to any motherboard and, using a charge kept in a capacitor, for example, flash itself with random crap.. or whatever.
Keep in mind that this 'exploit' is quite difficult to execute, requiring not just physical access to the machine - but to the RAM. While the machine is running (or was running within the last N seconds, at least). In the vast majority of environments, that's going to be extremely difficult.. unless you own (or operate) that machine and you have no particular way of being caught.
Re:because the fix would have to be in-hardware (Score:5, Insightful)
Re: (Score:1)
Hardly foolproof - well that's an understatement; since most of these systems could be easily defeated with a can opener.
Re: (Score:2)
Re: (Score:3, Insightful)
You could add a 'write random crap to RAM' thing to your shutdown procedure, but that won't help if they simply power the machine off.
Actually, one thing that might help would be a "Decrypt then wipe RAM" scheme, where the program decrypts a file, moves the file contents into some form of buffer, then wipes the RAM location where the decryption key was stored (and if necessary, wipe the paging file). It would leave that specific file exposed, but that's a heck of a lot better than leaving the key in RAM.
Re: (Score:3, Informative)
But then you'd have to input your passphrase each time you open a bloody file. Well if there's only few very important files, it's acceptable.
Re: (Score:3)
Security versus convenience. If you have no files (or relatively few files) that require this level of security, use a more convenient method.
Re: (Score:1)
But then you'd have to input your passphrase each time
I'm sure the is a middle ground. Some desktop managers allow you to "become root" to do administrative things, and this privilege persists until an event resets it. Most commonly this event is simply a time expiration, or locking your screen.
The same could be done for your keys, and doesn't seem too onerous on the user who knew [s]he was going to have to sometimes enter a password to decrypt the files.
Re: (Score:1)
So the RAM stick itself would have to detect that it is no longer connected to any motherboard and, using a charge kept in a capacitor, for example, flash itself with random crap.. or whatever.
So then the attacker solders a wire to your capacitor, and shorts the capacitor to ground the moment they cut power to the RAM stick.
Re: (Score:3, Insightful)
Re: (Score:1)
Ok, that's it.
Just bloody encrypt ALL RAM!
CPU hashes key in BIOS with key in memory controller and key in ram chip.
Yank the ram and the key no longer matches.
Cache misses will be a bear though...
Re: (Score:2)
> that it is no longer connected to any motherboard (...)
Have you seen Mission: Impossible? They've done an interesting thing with the laser beams that served as an intrusion detection system there. I wonder if a similar hack could be achieved by plugging out the ram stick, without disconnecting it from the mobo (or rather: sequentially disconnecting it and reconnecting to your hackbox on the fly).
Then again, if it's a server, then a decent intrusion detec
Re: (Score:1)
No you don't, play with the PoC. With McGrew Security's ramdumper you've been able to boot off USB on the machine the ram sat in i
Re: (Score:2)
yeah, except when I'm working at a computer and somebody comes over and says "Hi, would you mind terribly if I plug this USB stick in and reboot your machine?", I'd probably say "why yes, I would mind terribly".
And if I'm not at the machine, quite likely, I powered the thing down... that gives the person with the fancy USB stick mere seconds to move in and quickly plug the key in and boot back up.
Don't get me wrong, I already understand that it is possible - just that the situations in which it is possible
Re: (Score:2)
You're only imagining scenarios where the attacker is in a criminal minority and the user is in a secure environment that's hostile to the attacker.
What about situations where the attacker is actually a majority on the scene (e.g. a government band of crooks who just rushed into the user's home) and the environment becomes hostile to the user? The attacker has all the time at his disposal, the only thing the user might had time for was quickly powering off the machine. I think that's the scenario that m
Re: (Score:2)
Don't get me wrong, I already understand that it is possible - just that the situations in which it is possible are not extremely likely to occur.
Apart from those likely to be facing the forces of law and order exercising search warrents, the biggest risk would seem to be for people losing laptops. It is suggested that PCs which are in hibernate/suspend states may not be safe. Personally, I don't tend to suspsend my PCs when I'm finished with them for the day. But I do sometimes and may suspend one with the expectation of restarting it later, only to get caught up with something else. These machines could be vulnerable.
There far better ways to do this. (Score:2)
The other trick is to write the random crap, or apply the clearing, when a DRAM is powered up. That way the RAM would get cleared even if yanked from a hot box.
Re: (Score:3, Funny)
Re: (Score:2)
Some partial fixes are possible and were discussed a while ago.
http://thread.gmane.org/gmane.comp.encryption.general/11528 [gmane.org]
Re: (Score:1)
Why hasn't the team come forth with a fix for this exploit? They have more knowlege on the subject then I do.
The key speaker mentioned that ECC ram scrubs all bits right after startup so its one possible defence (though not very effective still because reports are not throughly tested). Another would be to setup a timer that scrubs the memory if the machine has been idle for a given amount of time....one fancy version was to have your machine trigger the scrubber once your cellphone (running a tracker) had been away for a certain duration. The decay time (IIRC) was an average of 25 seconds.... BTW while you're at
Very Orwellian (Score:1)
Memory wiper? (Score:2)
Isn't there a memory wiping utility that fills the memory with random noise?
Re:Memory wiper? (Score:5, Informative)
You cool the chips down in the running computer with a spray duster, pull them out, and put them in a computer that you control.
No software solution can be used to stop you doing this, it has to be a hardware based solution.
Re: (Score:2)
After a period of timeout have the computer wipe the encrypted key in memory using DOD passes on the areas of memory the key was in.
Or have the system automatically run a DOD memory wipe on shutdown.
Unless I'm not understanding the problem about the only thing these wouldn't prevent would be a cord-yank-shutdown of the system if the person were fast enough to get to the system before the wipe timeout.
There'd obviously be overhead in the
Re: (Score:2)
After you wipe the key from memory, you are going to need to have some user interaction to remount the disk. That may not be practical.
Re: (Score:2)
I don't think this exploit is a serious issue while the person is working. The minute they walk away or lock their screen though...
Re: (Score:2)
Though it would be much easier to make a power-supply based anti-cord-yank solution because you wouldn't have to change anything in software and you could retrofit older systems with it.
Even that wouldn't help with the hotplug procedure someone posted below.
Re: (Score:1)
The solution is: don't store an unencrypted version of the key in RAM.
Have the decryption require input from a tamper-proof smart card.
If the smart card loses communication with the system, the smart card is programmed to stop operating, until the user re-authenticates.
An attacker can pull and access the entire RAM, but it's useless without also having the smart card.
Re: (Score:1, Insightful)
The problem is that all I/O for encryption needs to go through the key, so having the key only available on a smart card would cause great performance losses. Smart cards are intended for very low bandwidth uses -- decrypting a volume key so the bulk decryption can finish, or signing a MD5 hash.
Instead, perhaps move the encryption to the drive controller and have some keymanagement abilities there. Then, come a shutdown, its a lot easier for a drive I/O controller to wipe its limited RAM than for a PC to
Re: (Score:2, Interesting)
Re: (Score:2)
Yeah, but you can't quickly poweroff a laptop. You have to keep the power button depressed for a couple of seconds, enough for the bad guys to take it away from you.
Re: (Score:2)
Until this point I hadn't considered the fact that my laptop battery degrading to the point of *immediate power-off when plug is pulled* could be a feature.
Thank you HP!
Re: (Score:2)
Re: (Score:2)
Theres a hardware solution, its called a boot to the head.
Re: (Score:2)
I remember a number of systems that had case intrusion switches that would alarm. I don't see any reason why that couldn't also be tied in to an autoshutdown procedure that'd wipe the RAM.
Less obviously, the switch could trigger a special watchdog program that knows where your crypto keys are stored, and overwrites them when the sensor goes off.
Re: (Score:2)
...it has to be a hardware based solution.
Spray epoxy. ("This is glue ... strong stuff." -Elwood Blues)
There are some ways to minimize the problem (Score:5, Interesting)
The purpose of full disk encryption (or system encryption in TrueCrypt is), in my opinion, not meant as a "one password to protect everything". It's just an extra measure to secure temporary files, the swap file and other tracks the OS and applications may spread around. You should still encrypt your really secret files separately, and use basic precautions such as secure file erasure when you've used them.
That said, I still don't think this attack is so important. If you have the file system mounted, and an attacker gains access to your computer, the files are already there!
Re: (Score:3, Interesting)
The whole point of this is unclean shutdown. How is your computer going to overwrite the keys in memory when someone pulls the plug?
Sometimes the mere presence of a file, encrypted or not, is "incriminating" enough. Ask Kevin Mitnick about NSA.TXT on a floppy he had - it was a listing of a host with the registered users at the National Computer Security Archive, and that got quickly spun to "having compromised the security of the NSA".
Sometimes you want to hid the existence of information, not just the in
Re: (Score:2)
This attack is important because until now it has been perceived, that if in a last effort you pull the plug out of your box and render it powerless, your encrypted filesystems will be safe.
The common opinion was that when the DRAM modules get their power cut off and their refreshing stops, all contents are almost immediately lost, a
Re: (Score:2)
I'm sure I recall something from last week about individually encrypted filesystems not being secure because the OS will store data - e.g. documents being edited, or recovery files for same - in non-encrypted areas. So the only way to be safe IS to have the whole disk encrypted.
I think what it really shows is that there's no absolute security.
Tamper proof case, anyone? (Score:2)
So a computer is a box. It has four sides, a top and a bottom. Some may not have four sides, this is irrelevant.
The solution to this is a hard hack (well one solution anyway). Case is opened without putting a magnet in JUST the right place (or some other measure) and memory is fried.
Do X rays fry memory? Anyone?
Re: (Score:2)
By "do X rays fry memory" I mean, will they scrub chips of any data (I was not speaking about damage when I said 'fry')
Re: (Score:2)
Alpha particles cause errors in memory chips - see jargon file [mcgill.ca]:
Re: (Score:2, Interesting)
Re: (Score:2, Interesting)
A lot of the new 'cool' law enforcement devices are USB, for easy access and easy reading of the computer. Imagine a computer that has three in-use USB ports and one open slot, and plugging a devic
Re: (Score:2)
Even with cooling, the memory doesn't linger all that long so all that's really needed is to delay removal of the chip(s) for long enough. Eposxy or something similar to fill in screws and secure access panels might suffice. Of course, that would make your own maintenance difficult. Glueing in the memory chips themselves might be better as it would be difficult to get them out using brute force without damaging them.
Re: (Score:3, Insightful)
thermite packed around the ram seems the best way to go. then if they tamper with the case, it triggers a 'tramper switch' the thermite goes off, and boom just a molten blob of goo. also, if you're going to have a self destruct on the ram, you may as well do the HDD as well, and you might as well throw in a manual switch along with the 'tamper switch' in case the FBI comes knocking, and have a good plan for how to circumvent your 'tamper switch'.
thermite is a bit extreme, but if you want your data irretriev
Re:Tamper proof case, anyone? **MOD PARENT DOWN** (Score:1, Informative)
The parent poster to this post shouldn't be marked as insightful as the poster hasn't got a single clue what they are talking about. Quote:thermite goes off, and boom just a molten blob of goo.
Goes off? Boom?!? WTF?!? The poster obviously hasn't even got a basic clue what they are talking about. Indeed to quote wikipedia at a basic level: "....It is not explosive, but can create short bursts of extremely high temperatures focused on a very small target for a short period of time...."
Hence why Thermite
Re: (Score:2)
the 'boom' wasn't an explosion, besides I've seen a thermite loaded laptop go off, in video with audio, it's a lot like a very large firework, hissing with a big gout of flame. the boom was just slang, because the data will be destroyed in a very entertaining way.
you should read up more on slang, since you assume boom means explosion, 'bang' means explosion. http://www.urbandictionary.com/define.php?term=boom [urbandictionary.com]
Re: (Score:1)
I realized now 'Kaboom' == cartoon explosion not boom, completely different words man.
A candidate for the Darwin Awards (Score:2, Funny)
Capturing machines with full disk encryption (Score:5, Interesting)
Here's the existing approach to this problem.
Re: (Score:2)
Re:Capturing machines with full disk encryption (Score:4, Funny)
looks like a forced login every 10 minutes is a good idea for people working with really sensitive data.
108 minutes is more like it
Re: (Score:2)
Re: (Score:1)
You will not have to log in, just to wait a minute.
My estimation is that you will go crazy inside of 5 hours.
Re: (Score:2)
Or better still - pack each PC with a small vial containing enough hydrofluoric acid to dissolve the internals ....
have trip switches which cause the acid to be sprayed from the container over the inside of the PC.
Good bye most bits of the PC bar any telfon or polyethelene bits (and it will dissolve most oxides so that should fix the HDD nicely)
Re: (Score:2)
Err?
Why? If I'm in the sort of situation where I need to destroy my evil computer network beyond recovery I'm not going to hang around afterwarrds ;)
I'll be heading for the hills (or for the plains if I'm already in the hills).
Re:Capturing machines with full disk encryption (Score:4, Funny)
13. Try not to get hit by truck as you maneuver Frogger machine across street.
Re: (Score:1, Insightful)
1. Get physical access to computer, install hardware keystroke logger.
2. Wait a few days.
3. Seize computer, decrypt harddrive.
Or, for the lazy ones:
1. Park van with Van Eck device at next corner, record keystrokes.
2. Seize computer and decrypt harddrive.
Or, for the people that prefer to stay at home/office:
1. Break into system over network.
2. Download data over network.
Or, alternatively but more risky:
1. Seize computer.
2. Decrypt harddr
Re: (Score:1)
As for the Van Eck device, there is a reason military systems that needs to be secure outside of a secured enviroment is usually quite bulky, thats because they are shielded. If your data is so important that you need to worry about three letter
Re: (Score:1)
Re: (Score:1)
Interesting, I hadn't thought about them taking away my TOR node while it was running.
It shouldn't be too hard to fix this:
The machine can be configured to shutdown when it detects hardware changes, like the insertion of the "Mouse Jiggler" or the removal of ethernet cables.
Re: (Score:2)
I've concluded that the only really decent protection is a series of software heartbeats tied to the physical environment in which the computer operates.
You can monitor voltage of various parts of the PC and UPS, so this might help against in the case where a machine's power source is tampered w
Re: (Score:2)
It is a clever idea, and it would take a moderate amount of sophistication to allow it to not cause problems with being attached in parallel with the mains. Also, designing it to be at least moderately safe to operate would take some effort.
I'm not sure that the patent would hold up under a challenge. However, these would be used primarily by corporations of some sort (government, private investigators, etc) and they're not going to want to have their employees handling jury-rigged contraptions with 600W
not such a big deal (Score:2)
Among the many things that can be done to a machine when someone has physical access, this isn't my primary worry.
And if you don't run encrypted swap space, don't worry about this.
Re: (Score:2)
It is of great concern. Many corporate users live in the false sense of security that their (personal and corporate) data is secure should the laptop get stolen. But this no longer holds true if the laptop stolen was either in hibernation mode (sleeping) or just password locked. That might also hold true for the guy that is walking around with millions of SSNs on his laptop, including yours.
Re: (Score:2)
If the company lets people leave the office with laptops containing "millions of SSNs", this exploit isn't their biggest problem.
I have to agree with the OP. So far in the entire thread I've yet to see a convincing argument explaining why this is a big problem.
At most it seems this would be a small concern for a very, very small group of people. And before anybody gives another parnoid explanation involving SWAT teams and the CIA, ask yourself how often that really happens.
Re: (Score:2)
Many corporate users live in the false sense of security that their (personal and corporate) data is secure should the laptop get stolen.
Yes, they do, but not because of this. Among the many things wrong with corporate laptop security, this is way down on the list.
(It's also not news to anybody who has ever power-cycled an Apple II.)
That might also hold true for the guy that is walking around with millions of SSNs on his laptop, including yours.
Tens of thousands of people have access to my social security
Privatizing memory contents (Score:2)
One way to make memory contents much more difficult to recover is this. The CPU(s) will have a key stored internal to the CPU chip, in SRAM [wikipedia.org] (memory held in state by power, a technology that does not lend itself to the high density that DRAM [wikipedia.org] does). Initially the CPU runs in "clear mode" and establishes the key. Then it proceeds to encrypt memory, except for the page the encrypt program runs in. Then it enters "crypt mode", which includes a jump to a new address outside of the clear page. In "crypt mode"
Re: (Score:2)
In "crypt mode" all memory fetches are decrypted in hardware, and all memory writes are encrypted.
The CPU is not the only entity who writes or reads RAM. Every DMA device does that, such as video, HDD, USB, Ethernet... in fact, most peripherals, including those mounted on the motherboard. Either the key has to be shared with them (which is not secure) or these DMA pages remain unencrypted (which is not secure.)
The one obvious solution here is to implement secure encrypted path to all these devices, li
Re: (Score:2)
SRAM is constructed from latching circuits. Anyone knows what's their volatility when compared to DRAM? Do they lose contents immediately when powered off or do they retain the state for some time like DRAM?
If it's the latter then the attack might still be doable on the architecture that you propose because the keys would still be there on the SRAM page in the CPU. The difference is that you couldn't just plug the CPU in to a different unmodified general purpose PC, because CPU initialization during boo
Re: (Score:2)
SRAM is constructed from latching circuits. Anyone knows what's their volatility when compared to DRAM? Do they lose contents immediately when powered off or do they retain the state for some time like DRAM?
[Disclaimer: The following was from many years ago...]
From my experience of a home computer (in the early 80s) with (CMOS) SRAM memory, the contents stay almost intact with a switch off of a second or less and gradually decay to "random" if the power is off for several minutes. IIRC given that CMOS uses MOSFETS which also have tiny capacitors, this is perhaps not too surprising.
Physical access (Score:2)
If the attacker has physical access to the machine to begin with, you might as well throw in the towel.
Re: (Score:2)
Well but make sure you throw out the machine's power cord before throwing in that towel! This gives you some chances (although this attack decreases them significantly).
Re: (Score:2)
Re: (Score:2)
Please state the nature of the accidental moderation.
Re: (Score:2)
Proper overwriting of unusedkey material in memory (Score:2)
Does anybody know whether all current cryptographic implementation properly overwrite memory regions that contained keys when the keys are no longer needed?
I wonder if LUKS (Linux Unified Key Setup) does that properly when you do a "cryptsetup luksClose"?
Once the encrypted filesystem is unmounted and the encrypted device removed, and the encryption key properly overwritten in memory, I figure at that moment you are safe from that attack?
Obligatory puns (Score:2)
Nobody cares if your puns were intended. [thebestpag...iverse.net]
Nothing new really (Score:2)
Used to rip music on this Amiga by loading the game (or demo or whatever) warm boot the machine to a shell and dump the contents of memory to disk and look for the appropriate headers.
You could do the same thing on a pc really - just warm boot the pc and don't initialize the ram.
The Authors missed something significant (Score:2)
"There seems to be no easy remedy for these vulnerabilities."
Yes there is. All one has to do is misprogram the DRAM controller. And then wait until DRAM is fully discharged before continuing on with the boot sequence.
For those who aren't familiar with how DRAM controllers work, they are responsible for laying out memory as seen by the CPU. There are a whole b
This is what we do in our shop... (Score:2)
The following is we implemented in our shop to prevent cold-boot attacks. Our shop is a Panasonic Toughbook shop, so keep that in mind as some features in the Toughbook line of laptops may not be available, but most of them are.
1.) Establish a system administrator password in the BIOS. Also establish a user password in the BIOS as well.
2.) Enable the feature to require password entry in order to boot the system.
3.) Hardware lock the hard drive to the system using the system administrator's password est
How to bypass the drive password (Score:2)
Not sure if you are aware but it is pretty trivial to bypass ATA password lockouts if you really want to... all you have to do is swap out the controller chip and/or controller itself on the drive. You can usually do this without even having to remove the platters of the drive.
San Francisco calling? (Score:2)
Have the SanFran IT system admins gotten into a running conversation with this team yet?
Another possible defense: keylength randomization (Score:2)
However, if they could, maybe during initialization the user could be prompted for a bit length and fu
Re: (Score:2)
Are L1 and L2 explicitly adressable by processors? Is there a "store in cache" opcode?
I don't think so - it would mix terribly with the way the cache usually works (transparently to the code executed by the processor).