Pushdown model checking for malware detection

被引:26
|
作者
Song, Fu [1 ]
Touili, Tayssir [2 ,3 ]
机构
[1] E China Normal Univ, Shanghai Key Lab Trustworthy Comp, Shanghai 200062, Peoples R China
[2] CNRS, Liafa, F-75205 Paris 13, France
[3] Univ Paris Diderot, F-75205 Paris 13, France
基金
中国国家自然科学基金;
关键词
Pushdown Systems; Model Checking; CTL; Malware Detection;
D O I
10.1007/s10009-013-0290-1
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The number of malware is growing extraordinarily fast. Therefore, it is important to have efficient malware detectors. Malware writers try to obfuscate their code by different techniques. Many well-known obfuscation techniques rely on operations on the stack such as inserting dead code by adding useless push and pop instructions, or hiding calls to the operating system, etc. Thus, it is important for malware detectors to be able to deal with the program's stack. In this study, we propose a new model-checking approach for malware detection that takes into account the behavior of the stack. Our approach consists in: (1) Modeling the program using a pushdown system (PDS). (2) Introducing a new logic, called stack computation tree predicate logic (SCTPL), to represent the malicious behavior. SCTPL can be seen as an extension of the branching-time temporal logic CTL with variables, quantifiers, and predicates over the stack. (3) Reducing the malware detection problem to the model-checking problem of PDSs against SCTPL formulas. We show how our new logic can be used to precisely express malicious behaviors that could not be specified by existing specification formalisms. We then consider the model checking problem of PDSs against SCTPL specifications. We reduce this problem to emptiness checking in Symbolic Alternating Buchi Pushdown Systems, and we provide an algorithm to solve this problem. We implemented our techniques in a tool and applied it to detect several viruses. Our results are encouraging.
引用
收藏
页码:147 / 173
页数:27
相关论文
共 50 条
  • [11] Reduction of Register Pushdown Systems with Freshness Property to Pushdown Systems in LTL Model Checking
    Takata, Yoshiaki
    Senda, Ryoma
    Seki, Hiroyuki
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2022, E105D (09) : 1620 - 1623
  • [12] Model Checking to Detect the Hummingbad Malware
    Martinelli, Fabio
    Mercaldo, Francesco
    Nardone, Vittoria
    Santone, Antonella
    Vaglini, Gigliola
    INTELLIGENT DISTRIBUTED COMPUTING XIII, 2020, 868 : 485 - 494
  • [13] Model checking probabilistic systems against pushdown specifications
    Dubslaff, Clemens
    Baier, Christel
    Berg, Manuela
    INFORMATION PROCESSING LETTERS, 2012, 112 (8-9) : 320 - 328
  • [14] Model checking of pushdown systems for projection temporal logic
    Zhao, Liang
    Wang, Xiaobing
    Duan, Zhenhua
    THEORETICAL COMPUTER SCIENCE, 2019, 774 : 82 - 94
  • [15] Model checking LTL with regular valuations for pushdown systems
    Esparza, J
    Kucera, A
    Schwoon, S
    INFORMATION AND COMPUTATION, 2003, 186 (02) : 355 - 376
  • [16] Bounded Model Checking of Hybrid Automata Pushdown System
    Zhang, Yu
    Dong, Yunwei
    Xie, Fei
    2014 14TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC 2014), 2014, : 190 - 195
  • [17] A malware detection method using satisfiability modulo theory model checking for the programmable logic controller system
    Xie, Yaobin
    Chang, Rui
    Jiang, Liehui
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2022, 34 (16)
  • [18] Model checking and machine learning techniques for HummingBad mobile malware detection and mitigation
    Martinelli, Fabio
    Mercaldo, Francesco
    Nardone, Vittoria
    Santone, Antonella
    Vaglini, Gigliola
    SIMULATION MODELLING PRACTICE AND THEORY, 2020, 105 (105)
  • [19] DroidFDR: Automatic Classification of Android Malware Using Model Checking
    Yang, Zhi
    Chao, Fan
    Chen, Xingyuan
    Jin, Shuyuan
    Sun, Lei
    Du, Xuehui
    ELECTRONICS, 2022, 11 (11)
  • [20] Global Model Checking of Ordered Multi-Pushdown Systems
    Atig, Mohamed Faouzi
    IARCS ANNUAL CONFERENCE ON FOUNDATIONS OF SOFTWARE TECHNOLOGY AND THEORETICAL COMPUTER SCIENCE (FSTTCS 2010), 2010, 8 : 216 - 227