Constructing malware normalizers using term rewriting |
| |
Authors: | Andrew Walenstein Rachit Mathur Mohamed R. Chouchane Arun Lakhotia |
| |
Affiliation: | (1) Center for Advanced Computer Studies, University of Louisiana at Lafayette, Lafayette, LA, USA |
| |
Abstract: | A malware mutation engine is able to transform a malicious program to create a different version of the program. Such mutation engines are used at distribution sites or in self-propagating malware in order to create variation in the distributed programs. Program normalization is a way to remove variety introduced by mutation engines, and can thus simplify the problem of detecting variant strains. This paper introduces the “normalizer construction problem” (NCP), and formalizes a restricted form of the problem called “NCP=”, which assumes a model of the engine is already known in the form of a term rewriting system. It is shown that even this restricted version of the problem is undecidable. A procedure is provided that can, in certain cases, automatically solve NCP= from the model of the engine. This procedure is analyzed in conjunction with term rewriting theory to create a list of distinct classes of normalizer construction problems. These classes yield a list of possible attack vectors. Three strategies are defined for approximate solutions of NCP=, and an analysis is provided of the risks they entail. A case study using the virus suggests the approximations may be effective in practice for countering mutated malware. R. Mathur is presently at McAfee AVERT Labs. |
| |
Keywords: | |
本文献已被 SpringerLink 等数据库收录! |
|