TY - GEN
T1 - A semantics-based approach to malware detection
AU - Preda, Mila Dalla
AU - Christodorescu, Mihai
AU - Jha, Somesh
AU - Debray, Saumya
PY - 2007
Y1 - 2007
N2 - Malware detection is a crucial aspect of software security. Current malware detectors work by checking for "signatures," which attempt to capture (syntactic) characteristics of the machine-level byte sequence of the malware. This reliance on a syntactic approach makes such detectors vulnerable to code obfuscations, increasingly used by malware writers, that alter syntactic properties of the malware byte sequence without significantly affecting their execution behavior.This paper takes the position that the key to malware identification lies in their semantics. It proposes a semantics-based framework for reasoning about malware detectors and proving properties such as soundness and completeness of these detectors. Our approach uses a trace semantics to characterize the behaviors of malware as well as the program being checked for infection, and uses abstract interpretation to "hide" irrelevant aspects of these behaviors. As a concrete application of our approach, we show that the semantics-aware malware detector proposed by Christodorescu et al. is complete with respect to a number of common obfuscations used by malware writers.
AB - Malware detection is a crucial aspect of software security. Current malware detectors work by checking for "signatures," which attempt to capture (syntactic) characteristics of the machine-level byte sequence of the malware. This reliance on a syntactic approach makes such detectors vulnerable to code obfuscations, increasingly used by malware writers, that alter syntactic properties of the malware byte sequence without significantly affecting their execution behavior.This paper takes the position that the key to malware identification lies in their semantics. It proposes a semantics-based framework for reasoning about malware detectors and proving properties such as soundness and completeness of these detectors. Our approach uses a trace semantics to characterize the behaviors of malware as well as the program being checked for infection, and uses abstract interpretation to "hide" irrelevant aspects of these behaviors. As a concrete application of our approach, we show that the semantics-aware malware detector proposed by Christodorescu et al. is complete with respect to a number of common obfuscations used by malware writers.
KW - Abstract interpretation
KW - Malware detection
KW - Obfuscation
KW - Trace semantics
UR - http://www.scopus.com/inward/record.url?scp=34548223126&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34548223126&partnerID=8YFLogxK
U2 - 10.1145/1190216.1190270
DO - 10.1145/1190216.1190270
M3 - Conference contribution
AN - SCOPUS:34548223126
SN - 1595935754
SN - 9781595935755
T3 - Conference Record of the Annual ACM Symposium on Principles of Programming Languages
SP - 377
EP - 388
BT - Conference Record of POPL 2007
T2 - 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Y2 - 17 January 2007 through 19 January 2007
ER -