An Empirical Study of Prioritizing JavaScript Engine Crashes via Machine Learning
Title | An Empirical Study of Prioritizing JavaScript Engine Crashes via Machine Learning |
Publication Type | Conference Paper |
Year of Publication | 2019 |
Authors | Park, Sunnyeo, Kim, Dohyeok, Son, Sooel |
Conference Name | Proceedings of the 2019 ACM Asia Conference on Computer and Communications Security |
Date Published | July 2019 |
Publisher | Association for Computing Machinery |
Conference Location | Auckland, New Zealand |
ISBN Number | 978-1-4503-6752-3 |
Keywords | browser security, composability, crash analysis, JavaScript, machine learning, privacy, pubcrawl, resilience, Resiliency, security bugs |
Abstract | The early discovery of security bugs in JavaScript (JS) engines is crucial for protecting Internet users from adversaries abusing zero-day vulnerabilities. Browser vendors, bug bounty hunters, and security researchers have been eager to find such security bugs by leveraging state-of-the-art fuzzers as well as their domain expertise. They report a bug when observing a crash after executing their JS test since a crash is an early indicator of a potential bug. However, it is difficult to identify whether such a crash indeed invokes security bugs in JS engines. Thus, unskilled bug reporters are unable to assess the security severity of their new bugs with JS engine crashes. Today, this classification of a reported security bug is completely manual, depending on the verdicts from JS engine vendors. We investigated the feasibility of applying various machine learning classifiers to determine whether an observed crash triggers a security bug. We designed and implemented CRScope, which classifies security and non-security bugs from given crash-dump files. Our experimental results on 766 crash instances demonstrate that CRScope achieved 0.85, 0.89, and 0.93 Area Under Curve (AUC) for Chakra, V8, and SpiderMonkey crashes, respectively. CRScope also achieved 0.84, 0.89, and 0.95 precision for Chakra, V8, and SpiderMonkey crashes, respectively. This outperforms the previous study and existing tools including Exploitable and AddressSanitizer. CRScope is capable of learning domain-specific expertise from the past verdicts on reported bugs and automatically classifying JS engine security bugs, which helps improve the scalable classification of security bugs. |
URL | https://dl.acm.org/doi/10.1145/3321705.3329840 |
DOI | 10.1145/3321705.3329840 |
Citation Key | park_empirical_2019 |