Issue No. 04 - October-December (2006 vol. 3)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TDSC.2006.56
Krerk Piromsopa , Department of Computer Science and Engineering, Michigan State University, 3115 Engineering Building, East Lansing, MI 48824-1226
Richard J. Enbody , Department of Computer Science and Engineering, Michigan State University, 3115 Engineering Building, East Lansing, MI 48824-1226
We propose a minimalist, architectural approach, Secure Bit (patent pending), to protect against buffer overflow attacks on control data (return-address and function-pointer attacks in particular). Secure Bit provides a hardware bit to protect the integrity of addresses for the purpose of preventing such buffer-overflow attacks. Secure Bit is transparent to user software: it provides backward compatibility with legacy user code. It can detect and prevent all address-corrupting buffer-overflow attacks with little runtime performance penalty. Addresses passed in buffers between processes are marked insecure, and control instructions using those addresses as targets will raise an exception. An important differentiating aspect of our protocol is that, once an address has been marked as insecure, there is no instruction to remark it as secure. Robustness and transparency are demonstrated by emulating the hardware, booting Linux on the emulator, running application software on that Linux, and performing known attacks
Hardware, Protection, Kernel, Protocols, Buffer overflow, Linux, Costs, Runtime, Robustness, Application software
K. Piromsopa and R. J. Enbody, "Secure Bit: Transparent, Hardware Buffer-Overflow Protection," in IEEE Transactions on Dependable and Secure Computing, vol. 3, no. 4, pp. 365-376, 2007.