2004 · 58 citations · 20 references
ComputingComputer EngineeringComputer ScienceComputer SecurityMalware AnalysisSecurity ArchitectureBinary ExploitationIntrusion DetectionBackdoor TechniquesCode Integrity CheckingCode Integrity VerificationExecution MonitoringInstruction Cache BehaviorPerformance DegradationPerformance Degradation DetectionRuntime Integrity Verification
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.
20
Handbook of applied cryptography
Choice Reviews Online · 1997 · 10.5K citations · Full text
The SimpleScalar tool set, version 2.0
Doug Burger, Todd Austin · ACM SIGARCH Computer Architecture News · 1997 · 3.1K citations · Full text
David Moore, Vern Paxson, Stefan Savage et al. · IEEE Security & Privacy · 2003 · 979 citations
Intrusion detection: a brief history and overview
Richard A. Kemmerer, Giovanni Vigna · Computer · 2002 · 383 citations