Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3141235.3141243acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

DamGate: Dynamic Adaptive Multi-feature Gating in Program Binaries

Published:03 November 2017Publication History

ABSTRACT

Feature creep has emerged as a serious threat due to the growing number of utilities and capabilities crammed into modern software systems. While feature elimination and de-bloating techniques can produce slimmer executables, a complete elimination of all unnecessary or unwanted features is often not possible, not only due to the tight coupling of feature-related functions/codes, but also because the usefulness/necessity of program features is often difficult to determine statically and can vary during runtime. This paper presents DamGate, a framework for dynamic feature customization, allowing vigilant management of program features at runtime to prevent violation of privacy and security policies. At the heart of this technique is the selective placement of checker functions(known as gates) into feature-constituent functions that need to be protected. Through execution gating and feature validation on the fly, DamGate provides differentiated control policy for program features and enables flexible runtime reconfiguration. The proposed framework is prototyped and evaluated using LibreOffice, a large-scale office suit. The evaluation results show that it can achieve desired feature customization with negligible gating overhead.

References

  1. Yufei Jiang, Can Zhang, Dinghao Wu, and Peng Liu. Feature-based software customization: Preliminary analysis, formalization, and methods. In High Assurance Systems Engineering (HASE), 2016 IEEE 17th International Symposium on, pages 122--131. IEEE, 2016.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Gail C. Murphy, Albert Lai, Robert J. Walker, and Martin P. Robillard. Separating features in source code: An exploratory study. In Software Engineering, 2001. ICSE 2001. Proceedings of the 23rd International Conference on, pages 275--284. IEEE, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  3. Guoqing Xu, Nick Mitchell, Matthew Arnold, Atanas Rountev, and Gary Sevitsky. Software bloat analysis: finding, removing, and preventing performance problems in modern large-scale object-oriented applications. In Proceedings of the FSE/SDP workshop on Future of software engineering research, pages 421--426. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Yufei Jiang, Dinghao Wu, and Peng Liu. Jred: Program customization and bloatware mitigation based on static analysis. In Computer Software and Applications Conference (COMPSAC), 2016 IEEE 40th Annual, volume 1, pages 12--21. IEEE, 2016. Google ScholarGoogle ScholarCross RefCross Ref
  5. Guoqing Xu, Nick Mitchell, Matthew Arnold, Atanas Rountev, Edith Schonberg, and Gary Sevitsky. Finding low-utility data structures. ACM Sigplan Notices, 45(6):174--186, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Peter Snyder, Lara Ansari, Cynthia Taylor, and Chris Kanich. Browser feature usage on the modern web. In Proceedings of the 2016 ACM on Internet Measurement Conference, pages 97--110. ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. David A. Powner. Federal agencies need to address aging legacy systems. In Information Technology, Management Issues, 2016.Google ScholarGoogle Scholar
  8. The Standish Group. Chaos report. 2014.Google ScholarGoogle Scholar
  9. Yan Shoshitaishvili, Ruoyu Wang, Christopher Salls, Nick Stephens, Mario Polino, Andrew Dutcher, John Grosen, Siji Feng, Christophe Hauser, Christopher Kruegel, et al. Sok:(state of) the art of war: Offensive techniques in binary analysis. In Security and Privacy (SP), 2016 IEEE Symposium on, pages 138--157. IEEE, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  10. Harish Patil, Cristiano Pereira, Mack Stallcup, Gregory Lueck, and James Cownie. Pinplay: a framework for deterministic replay and reproducible analysis of parallel programs. In Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, pages 2--11. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Open Source. Dyninst: An application program interface (api) for runtime code generation.Google ScholarGoogle Scholar
  12. Gogul Balakrishnan, Radu Gruian, Thomas Reps, and Tim Teitelbaum. Codesurfer/x86:a platform for analyzing x86 executables. In Compiler Construction, pages 139--139. Springer, 2005.Google ScholarGoogle Scholar
  13. Yongbo Li, Fan Yao, Tian Lan, and Guru Venkataramani. Sarre: semantics-aware rule recommendation and enforcement for event paths on android. IEEE Transactions on Information Forensics and Security, 11(12):2748--2762, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jens Müller, Vladislav Mladenov, Juraj Somorovsky, and Jörg Schwenk. Sok: Exploiting network printers. In Security and Privacy (SP), 2017 IEEE Symposium on, pages 213--230. IEEE, 2017.Google ScholarGoogle ScholarCross RefCross Ref
  15. Chao Zhang, Tao Wei, Zhaofeng Chen, Lei Duan, Laszlo Szekeres, Stephen McCamant, Dawn Song, and Wei Zou. Practical control flow integrity and randomization for binary executables. In Security and Privacy (SP), 2013 IEEE Symposium on, pages 559--573. IEEE, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Martín Abadi, Mihai Budiu, Ulfar Erlingsson, and Jay Ligatti. Control-flow integrity. In Proceedings of the 12th ACM conference on Computer and communications security, pages 340--353. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mingwei Zhang and R. Sekar. Control flow integrity for cots binaries. In USENIX Security Symposium, pages 337--352, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kevin A. Roundy. Hybrid analysis and control of malicious code. PhD thesis, The University of Wisconsin-Madison, 2012.Google ScholarGoogle Scholar
  19. Andrew R. Bernat, Kevin Roundy, and Barton P. Miller. Efficient, sensitivity resistant binary instrumentation. In Proceedings of the 2011 International Symposium on Software Testing and Analysis, pages 89--99. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Fan Yao, Yongbo Li, Yurong Chen, Hongfa Xue, Tian Lan, and Guru Venkataramani. Statsym: vulnerable path discovery through statistics-guided symbolic execution. In Dependable Systems and Networks (DSN), 2017 47th Annual IEEE/IFIP International Conference on, pages 109--120. IEEE, 2017. Google ScholarGoogle ScholarCross RefCross Ref
  21. Liang Xu, Fangqi Sun, and Zhendong Su. Constructing precise control flow graphs from binaries. University of California, Davis, Tech. Rep, 2009.Google ScholarGoogle Scholar
  22. Tiffany Bao, Johnathon Burket, Maverick Woo, Rafael Turner, and David Brumley. Byteweight: Learning to recognize functions in binary code. USENIX, 2014.Google ScholarGoogle Scholar
  23. Stephen McCamant and Greg Morrisett. Evaluating sfi for a cisc architecture. In USENIX Security Symposium, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Rohit Jalan and Arun Kejariwal. Trin-trin: Who is calling? a pin-based dynamic call graph extraction framework. International Journal of Parallel Programming, pages 1--33, 2012. Google ScholarGoogle ScholarCross RefCross Ref
  25. Nick Mitchell and Gary Sevitsky. The causes of bloat, the limits of health. In ACM SIGPLAN Notices, volume 42, pages 245--260. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Guoqing Xu, Nick Mitchell, Matthew Arnold, Atanas Rountev, Edith Schonberg, and Gary Sevitsky. Scalable runtime bloat detection using abstract dynamic slicing. ACM Transactions on Software Engineering and Methodology (TOSEM), 23(3):23, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Khanh Nguyen and Guoqing Xu. Cachetor: Detecting cacheable data to remove bloat. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pages 268--278. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Shuai Wang, Pei Wang, and Dinghao Wu. Reassembleable disassembling. In USENIX Security Symposium, pages 627--642, 2015.Google ScholarGoogle Scholar
  29. Christopher Kruegel, William Robertson, and Giovanni Vigna. Detecting kernel-level rootkits through binary analysis. In Computer Security Applications Conference, 2004. 20th Annual, pages 91--100. IEEE, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Yan Shoshitaishvili, Ruoyu Wang, Christophe Hauser, Christopher Kruegel, and Giovanni Vigna. Firmalice-automatic detection of authentication bypass vulnerabilities in binary firmware. In NDSS, 2015. Google ScholarGoogle ScholarCross RefCross Ref
  31. Xiaozhu Meng and Barton P. Miller. Binary code is not easy. In Proceedings of the 25th International Symposium on Software Testing and Analysis, pages 24--35. ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Dongpeng Xu, Jiang Ming, and Dinghao Wu. Cryptographic function detection in obfuscated binaries via bit-precise symbolic loop mapping. In Security and Privacy (SP), 2017 IEEE Symposium on, pages 921--937. IEEE, 2017. Google ScholarGoogle ScholarCross RefCross Ref
  33. Jiang Ming and Dinghao Wu. Bincfp: Efficient multi-threaded binary code control flow profiling. In Source Code Analysis and Manipulation (SCAM), 2016 IEEE 16th International Working Conference on, pages 61--66. IEEE, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  34. Alessandro Di Federico, Mathias Payer, and Giovanni Agosta. rev. ng: a unified binary analysis framework to recover cfgs and function boundaries. In Proceedings of the 26th International Conference on Compiler Construction, pages 131--141. ACM, 2017.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Hongfa Xue, Yurong Chen, Fan Yao, Yongbo Li, Tian Lan, and Guru Venkataramani. Simber: Eliminating redundant memory bound checks via statistical inference. In IFIP International Conference on ICT Systems Security and Privacy Protection, pages 413--426. Springer, 2017.Google ScholarGoogle ScholarCross RefCross Ref
  36. Jiang Ming, Dongpeng Xu, Yufei Jiang, and Dinghao Wu. Binsim: Trace-based semantic binary diffing via system call sliced segment equivalence checking. In 26th USENIX Security Symposium USENIX Security 17, 2017.Google ScholarGoogle Scholar
  37. Ben Niu and Gang Tan. Modular control-flow integrity. ACM SIGPLAN Notices, 49(6):577--587, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Ben Niu and Gang Tan. Per-input control-flow integrity. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, pages 914--926. ACM, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Xinyang Ge, Nirupama Talele, Mathias Payer, and Trent Jaeger. Fine-grained control-flow integrity for kernel software. In Security and Privacy (EuroS&P), 2016 IEEE European Symposium on, pages 179--194. IEEE, 2016. Google ScholarGoogle ScholarCross RefCross Ref
  40. Nathan Burow, Scott A Carr, Joseph Nash, Per Larsen, Michael Franz, Stefan Brunthaler, and Mathias Payer. Control-flow integrity: Precision, security, and performance. ACM Computing Surveys (CSUR), 50(1):16, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Isaac Evans, Fan Long, Ulziibayar Otgonbaatar, Howard Shrobe, Martin Rinard, Hamed Okhravi, and Stelios Sidiroglou-Douskos. Control jujutsu: On the weaknesses of fine-grained control flow integrity. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, pages 901--913. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Fan Yao, Jie Chen, and Guru Venkataramani. Jop-alarm: Detecting jump-oriented programming-based anomalies in applications. In Computer Design (ICCD), 2013 IEEE 31st International Conference on, pages 467--470. IEEE, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  43. Richard Wartell, Vishwath Mohan, Kevin W. Hamlen, and Zhiqiang Lin. Securing untrusted code via compiler-agnostic binary rewriting. In Proceedings of the 28th Annual Computer Security Applications Conference, pages 299--308. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. DamGate: Dynamic Adaptive Multi-feature Gating in Program Binaries

      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
        FEAST '17: Proceedings of the 2017 Workshop on Forming an Ecosystem Around Software Transformation
        November 2017
        78 pages
        ISBN:9781450353953
        DOI:10.1145/3141235

        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 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: 3 November 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        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