References:
A novel use of ECC memory technology
to detect first access to a user-directed memory region
–> can be used to detect memory leaks and memory corruption.
7 bits to protect 32 bits, or 8 bits to protect 64 bits [c18]
Four modes:
Error Handling:
ECC-error interrupt, Linux/Windows -> panic/blue screen –> reboot
Advantages of using ECC:
Challenges of using ECC:
Memory Corruption: damages memory content through buffer overflow, incorrect pointer arithmetic, or other types of program errors.
Memory Leak: allocated memory is never accessed again.
New Linux System Calls:
Monitoring: the first access of the monitored region –> ECC handler
For memory leakage: todo…
For Memory Corruption Detection: padding two ends of a buffer.
Cache-Line size is still a large granularity.
Word granularity as in Mondrian Memory Protection (MMP) [c31]
[c31]: E. Witchel, J. Cates, and K. Asanovi´c. Mondrian memory protection. In Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 304–316, Oct 2002.
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?