skip to main content
10.1145/3075564.3075578acmconferencesArticle/Chapter ViewAbstractPublication PagescfConference Proceedingsconference-collections
research-article

Data mining the memory access stream to detect anomalous application behavior

Published:15 May 2017Publication History

ABSTRACT

Detecting anomalous application executions is a challenging problem, due to the diversity of anomalies that can occur, such as programming bugs, silent data corruption, or even malicious code corruption. Moreover, the similarity to a regular execution that can occur in these cases, especially in silent data corruption, makes distinction from normal executions difficult. In this paper, we develop a mechanism that can detect such anomalous executions based on changes in the memory access pattern of an application. We analyze memory patterns using a two-level machine learning approach. First, we classify the behavior of different memory access periods within applications using Gaussian mixtures. Then, based on these classifications, we construct matrix representations of Markov chains to obtain information regarding the temporal behavior of these memory accesses. Based on metrics of matrix similarity, we can classify whether the application behaves as expected or anomalously. Using gradient boosting on the metrics of matrix similarity, our technique correctly classifies more than 85% of all executions, identifying instances of the same application and different applications. We can also detect a range of faulty executions caused by benign or malicious permanent bit flips in the code section.

References

  1. Gogul Balakrishnan and Thomas Reps. 2004. Analyzing memory accesses in x86 executables. In International conference on compiler construction. 5--23.Google ScholarGoogle ScholarCross RefCross Ref
  2. Francieli Zanon Boito, Rodrigo Kassick, Philippe OA Navaux, and Yves Denneulin. 2015. Towards fast profiling of storage devices regarding access sequentiality. In Proceedings of the 30th Annual ACM Symposium on Applied Computing. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Borin, Cheng Wang, Youfeng Wu, and G. Araujo. 2006. Software-based transparent and comprehensive control-flow error detection. In International Symposium on Code Generation and Optimization (CGO'06). 13 pp.--. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jerome H Friedman. 2001. Greedy function approximation: a gradient boosting machine. Annals of statistics (2001), 1189--1232.Google ScholarGoogle Scholar
  5. Grigori Fursin, John Cavazos, Michael O'Boyle, and Olivier Temam. 2007. Midatasets: Creating the conditions for a more realistic evaluation of iterative optimization. In International Conference on High-Performance Embedded Architectures and Compilers. 245--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Crispin W Gardiner and others. 1985. Handbook of stochastic methods. Vol. 3. Springer Berlin.Google ScholarGoogle Scholar
  7. Matthew R Guthaus, Jeffrey S Ringenberg, Dan Ernst, Todd M Austin, Trevor Mudge, and Richard B Brown. 2001. MiBench: A free, commercially representative embedded benchmark suite. In IEEE International Workshop on Workload Characterization (WWC). 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Tanay Karnik and Peter Hazucha. 2004. Characterization of soft errors caused by single event upsets in CMOS processes. IEEE Transactions on Dependable and Secure Computing 1, 2 (2004), 128--143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Rahul Khanna and Huaping Liu. 2006. System approach to intrusion detection using hidden markov model. In Proceedings of the 2006 international conference on Wireless communications and mobile computing. 349--354. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Thomas A Lasko, Jui G Bhagwat, Kelly H Zou, and Lucila Ohno-Machado. 2005. The use of receiver operating characteristic curves in biomedical informatics. Journal of biomedical informatics 38, 5 (2005), 404--415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Richard P Lippmann, David J Fried, Isaac Graf, Joshua W Haines, Kristopher R Kendall, David McClung, Dan Weber, Seth E Webster, Dan Wyschogrod, Robert K Cunningham, and others. 2000. Evaluating intrusion detection systems: The 1998 DARPA off-line intrusion detection evaluation. In DARPA Information Survivability Conference and Exposition (DISCEX), Vol. 2. 12--26.Google ScholarGoogle Scholar
  12. Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood. 2005. Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 190--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Sparsh Mittal. 2016. A Survey of Recent Prefetching Techniques for Processor Caches. ACM Comput. Surv (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Shubhendu S Mukherjee, Christopher Weaver, Joel Emer, Steven K Reinhardt, and Todd Austin. 2003. A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In IEEE/ACM International Symposium Microarchitecture (Micro). 29--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Nitin, I. Pomeranz, and T. N. Vijaykumar. 2015. FaultHound: Value-locality-based soft-fault tolerance. In 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA). 668--681. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis. 2013. Transparent ROP Exploit Mitigation Using Indirect Branch Tracing. In USENIX Security Symposium. 447--462. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J Thomas Pawlowski. 2011. Hybrid memory cube (HMC). In Hot Chips, Vol. 23.Google ScholarGoogle ScholarCross RefCross Ref
  18. Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, and others. 2011. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research 12, Oct (2011), 2825--2830. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Carl Edward Rasmussen. 1999. The infinite Gaussian mixture model. In NIPS, Vol. 12. 554--560. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Francesco Regazzoni, Thomas Eisenbarth, Luca Breveglieri, Paolo Ienne, and Israel Koren. 2008. Can knowledge regarding the presence of countermeasures against fault attacks simplify power attacks on cryptographic devices?. In International Symposium on Defect and Fault Tolerance of VLSI Systems. 202--210. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. George A Reis, Jonathan Chang, Neil Vachharajani, Ram Rangan, and David I August. 2005. SWIFT: Software implemented fault tolerance. In International Symposium on Code Generation and Optimization (CGO). 243--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mark Russinovich. 2007. Inside the windows vista kernel: Part 3. Microsoft TechNet Magazine (2007).Google ScholarGoogle Scholar
  23. Ralph Gregory Taylor. 1998. Models of computation and formal languages. (1998). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Doe Hyun Yoon and Mattan Erez. 2009. Memory mapped ECC: low-cost error protection for last level caches. In ACM SIGARCH Computer Architecture News, Vol. 37. ACM, 116--127. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Data mining the memory access stream to detect anomalous application behavior

      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
        CF'17: Proceedings of the Computing Frontiers Conference
        May 2017
        450 pages
        ISBN:9781450344876
        DOI:10.1145/3075564

        Copyright © 2017 ACM

        Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 May 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        CF'17 Paper Acceptance Rate43of87submissions,49%Overall Acceptance Rate240of680submissions,35%

        Upcoming Conference

        CF '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader