skip to main content
10.1145/3019612.3019791acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Hiding debuggers from malware with apate

Published:03 April 2017Publication History

ABSTRACT

Malware analysis uses debuggers to understand and manipulate the behaviors of stripped binaries. To circumvent analysis, malware applies a variety of anti-debugging techniques, such as self-modifying, checking for or removing breakpoints, hijacking keyboard and mouse events, escaping the debugger, etc. Most state-of-the-art debuggers are vulnerable to these anti-debugging techniques.

In this paper, we first systematically analyze the spectrum of possible anti-debugging techniques and compile a list of 79 attack vectors. We then propose a framework, called Apate, which detects and defeats each of these attack vectors, by performing: (1) just-in-time disassembling based on single-stepping, (2) careful monitoring of the debuggee's execution and, when needed, modification of the debuggee's states to hide the debugger's presence. We implement Apate as an extension to WinDbg and extensively evaluate it using five different datasets, with known and new malware samples. Apate outperforms other debugger-hiding technologies by a wide margin, addressing 58+--465+ more attack vectors.

References

  1. aadp. Anti-Anti-Debugger Plugins. https://code.google.eom/p/aadp/.Google ScholarGoogle Scholar
  2. W. API. Windows API Index. https://msdn.microsoft.com/en-us/library/windows/desktop/ff818516+28v=vs.85+29.aspx.Google ScholarGoogle Scholar
  3. R. Bajcsy, T. Benzel, Bishop, et al. Cyber Defense Technology Networking and Evaluation. Commun. ACM, 47(3), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. R. Branco, G. N. Barbosa, and P. D. Neto. Scientific but Not Academical Overview of Malware Anti-Debugging, Anti-Disassembly and Anti-VM Technologies. In Black Hat, 2012.Google ScholarGoogle Scholar
  5. X. Chen, J. Andersen, Z. Mao, et al. Towards an Understanding of Anti-virtualization and Anti-debugging Behavior in Modern Malware. In DSN, 2008.Google ScholarGoogle Scholar
  6. I. Debugger. Immunity Debugger. http://debugger.immunityinc.com/.Google ScholarGoogle Scholar
  7. A. Dinaburg, P. Royal, et al. Ether: Malware Analysis via Hardware virtualization Extensions. In CCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Ferrie. The "Ultimate" Anti-Debugging Reference. http://pferrie.host22.com/.Google ScholarGoogle Scholar
  9. I. T. Georgia. Open Malware. http://oc.gtisc.gatech.edu/.Google ScholarGoogle Scholar
  10. Hex-Rays. IDA: multi-processor disassembler and debugger, https://www.hex-rays.com/products/ida/.Google ScholarGoogle Scholar
  11. Intel. Intel 64 and IA-32 Architectures Software DeveloperâĂŹs Manuals, http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html.Google ScholarGoogle Scholar
  12. D. Kirat and G. Vigna. MalGene: Automatic Extraction of Malware Analysis Evasion Signature. In CCS, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Lindorfer, C. Kolbitsch, and P. Milani Comparetti. Detecting Environment-Sensitive Malware. In RAID, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Microsoft. Microsoft PE and COFF Specification. https://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx.Google ScholarGoogle Scholar
  15. J. Newger. IDAStealth Plugin. http://newgre.net/idastealth.Google ScholarGoogle Scholar
  16. G. Pék, B. Bencsáth, and L. Buttyán. nEther: In-guest Detection of Out-of-the-guest Malware Analyzers. In EuroSec, 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. Peng, Z. Deng, X. Zhang, D. Xu, Z. Lin, and Z. Su. X-Force: Force-Executing Binary Programs for Security Applications. In USENIX Security, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. F. Rce. OllyExt. https://forum.tuts4you.com/files/file/715-ollyext/.Google ScholarGoogle Scholar
  19. ScyllaHide. ScyllaHide. https://bitbucket.org/NtQuery/scyllahide.Google ScholarGoogle Scholar
  20. M. Sikorski and A. Honig. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software. No Starch Press, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. V. Total. VirusTotal. https://www.virustotal.com/en/.Google ScholarGoogle Scholar
  22. J. Tully. An Anti-Reverse Engineering Guide. http://www.codeproject.com/Articles/30815/An-Anti-Reverse-Engineering-Guide/.Google ScholarGoogle Scholar
  23. A. Vasudevan and R. Yerraballi. Cobra: fine-grained Malware Analysis using Stealth Localized-executions. In Security and Privacy, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. Werner. Waledac's Anti-Debugging Tricks. http://www.honeynet.org/node/550, 2010.Google ScholarGoogle Scholar
  25. W. Windows. WinDbg. https://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx.Google ScholarGoogle Scholar
  26. O. Yuschuk. OllyDbg. http://www.ollydbg.de.Google ScholarGoogle Scholar
  27. F. Zhang, K. Leach, A. Stavrou, H. Wang, and K. Sun. Using Hardware Features for Increased Debugging Transparency. In Security and Privacy, May 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Hiding debuggers from malware with apate

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        SAC '17: Proceedings of the Symposium on Applied Computing
        April 2017
        2004 pages
        ISBN:9781450344869
        DOI:10.1145/3019612

        Copyright © 2017 ACM

        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 the author(s) 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].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 3 April 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate1,650of6,669submissions,25%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader