FV8: A Forced Execution JavaScript Engine for Detecting Evasive Techniques
Nikolaos Pantelaios, Alexandros Kapravelos

TL;DR
FV8 is a modified JavaScript engine that enforces code execution to detect evasive techniques, significantly improving visibility into malicious scripts and extensions, and uncovering previously hidden malicious code in real-world environments.
Contribution
The paper introduces FV8, a novel forced execution engine for JavaScript that enhances detection of evasive malicious code in both browsers and Node.js environments.
Findings
Increases code coverage by 11% over default V8
Detects 28 unique evasion categories, including 5 new techniques
Identifies malicious extensions and scripts affecting millions of users
Abstract
Evasion techniques allow malicious code to never be observed. This impacts significantly the detection capabilities of tools that rely on either dynamic or static analysis, as they never get to process the malicious code. The dynamic nature of JavaScript, where code is often injected dynamically, makes evasions particularly effective. Yet, we lack tools that can detect evasive techniques in a challenging environment such as JavaScript. In this paper, we present FV8, a modified V8 JavaScript engine designed to identify evasion techniques in JavaScript code. FV8 selectively enforces code execution on APIs that conditionally inject dynamic code, thus enhancing code coverage and consequently improving visibility into malicious code. We integrate our tool in both the Node.js engine and the Chromium browser, compelling code execution in npm packages and Chrome browser extensions. Our tool…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdversarial Robustness in Machine Learning · Advanced Malware Detection Techniques
