Title
VisibleV8: In-browser Monitoring of JavaScript in the Wild
Abstract
Modern web security and privacy research depends on accurate measurement of an often evasive and hostile web. No longer just a network of static, hyperlinked documents, the modern web is alive with JavaScript (JS) loaded from third parties of unknown trustworthiness. Dynamic analysis of potentially hostile JS currently presents a cruel dilemma: use heavyweight in-browser solutions that prove impossible to maintain, or use lightweight inline JS solutions that are detectable by evasive JS and which cannot match the scope of coverage provided by in-browser systems. We present VisibleV8, a dynamic analysis framework hosted inside V8, the JS engine of the Chrome browser, that logs native function or property accesses during any JS execution. At less than 600 lines (only 67 of which modify V8's existing behavior), our patches are lightweight and have been maintained from Chrome versions 63 through 72 without difficulty. VV8 consistently outperforms equivalent inline instrumentation, and it intercepts accesses impossible to instrument inline. This comprehensive coverage allows us to isolate and identify 46 JavaScript namespace artifacts used by JS code in the wild to detect automated browsing platforms and to discover that 29% of the Alexa top 50k sites load content which actively probes these artifacts.
Year
DOI
Venue
2019
10.1145/3355369.3355599
Proceedings of the Internet Measurement Conference
Field
DocType
ISBN
Computer science,Computer network,Operating system,JavaScript
Conference
978-1-4503-6948-0
Citations 
PageRank 
References 
4
0.41
0
Authors
2
Name
Order
Citations
PageRank
Jordan Jueckstock162.12
Alexandros Kapravelos232420.58