How to protect users exposed to cache poisoning attacks by HTML5

I know several users around the office that cache webpages for use offline, but this is apparently a security issue in HTML5 that exposes them to cache poisoning. What details can you provide about this threat? Can you provide any advice on how users can safely cache webpages offline?

    Requires Free Membership to View

Ask the expert

Have questions about enterprise information security threats for expert Nick Lewis? Send them via email today! (All questions are anonymous.)

HTML5 offers users the ability to cache a webpage offline like a traditional full-client application can cache content offline. This scenario could lead to data not being updated as often as desired, or users may assume the data they are using is a legitimate copy of the most recent data from the server.

Attack and Defense Labs described an HTML5 cache poisoning attack at Blackhat 2010 and on the organization's blog. Basically, the attack targets the HTML5 application cache by performing a man-in-the-middle attack when using a cached Web application. The responses from the Web server are modified so that the client loads the attacker's website, including the malicious JavaScript that has been inserted. This JavaScript can then be used to steal passwords and other sensitive data.

To defend against cache poisoning, users can rely on a VPN to stop the required man-in-the-middle attack, though relying solely on SSL without a VPN won't protect a user if SSL man-in-the-middle attack tools are used.

There are a couple of things users who want to safely cache Web pages offline should do to secure the cached data. First, they should make sure any sensitive data is properly encrypted because it is stored on the local system. They could also use the private or incognito browsing version where webpages aren't cached, or manually clear all of their Web caches because application caches are managed separately. HTML5 developers could learn from some traditional full-client applications and their use of integrity checks and hashes, both of which can ensure the legitimate version of the cached application is being used.

This was first published in December 2012

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: