Litcius/Paper detail

Confuzzion: A Java Virtual Machine Fuzzer for Type Confusion Vulnerabilities

William Bonnaventure, Ahmed Khanfir, Alexandre Bartel, Mike Papadakis, Yves Le Traon

20212021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)11 citationsDOIOpen Access PDF

Abstract

Current Java Virtual Machine (JVM) fuzzers aim at generating syntactically valid Java programs, without targeting any particular use of the standard Java library. While effective, such fuzzers fail to discover specific kinds of bugs or vulnerabilities, such as type confusion, that are related to the standard API usage. To deal with this issue, we introduce a mutation-based feedback-guided black-box JVM fuzzer, called Confuzzion. Confuzzion, as the name suggests, targets security-relevant object-oriented flaws with a particular focus on type confusion vulnerabilities. We show that in less than 4 hours, on commodity hardware and without any predefined initialization seed, Confuzzion automatically generates Java programs that reveal JVM vulnerabilities, i.e., the Common Vulnerabilities and Exposures CVE-2017-3272. We also show that state-of-the-art fuzzers or even traditional automatic testing techniques are not capable of detecting such faults, even after 48 hours of execution in the same environment. To the best of our knowledge, Confuzzion is the first fuzzer able to detect JVM type confusion vulnerabilities.

Topics & Concepts

Computer scienceJavaFuzz testingProgramming languageConfusionSecure codingInitializationstrictfpVirtual machineOperating systemSoftwareReal time JavaSoftware security assurancePsychoanalysisCloud computingCloud computing securityPsychologySoftware Testing and Debugging TechniquesSoftware Reliability and Analysis ResearchSoftware Engineering Research