5 ms·
In brief, the authors show that ECC is also affected, not just non-ECC RAM.
by carbocation 8y ago
In brief, the authors show that ECC is also affected, not just non-ECC RAM.
- crankylinuxuser 8y agoCan a software defense mechanism be implemented; say a checkbit per 7 bits that emulate ecc? Sure, that would reduce the total ram by 1/8 ... But that would be a design choice to implement. Is ECC ram only 12.5% more expensive than non-ECC? If its higher, it may indeed be more advantageous to use non-ECC -if- a software compensation can be implemented.
- FartyMcFarter 8y agoA general software defense mechanism would probably have to either intercept all memory accesses or insert code after each memory access. In either case, extra memory accesses would be needed since checksums need to be loaded from memory. This would also make cache misses more frequent, since checksum data would evict non-checksum data from cache constantly. This would have a huge performance impact - most software contains a LOT of memory accesses. However, it might be feasible to mitigate this in specific cases by having custom code in software that needs to be secure.
- dboreham 8y agoDatabases often do this already (I'm more familiar with databases but I suspect filesystems probably do too). The original motivation was to provide some defense against bug reports along the lines of "your database ate my data", that turned out to be due to 3rd party code inside the same process crapping on memory, hardware errors etc. These checksums are typically done on blocks of payload data of course, not all memory content.
- blattimwind 8y ago> I suspect filesystems probably do too Most don't :)
- rocqua 8y agoECC single bit errors are reported to the host OS (or can at least be querried). Simply counting those and alerting if they reach a high-enough rate would be a pretty decent mitigation.
- ge0rg 8y agoWhat measures can you take upon receiving such an alert? Shutdown the server? The reporting doesn't include the task / user causing the error, so you don't get anything actionable.
- extrapickles 8y agoYou can place more invasive checks to figure out which process is responsible if you know you are being attacked. Or you can switch your system to a more high assurance mode from a performance mode (eg: refresh memory more often).
- Dylan16807 8y agoBut only on a system that's willing to completely ignore an enormous amount of single bit errors.