Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3433210.3457894acmconferencesArticle/Chapter ViewAbstractPublication Pagesasia-ccsConference Proceedingsconference-collections
research-article
Public Access

Identifying Behavior Dispatchers for Malware Analysis

Published: 04 June 2021 Publication History

Abstract

Malware is a major threat to modern computer systems. Malicious behaviors are hidden by a variety of techniques: code obfuscation, message encoding and encryption, etc. Countermeasures have been developed to thwart these techniques in order to expose malicious behaviors. However, these countermeasures rely heavily on identifying specific API calls, which has significant limitations as these calls can be misleading or hidden from the analyst. In this paper, we show that malicious programs share a key component which we call a behavior dispatcher, a code structure which is intercepted between various condition checks and malicious actions. By identifying these behavior dispatchers, a malware analysis can be guided into behavior dispatchers and activate hidden malicious actions more easily. We propose BDHunter, a system that automatically identifies behavior dispatchers to assist triggering malicious behaviors. BDHunter takes advantage of the observation that a dispatcher compares an input with a set of expected values to determine which malicious behaviors to execute next. We evaluate BDHunter on recent malware samples to identify behavior dispatchers and show that these dispatchers can help trigger more malicious behaviors (otherwise hidden). Our experimental results show that BDHunter identifies 77.4% of dispatchers within the top 20 candidates discovered. Furthermore, BDHunter-guided concolic execution successfully triggers 13.0x and 2.6x more malicious behaviors, compared to unguided symbolic and concolic execution, respectively. These demonstrate that BDHunter effectively identifies behavior dispatchers, which are useful for exposing malicious behaviors.

Supplementary Material

MP4 File (ASIA-CCS21-fp294.mp4)
Malicious behaviors are hidden by a variety of techniques: code obfuscation, message encoding and encryption, etc. In this paper, we show that malicious programs share a key component which we call a behavior dispatcher, a code structure which is intercepted between various condition checks and malicious actions. By identifying these behavior dispatchers, a malware analysis can be guided into behavior dispatchers and activate hidden malicious actions more easily. We propose BDHunter, a system that automatically identifies behavior dispatchers to assist triggering malicious behaviors. BDHunter takes advantage of the observation that a dispatcher compares an input with a set of expected values to determine which malicious behaviors to execute next. We evaluate BDHunter on recent malware samples to identify behavior dispatchers and show that these dispatchers can help trigger more malicious behaviors (otherwise hidden).

References

