Buffer overflow(BOF) has been the most common form of vulnerability in software systems today, and many methods exist to defend
software systems against BOF attacks. Among them, the instruction set randomization scheme, which makes attacker not to know
the specific instruction set of the target machine, is the most promising defense scheme because it defends all typical code-injection
BOF attacks. However, this defense scheme can not cover data-injection BOF attacks like return-into-libc attacks. In order
to defend against the data-injection BOF attacks as well as the code-injection BOF attacks, we propose an enhanced defense
scheme randomizing not only the instruction sets but also the return addresses. Implementation results show that the proposed
scheme can defend software systems against data-injection BOF attacks as well as code-injection BOF attacks without significant
extra overheads.
Keywords Security - Buffer Overflow - Randomization - Instruction Set - Return Address - return-into-libc Attack - Data Injection Buffer Overflow Attack
This research was supported by the MIC(Ministry of Information and Communication), Korea, under the ITRC (Information Technology
Research Center) support program supervised by the IITA (Institue of Information Technology Assessment)(IITA-2005-C1090-0501-0018).