Serving Two Masters
An Empirical Study of Browser API Cooptation
Pete Snyder, Chris Kanich University of Illinois at Chicago
Serving Two Masters An Empirical Study of Browser API Cooptation - - PowerPoint PPT Presentation
Serving Two Masters An Empirical Study of Browser API Cooptation Pete Snyder, Chris Kanich University of Illinois at Chicago Less More Features Features Less More Features Features Managed Pointer Memory Arithmetic
An Empirical Study of Browser API Cooptation
Pete Snyder, Chris Kanich University of Illinois at Chicago
Less Features More Features
Less Features More Features Managed Memory Pointer Arithmetic
Extensions
2013 2014 2015
features
WebKit
AdBlock+ filter rules
pre-and-post filters
from searching UNIX dictionary tri-grams on DDG
API Name URLs Battery API 21 Page Transition API 9 GeoLocation API 55 Shadow DOM 5
applications
address
(56.22%)
purpose
Browser Version Since Firefox 22 Chrome 23 Android Browser 40 Opera 30
to perform crypto
random identifiers
purpose
Browser Version Since Firefox 38 Chrome 31 Android Browser 4.4 Opera 30 IE 11 iOS 7.1
privacy-harmful APIs
API Pages # Ghost # Ghost % ABP # ABP % Both # Both % CSSOM (Doc) 249 18 92.8 34 86.3 1 99.6 Crypto 7,713 1,123 85.4 38 99.5 27 99.6 Language 16,909 2,242 86.7 2,072 87.7 1,131 93.3 <iframe> Injection 12,110 3,202 73.6 4,464 63.1 1,351 88.8 Page Visibility 729 228 68.7 81 88.9 86 88.2 Websocket 225 99 56.0 58 74.2 43 80.9 Plugin Detection 18,116 5,870 67.6 4,133 77.2 3,512 80.6 Battery API 21 17 19.0 4 81.0 6 71.4 Storage 12,357 5,499 55.5 5,496 55.5 3,817 69.1
API Pages # Ghost # Ghost % ABP # ABP % Both # Both % DOM 1 (creating) 23,304 22,651 2.8 21,409 8.1 21,266 8.7 DOM 1 (querying) 23,659 22,965 2.9 21,705 8.3 21,580 8.8 AJAX 20,016 19,027 4.9 16,153 19.3 16,303 18.6 Canvas API 2,095 1,949 7.0 1,676 20.0 1,694 19.1 User Agent 23,439 21,195 9.6 19,602 16.4 18,870 19.5 <audio> 307 292 4.9 247 19.5 242 21.2 Blob API 308 287 6.8 233 24.4 238 22.7 <svg> 860 798 7.2 520 39.5 527 38.7 History API 576 490 14.9 374 35.1 349 39.4
complexity quickly
intent and web author intent
and capability
harm security