Slashdot Mirror


Tool Detects "In-Flight" Webpage Alterations

TheWoozle writes "In a follow-up to a recent story about ISPs inserting ads into web pages, the University of Washington security and privacy research group has teamed with the International Computer Science Institute (ICSI) to develop an online tool to help you identify if your ISP is inserting ads or otherwise modifying the web pages you request."

38 of 197 comments (clear)

  1. Should just block all ads, but... by nokilli · · Score: 4, Interesting

    If that isn't desirable, do a patch to Apache that creates a header that holds a hash of the content.
    The hash gets calculated once for static content, which is usually the bulk of the traffic, no? So
    not too big of a hit.

    Browser sees content. Browser sees hash. Browser compares the two...

    --
    Censored by Technorati and now, Blogger too!

    1. Re:Should just block all ads, but... by mdm-adph · · Score: 2, Insightful

      You're right! Why didn't we think of that before! Let me just cancel my Charter account and move to.... nothing. Charter's the only provider for my area.

      --
      It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
    2. Re:Should just block all ads, but... by vux984 · · Score: 5, Insightful

      All these ideas are neat, but ultimately losers.
      MOVE TO ANOTHER PROVIDER TODAY.

      Why should I do that if I don't know the ISP is modifying the web pages in flight? Maybe I need a tool that could somehow detect that? That would sure be useful. Oh wait...Isn't that what this discussion is about?

    3. Re:Should just block all ads, but... by eheldreth · · Score: 4, Funny

      What if the ISP, having the server's (Apache HTTPD) code, recomputes the hash in the same manner. Browser sees content. Browser sees hash. Browser compares the two...gets an OK.
      1.) Claim the hash is to protect the copyright on your site
      2.) Sue any ISP that alters the site without permission under the DMCA
      3.) ???
      4.) Profit!
      --
      The perversity of the Universe tends towards a maximum. - O'Toole's Corollary
  2. Oh lord the confusion by db32 · · Score: 3, Interesting

    Do we sue the ad folks for inserting ads and stealing content? I mean, in just about any other medium this would wind up in court overnight as copyright and stolen content and so on. But now we have a circumvention tool to detect it...so are we going to get sued under DMCA like nonsense for attempting to circumvent the ad insertion?

    --
    The only change I can believe in is what I find in my couch cushions.
    1. Re:Oh lord the confusion by db32 · · Score: 3, Informative

      Not exactly. A book is just a book. Words on paper. A webpage is FAR more visual than text on page (unless you have been sleeping the last few dozen years). Inserting ads could easily be considered a derivitive work since you are altering the look of the site. What if I didn't want ads? What if my design is a nice soft brown and then you start inserting pink flashing ads? Or God forbid, these clowns insert one of those drive by installer ads, now your business reputation is completely screwed because some major ISP decided to make a buck without checking their sources and your website infected thousands of consumers. Good luck explaining to your customers how it was the ISP magically sneaking ads onto your website.

      --
      The only change I can believe in is what I find in my couch cushions.
  3. Next week on Slashdot by proverbialcow · · Score: 5, Funny

    ISPs intercepting, altering results from online security tool

    --
    The only surefire protection against Microsoft infections is abstinence. - The Onion
    1. Re:Next week on Slashdot by nweaver · · Score: 4, Informative

      We are specifically worried about this case. But we have some thoughts on how to make it more difficult for someone to do that, which will probably end up in a full paper later.

      --
      Test your net with Netalyzr
  4. Answers to questions in this thread by nweaver · · Score: 5, Informative

    We (the authors of the page) will be answering questions in this thread.

    --
    Test your net with Netalyzr
    1. Re:Answers to questions in this thread by Anonymous Coward · · Score: 2, Funny

      Hi,

      What is your favorite flavor of ice cream?

    2. Re:Answers to questions in this thread by nweaver · · Score: 2, Informative

      HTTPS, when certificates are properly used, is designed to prevent man in the middle viewing and modification.

      --
      Test your net with Netalyzr
    3. Re:Answers to questions in this thread by nweaver · · Score: 4, Funny

      Strauss Creamery Soft Serve vanilla with sea salt and olive oil from Pizzeria Picco in Larkspur

      --
      Test your net with Netalyzr
    4. Re:Answers to questions in this thread by nweaver · · Score: 2, Informative

      One of the big reasons is the certificate model...

      If you self-sign, everyone gets a nag panel everytime they visit your web page. If you have verisign or someone else provide you with a certificate, it costs real money.

      Also, the HTTPS handshake is expensive, figure ~.1 CPU second per visitor to handle the public key exchange, and it starts to add up. There is a reason why GOOGLE doesn't use https for gmail by default (you have to manually type in https://mail.google.com/ to get gmail through SSL), the key echange is expensive, even by Google's standards.

      --
      Test your net with Netalyzr
    5. Re:Answers to questions in this thread by nweaver · · Score: 2, Informative

      Because people don't use SSL, and ISPs are actively inserting adds into web pages.

      ANd click the link anyway, we want to have as many people try it as possible.

      --
      Test your net with Netalyzr
    6. Re:Answers to questions in this thread by csreis · · Score: 3, Informative

      Actually, our test page happens to answer these questions, to some extent.

      All of our test pages are marked with "Pragma: no-cache" and "Cache-control: no-cache" in the HTTP response headers, but we're observing changes to the pages anyway.

      Our integrity checking mechanism uses AJAX requests (XmlHttpRequests) to fetch the test page. ISPs can't distinguish between an AJAX request and a normal page request (i.e., they both look like normal HTTP requests), so they inject ads into both. However, we're only asking for a normal HTML file with the AJAX request, so I can't comment on whether they would modify other types of XML data.

      Charlie

    7. Re:Answers to questions in this thread by slashd'oh · · Score: 2, Funny

      Wait a minute... I ordered Soft Serve vanilla but the server (Ice cream soft Serve Provider) added the sea salt and olive oil in transit.

    8. Re:Answers to questions in this thread by Compholio · · Score: 2, Insightful

      ISPs can't distinguish between an AJAX request and a normal page request (i.e., they both look like normal HTTP requests), so they inject ads into both.
      Under normal circumstances AJAX and "normal" requests are the same; however, AJAX has a "setRequestHeader" parameter that can be used to set additional headers. This is significant in that HTTP/1.1 states:

      The Cache-Control general-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain.
      You've already proved that the cache is violating the HTTP/1.1 RFC by ignoring the response header, I am curious as to whether it ignores the request header as well.
    9. Re:Answers to questions in this thread by EvanED · · Score: 2, Insightful

      Oh c'mon. You're looking at the uncommon case. Do you really want to suggest that even a sizable minority of the sites you visit on a daily basis use HTTPS?

      I visit my banking site a couple times a week. I shop online a couple times a month. I read email online more commonly, but not *that* commonly from a web browser.

      By contrast, I visit /. several times a day, I visit Fark a couple times a day, I visit a couple blogs a time or two a day, I visit CNN a couple times a day, I visit a couple other forums a couple times a day each, etc. NONE of these sites use SSL.

  5. Frames by benhocking · · Score: 2, Insightful

    What if the ISP is simply putting the web-page in its own frame, and the advertisement in a second frame? Unless you add the ability for web-pages to dictate that they should not be in frames, this one can't really be trapped for like that. The ISP could create its own hash for the served web-page that holds the frames.

    --
    Ben Hocking
    Need a professional organizer?
    1. Re:Frames by mdm-adph · · Score: 2, Interesting

      ...Unless you add the ability for web-pages to dictate that they should not be in frames, this one can't really be trapped for like that...

      <script language="JavaScript" type="text/javascript">
      <!--
      if (top.location != location)
      {
      top.location.href = document.location.href ;
      }
      -->
      </script>
      That should do it. ;)
      --
      It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
    2. Re:Frames by VGPowerlord · · Score: 2, Interesting

      If the ISP is inserting it into a frame on the fly, you've successfully created a page that will continually try to reload itself, as it will never be the topmost ancestor.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    3. Re:Frames by ixl · · Score: 2, Interesting

      The hash would have to be signed by the originating website. So the frame would be detected, because the hash wouldn't be signed by the domain name that created the other content. Browsers could also display (at least) a warning when an unsigned frameset included a signed frame.

    4. Re:Frames by Impy+the+Impiuos+Imp · · Score: 2, Interesting

      > What if the ISP is simply putting the web-page in its own frame, and the advertisement in a second frame?

      What if we just jail the billionaires who own the ISPs for altering the copyrighted content of web pages?

      A 99.9999997183% decrease in salary for hours worked accompanied by a change in lovers from Big Boobs to Big Bubba might be just what the doctor ordered.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  6. Please don't post negative results! by maggard · · Score: 4, Informative

    No need for thousands of "All good in Kalamazoo" & "Up to date in Kansas City" posts.

    --
    I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
  7. A possible workaround by Spy+der+Mann · · Score: 4, Informative

    A friend of mine had a similar problem with his webpages. They were on a free host (rolls eyes). I wrote a script for him to store special tags to denote the beginning and the end of his webpage content. After the webpage was loaded, a script erased everything and replaced all the html with his marked content. Ta-da, no ads!

    If you want to be stricter, encode your webpage content with base64 to make sure the ads don't intrude your precious content.

    1. Re:A possible workaround by Raistlin77 · · Score: 5, Insightful

      I'll bet that his user agreement with that free host also clearly states that circumventing their added content in the manner that your script does is prohibited. If they discover your script, they'll likely disable his account.

    2. Re:A possible workaround by Excors · · Score: 3, Informative
      For sites like GeoCities that add

      </object></layer></div></span></style></noscript>< /table></script></applet>(...adverts...)
      to the bottom of your page to stop you trying to hide their adverts, it could be good to add <plaintext style="display: none"> to your page just before the point where they add their junk. plaintext is the unstoppable monster of HTML – there is no closing tag, and the rest of the page will be treated as plain text instead of HTML. It's a slightly obscure feature, but it has better support between web browsers than many other parts of HTML and it can be fun to play with...
  8. Re:What ISPs do this? by Anonymous Coward · · Score: 2, Interesting

    My hosting service (the University of Minnesota) sticks a little legal disclaimer (some h5 tags) in a contrasting colot at the bottom of every HTML page it serves for non-official accounts. It's the typical "The University of Minnesota is not responsible for the content...blah blah blah" message.

  9. Inserting Ads by NeoTerra · · Score: 3, Funny

    A certain ISP in Canada delt with this not long ago...

  10. Re:I've got a better method... by brunascle · · Score: 2, Informative

    they're not talking about the ISP hosting the web page, they're talkign about your ISP adding ads to random sites that you visit. client-side, not server-side.

  11. Re:Huh? by fullmetal55 · · Score: 2, Informative

    It's not the host ISP that's inserting the ads, It's the "Client" ISP, for example Joe Smith buys a computer and buys high speed internet from "ECI" the Evil Cable ISP. Joe Smith visits Bob's Website, Bob, who hates ads never put any on his webpage, and instead makes his money through online sales of his product. Now Joe loads up Bob's webpage to purchase a widget from Bob, and he sees Ads all over Bob's Website. Bob who has GHI (Good Highspeed ISP) visits his website and there's no ads. ECI is putting the Ads on Bob's website. and collecting all the revenue from those ads. Profiting off of Bob's Website.

  12. What about upstream modification by SeanTobin · · Score: 5, Funny

    It seems that everyone is concerned about downstream modification, and is completely ignoring the possibility of upstream modification. What if Sprint started modifying upstream http-posts to start a more viral ad distribution system? Not only would they be able to target their customers, they would also be able to target the customers of anyone who could read the post!

    This is the reason that we need to push for network neutrality. When the only choices are between a giant douche which alters content and a turd sandwich which alters content, the customer ends up screwed in the end.

    --
    Karma: SELECT `karma` FROM `users` WHERE `userid`=138474;
  13. Analyses by nweaver · · Score: 2, Informative

    We've seen a couple cases of NebuAdd, one other that looks interesting, and a fair amount of addblocking/firewall software (eg, ZoneAlarm does some modifications)

    We are waiting for the Slashdot and DIGG deluges to pass, however, before we have a more detailed analysis.

    --
    Test your net with Netalyzr
  14. They WANT to be slashdotted by ookabooka · · Score: 2, Informative

    These guys actually want as much traffic as they can get to get a good idea of what isps are doing what. Go ahead, click online tool. It's pretty nifty.

    --
    If you are about to mod me down, keep in mind that this post was most likely sarcastic.
  15. Old stuff. by TheLink · · Score: 3, Interesting

    Years ago on one April Fool's day, I got a list of ad sites (from the usual /etc/hosts files out there), then got the internal DNS server to resolve them to a server that served up the company logo instead (for all possible url paths).

    FWIW, seemed only one person noticed that the forbes page they loaded somehow had the company logos everywhere :). Nope I didn't get fired or even reprimanded - plus even better - I was saving company bandwidth (remember this was years ago)... Nobody complained about the lack of ads from ad.doubleclick.net and gang.

    I toyed with the idea of substituting ads with reminders (meeting at 2pm, or "you have been on slashdot for 2 hours!") and other more useful information.

    Lastly, I don't think their naive hashing thing checks if you are altering the images - the content may remain unchanged, but linked to contents may change (they aren't checked from what I see), so it doesn't work for my scenario where different ads are substituted for the unaltered URL.

    That said, I'm still curious on:
    1) How many ISPs would bother modifying traffic from those 7 destinations they are testing.
    2) What the various laws around the world say about this.
    3) What those laws say about "sponsored internet access" where an ISP gives a cheaper package/plan where the ads are substituted with the ISPs advertisers with the risk of some corrupted info.
    4) What those laws say about "streamlined internet access" where an ISP provides a package/plan where ads and other crap are removed (or modified) for their customer.

    --
  16. If it's happening near the client.. by Sloppy · · Score: 2, Insightful

    ..why not just use SSL?

    I can understand how this wouldn't help with hosting ISPs who insert ads into their own customers' pages, but if you're worried about your readers' ISPs modifying your pages, SSL seems like a no-brainer.

    What's the downside? It can't still be CPU, can it? It's 2007 now, and processing power is ridiculously cheap/fast.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  17. Re:I've got a better method... by spun · · Score: 3, Informative

    Are you pretending to be mentally challenged in order to troll, or do you really not understand even after having it explained to you a little further up the page? It is not the developer's ISP, or the hosting ISP that is doing this! It is the ISP of the people looking at the page. So, you left out a step in your patented eyeball method: signing up for every ISP in existence and loading your page, to see if that particular ISP does it.

    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
  18. Not quite... by nweaver · · Score: 3, Interesting

    This is a war however which we can make damn difficult by using virus-like mutation techniques, so that every checker looks different: force THEM to solve the AV defender arms race.

    As long as the actual API used by the Javascript is common enough that the ad-injectors can't recognize and block our code by keeing in on the API calls rather than the overall Javascript.

    The proper solution, adding integrity checking to all HTTP, seems like its not happening.

    --
    Test your net with Netalyzr