Every Android Device Launched Since 2012 Impacted By RAMpage Vulnerability (bleepingcomputer.com)
Almost all Android devices released since 2012 are vulnerable to RAMpage bug, an international team of academics has revealed today. From a report: The vulnerability, tracked as CVE-2018-9442, is a variation of the Rowhammer attack. Rowhammer is a hardware bug in modern memory cards. A few years back researchers discovered that when someone would send repeated write/read requests to the same row of memory cells, the write/read operations would create an electrical field that would alter data stored on nearby memory. In the following years, researchers discovered that Rowhammer-like attacks affected personal computers, virtual machines, and Android devices. Through further researcher, they also found they could execute Rowhammer attacks via JavaScript code, GPU cards, and network packets.
The article said that Apple iOS devices may be vulnerable to, but since this is a kind of Rowhammer attack, which Apple mitigated in 2015, I wonder if it is?
It would be nice if the article (and researchers) were more clear about other platforms being vulnerable...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The actual paper speculates that all devices since 2012 "may" be vulnerable. There is an app you can download to test, but it's not clear what it actually does.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
At some point one of these vulnerability checking apps will be found to be it's own kind of trojan, instead uploading contacts or installing spyware...
After all, seems reasonable to grant a vulnerability checking app full permissions right?
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I'm guessing people that write compilers would say "meh this isn't my issue". And they wouldn't be wrong - it would require them to spend time to do it well, legitimate users wouldn't care about the feature, and it would probably slow everything down.. Trying to solve security issues by making a compiler/malware scanning FrankenProgram is just a bad idea. Anyway, whoever is writing the code probably would just use an older compiler.
I'm guessing that anyone who wanted to make malicious use of this behaviour wouldn't use a compiler designed to mitigate the issue...
This sig left unintentionally blank.
Unless your objective is to crash the device, rowhammer is a useless technique and even then there are far easier ways to accomplish this. Until you can tell me EXACTLY what cells you are modifying and in what way, you will NEVER be able to utilize this vulnerability interesting observation for any kind of useful exploit. Even then, you would have to know WHAT you are modifying and even the most basic memory page protection prevents that. #SLOWNEWSDAY
Unless it's posted open source and GPL.
If I were going to post some Malware, I'd make a clean open source/GPL version with handy pre-compiled binaries that had the actual exploits included... we all know very few people would actually go to the trouble to download and compile so you'd get quite a good uptake from people who assumed because the source was open it was safe.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
.. memory chips? If so, then in theory anything using them is vulnerable with enough work. Would using ECC memory avoid all this over hyped crap?
Does it affect "anything that has RAM" or does it have to be a specific type of RAM?
Ex: is the RAM inside an ATmega328P affected by this security problem?
#DeleteFacebook
Would using ECC memory avoid all this over hyped crap?
Yes ECC memory and ECC cache mitigates Rowhammer. In theory not completely, you could cause an undetected triple-bit error if you ran the attack long enough. However, in that time you are vastly more likely to hit a detectable-but-uncorrectable two-bit error that halts the machine.
(A quick Google implied that modern systems are still stuck with single-correction double-detection. I am not sure that is correct.)
Finally! A year of moderation! Ready for 2019?
Or, even better, RAIM.
There is an app you can download to test, but it's not clear what it actually does.
If you install the app, you found the larger security hole. :)
Fail. You make assumptions, leaps of logic, and your result is failure.
I conditionally agree that if an engineer knowingly designs/makes something faulty, they should be held accountable. But we engineers do not knowingly produce faulty stuff. All designs have to be tested to find things that nobody could anticipate. That testing costs time/money. I don't have the power to force a company to do testing- that's up to bean counters and management. Get it?
It doesn't sound like you work in corporate America, nor have much concept of how it works. If/when an engineer has a job, they generally have to show up where and when management tells them to. You are paid to be there and do what they tell you. If you try to do a better job, point out potential flaws, etc., you're generally labeled a complainer and hindrance to PROFIT. Read "Dilbert" a bit.
And yes, I'm speaking from direct experience, not conjecture and imagination. Being all big-shot tough-guy AC on /. isn't going to help anything. Go study the Challenger disaster. Learn about what is _actually_ happening, maybe go do some good somewhere and stop talking out of your A$$.
Not only that, but if you're writing an OS you'd need a lot of code that malware in user apps would want.
And for example on Android, they don't even have their own ABI for the compiler to target, you compile for Android just by coincidence and the compiler doesn't know Android code from bare metal code with no OS.
The apps I do look at the source, they're the ones that ask for permissions but I still want to use the app. So I'll review all the parts of the code that use the permissions
I think you misunderstand - the code published would not contain anything harmful at all. It would be totally clean. If you actually downloaded, compiled and ran that version you'd be fine... and it would work.
It would just be the pre-compiled binaries people could handily download without compiling, those would have the malicious code.
The beauty of the plan is the people who actually downloaded and compiled the apps would vouch for the authenticity the app even as the versions most people used had malware.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Maybe you should reconsider your purchasing habits? Maybe even do a web search for device reviews of older devices from the same company before purchasing.
So again, data corrupted. Rowhammer seems counter productive at gaining access to data. If anything, it's just a nifty exploit to corrupt data and/or kernel panic the OS running on it. Essentially, sabotage.
Life is not for the lazy.
What does GPL have to do with it?
modern systems are still stuck with single-correction double-detection. I am not sure that is correct.
I am not sure either -- but decades ago it took 5 extra bits to guard 16 bits. As I understood it, the ECC was kept there, and on failure it morphed and used 4 bits to point to the incorrect bit and 1 bit to indicate action needed (ie, failure.)
This was only 1 vendor from decades ago, but that's what I remember the technical manual saying (back when they described things.) So I assume from that that it takes more bits to correct more bits; that they haven't improved the math behind the detection algorithm.
You can kinda notice the same thing in RAID5 and ZFS. You can add extra drives for more redundancy, but a single drive can't handle 2 unit failures -- I think the math requires more bits sacrificed to the Data Gods for better coverage, and there's nothing extra the bottom level can do with the bits it can use. (I know! Let's throw away all of those fat 0s and only keep the slim 1s -- that'll easily give us twice the space!)
If the universe is someone's simulation -- does that mean the stars are just stuck pixels?
You can't really improve the algorithm, you can only switch which patterns you correct, which you detect, and which you fail on. Provably optimal algorithms have been known basically since anyone cared.
However, modern memory is 64 bit, not 16 bit. That gives you 20 bit of ECC to play with, and it ought to be possible to do much better with that.
Finally! A year of moderation! Ready for 2019?
The article should be making the distinction.
It's only a DRAM problem because of DRAM's requirement for refreshing. Other RAM types don't have the constant discharge curve so won't be susceptible.
SRAM is the fastest. Buffers and caches are built of SRAM. MRAM is waiting in the wings to replace all DRAM and possibly some bulk SRAM in the larger caches too.
I'm guessing improved DRAM refresh logic can fix the issue though.
The AVR's are SRAM based. Bulk DRAM inside any uController is almost unheard of. https://it.slashdot.org/commen...