[1]
Dennis Andriesse, Xi Chen, Victor Van Der Veen, Asia Slowinska, and Herbert Bos. 2016. An in-depth analysis of disassembly on full-scale x86/x64 binaries. In 25th USENIX Security Symposium USENIX Security 16. 583--600.
[2]
Dennis Andriesse, Asia Slowinska, and Herbert Bos. 2017. Compiler-agnostic function detection in binaries. In 2017 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 177--189.
[3]
AV-TEST - The Independent IT-Security Institute. 2020. Statistic Malware samples in 2020. https://www.av-test.org/en/statistics/malware/.
[4]
Domagoj Babi?, Lorenzo Martignoni, Stephen McCamant, and Dawn Song. 2011. Statically-directed Dynamic Automated Test Generation. In Proceedings of the 2011 International Symposium on Software Testing and Analysis. ACM, 12--22.
[5]
Roberto Baldoni, Emilio Coppa, Daniele Cono D'elia, Camil Demetrescu, and Irene Finocchi. 2018. A Survey of Symbolic Execution Techniques. Journal ACM Computing Surveys (CSUR) Surveys Homepage archive 51, 50 (2018).
[6]
Sebastian Banescu, Christian Collberg, Vijay Ganesh, Zack Newsham, and Alexander Pretschner. 2016. Code obfuscation against symbolic execution attacks. In Proceedings of the 32nd Annual Conference on Computer Security Applications. 189--200.
[7]
Sebastian Banescu, Martín Ochoa, and Alexander Pretschner. 2015. A framework for measuring software obfuscation resilience against automated attacks. In 2015 IEEE/ACM 1st International Workshop on Software Protection. IEEE, 45--51.
[8]
Marcel Böhme, Van-Thuan Pham, Manh-Dung Nguyen, and Abhik Roychoudhury. 2017. Directed greybox fuzzing. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2329--2344.
[9]
Rodrigo Rubira Branco, Gabriel Negreira Barbosa, and Pedro Drimel Neto. 2012. Scientific but Not Academical Overview of Malware Anti-Debugging, Anti-Disassembly and Anti-VM Technologies. In Black Hat USA Briefings (Black Hat USA). Las Vegas, NV.
[10]
Derek L. Bruening. 2004. Efficient, Transparent, and Comprehensive Runtime Code Manipulation. Ph.D. Dissertation. Cambridge, MA, USA. AAI0807735.
[11]
David Brumley, Cody Hartwig, Zhenkai Liang, James Newsome, Dawn Song, and Heng Yin. 2008. Automatically Identifying Trigger-based Behavior in Malware. In Botnet Detection. Springer, 65--88.
[12]
Juan Caballero, Pongsin Poosankam, Stephen McCamant, Domagoj Babi?, and Dawn Song. 2010. Input generation via decomposition and re-stitching: Finding bugs in malware. In Proceedings of the 17th ACM conference on Computer and communications security. 413--425.
[13]
Binlin Cheng, Jiang Ming, Jianmin Fu, Guojun Peng, Ting Chen, Xiaosong Zhang, and Jean-Yves Marion. 2018. Towards paving the way for large-scale windows malware analysis: Generic binary unpacking with orders-of-magnitude performance boost. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. 395--411.
[14]
Vitaly Chipounov, Volodymyr Kuznetsov, and George Candea. 2011. S2E: A platform for in-vivo multi-path analysis of software systems. Acm Sigplan Notices 46, 3, 265--278.
[15]
Paolo Milani Comparetti, Guido Salvaneschi, Eggngin Kirda, Clemens Kolbitsch, Christopher Kruegel, and Stefano Zanero. 2010. Identifying Dormant Functionality in Malware Programs. In 2010 IEEE Symposium on Security and Privacy.
[16]
Artem Dinaburg, Paul Royal, Monirul Sharif, and Wenke Lee. 2008. Ether: malware analysis via hardware virtualization extensions. In Proceedings of the 15th ACM conference on Computer and communications security. 51--62.
[17]
FalconSandbox. 2020. Hybrid-Analysis. https://www.hybrid-analysis.com/.
[18]
Nicolas Falliere and Eric Chien. 2019. Zeus: King of the Bots. https://www.symantec.com/content/dam/symantec/docs/security-center/whitepapers/ security-response-zeus-king-of-bots-09-en.pdf.
[19]
Hex-Rays. 2020. IDA F.L.I.R.T. https://www.hex-rays.com/products/ida/tech/flirt/in_depth.shtml.
[20]
Jinho Jung, Hong Hu, David Solodukhin, Daniel Pagan, Kyu Hyung Lee, and Taesoo Kim. 2019. Fuzzification: Anti-fuzzing techniques. In 28th USENIX Security Symposium USENIX Security 19. 1913--1930.
[21]
Pascal Junod, Julien Rinaldini, JohanWehrli, and Julie Michielin. 2015. Obfuscator- LLVM--software protection for the masses. In 2015 IEEE/ACM 1st International Workshop on Software Protection. IEEE, 3--9.
[22]
Jacob Kastrenakes. 2019. Agent Smith Malware Has Replaced Android Apps' Code on 25 Million Devices. https://www.theverge.com/2019/7/10/20688885/agentsmith-android-malware-25-million-infections.
[23]
Dhilung Kirat and Giovanni Vigna. 2015. Malgene: Automatic extraction of malware analysis evasion signature. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. 769--780.
[24]
Clemens Kolbitsch, Engin Kirda, and Christopher Kruegel. 2011. The power of procrastination: detection and mitigation of execution-stalling malicious code. In Proceedings of the 18th ACM conference on Computer and communications security. 285--296.
[25]
Eugene Kolodenker, William Koch, Gianluca Stringhini, and Manuel Egele. 2017. Paybreak: Defense against cryptographic ransomware. In Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security. 599--611.
[26]
LordNoteworty. 2020. Al-Khaser. https://github.com/LordNoteworthy/al-khaser.
[27]
Masrepus vfsrfs garanews. 2020. Unpacking PE files using Unicorn Engine. https://github.com/unipacker/unipacker.
[28]
Andreas Moser, Christopher Kruegel, and Engin Kirda. 2007. Exploring multiple execution paths for malware analysis. In 2007 IEEE Symposium on Security and Privacy. IEEE, 231--245.
[29]
Yuval Nativ. 2021. theZoo. https://thezoo.morirt.com/.
[30]
Mathilde Ollivier, Sébastien Bardin, Richard Bonichon, and Jean-Yves Marion. 2019. How to kill symbolic deobfuscation for free (or: unleashing the potential of path-oriented protections). In Proceedings of the 35th Annual Computer Security Applications Conference. 177--189.
[31]
Fei Peng, Zhui Deng, Xiangyu Zhang, Dongyan Xu, Zhiqiang Lin, and Zhendong Su. 2014. X-force: Force-executing binary programs for security applications. In 23rd USENIX Security Symposium USENIX Security 14. 829--844.
[32]
Edward J Schwartz, Thanassis Avgerinos, and David Brumley. 2010. All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask). In 2010 IEEE symposium on Security and privacy. IEEE, 317--331.
[33]
Marcos Sebastián, Richard Rivera, Platon Kotzias, and Juan Caballero. 2016. Avclass: A tool for massive malware labeling. In International symposium on research in attacks, intrusions, and defenses. Springer, 230--253.
[34]
Monirul I Sharif, Andrea Lanzi, Jonathon T Giffin, andWenke Lee. 2008. Impeding Malware Analysis Using Conditional Code Obfuscation. In NDSS. Citeseer.
[35]
Yan Shoshitaishvili, Ruoyu Wang, Christophe Hauser, Christopher Kruegel, and Giovanni Vigna. 2015. Firmalice-Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware.
[36]
Yan Shoshitaishvili, RuoyuWang, Christopher Salls, Nick Stephens, Mario Polino, Andrew Dutcher, John Grosen, Siji Feng, Christophe Hauser, Christopher Kruegel, et al. 2016. Sok:(state of) the art of war: Offensive techniques in binary analysis. In 2016 IEEE Symposium on Security and Privacy (SP). IEEE, 138--157.
[37]
The Linux Foundation. 2020. gRPC. https://grpc.io/about/.
[38]
Xabier Ugarte-Pedrero, Davide Balzarotti, Igor Santos, and Pablo G Bringas. 2015. SoK: Deep packer inspection: A longitudinal study of the complexity of run-time packers. In 2015 IEEE Symposium on Security and Privacy. IEEE, 659--673.
[39]
Vector35. 2020. BinaryNinja Intermediate Language. https://docs.binary.ninja/dev/bnil-llil.html.
[40]
VirusTotal. 2021. VirusTotal. https://virustotal.com/.
[41]
Wine. 2020. Wine API to Forward Windows API. https://source.winehq.org/WineAPI/.
[42]
Dongpeng Xu, Jiang Ming, and Dinghao Wu. 2017. Cryptographic function detection in obfuscated binaries via bit-precise symbolic loop mapping. In 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 921--937.
[43]
Fratantonio Yanick, Bianchi Antonio, Robertson William, Kirda Engin, Kruegel Christopher, and Vigna Giovanni. 2016. TriggerScope: Towards detecting logic bombs in android applications. In 2016 IEEE symposium on security and privacy (SP). IEEE, 377--396.
[44]
Michal Zalewski. 2019. American Fuzzy Lop (2.52b). http://lcamtuf.coredump.cx/afl.

