Issue No. 04 - October-December (2010 vol. 7)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TDSC.2008.74
Johannes Kinder , Technische Universität Darmstadt, Darmstadt
Stefan Katzenbeisser , Technische Universität Darmstadt, Darmstadt
Christian Schallhart , Technische Universität München, Garching
Helmut Veith , Technische Universität Darmstadt, Darmstadt
Although recent estimates are speaking of 200,000 different viruses, worms, and Trojan horses, the majority of them are variants of previously existing malware. As these variants mostly differ in their binary representation rather than their functionality, they can be recognized by analyzing the program behavior, even though they are not covered by the signature databases of current antivirus tools. Proactive malware detectors mitigate this risk by detection procedures that use a single signature to detect whole classes of functionally related malware without signature updates. It is evident that the quality of proactive detection procedures depends on their ability to analyze the semantics of the binary. In this paper, we propose the use of model checking—a well-established software verification technique—for proactive malware detection. We describe a tool that extracts an annotated control flow graph from the binary and automatically verifies it against a formal malware specification. To this end, we introduce the new specification language CTPL, which balances the high expressive power needed for malware signatures with efficient model checking algorithms. Our experiments demonstrate that our technique indeed is able to recognize variants of existing malware with a low risk of false positives.
Invasive software, model checking.
C. Schallhart, J. Kinder, S. Katzenbeisser and H. Veith, "Proactive Detection of Computer Worms Using Model Checking," in IEEE Transactions on Dependable and Secure Computing, vol. 7, no. , pp. 424-438, 2008.