Encoding function pointers and memory arrangement checking against buffer overflow attack
- Authors
- Pyo, C; Lee, G
- Issue Date
- 2002
- Publisher
- SPRINGER-VERLAG BERLIN
- Keywords
- buffer overflow attack; program counter; function pointer encoding; memory arrangement checking
- Citation
- INFORMATION AND COMMUNICATIONS SECURITY, PROCEEDINGS, v.2513, pp.25 - 36
- Journal Title
- INFORMATION AND COMMUNICATIONS SECURITY, PROCEEDINGS
- Volume
- 2513
- Start Page
- 25
- End Page
- 36
- URI
- https://scholarworks.bwise.kr/hongik/handle/2020.sw.hongik/27158
- ISSN
- 0302-9743
- Abstract
- Program counter is the only mechanism for processor to access instruction to execute. Protecting program counter is the fundamental defense for securing computer system. This paper presents a scheme of protecting program counter by encoding function pointers. In the scheme, every function address is encoded by linker. Compiler inserts instructions for decoding function addresses before call instruction. Encoding code pointers, function addresses as well as return addresses in stack frame, provides substantial coverage of protecting program counter. Several suggestions are also made to detect compromised code pointers at run-time without memory space for sensor mechanism. A demo Linux system has been under construction with the proposed scheme. Experimental data shows performance slowdown less than 10% when all return addresses and function addresses are encoded. With a Pentium III processor of 866MHz, the overhead for each function call is on the order of nanoseconds. We plan to migrate parts of our code pointer encoding scheme from linker to dynamic linker, which should improve security and performance.
- Files in This Item
- There are no files associated with this item.
- Appears in
Collections - ETC > 1. Journal Articles
Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.