FreeDom: Engineering a State-of-the-Art DOM Fuzzer Wen Xu Soyeon Park Taesoo Kim Georgia Institute of Technology Georgia Institute of Technology Georgia Institute of Technology
[email protected] [email protected] [email protected] ABSTRACT ACM Reference Format: The DOM engine of a web browser is a popular attack surface and Wen Xu, Soyeon Park, and Taesoo Kim. 2020. FreeDom: Engineering a State- has been thoroughly fuzzed during its development. A common of-the-Art DOM Fuzzer. In Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security (CCS ’20), November 9–13, 2020, approach adopted by the latest DOM fuzzers is to generate new Virtual Event, USA. ACM, New York, NY, USA, 16 pages. https://doi.org/10. inputs based on context-free grammars. However, such a generative 1145/3372297.3423340 approach fails to capture the data dependencies in the inputs of a DOM engine, namely, HTML documents. Meanwhile, it is unclear whether or not coverage-guided mutation, which is well-known to 1 INTRODUCTION be effective in fuzzing numerous software, still remains to beeffec- A DOM (Document Object Model) engine is a core component of tive against DOM engines. Worse yet, existing DOM fuzzers cannot every modern web browser, which is responsible for displaying adopt a coverage-guided approach because they are unable to fully HTML documents in an interactive window on an end-user device. support HTML mutation and suffer from low browser throughput. Considering its giant code base and extraordinary complexity, a To scientifically understand the effectiveness and limitations of DOM engine has always been one of the largest bug sources in a web the two approaches, we propose FreeDom, a full-fledged cluster- browser.