Title :
Runtime execution monitoring (REM) to detect and prevent malicious code execution
Author :
Fiskiran, A. Murat ; Lee, Ruby B.
Author_Institution :
Dept. of Electr. Eng., Princeton Univ., NJ, USA
Abstract :
Many computer security threats involve execution of unauthorized foreign code on the victim computer. Viruses, network and email worms, Trojan horses, backdoor programs used in denial of service attacks are a few examples. In this paper, we present an architectural technique, which we call runtime execution monitoring (REM), to detect program flow anomalies associated with such malicious code. The key idea in REM is the verification of program code at the hash block (similar to a basic block) level. This is achieved by pre-computing keyed hashes (HMACs) for each hash block during program installation, and then verifying these values during program execution. By verifying program code integrity at the hash block level, REM can monitor instructions whose behavior is typically exploited by malicious code, such as branch, call, return instructions. Performance degradation with REM averages 6.4% on our benchmark programs, which can be reduced to under 5% by increasing the size of the L1 instruction cache.
Keywords :
cache storage; file organisation; memory architecture; message authentication; program verification; computer security; instruction cache memory; keyed message authentication code; malicious code execution; program code verification; program flow anomalies; runtime execution monitoring; unauthorized foreign code; victim computer; Computer architecture; Computer crime; Computer security; Computer viruses; Computer worms; Computerized monitoring; Cryptography; Degradation; Invasive software; Runtime;
Conference_Titel :
Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings. IEEE International Conference on
Print_ISBN :
0-7695-2231-9
DOI :
10.1109/ICCD.2004.1347961