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 条
  • [1] Pushdown model checking for malware detection
    Fu Song
    Tayssir Touili
    International Journal on Software Tools for Technology Transfer, 2014, 16 : 147 - 173
  • [2] CARET Model Checking for Malware Detection
    Huu-Vu Nguyen
    Touili, Tayssir
    SPIN'17: PROCEEDINGS OF THE 24TH ACM SIGSOFT INTERNATIONAL SPIN SYMPOSIUM ON MODEL CHECKING OF SOFTWARE, 2017, : 152 - 161
  • [3] Model checking dynamic pushdown networks
    Song, Fu
    Touili, Tayssir
    FORMAL ASPECTS OF COMPUTING, 2015, 27 (02) : 397 - 421
  • [4] Efficient Parallel CTL Model-Checking for Pushdown Systems
    Chen, Xinyu
    Wei, Hansheng
    Ye, Xin
    Hao, Li
    Huang, Yanhong
    Shi, Jianqi
    2018 IEEE INT CONF ON PARALLEL & DISTRIBUTED PROCESSING WITH APPLICATIONS, UBIQUITOUS COMPUTING & COMMUNICATIONS, BIG DATA & CLOUD COMPUTING, SOCIAL COMPUTING & NETWORKING, SUSTAINABLE COMPUTING & COMMUNICATIONS, 2018, : 23 - 30
  • [5] Efficient CTL model-checking for pushdown systems
    Song, Fu
    Touili, Tayssir
    THEORETICAL COMPUTER SCIENCE, 2014, 549 : 127 - 145
  • [6] Pushdown module checking
    Bozzelli, Laura
    Murano, Aniello
    Peron, Adriano
    FORMAL METHODS IN SYSTEM DESIGN, 2010, 36 (01) : 65 - 95
  • [7] Complexity results on branching-time pushdown model checking
    Bozzelli, Laura
    THEORETICAL COMPUTER SCIENCE, 2007, 379 (1-2) : 286 - 297
  • [8] The Complexity of Model Checking (Collapsible) Higher-Order Pushdown Systems
    Hague, Matthew
    To, Anthony Widjaja
    IARCS ANNUAL CONFERENCE ON FOUNDATIONS OF SOFTWARE TECHNOLOGY AND THEORETICAL COMPUTER SCIENCE (FSTTCS 2010), 2010, 8 : 228 - 239
  • [9] Parallel computational tree logic model-checking on pushdown systems
    Ye, Xin
    Shi, Jianqi
    Huang, Yanhong
    Li, Qin
    Wei, Hansheng
    Chen, Xinyu
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2022, 34 (23)
  • [10] Pushdown module checking
    Laura Bozzelli
    Aniello Murano
    Adriano Peron
    Formal Methods in System Design, 2010, 36 : 65 - 95