16 ms·
There's a new way to flip bits in DRAM, and it works against the latest defenses
- orangepurple 3y agoIs ECC memory vulnerable to these kinds of bitflips?
- codetrotter 3y agoThe paper has some mentions of ECC. https://people.inf.ethz.ch/omutlu/pub/RowPress_isca23.pdf https://people.inf.ethz.ch/omutlu/pub/RowPress_isca23.pdf For example, the first mention of ECC says this: > we ensure that the tested DRAM modules and chips have neither rank-level nor on-die ECC. Doing so ensures that we directly observe and analyze all circuit-level bitflips without interference from architecture-level correction and mitigation mechanisms. Later in the paper they say: > We examine the capability of ECC, which is widely used in modern memory systems to correct memory errors, in mitigating Row Press. We analyze the number of bitflips in every 64-bit word for both single- and double-sided RowPress for a tAggON of 7.8 Ms. To maximize the number of bitflips at this tAggON, we activate the aggressor row(s) as many times as possible within 60 ms at 80°C. […] > We make two key observations from our analysis. First, there are up to 25 Row Press bitflips (not shown) in a 64-bit data word. ECC schemes that are widely used in memory systems (e.g., SECDED [122] and Chipkill [123-125\23) cannot correct or detect all RowPress bitflips we observe, which can lead to silent data corruption [126- 128]. Even a (7, 4) Hamming code (correcting one bitflip in a 4-bit data word) [122] with 75% DRAM storage overhead (3 parity bits for every 4 data bits), is not capable of correcting 25 bitflips in a 64-bit data word. Other ECC schemes that can correct all Row Press bitflips require prohibitively large storage overheads. Thus, relying on ECC alone to prevent all RowPress bitflips is a very expensive solution. Second, for all three manufacturers (Mfrs. A, B, and C), a significant fraction (up to 0.99%, 35.77%, and 10.08% for tAggON = 7.8 us, respectively) of 64-bit data words exhibit at least three Row-Press bitflips. This makes RowPress bitflips costly to prevent using techniques like memory page retirement (where erroneous DRAM rows are not used in the system) [129, 130] since such techniques could render up to 35.77% of storage capacity useless.
- exmadscientist 3y agoWhat a thoroughly disingenuous argument they make. Let me rephrase that in terms of adventures trying to break in to the castle throne room. They say that if you keep sending a million adventuring parties, eventually some will break in, perhaps as many as 25 adventurers at once and there's no way you can afford 25 guards 24/7 to protect anything. The obvious counter-argument is that, sure, maybe the millionth party will get in... but someone had to notice the guards stopping the first 999,999 failures, right? That counts for something? Most "defeats" of ECC in these RowHammer style attacks are of this form, and are not in my opinion actually defeats. Authors are just sleazily handwaving away the ECC to get a sexier paper. (ECC with OS error reporting is like having posted guards with someone supervising. If this analogy makes you wonder how things can possibly work without any ECC/guards, congratulations, you see the argument the ECC-everywhere camp are making!)
- Palomides 3y agoECC is very resistant but not immune, but at least it will let you detect rowhammer attacks
- adrian_b 3y agoYes, the advantage of ECC against RowHammer or RowPress attacks is detection, not prevention. The attacks usually produce more bit flips than can be corrected by ECC, but the attacker cannot control the number and the position of the bit flips. When a memory uses ECC (true end-to-end ECC, not the internal ECC of DDR5, which is useless against these attacks, because the errors are not reported to the OS), there are many more invalid memory bit configurations, than valid ones. Because of this, applying a random pattern of bit flips to the memory is much more likely to be detected as an ECC error, than to be ignored. Computers with ECC are normally configured to scrub all the memory periodically, so the bit flips caused by an attack will be detected even in unused memory. Because in a normal computer it is extremely unlikely to encounter more than one ECC error per day (either correctable or non-correctable), a decent operating system should immediately notify the user or the administrator in the case of repeated errors, which can appear only as a consequence of a hardware malfunction or of a RowHammer/RowPress attack (many servers are configured to send immediately an e-mail message or an SMS alert to the administrator when such events happen). Therefore, on computers with ECC it should be impossible for such attacks to remain undetected, even if they can succeed to corrupt the memory.
- blakesterz 3y agoRowHammer and the other speculative execution are really interesting attacks, but have they ever actually been used in the wild yet? I can't seem to find anything that says yes. https://news.ycombinator.com/item?id=27318960 https://news.ycombinator.com/item?id=27318960 2 years ago someone asked and it looks like the answer was "nope" https://www.csoonline.com/article/573715/rowhammer-memory-attacks-close-in-on-the-real-world.html https://www.csoonline.com/article/573715/rowhammer-memory-at... 3 years ago they were "closer" I couldn't seem to find anything that said they're known to be successfully exploited yet. My understanding (which is shallow at best) makes me think they're still really tough to use in a real world attack.
- quacksilver 3y agoThe main concern is probably that the 'safety factor' between current publicly known state of the attack and it being dangerous is less than the community is comfortable with sensibly recommending is safe.
- kelsey9876543 3y agothe folks using them in the wild don't leave evidence they were threre
- brookst 3y agoSame can be said of ghosts. I think it’s reasonable to question their existence.
- TonyTrapp 3y agoThe difference is that we haven't produced any proof-of-concept ghosts yet.
- QuadmasterXLII 3y ago“Sure, MIT can extract the layout of a maze from a rat’s soul up to 30 minutes after death using a Ouija board, but the headline doesn’t mention that it also takes a 4 T magnet, a 3 TW pulsed laser, and a convergence of at least five Leylines. I think the philosophical implications are overstated.“
- gustavus 3y agoWhen I read about these kind of things I am reminded of this James Mickens quote "Unfortunately, large swaths of the security community are fixated on avant garde horrors such as the fact that, during solar eclipses, pacemakers can be remotely controlled with a garage door opener and a Pringles can. It’s definitely unfor- tunate that Pringles cans are the gateway to an obscure set of Sith-like powers that can be used against the 0.002% of the population that has both a pacemaker and bitter enemies in the electronics hobbyist community. However, if someone is motivated enough to kill you by focusing electromagnetic energy through a Pringles can, you probably did something to deserve that. I am not saying that I want you dead, but I am saying that you may have to die so that researchers who study per-photon HMACs for pacemaker transmitters can instead work on making it easier for people to generate good passwords." I feel like the same thing applies when we are talking about these kind of attacks. I mean right now the latest version of express currently has a dependency on a library that has a known RCE. I mean listen 99% of us work in a company where if someone wanted to steal our information they'd pay the janitor $500 to grab it on his way out. Is this really a huge priority?
- coldpie 3y agoYes, I have the same feeling about the SPECTRE mitigations, for example. No one is going to be attacking my home Linux box with SPECTRE (has anyone ever been attacked with SPECTRE?), but by default they remove like 10+% CPU performance, just in case. I disabled the mitigations.
- SV_BubbleTime 3y agoI think the threat there isn’t someone else attacking their VM to get to your machine - but that there was at least some proof of concept over JavaScript remotely. But otherwise I agree.
- monocasa 3y agoThere's also netspectre which remotely attacks a kernel with malformed network packets. https://arxiv.org/abs/1807.10535 https://arxiv.org/abs/1807.10535
- exrook 3y agoFor those interested, the key takeaway from this IMO is that by issuing many sequential reads, the memory controller will hold a target row open for an extended amount of time to service the consecutive accesses. This is in contrast to the original rowhammer attack, which issues accesses such that target rows are repeatedly opened and closed to trigger bitflips in neighboring rows. By stretching out the row open time to 30ms (!), the authors claim they are able to reliably trigger bitflips with a single row opening in 13% of tested rows at 50°C[1]. Some rows in certain chips can be flipped with access times of under 10ms[2]. At more realistic row open times of 7.8 - 70us, there seems to be a 1/x relationship between row open time and number of activations required, they cumulative amount of time the row needs to be held open for to trigger a flip seems to remain fairly constant (around 50ms total from my very approximate estimations). Note that the attack needs to be executed in under 64 ms total, otherwise the automatic DRAM refresh will reset any progress made. The authors demonstrate this attack with a userspace program that maps a 1 GB hugepage to be able to directly manipulate the lower 30 physical address bits[3], although they don't seem to provide the row open times they end up being able to achieve in practice. The attack code itself: https://github.com/CMU-SAFARI/RowPress/blob/main/demonstration/main.cpp#L286-L372 https://github.com/CMU-SAFARI/RowPress/blob/main/demonstrati... https://arxiv.org/pdf/2306.17061.pdf https://arxiv.org/pdf/2306.17061.pdf [1] pg 5. obsv. 2 [2] pg 6. obsv. 6 [3] pg 11. sec 6.1
- weinzierl 3y ago"50 C" refers to 50°C as in average kinetic energy of particles. They did the measurements at elevated temperatures.
- jimmySixDOF 3y agoI thought they might be trying to throw in some old Halt and Catch Fire trick
- not2b 3y agoIt isn't that elevated; RAM inside a laptop or server that is doing anything compute intensive will often be warmer than 50°C (122°F).
- supriyo-biswas 3y agoThe original paper: https://people.inf.ethz.ch/omutlu/pub/RowPress_isca23.pdf https://people.inf.ethz.ch/omutlu/pub/RowPress_isca23.pdf
- intrasight 3y agoIsn't it the case that this attack vector and almost all others are the result of the poor architectural choice made by the first and all subsequent CPUs - the mixing of data and instruction?
- GuB-42 3y agoIt is not a "poor" architectural choice, it is a choice with advantages and disadvantages, and something that has been studied since the 1940s. See Harvard vs Von Neumann architecture. Harvard: separated, Von Neumann: combined. Modern processors are usually a hybrid, Harvard on the inside (with separate instruction and data caches), Von Neumann on the outside. But some processors (ex: DSPs) are pure Harvard and both styles have co-existed since the very first computers, the ones made of vacuum tubes and relays. There is no "original sin".
- ddingus 3y agoMany would say, myself included, that is not a poor choice. It was the better of two possibilities.
- wnoise 3y agoNo? Direct control is harder in a Harvard architecture, but often changing data is the attack you want to do anyway.
- dang 3y agoRelated: RowPress: Amplifying read disturbance in modern DRAM chips [pdf] - https://news.ycombinator.com/item?id=36479683 https://news.ycombinator.com/item?id=36479683 - June 2023 (6 comments)
- schrodingerzhu 3y ago[dead]