Cited By

View all
  • (2024)What do malware analysts want from academia? A survey on the state-of-the-practice to guide research developmentsProceedings of the 27th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3678890.3678892(77-96)Online publication date: 30-Sep-2024
  • (2023)Multi-path exploration guided by taint and probability against evasive malwareSecurity and Safety10.1051/sands/20230232(2023023)Online publication date: 5-Sep-2023
  • (2023)Computer-Aided Reverse Engineering of Protected SoftwareDigital Sovereignty in Cyber Security: New Challenges in Future Vision10.1007/978-3-031-36096-1_1(3-15)Online publication date: 16-Jun-2023

Index Terms

  1. Identifying Behavior Dispatchers for Malware Analysis

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ASIA CCS '21: Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security
    May 2021
    975 pages
    ISBN:9781450382878
    DOI:10.1145/3433210
    • General Chairs:
    • Jiannong Cao,
    • Man Ho Au,
    • Program Chairs:
    • Zhiqiang Lin,
    • Moti Yung
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 04 June 2021

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. identification of behavior dispatcher
    2. malware analysis
    3. program analysis
    4. trigger-based malicious behaviors

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ASIA CCS '21
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 418 of 2,322 submissions, 18%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)142
    • Downloads (Last 6 weeks)17
    Reflects downloads up to 03 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)What do malware analysts want from academia? A survey on the state-of-the-practice to guide research developmentsProceedings of the 27th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3678890.3678892(77-96)Online publication date: 30-Sep-2024
    • (2023)Multi-path exploration guided by taint and probability against evasive malwareSecurity and Safety10.1051/sands/20230232(2023023)Online publication date: 5-Sep-2023
    • (2023)Computer-Aided Reverse Engineering of Protected SoftwareDigital Sovereignty in Cyber Security: New Challenges in Future Vision10.1007/978-3-031-36096-1_1(3-15)Online publication date: 16-Jun-2023

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media