{"id":230,"date":"2008-04-20T17:29:32","date_gmt":"2008-04-21T01:29:32","guid":{"rendered":"http:\/\/cubist.cs.washington.edu\/Security\/2008\/04\/20\/in-flight-web-page-modifications\/"},"modified":"2008-04-20T17:29:32","modified_gmt":"2008-04-21T01:29:32","slug":"in-flight-web-page-modifications","status":"publish","type":"post","link":"https:\/\/secblog.cs.washington.edu\/Security\/2008\/04\/20\/in-flight-web-page-modifications\/","title":{"rendered":"In-Flight Web Page Modifications"},"content":{"rendered":"<p>Our research group (Charlie Reis, Yoshi Kohno, and Steve Gribble from UW CSE, and Nick Weaver from ICSI) has just presented a measurement study showing that many users are receiving web pages that have been modified in-flight.\u00a0 The pages are changed between the web server and the user&#8217;s browser, either by ISPs injecting advertisements, enterprise firewalls injecting script code, or client-side proxies that block popups and ads.\u00a0 These changes are often unwanted by either publishers or users, and they can also be dangerous: we found that several types of changes introduced bugs and security vulnerabilities into otherwise safe and functional pages.<\/p>\n<p>To study this, we measured how often our own web page, <a href=\"http:\/\/vancouver.cs.washington.edu\">http:\/\/vancouver.cs.washington.edu<\/a>, was modified when users visited it.\u00a0 A piece of JavaScript code that we call a &#8220;web tripwire&#8221; detected such modifications, allowing us to record the change and notify the user.\u00a0 Our study found that about 1% of the 50,000 visitors to our page received a modified version.\u00a0 While 70% of these changes were caused by client-side proxies, we did see many changes caused by ISPs and firewalls as well.<\/p>\n<p>For more information on our study and our results, you can read our analysis at <a href=\"http:\/\/www.cs.washington.edu\/research\/security\/web-tripwire.html\">Detecting In-Flight Page Changes with Web Tripwires<\/a>, as well as our recent <a href=\"http:\/\/www.cs.washington.edu\/research\/security\/web-tripwire\/nsdi-2008.pdf\">NSDI 2008 paper<\/a> (PDF).\u00a0 Our results have also been covered recently in the news media <a href=\"http:\/\/www.networkworld.com\/news\/2008\/041608-isps-meddled-with-their-customers.html\">here<\/a>, <a href=\"http:\/\/arstechnica.com\/news.ars\/post\/20080416-research-1-3-percent-of-web-pages-altered-in-transit.html\">here<\/a>, and <a href=\"http:\/\/yro.slashdot.org\/article.pl?sid=08\/04\/18\/0118256\">here<\/a>.<\/p>\n<p>If you would like to add a web tripwire to your own page, we have an <a href=\"http:\/\/www.cs.washington.edu\/research\/security\/web-tripwire.html#toolkit\">open source toolkit<\/a> that you can download and host on your web server.\u00a0 We also have a <a href=\"http:\/\/www.cs.washington.edu\/research\/security\/web-tripwire.html#service\">web tripwire service<\/a> that is hosted by our server, which you can add to your page with a single line of JavaScript code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Our research group (Charlie Reis, Yoshi Kohno, and Steve Gribble from UW CSE, and Nick Weaver from ICSI) has just presented a measurement study showing that many users are receiving web pages that have been modified in-flight.\u00a0 The pages are &hellip; <a href=\"https:\/\/secblog.cs.washington.edu\/Security\/2008\/04\/20\/in-flight-web-page-modifications\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":54,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,10,156],"tags":[],"class_list":["post-230","post","type-post","status-publish","format-standard","hentry","category-current-events","category-integrity","category-research"],"_links":{"self":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/posts\/230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/comments?post=230"}],"version-history":[{"count":0,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/posts\/230\/revisions"}],"wp:attachment":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/media?parent=230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/categories?post=230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/tags?post=230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}