skip to main content
10.1145/3340495.3342749acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A heuristic fuzz test generator for Java native interface

Authors Info & Claims
Published:26 August 2019Publication History

ABSTRACT

It is well known that once a Java application uses native C/C++ methods through the Java Native Interface (JNI), any security guarantees provided by Java might be invalidated by the native methods. So any vulnerability in this trusted native code can compromise the security of the Java program. Fuzzing test is an approach to software testing whereby the system being tested is bombarded with inputs generated by another program. When using fuzzer to test JNI programs, how to accurately reach the JNI functions and run through them to find the sensitive system APIs is the pre-condition of the test. In this paper, we present a heuristic fuzz generator method on JNI vulnerability detection based on the branch predication information of program. The result in the experiment shows our method can use less fuzzing times to reach more sensitive windows APIs in Java native code.

References

  1. Richard McNally, Ken Yiu, Duncan Grove and Damien Gerhardy, Fuzzing: The State of the Art, Technical Note. http://www.dsto.defence.gov.au/publications/scientific.phpGoogle ScholarGoogle Scholar
  2. Fuzzing. From Wikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/FuzzingGoogle ScholarGoogle Scholar
  3. John Neystadt (February 2008). "Automated Penetration Testing with White-Box Fuzzing". Microsoft. Retrieved 2009-05-14.Google ScholarGoogle Scholar
  4. Barton Miller (2008). "Preface". In Ari Takanen, Jared DeMott and Charlie Miller, Fuzzing for Software Security Testing and Quality Assurance, ISBN 978-1-59693-214-2Google ScholarGoogle Scholar
  5. Van-Thuan Pham; Marcel Böhme; Abhik Roychoudhury (2016-09-07). "Model-based whitebox fuzzing for program binaries". Proceedings of Automated Software Engineering (ASE'16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Patrice Godefroid; Michael Y. Levin; David Molnar (2008-02-08). "Automated Whitebox Fuzz Testing" (PDF). Proceedings of Network and Distributed Systems Symposium (NDSS'08).Google ScholarGoogle Scholar
  7. Marcel Böhme; Soumya Paul (2015-10-05). "A Probabilistic Analysis of the Efficiency of Automated Software Testing". IEEE Transactions on Software Engineering (TSE).Google ScholarGoogle Scholar
  8. Nick Stephens; John Grosen; Christopher Salls; Andrew Dutcher; Ruoyu Wang; Jacopo Corbetta; Yan Shoshitaishvili; Christopher Kruegel; Giovanni Vigna (2016-02-24). Driller: Augmenting. Fuzzing Through Selective Symbolic Execution (PDF). Proceedings of Network and Distributed Systems Symposium (NDSS'16).Google ScholarGoogle Scholar
  9. Marcel Böhme; Van-Thuan Pham; Abhik Roychoudhury (2016-10-28). "Coverage-based Greybox Fuzzing as a Markov Chain". Proceedings of the ACM Conference on Computer and Communications Security (CCS'16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. SCHOENEFELD, M. Denial-of-service holes in JDK 1.3.1 and 1.4.1 01. Retrieved Apr 26th, 2008, from http://www. illegalaccess.org/java/ZipBugs.php, 2003.Google ScholarGoogle Scholar
  11. Gang Tan, Andrew W. Appel, Srimat Chakradhar, etc. Safe Java Native Interface. IEEE International Symposium on Secure Software Engineering, March 2006.Google ScholarGoogle Scholar

Index Terms

  1. A heuristic fuzz test generator for Java native interface

    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
      SQUADE 2019: Proceedings of the 2nd ACM SIGSOFT International Workshop on Software Qualities and Their Dependencies
      August 2019
      38 pages
      ISBN:9781450368575
      DOI:10.1145/3340495

      Copyright © 2019 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: 26 August 2019

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader