Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Solution Against Cold Boot Attack In the Making

kdawson posted more than 5 years ago | from the warm-it-by-the-fire dept.

Security 260

Bubba writes "I just discovered this blog: Frozen Cache. It describes a concept for preventing cold boot attacks by saving the encryption key in the CPU cache. It is claimed that by disabling the CPU cache the key will remain in cache and won't be written to memory. The blog says they're working on a proof-of-concept implementation for Linux. Could this really turn out to be a working solution?" Update: 01/19 20:26 GMT by KD : Jacob Appelbaum, one of the authors of the cold boot attack paper, wrote in with this comment: "It's not a solution. It simply seeks to make it more obscure but an attacker would certainly still be able to pull off the attack. From what is on that blog, there's still a full keyschedule in memory at this time. This is how we reconstruct the key, the redundant information in memory; it's not just the 128/256 bit key itself. For older methods, they needed the actual specific key bits but we don't need them because we recreate them. Basically, the CPU is acting as a ghetto crypto co-processer. Emphasis on ghetto. It's a nice suggestion but the devil is in the details and sadly the details in this case aren't really up to snuff. It's a bogus solution."

cancel ×

260 comments

Sorry! There are no comments related to the filter you selected.

Freeze the CPU (5, Insightful)

despe666 (802244) | more than 5 years ago | (#26510439)

Good idea, until they figure out how to cold boot the CPU as well.

Re:Freeze the CPU (3, Interesting)

RiotingPacifist (1228016) | more than 5 years ago | (#26510567)

why are you modded funny? is there any reason that the cpu memory cannot be attacked in a similar way to standard memory? The hardware you need to pull it off is probably a bit more obscure but is there a reason that you cant stick a cold CPU in a multicpu board and read its memory from a second CPU?

Re:Freeze the CPU (5, Informative)

Anonymous Coward | more than 5 years ago | (#26510959)

You need to understand that there are different types of RAM. The main memory, that of which you have gigabytes, is DRAM. CPU caches are SRAM.
DRAM is, essentially, a tiny capacitor that is regularly recharged. If you cool it down, it doesn't lose its charge as fast, so you can read it even after power loss.
SRAM works differently. The data is stored by a few transistors wired together in a way so they can maintain a specific set state even when the external input goes away. There are no capacitors involved here, so once the supply voltage drops, the data is lost.

Re:Freeze the CPU (4, Informative)

SlashWombat (1227578) | more than 5 years ago | (#26511599)

Carefully repowering SRAM can maintain the contents. I have seen SRAM come up with essentially 99% of the contents still intact after the SRAM had been powered down for over a week. I guess that once powered up, the SRAM has a preference to come back the way it was before powerdown.

Or perhaps the slight residual voltage kept the SRAM contents intact. (Even though it was probably less than one tenth of a volt.) SRAM draws very little current when the voltages are reduced. Thus the power rails can maintain some small voltage for a very long time. .

Re:Freeze the CPU (4, Interesting)

bperkins (12056) | more than 5 years ago | (#26510997)

Most cache is implemented as a flop, which loses its state on power down almost immediately. I don't think it's possible.

Re:Freeze the CPU (-1)

dmayle (200765) | more than 5 years ago | (#26511245)

Most cache is implemented as a floating point operation? What are you talking about? Most caches are implemented as six transistors forming an SRAM cell. Using less means you don't have constant access and you have to deal with refreshing... SRAM is rather resitant to loss of power...

Re:Freeze the CPU (4, Insightful)

bperkins (12056) | more than 5 years ago | (#26511405)

Sorry, flop == flip-flop.

Re:Freeze the CPU (0, Redundant)

Anonymous Coward | more than 5 years ago | (#26511407)

Whoosh.

GP meant a flip-flop, a very simple memory element.

Re:Freeze the CPU (3, Insightful)

GXTi (635121) | more than 5 years ago | (#26511425)

SRAM uses circuits that resemble a flip-flop [wikipedia.org] , e.g. a latch, which would be what GPP was referring to. You are correct though that SRAM preserves state for some time after removing power, again especially at colder temperatures. However, I don't imagine it will be too much trouble, as getting a CPU to dump latent data from its cache after a power cycle is probably quite difficult -- it's small enough and fast enough that I would be surprised if the CPU didn't just zero the entire thing on boot. Certainly you wouldn't be able to get it back out the same way it went in as retrieving cache lines that are not really there would be a bug.

Re:Freeze the CPU (1)

djtack (545324) | more than 5 years ago | (#26511449)

No, not a floating point operation. The 6-transistor SRAM cell you describe is commonly called a flip-flop. [wikipedia.org] According to this paper [cam.ac.uk] , SRAM retains data only for a fraction of a second at room temperature, but apparently can be extended to seconds or minutes by freezing.

Re:Freeze the CPU (1)

Dachannien (617929) | more than 5 years ago | (#26511457)

I think he means flip-flops.

Re:Freeze the CPU (-1, Redundant)

Anonymous Coward | more than 5 years ago | (#26511475)

He was referring to flip-flop.

Re:Freeze the CPU (-1, Redundant)

Anonymous Coward | more than 5 years ago | (#26511563)

Meet the flip flop [wikipedia.org] .

Re:Freeze the CPU (1)

lysergic.acid (845423) | more than 5 years ago | (#26511713)

i thought CPU caches were mostly implemented through SRAM, which does possess a certain level of data remanence.

otherwise, there's always rubber-hose cryptanalysis [wikipedia.org] .

Re:Freeze the CPU (1)

Sycraft-fu (314770) | more than 5 years ago | (#26511217)

Different kind of memory. Normal memory, DRAM, is more or less a capacitor and a transistor. You store the charge for the state in the capacitor. So that's the idea as to how you can get at it later. While they do discharge when power isn't applied, it is not linear, so some residual charge can still be picked up. Cache memory is SRAM. That's a combination of six (or more in some cases) transistors, no capacitor. So when power dies, there isn't any residual charge left.

Not saying that maybe something couldn't be figured out, but it is a different kind of RAM so the same attack won't work.

Re:Freeze the CPU (4, Interesting)

msgmonkey (599753) | more than 5 years ago | (#26510603)

Although marked as Funny, you could quite easily open the PC take out the BIOS ROM whilst the machine is running (the BIOS is shadowed in normal operation), stick a new custom one in that probes the cache and do a hard reset.

Re:Freeze the CPU (3, Interesting)

msgmonkey (599753) | more than 5 years ago | (#26510639)

Additionally this could also be used to get a near perfect dump of RAM too.

Re:Freeze the CPU (4, Insightful)

ion.simon.c (1183967) | more than 5 years ago | (#26511309)

Thus, if the attacker has physical access to your box, you're screwed!

Re:Freeze the CPU (1)

Alsee (515537) | more than 5 years ago | (#26511611)

if the attacker has physical access to your box, you're screwed!

Yeah... especially if you're the RIAA/MPAA and the "attacker" is the owner having physical access to his own box.

I love these stories on physical-access attacks. They are great techniques for an owner to get around hostile Trusted Computing on his own computer. Cold-boot or warm-boot your own computer and read your data and your keys out of your RAM, even when Trusted Computing tries to deny you this sort of access to your own keys and data.

-

Re:Freeze the CPU (0)

Tony Hoyle (11698) | more than 5 years ago | (#26510771)

For some odd value of 'easily' :p

Desoldering a chip whilst it's running sounds like fun..

Re:Freeze the CPU (1, Informative)

Anonymous Coward | more than 5 years ago | (#26510827)

"Most"(1) PC BIOSes are socketed for the very reason that they are nasty to replace otherwise, and it doesn't really affect the cost too much to do so.

Pulling a socketed BIOS while a machine is running isn't all that difficult, especially to someone experienced in doing so. And even in the case that it's soldered down, you may be able to break the power connection to the one on the board and hotwire a second in on top of it (or on the bottom of the board if you're really good), deadbug-style.

(1): "Most" in this case means "most of the billion odd machines on the planet"; some of the recent Chinese/Taiwanese econoboxen have soldered down BIOSes, but step up from the bare bottom to the next step and they're typically socketed again.

Re:Freeze the CPU (0)

Anonymous Coward | more than 5 years ago | (#26511663)

Sparky sparky!

Re:Freeze the CPU (0)

Anonymous Coward | more than 5 years ago | (#26510891)

Which, as posted already is probably only a matter of hardware, and then you gain the additional advantage, that CPU-Cache is SRAM, and won't just disintegrate if you don't act fast enough.

If you can get at a key in a huge swath of decying dram, then fetching it out of a minuscule amount of fixes sram should be trivial...

If you want your key to be safe, just make sure to overvolt and overclock your RAM, that way the decay is much faster as well.

(and opposed to disabling your cache, you gain performance ;) )

They don't realise (-1, Troll)

Anonymous Coward | more than 5 years ago | (#26510461)

That they have no idea [goatse.fr] what they are talking about.

Owned by Slashdot link protection (1)

gcnaddict (841664) | more than 5 years ago | (#26510503)

I love it when Slashdot automatically rips open a troll post.

Re:Owned by Slashdot link protection (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26510663)

A couple weeks ago, while browsing around the library downtown, I had to take a piss. As I entered the john, Barack Obama -- the messiah himself -- came out of one of the booths. I stood at the urinal looking at him out of the corner of my eye as he washed his hands. He didn't once look at me. He was busy and in any case I was sure the secret service wouldn't even let me shake his hand.

As soon as he left I darted into the booth he'd vacated, hoping there might be a lingering smell of shit and even a seat still warm from his sturdy ass. I found not only the smell but the shit itself. He'd forgotten to flush. And what a treasure he had left behind. Three or four beautiful specimens floated in the bowl. It apparently had been a fairly dry, constipated shit, for all were fat, stiff, and ruggedly textured. The real prize was a great feast of turd -- a nine inch gastrointestinal triumph as thick as his cock -- or at least as I imagined it!

I knelt before the bowl, inhaling the rich brown fragrance and wondered if I should obey the impulse building up inside me. I'd always been a liberal democrat and had been on the Obama train since last year. Of course I'd had fantasies of meeting him, sucking his cock and balls, not to mention sucking his asshole clean, but I never imagined I would have the chance. Now, here I was, confronted with the most beautiful five-pound turd I'd ever feasted my eyes on, a sausage fit to star in any fantasy and one I knew to have been hatched from the asshole of Barack Obama, the chosen one.

Why not? I plucked it from the bowl, holding it with both hands to keep it from breaking. I lifted it to my nose. It smelled like rich, ripe limburger (horrid, but thrilling), yet had the consistency of cheddar. What is cheese anyway but milk turning to shit without the benefit of a digestive tract?

I gave it a lick and found that it tasted better then it smelled.

I hesitated no longer. I shoved the fucking thing as far into my mouth as I could get it and sucked on it like a big half nigger cock, beating my meat like a madman. I wanted to completely engulf it and bit off a large chunk, flooding my mouth with the intense, bittersweet flavor. To my delight I found that while the water in the bowl had chilled the outside of the turd, it was still warm inside. As I chewed I discovered that it was filled with hard little bits of something I soon identified as peanuts. He hadn't chewed them carefully and they'd passed through his body virtually unchanged. I ate it greedily, sending lump after peanutty lump sliding scratchily down my throat. My only regret was that Barack Obama wasn't there to see my loyalty and wash it down with his piss.

I soon reached a terrific climax. I caught my cum in the cupped palm of my hand and drank it down. Believe me, there is no more delightful combination of flavors than the hot sweetness of cum with the rich bitterness of shit. It's even better than listening to an Obama speech!

Afterwards I was sorry that I hadn't made it last longer. But then I realized that I still had a lot of fun in store for me. There was still a clutch of virile turds left in the bowl. I tenderly fished them out, rolled them into my handkerchief, and stashed them in my briefcase. In the week to come I found all kinds of ways to eat the shit without bolting it right down. Once eaten it's gone forever unless you want to filch it third hand out of your own asshole. Not an unreasonable recourse in moments of desperation or simple boredom.

I stored the turds in the refrigerator when I was not using them but within a week they were all gone. The last one I held in my mouth without chewing, letting it slowly dissolve. I had liquid shit trickling down my throat for nearly four hours. I must have had six orgasms in the process.

I often think of Barack Obama dropping solid gold out of his sweet, pink asshole every day, never knowing what joy it could, and at least once did, bring to a grateful democrat.

Re:Owned by Slashdot link protection (1)

WitheringtonSmythe (1444157) | more than 5 years ago | (#26511451)

Please don't use the term 'ripped open' in reference to that link.

Re:Owned by Slashdot link protection (0)

Anonymous Coward | more than 5 years ago | (#26511531)

i lol'ed

Great! (5, Funny)

Anonymous Coward | more than 5 years ago | (#26510481)

Man I've been waiting for this! Lately the risk of a cold boot attack has really scared me, it's to the point where I don't even turn my computer on anymore!

Write a summary that's useful, kthx. (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26510515)

What? Please stop writing like everyone knows everything about obscure crap. Though the article isn't any better, so that's at least one thing going for the summary writer.

Re:Write a summary that's useful, kthx. (0)

Anonymous Coward | more than 5 years ago | (#26510577)

The cold-boot attack was one of the biggest security news items last year. This is news for nerds, not news for idiots.

Re:Write a summary that's useful, kthx. (4, Informative)

Anonymous Coward | more than 5 years ago | (#26510877)

Not to mention, this is posted on the internet. Select the text you don't know about, right click and choose search google for "text". Firefox automagically opens a search on the topic in a new tab, and chances are the Wikipedia article is one of the top five results which should be a good enough starting point to see if the topic is of any interest to you. Magically, the old style of handholding journalism where authors are forced to assume the reader has the education of a 5th grader goes away, and society can actually advance further than the lowest common denominator.

Re:Write a summary that's useful, kthx. (0)

Anonymous Coward | more than 5 years ago | (#26510893)

Couldn't have been that important, I found one slashdot article in February of 2008 about it (no dupes?!). I'm not a security researcher, and don't care to be, sorry if I don't follow every possible obscure way of someone with physical access to my machine getting at my datas. I guess you're right, this is news for nerds, not news for people who have other shit going on in their lives. Thanks for clearing that up. Nerd.

Re:Write a summary that's useful, kthx. (1, Informative)

Anonymous Coward | more than 5 years ago | (#26511061)

There were 2 slashdot articles:

http://slashdot.org/article.pl?sid=08/07/20/1624253

http://slashdot.org/article.pl?sid=08/02/21/1543234

It was also on Wired: http://blog.wired.com/27bstroke6/2008/02/encryption-stil.html [wired.com]

Engadget: http://www.engadget.com/2008/02/21/cold-boot-disk-encryption-attack-is-shockingly-effective/ [engadget.com]

Schneier's blog: http://www.schneier.com/blog/archives/2008/02/cold_boot_attac.html [schneier.com]

Information week: http://www.informationweek.com/news/personal_tech/showArticle.jhtml?articleID=206801184 [informationweek.com]

The Register: http://www.theregister.co.uk/2008/07/21/cold_boot_utilities/ [theregister.co.uk]

Cnet: http://news.cnet.com/8301-1009_3-10003167-83.html [cnet.com]

PC World http://www.pcworld.com/video/id,762-page,1-bid,0/video.html [pcworld.com]

Boing Boing http://www.boingboing.net/2008/07/19/cold-boot-encryption.html [boingboing.net]

It was even on reuters: http://www.reuters.com/article/pressRelease/idUS163325+27-Feb-2008+PRN20080227 [reuters.com]

It's not an obscure thing, you are just ignorant of major technology news. Perhaps the summary should define "CPU" and "linux" for you as well, just in case you don't what they are either.

Re:Write a summary that's useful, kthx. (1)

eat here_get gas (907110) | more than 5 years ago | (#26511485)

10 of the last 11 posts were by AC's, the last 7 in a streak. WTF? why bother making folks sign up for accounts, let's all be AC's by default?

Re:Write a summary that's useful, kthx. (4, Insightful)

freedumb2000 (966222) | more than 5 years ago | (#26511115)

Don't be arrogant and put the blame on the reader. It's called journalistic writing and typing a good summary does take a bit of care. Adhering to some basic writing principles, like the inverted pyramid, would go a long way even for a lowly summary writer/story submiter: http://en.wikipedia.org/wiki/Inverted_pyramid [wikipedia.org]

Re:Write a summary that's useful, kthx. (0)

Anonymous Coward | more than 5 years ago | (#26511197)

Please stop posting here, nobody likes you.
Seriously.

Troll or actual idiot, we don't want you here.
To quote a(n) (in)famous 4chan quote, "lurk moar".

"general purpose?" (1)

nathan.fulton (1160807) | more than 5 years ago | (#26510537)

According to the blog, the Proof of Concept would work on "most" x86 architectures.

To someone who knows more about the down-and-dirties: will this approach work on non-X86 systems?

Re:"general purpose?" (1)

Improv (2467) | more than 5 years ago | (#26510743)

It depends on the architecture, of course.

Re:"general purpose?" (3, Interesting)

LiENUS (207736) | more than 5 years ago | (#26510803)

The Hitachi Super-H 4 processor (used in the Dreamcast among other things but I believe now as dead as the Dreamcast is). Supported a mode where you could disable half of the cache and use it as general purpose RAM.

Re:"general purpose?" (2, Interesting)

ishobo (160209) | more than 5 years ago | (#26511349)

It is still alive, with its sibling the SH-5, for the embedded market. Its core is licensed in the same way as ARM and MIPS.

Re:"general purpose?" (1)

Sycraft-fu (314770) | more than 5 years ago | (#26511257)

Depends. It wouldn't work on any architecture that doesn't do caching, of course. Don't know that there are any of those, but if there are, well then they are out. Also won't work on any architecture that you can't control the caching on. If it always caches memory and you can't mess with how, the trick won't work. I would guess it would work on most architectures out there, but I don't know.

a hack on a hack (3, Insightful)

freddy_dreddy (1321567) | more than 5 years ago | (#26510545)

FTA: "Disabling/freezing" the CPU's cache severely degrades the performance. However, this seems acceptable if one considers that this special mode only needs to be set whenever the screen is locked (all efforts are pretty much worthless if an unlocked laptop is stolen).
br/>Sounds like a tiny back door fix with a hell of a cat flap in it.

Re:a hack on a hack (1)

mrmeval (662166) | more than 5 years ago | (#26510901)

If the laptop is unlocked you just copy the drive to some other device. That's been the gaping hole in every OS back to the abacus.

If you want to fix that have some sort of longer range proximity card that locks or otherwise shuts off access when the user is not present.

Considering that most /.ers mold their butts to a chair put a switch in it to detect said butt.

Re:a hack on a hack (1)

kmahan (80459) | more than 5 years ago | (#26511187)

Why not just store it in a couple of locked cache lines?

Easier (0)

Anonymous Coward | more than 5 years ago | (#26510557)

Wouldn't it just be easier to set the BIOS to erase all of main memory to 0's during power-off (presumably on battery power if the power-cord is unplugged). That way no keys exist when the cold boot occurs

Re:Easier (1)

kcbanner (929309) | more than 5 years ago | (#26510659)

I think the shutdown consists of a hard off (power cut off), not an ACPI shutdown. The bios wouldn't have time to zero the memory. At least thats the way I understand it.

Re:Easier (1)

Tony Hoyle (11698) | more than 5 years ago | (#26510753)

A capacitor inline to the memory controller could give it enough time to execute an emergency erase/scramble if the power fails. It's probably not that expensive to develop either.

Re:Easier (0)

Anonymous Coward | more than 5 years ago | (#26510875)

so im just going to rip the ram out, your turn.

Re:Easier (2, Interesting)

chill (34294) | more than 5 years ago | (#26511103)

Memory wipe on case intrusion event.

Back to you.

Re:Easier (2, Informative)

Anonymous Coward | more than 5 years ago | (#26511203)

Cut hole in case wall so your "intrusion switch" doesn't trip.

Oh the fun cat and mouse game of security.

Re:Easier (0)

Anonymous Coward | more than 5 years ago | (#26511327)

Use a metal case. Detect change in case geometry by changes in case capacitance and inductance as intrusion event.

Re:Easier (1, Funny)

Anonymous Coward | more than 5 years ago | (#26511409)

thermite grenade with thermite lining of case walls.

Re:Easier (1)

GXTi (635121) | more than 5 years ago | (#26511487)

Solution: Don't make any enemies.

Checkmate.

Aww, but that's boring.

Re:Easier (1)

hairyfeet (841228) | more than 5 years ago | (#26511227)

Solder a tiny RAM chip onto the main board to store the keys. After all we are talking about storing keys, which really aren't very big, and with RAM so cheap it would add very little cost to add a single 32-64Mb RAM chip soldered directly to the mainboard. Hell if you wanted to get fancy you could add a little 32 bit embedded chip that is connected to the RAM and just does RNG and encryption. Depending on how good you write the algorithm you might be able to get by with 16bit, but little 32bit embedded chips are pretty cheap.

To get the keys you would need to take apart the mainboard, manage to keep the RAM from being zeroed out(and with a small chip like that a capacitor could wipe it easily) unsolder it from the board, put it in another board and then retrieve the key. All while keeping the DRAM from losing charge. And if you use the little embedded 32bit crypto chip you would still have to break the encryption to make the key usable. Seems like it would be pretty damned difficult to me. And it wouldn't add much in the way of cost. Would probably be a great solution for business laptops.

Re:Easier (0)

Anonymous Coward | more than 5 years ago | (#26510931)

It takes a hell of a capacitor to do what you're saying. The time isn't short, and the power draw of the processor is rather huge. Probably not a workable solution under current technology.

Re:Easier (1)

shawb (16347) | more than 5 years ago | (#26510957)

Alternatively, you could go with a Bios mandated memory wipe on startup. It won't prevent the hack of physically removing the chip and placing in a special device, for that you would need each memory chip to automatically zero itself on power-on (Doing this on the SIMM level wouldn't help if the attacker is determined enough to crack open the case.) For your average user this would be cost prohibitive, but if security is truly an issue this could be implemented.

It would probably require a specialized Bios and/or memory controller to run this ram as you would at least need to account for a pause while the memory clears itself. However, the time required for an embedded memory wipe would be smaller than a system executed memory wipe as you would theoretically not need to use standard communications channels to issue write commands to each bit.

Re:Easier (1)

harlows_monkeys (106428) | more than 5 years ago | (#26511081)

I think the shutdown consists of a hard off (power cut off), not an ACPI shutdown. The bios wouldn't have time to zero the memory. At least thats the way I understand it.

Wouldn't it only need to zero the memory that contains the key?

Re:Easier (1)

RAMMS+EIN (578166) | more than 5 years ago | (#26510775)

Zeroing probably isn't the best idea. There will likely still be residues left over that allow you to distinguish what used to be a one and what used to be a zero.

Re:Easier (3, Insightful)

ogl_codemonkey (706920) | more than 5 years ago | (#26510817)

Yes, but the benefit of a cold-boot attack is that the data is just there; you don't need to remove the DIMMs and read tiny electrical fields with special machinery; you just read the bytes.

There is no CPU instruction for *any* architecture that will give you the voltage level of a memory cell.

Adds another layer to hardware solutions? (4, Interesting)

Zergwyn (514693) | more than 5 years ago | (#26510579)

Or the converse, I suppose (hardware solutions can add another layer to this). This looks like some very interesting work, and may have more applicability in general beyond this one scenario. I'm certainly looking forward to following their implementation as it comes along. But with that said, if this attack was a serious concern for a given entity there seem to be some obvious potential hardware solutions. The attack essentially depends on being able to shutdown the computer but keep the memory cold enough that the randomization time is slowed down tremendously, giving enough time to perform a dump of the contents onto another system for further analysis. Therefore, it can be prevented by, for example, having electric heater units surrounding the memory connected to a dedicated capacitor bank and temperature sensor, as well as a sensor to detect if someone tries for force open the machine (intrusion alarm). Then the system can perform a scram shutdown (or if it is just shutdown normally), and the heaters can assure that the memory is kept hot for a couple of seconds afterwards even in the face of attempted cooling. It only needs to manage it very briefly and then all the contents are scrambled. Other similar methods (maybe a really micro EMP inside a shield memory space) would be possible to, but basically they just need to deny an attacker for a very short amount of time or ensure entropy in the RAM and then the attack is useless.

Ultimately a dedicated hardware secure key store would be better and easier to integrate across all systems, and this more software solution of course has the massive advantage of being able to run for free on existing hardware. But the above could at least be retrofitted on nearly anything, and while it is more esoteric, then again so is the attack since it requires physical access.

Re:Adds another layer to hardware solutions? (1)

calmofthestorm (1344385) | more than 5 years ago | (#26510685)

Good idea. If we can get the manufacturer promises there aren't any government backdoors, we'll be perfectly safe from any and all conceivable attacks.

But I guess it is an improvement at least.

Re:Adds another layer to hardware solutions? (1)

icebraining (1313345) | more than 5 years ago | (#26511707)

Yes, I don't want those pesky government backdoors. I prefer to have only the companies backdoors, thank you.

Re:Adds another layer to hardware solutions? (1)

calmofthestorm (1344385) | more than 5 years ago | (#26511753)

Now now, I'm sure we can trust companies to act in good faith rather than self interest at the cost of morality and the interest of their customers. No need to be so cynical, Commie scum.

Re:Adds another layer to hardware solutions? (1)

RAMMS+EIN (578166) | more than 5 years ago | (#26510755)

Actually, scrambling the whole RAM sounds like a good idea. The encryption key is probably not the only thing you want to keep a secret.

So was that the only copy of the key? (0)

Anonymous Coward | more than 5 years ago | (#26510615)

Or could a stale copy still be in some dirty page in RAM left over from the key generation process.
Confused...

I don't understand... (3, Insightful)

Kindaian (577374) | more than 5 years ago | (#26510631)

Wasn't the "secure computing" preached by Intel/MS and others a "secure" platform that would solve all the security issues?

To me seams that it was only a farse to disguise DRM into everyones computers...

And fail...

Secure computing works (1)

EmbeddedJanitor (597831) | more than 5 years ago | (#26510695)

This was really just a marketiung exercise with just enough technical mumbo-jumbo to make it sound real.

If you consider that the primary goal was really to make people *think* that they were doing something useful, then , yes, the exercise was successful.

Re:I don't understand... (1)

Ian Alexander (997430) | more than 5 years ago | (#26510835)

I think any security offered by TPM would be against remote exploits. The mantra I keep hearing is "all bets are off once an attacker has physical access" which makes sense.

TPM only solves the PEBKAC issue (1)

CustomDesigned (250089) | more than 5 years ago | (#26511049)

The "secure computing" preached by MS does not protect against OS bugs, buffer overflows, or any of the myriad local or remote attacks based on software flaws. The only "security" it offers is a way to prevent end users from downloading and installing the software of their choice. I don't mean to minimize the value of this - it is an important base to cover. The "typical" Windows user sees a free screen saver and goes "Ooh! Shiny!" and installs it - thereby joining yet another botnet. When/if Linux reaches Windows marketshare, "typical" Linux users will do the same.

Of course, this turns a Windows/TPM computer into something akin to a game console. I personally don't think there is anything wrong with this - until M$ convinces the government to outlaw real computers because they are "insecure". Or more likely, convinces banks and online merchants to only do business with TPM computers.

Re:TPM only solves the PEBKAC issue (0)

Anonymous Coward | more than 5 years ago | (#26511637)

It depends on what you were planning to use the TPM hardware for.

As per Microsoft's plans, the idea was basically to have the OS take ownership of the TPM, use it as it's own key store for whatever it wanted (like DRM), and to allow stupid things like TPM-based authentication to lock people out of services if they weren't using the latest up-to-date version of Windows with a TPM.

It can be used for good, as well as evil. Microsoft also used it to implement BitLocker (whole-disk encryption), with the TPM used to store the decryption key.

On the Linux side, there are plenty of non-evil uses. Since the system administrator controls the TPM, instead of the OS vendor, you can use it for pretty much anything. Storing GPG keys, for example. Or using it to ensure the bootloader, kernel and initrd haven't been tampered with, whole-disk encryption, signature validation...

Useless for home users, of course, but potentially quite useful for servers, or other locked-down environments.

Re:I don't understand... (1)

harlows_monkeys (106428) | more than 5 years ago | (#26511107)

Wasn't the "secure computing" preached by Intel/MS and others a "secure" platform that would solve all the security issues?

No

To me seams that it was only a farse to disguise DRM into everyones computers...

And fail...

No again. Here is some useful information [ibm.com] on this from IBM.

A better solution. (0)

Anonymous Coward | more than 5 years ago | (#26510661)

Stop putting encryption into memory.

In the old days, computers would ask for a code when you wanted to decrypt something -- no caching necessary.

Re:A better solution. (1)

zippthorne (748122) | more than 5 years ago | (#26510767)

Heh, no caching, eh. How did it *use* the code?

Re:A better solution. (1)

fbjon (692006) | more than 5 years ago | (#26511673)

In the old days, they retyped the key for every block.

Re:A better solution. (1)

icebike (68054) | more than 5 years ago | (#26510821)

Why worry?

If they have your machine, its only a matter of time before they discover a way to access your porn.

You can't cold boot attack a machine without physical access. If "they" have your machine for long enough to pull off a successful cold boot attack, chances are they could just as easily take your hard drive back to their lab, in which case all bets are off.

Re:A better solution. (0)

Anonymous Coward | more than 5 years ago | (#26510897)

Bullshit. A cold boot attack takes me less than a minute with my USB key and a small USB harddrive on a system with 2gb of memory, and I can have your volume mounted in under three minutes thanks to linuxlive hackery.

Re:A better solution. (1)

icebike (68054) | more than 5 years ago | (#26510943)

Why would you assume my machine would be set up to boot from any USB device?

Good luck with that.

Re:A better solution. (1)

SolidAltar (1268608) | more than 5 years ago | (#26510945)

> In the old days, computers would ask for a code when you wanted to decrypt something -- no caching necessary.

*slaps AC* Approaches like TrueCrypt REQUIRE that the password remain in memory. How else are you supposed to even browse the files?

A safer alternative (3, Interesting)

kasperd (592156) | more than 5 years ago | (#26510733)

This is supposed to protect the key while the system is locked, and a password is used to unlock the screen. But if a password is required to unlock anyway, the key doesn't even have to be accessible while the system is locked, the password itself could be used to decrypt the key while unlocking. Of course there is a drawback in that any disk operations would have to be delayed until the system is unlocked, that might not be acceptable for all users.

The simplest way to implement my proposal would probably be to suspend the system instead of just locking the screen (like you do if you are not going to be using your laptop for a few hours). It just has to be implemented correctly such that the key really isn't available until decrypted using the password that you enter when waking it up.

If you want to lock your laptop and leave it doing things in the background requiring disk access, then the idea from this article might be valuable. There are other possibilities, one alternative is to store the key in special cryptographic hardware from where it can't just be read out (I haven't thought through the details of such a design, there are obviously some hurdles that would need to be sorted out). Or you could make some use of asymmetric cryptography, I don't think any storage encryption currently does that, since it could have a performance penalty, but it would provide some protection against attacks like this. You could also use ciphers that are less vulnerable to this kind of attack. Part of the attack is to use the key schedule as a kind of error correcting encoding that will help recovering the key. Key schedules are typically designed with performance in mind, and this kind of attack is not considered. But for most storage encryptions the performance of the key schedule isn't important, so a different key schedule could be designed to have no error correcting properties. (I think that just means the function mapping from key to key schedule would have to be a PRNG).

Re:A safer alternative (3, Insightful)

Chaos Incarnate (772793) | more than 5 years ago | (#26510907)

The problem with encrypting the key via password is that it requires either storing the password in a reversible fashion (not hashed), which is terrible security, or requiring the user to enter the password before locking the system, which prevents inactivity timers from locking the system.

Re:A safer alternative (0)

Anonymous Coward | more than 5 years ago | (#26511063)

Why? Just load the hash from the disk while you can access it.

Re:A safer alternative (0)

Anonymous Coward | more than 5 years ago | (#26511493)

Just use asymmetric cryptography:

k = full disk key

p = private key, encrypted with password
P = public key

At suspend/lock; k is encrypted by P using an asymmetric crypto algorithm [RSA for example] to k', stored wherever

At unsuspend, P is decrypted by password, used to decrypt k' thereby retrieving k

Disable CPU cache... (1)

thegrassyknowl (762218) | more than 5 years ago | (#26510815)

... so the solution to a cold boot attack is make your computer so damned slow that you don't want to use it. Therefore you won't want to create encrypted volumes to store your world domination plans anymore.

Re:Disable CPU cache... (1)

antifoidulus (807088) | more than 5 years ago | (#26511125)

Hey, my Harry Potter/X-Men/Buffy the Vampire slayer crossover fan fiction is going to make me millions and I need to protect it.

Re:Disable CPU cache... (1)

Hungus (585181) | more than 5 years ago | (#26511315)

Only if it also stars Captain Kirk as an ocelot.

Only needed when the machine is locked (1)

Fred Ferrigno (122319) | more than 5 years ago | (#26511569)

The scenario is that someone steals a running, but locked laptop, and wants to read your encryption keys stored in RAM. If it's not running, then the encryption keys aren't in RAM. If it's not locked, then you're SOL anyway.

So the idea is to move the keys out of RAM and into the cache temporarily while the machine is locked. When you log back in, the cache gets re-enabled so you won't notice any difference in performance.

Re:Only needed when the machine is locked (2, Interesting)

thegrassyknowl (762218) | more than 5 years ago | (#26511723)

The scenario is that someone steals a running, but locked laptop

Let's assume a REAL scenario. The real scenario is not everyone runs Windows and not everyone runs laptops, and not everyone uses X86 architecture. Just because the screen is locked doesn't mean the encrypted volume is not in use. Come to think of it, Windows + Laptop + Locked doesn't even mean it's not in use. The cold boot attack is also more useful against desktop machines because it's much easier to freeze up the memory good because you usually have unrestricted access to most of its surface area.

Example: I leave my computer calculating possible attack vectors for that exhaust port and lock the screen while I go make a coffee; it's going to take a couple of hours to compute, you see. I'm in the next room but it's possible that I am raided and the computer seized before I can get back to it and kill it off. In this case the key is very certainly loaded on the machine - either in RAM or cache, we can't be 100% sure. The key is also very certainly required to be there, and we can't cripple the machine with cache tricks because it's actually working on sensitive calculations. I'd suggest this is a likely scenario for most users of encrypted volumes.

Sure, if you were 250% paranoid you wouldn't walk away from your computer without first ensuring the key space in RAM was DoD wiped, but find me someone _that_ paranoid.

Nice idea, but... (1)

ogl_codemonkey (706920) | more than 5 years ago | (#26510857)

There is an underlying problem with this strategy; in that it is that it's targeted at locked laptops... which need to shut down and power off the CPU cache in order to not run out of power in the next 30 minutes.

And to answer another common question here; CPU cache is power-hungry SRAM (a set of transistors per-bit), rather than DRAM (a capacitor per-bit) - so it does lose it's state when unpowered.

Also, as soon as you turn it back on, it'll be overwritten with the BIOS/POST/bootlader/whatever instructions and data... that's what it's there for, and that's its default mode.

Re:Nice idea, but... (1)

adamofgreyskull (640712) | more than 5 years ago | (#26511357)

There is an underlying problem with this strategy; in that it is that it's targeted at locked laptops... which need to shut down and power off the CPU cache in order to not run out of power in the next 30 minutes.

As I understand it...the attack their method is trying to prevent is the case where you have a locked machine (not necessarily a laptop, but it could be), but the encryption key is stored in RAM. The attacker powers off the machine and immediately cools the RAM right down and plugs it into another machine especially designed to copy anything off it and find such things as encryption keys. From the sounds of things, their method stores the encryption key, not in RAM, but in the CPU cache, so that any attempt to power off the machine and plunder the contents of RAM will be fruitless.I.E. it takes advantage of the fact that anything in the CPU cache is lost really quite easily...as you mentioned...

Now, if we think about this for a picosecond..the kind of people with the where-with-all to successfully launch an attack of this nature will be police forces and governments and if you're the kind of person who wants to stay one step ahead of either, you're the kind of person who won't mind re-entering a decryption key every time you resume/reboot etc. If I've got anything wrong, please correct me. If I've been trolled then mea culpa..

DRAM and SRAM (1)

colsandurz45 (1314477) | more than 5 years ago | (#26511079)

What's really important here is that the key would be kept in SRAM(CPU Cache), not DRAM(Memory). With DRAM the stored bit is stored in a capacitance and in SRAM the bit is stored in a latch(usually a D-type latch from what I understand). I would guess that it's harder to freeze SRAM and keep the bit in place.

how often are these actaully done? (1)

wjh31 (1372867) | more than 5 years ago | (#26511147)

so how often are these cold boot attacks actually performed in a hostile situation (as opposed to under controled conditions for demonstration, or to legitimately recover lost passwords or whatever)

Physical Access == 0wn3d (1)

nubsac (1329063) | more than 5 years ago | (#26511295)

If an attacker has physical access to your machine, the "cold boot" attack should be the least of your concerns.

Additionally, if your that fucking concerned about this attack, wait 30 sec to 1 min after shutdown when logic gates loose electrical charge and are defaulted to zero.

Perhaps I don't fully understand the details of this attack, but it seems as if this would be impractical as a way to steal data. My understanding is that the data only exists for a short period of time after shutdown.Please correct me if I'm wrong...

zero on power up? (1, Interesting)

Eil (82413) | more than 5 years ago | (#26511305)

This sounds like quite an over-complicated solution. Isn't it possible to design "secure" memory chips that zero their contents when power is first applied? I mean, memory chips are pretty "dumb" (from a design logic perspective, which is why cold-boot attacks work) so how hard would it really be to add this function to the chip? If it significantly adds to the manufacturing cost, sell it as a feature. I know of many agencies and individuals who would be interested in memory that's secure against cold-boot attacks, even if it costs twice per MB as normal chips.

Re:zero on power up? (1)

Zironic (1112127) | more than 5 years ago | (#26511639)

How exactly would a memory chip define "power first applied"? And how would the memory itself erase anything?

Afaik RAM is just a bunch of cells that are either charged or they're not and it's all decided by the memory controller.

Cold boot team responds (1)

mollyhackit (693979) | more than 5 years ago | (#26511431)

Hack a Day asked cold boot team member Jacob Appelbaum what he thought of the approach [hackaday.com] .

Here's Jake's unedited response:

Yeah, it's not a solution. It simply seeks to make it more obscure but an attacker would certainly still be able to pull off the attack.

From what is on that blog, there's still a full keyschedule in memory at this time. This is how we reconstruct the key, the redundant information in memory; it's not just the 128/256 bit key itself. For older methods, they needed the actual specific key bits but we don't need them because we recreate them.

Basically, the CPU is acting as a ghetto crypto co-processer. Emphasis on ghetto. It's a nice suggestion but the devil is in the details and sadly the details in this case aren't really up to snuff. It's a bogus solution.

Firewire (1)

lord_sarpedon (917201) | more than 5 years ago | (#26511593)

Cold boot attacks on laptops are interesting and all, but me, I'd just use the firewire port [hermann-uwe.de]

It is applicable on a smaller number of laptops, but you also have write access and the machine continues running (less suspicious). Somewhere (perhaps in my link, can't remember) I saw a nifty python script that patches winlogon to allow unlock by entering an incorrect password. If you're an exceptionally slick bastard, you might squeeze a keylogger/downloader/etc into some dark corner of RAM and hijack some unlucky thread. On Windows machines, who knows, maybe we'll see a convenient hardware dongle to assrape the DRM path while it's looking the other way...

Don't even have to move the laptop somewhere secluded to rip it apart. Just plug in your 'music player.'

I am terrified of this attack vector (1)

Daimanta (1140543) | more than 5 years ago | (#26511739)

That's why I set my thermometer to 30 C and leave it on all day.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?