Visible to the public An Empirical Study of Prioritizing JavaScript Engine Crashes via Machine Learning

TitleAn Empirical Study of Prioritizing JavaScript Engine Crashes via Machine Learning
Publication TypeConference Paper
Year of Publication2019
AuthorsPark, Sunnyeo, Kim, Dohyeok, Son, Sooel
Conference NameProceedings of the 2019 ACM Asia Conference on Computer and Communications Security
Date PublishedJuly 2019
PublisherAssociation for Computing Machinery
Conference LocationAuckland, New Zealand
ISBN Number978-1-4503-6752-3
Keywordsbrowser 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.

URLhttps://dl.acm.org/doi/10.1145/3321705.3329840
DOI10.1145/3321705.3329840
Citation Keypark_empirical_2019