skip to main content
10.1145/1653662.1653730acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

Robust signatures for kernel data structures

Published:09 November 2009Publication History

ABSTRACT

Kernel-mode rootkits hide objects such as processes and threads using a technique known as Direct Kernel Object Manipulation (DKOM). Many forensic analysis tools attempt to detect these hidden objects by scanning kernel memory with handmade signatures; however, such signatures are brittle and rely on non-essential features of these data structures, making them easy to evade. In this paper, we present an automated mechanism for generating signatures for kernel data structures and show that these signatures are robust: attempts to evade the signature by modifying the structure contents will cause the OS to consider the object invalid. Using dynamic analysis, we profile the target data structure to determine commonly used fields, and we then fuzz those fields to determine which are essential to the correct operation of the OS. These fields form the basis of a signature for the data structure. In our experiments, our new signature matched the accuracy of existing scanners for traditional malware and found processes hidden with our prototype rootkit that all current signatures missed. Our techniques significantly increase the difficulty of hiding objects from signature scanning.

References

  1. 90210. Bypassing Klister 0.4 with no hooks or running a controlled thread scheduler. https://www.rootkit.com/newsread.php?newsid=235.Google ScholarGoogle Scholar
  2. A. Baliga, V. Ganapathy, and L. Iftode. Automatic inference and enforcement of kernel data structure invariants. In Proceedings of the 24th Annual Computer Security Applications Conference (ACSAC), Anaheim, California, USA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In Proceedings of the 19th ACM Symposium on Operating systems principles (SOSP), Bolton Landing, NY, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. E. Bell and L. J. LaPadula. Secure computer systems: Mathematical foundations. Technical Report MTR-2547, MITRE Corp., Bedford, MA, 1973.Google ScholarGoogle Scholar
  5. C. Betz. MemParser. http://sourceforge.net/projects/memparser.Google ScholarGoogle Scholar
  6. bugcheck. GREPEXEC: Grepping executive objects from pool memory. Uninformed Journal, 4, 2006.Google ScholarGoogle Scholar
  7. J. Butler. FU rootkit. http://www.rootkit.com/project.php?id=12.Google ScholarGoogle Scholar
  8. T. M. Chilimbi, B. Davidson, and J. R. Larus. Cache-conscious structure definition. In Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation (PLDI), Atlanta, GA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Christodorescu and S. Jha. Testing malware detectors. In Proceedings of the 2004 ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), Boston, MA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Cozzie, F. Stratton, H. Xue, and S. T. King. Digging for data structures. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Detristan, T. Ulenspiegel, Y. Malcom, and M. S. von Underduk. Polymorphic shellcode engine using spectrum analysis. http://www.phrack.com/issues.html?issue=61&id=9, 2003.Google ScholarGoogle Scholar
  12. M. D. Ernst, J. H. Perkins, P. J. Guo, S. McCamant, C. Pacheco, M. S. Tschantz, and C. Xiao. The Daikon system for dynamic detection of likely invariants. Science of Computer Programming, 69(1--3), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. F-Secure. A different twist on the path to the kernel. http://www.f-secure.com/weblog/archives/00001507.html, 2008.Google ScholarGoogle Scholar
  14. P. Fogla and W. Lee. Evading network anomaly detection systems: formal reasoning and practical techniques. In Proceedings of the 13th ACM conference on Computer and communications security (CCS), Alexandria, VA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. E. Forrester and B. P. Miller. An empirical study of the robustness of Windows NT applications using random testing. In Proceedings of the 4th conference on USENIX Windows Systems Symposium (WSS), Seattle, WA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. V. Gundy, H. Chen, Z. Su, and G. Vigna. Feature omission vulnerabilities: Thwarting signature generation for polymorphic worms. In Proceedings of the 23rd Annual Computer Security Applications Conference (ACSAC), Miami Beach, FL, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  17. X. Jiang, X. Wang, and D. Xu. Stealthy malware detection through VMM-based "out-of-the-box" semantic view reconstruction. In Proceedings of the 14th ACM conference on Computer and communications security (CCS), Alexandria, VA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. T. Jones, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. Antfarm: tracking processes in a virtual machine environment. In Proceedings of the USENIX Annual Technical Conference (ATEC), Boston, MA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. T. Jones, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. VMM-based hidden process detection and identification using lycosid. In Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments (VEE), Seattle, WA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Kephart and W. Arnold. Automatic extraction of computer virus signatures. In Proceedings of the 4th International Virus Bulletin Conference (VB), Jersey, Channel Islands, UK, 1994.Google ScholarGoogle Scholar
  21. H.-A. Kim and B. Karp. Autograph: Toward automated, distributed worm signature detection. In Proceedings of the 13th conference on USENIX Security Symposium, volume 13, San Diego, CA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. Kreibich and J. Crowcroft. Honeycomb: creating intrusion detection signatures using honeypots. ACM SIGCOMM Computer Communication Review, 34(1), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Z. Li, M. Sanghi, Y. Chen, M.-Y. Kao, and B. Chavez. Hamsa: Fast signature generation for zero-day polymorphic worms with provable attack resilience. In Proceedings of the 2006 IEEE Symposium on Security and Privacy, Oakland, CA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. B. P. Miller, L. Fredriksen, and B. So. An empirical study of the reliability of UNIX utilities. Communications of the ACM, 33(12), 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. B. P. Miller, D. Koski, C. Pheow, and L. V. Maganty. Fuzz revisited: A re-examination of the reliability of UNIX utilities and services. Technical report, 1995.Google ScholarGoogle Scholar

Index Terms

  1. Robust signatures for kernel data structures

    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
      CCS '09: Proceedings of the 16th ACM conference on Computer and communications security
      November 2009
      664 pages
      ISBN:9781605588940
      DOI:10.1145/1653662

      Copyright © 2009 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 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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 9 November 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,261of6,999submissions,18%

      Upcoming Conference

      CCS '24
      ACM SIGSAC Conference on Computer and Communications Security
      October 14 - 18, 2024
      Salt Lake City , UT , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader