Learning metamorphic malware signatures from samples

被引:5
作者
Campion, Marco [1 ]
Dalla Preda, Mila [1 ]
Giacobazzi, Roberto [1 ]
机构
[1] Univ Verona, Verona, Italy
关键词
Metamorphic malware; Malware signature; Widening automata; Pure context-free grammars; Learning grammars;
D O I
10.1007/s11416-021-00377-z
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Metamorphic malware are self-modifying programs which apply semantic preserving transformations to their own code in order to foil detection systems based on signature matching. Metamorphism impacts both software security and code protection technologies: it is used by malware writers to evade detection systems based on pattern matching and by software developers for preventing malicious host attacks through software diversification. In this paper, we consider the problem of automatically extracting metamorphic signatures from the analysis of metamorphic malware variants. We define a metamorphic signature as an abstract program representation that ideally captures all the possible code variants that might be generated during the execution of a metamorphic program. For this purpose, we developed MetaSign: a tool that takes as input a collection of metamorphic code variants and produces, as output, a set of transformation rules that could have been used to generate the considered metamorphic variants. MetaSign starts from a control flow graph representation of the input variants and agglomerates them into an automaton which approximates the considered code variants. The upper approximation process is based on the concept of widening automata, while the semantic preserving transformation rules, used by the metamorphic program, can be viewed as rewriting rules and modeled as grammar productions. In this setting, the grammar recognizes the language of code variants, while the production rules model the metamorphic transformations. In particular, we formalize the language of code variants in terms of pure context-free grammars, which are similar to context-free grammars with no terminal symbols. After the widening process, we create a positive set of samples from which we extract the productions of the grammar by applying a learning grammar technique. This allows us to learn the transformation rules used by the metamorphic engine to generate the considered code variants. We validate the results of MetaSign on some case studies.
引用
收藏
页码:167 / 183
页数:17
相关论文
共 32 条
  • [1] INDEXED GRAMMARS - AN EXTENSION OF CONTEXT-FREE GRAMMARS
    AHO, AV
    [J]. JOURNAL OF THE ACM, 1968, 15 (04) : 647 - &
  • [2] Aycock J, 2006, COMPUTER VIRUSES MAL, V22
  • [3] Structural entropy and metamorphic malware
    Baysa, Donabelle
    Low, Richard M.
    Stamp, Mark
    [J]. JOURNAL OF COMPUTER VIROLOGY AND HACKING TECHNIQUES, 2013, 9 (04): : 179 - 192
  • [4] Beaucamps, 2007, ADV METAMORPHIC TECH
  • [5] Code normalization for self-mutating malware
    Bruschi, Danilo
    Martignoni, Lorenzo
    Monga, Mattia
    [J]. IEEE SECURITY & PRIVACY, 2007, 5 (02) : 46 - 54
  • [6] IT IS DECIDABLE WHETHER A REGULAR LANGUAGE IS PURE CONTEXT-FREE
    BUCHER, W
    HAGAUER, J
    [J]. THEORETICAL COMPUTER SCIENCE, 1983, 26 (1-2) : 233 - 241
  • [7] Campion M., INT STAT AN S, P121
  • [8] Static analysis for the detection of metamorphic computer viruses using repeated-instructions counting heuristics
    Canfora, Gerardo
    Iannaccone, Antonio Niccolo
    Visaggio, Corrado Aaron
    [J]. JOURNAL OF COMPUTER VIROLOGY AND HACKING TECHNIQUES, 2014, 10 (01): : 11 - 27
  • [9] Semantics-aware malware detection
    Christodorescu, M
    Jha, S
    Seshia, SA
    Song, D
    Bryant, RE
    [J]. 2005 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2005, : 32 - 46
  • [10] Christodorescu Mihai., 2006, Static analysis of executables to detect malicious patterns