Live data from Hacker News

Pixel-perfect timing attacks with HTML5

contextis.co.uk

21–30 of 47 posts

Re: Pixel-perfect timing attacks with HTML5

#21
post #5

Earlier quoted context omitted.

> There's no reason, for example, that the logged-in portion of a banking site should need to use JS. Said no one who has ever had to develop a decent web ui.

Ah! The opinion of someone who cares nothing about the functionality of the web as a whole. JavaScript shouldn't be considered essential to use a website. If it is, the site has failed as it's job.

Not if you want to give the user decent affordances in the UI on non-HTML5 browsers.

Re: Pixel-perfect timing attacks with HTML5

#22
post #9

The paper describes how to prevent the sniffing attack: Website owners can protect themselves from the pixel reading attacks described in this paper by disallowing framing of their sites. This can be done by setting the following HTTP header: X-Frame-Options: Deny This header is primarily intended to prevent clickjacking attacks, but it is effective at mitigating any attack technique that involves a malicious site lo…

One issue with this is that some sites need to allow iframes from a whitelist of other sites (e.g. facebook apps). I'm working on a solution right now with the Referer header (which points to the container site on initial iframe load). This solution is complicated a little by navigation within the whitelisted iframe, but that should be fixable with cookies (e.g. an "original_referer" cookie).

Re: Pixel-perfect timing attacks with HTML5

#23
post #18
post #3

This is a fascinating attack. Definitely read the bits on the SVG filter timing attacks. They construct something that allows distinguishing black pixels from white pixels, apply a threshold filter to an iframe, and then read out pixels from the contents of that iframe. Then they turn this around, set an iframe's src to "view-source: https://example.com/" , and read out information from there (in a more efficient man…

I love the way timing attacks seem so unlikely but actually easy ways to extract information. Everything about this attack is beautiful. A serious of seemingly unrelated issues that don't appear like a problem from the outside but when combined produce a solid attack that you could roll out today. Well worth reading through the whole article.

A lot of security issues start at one seemingly innocuous little toehold and then use, abuse, and combine the hell out of it to do surprising and obviously-undesirable things with it. That's what I find so beautiful about this sort of hack.

Re: Pixel-perfect timing attacks with HTML5

#25
post #7

These same guys had previously used WebGL to suck out text in the same way; unfortunately the demo is no longer at the same URL, but it is what's responsible for the fairly weird implementation of CSS Shaders: http://www.schemehostport.com/2011/12/timing-attacks-on-css-... It's amazing that the same thing can be observed with the standard SVG software filters, though. I'd imagine that using X-Frame-Deny as they sugge…

Would X-Frame-Options:DENY work to mitigate the view-source: attack?

Re: Pixel-perfect timing attacks with HTML5

#26
For those, like me, wondering why that 'detect visited' hack doesn't simply bolden visited links or changes its font or font size and uses getComputedStyle or getBoundingClientRect [1] to see whether that changes the bounds of the element: that trick has been mitigated three years ago. See http://hacks.mozilla.org/2010/03/privacy-related-changes-com....

[1] not explicitly mentioned there, but I think the solution described intends to plug that hole, too.

Re: Pixel-perfect timing attacks with HTML5

#27
post #5

Earlier quoted context omitted.

> There's no reason, for example, that the logged-in portion of a banking site should need to use JS. Said no one who has ever had to develop a decent web ui.

That's what I do professionally, and I can say with confidence that a banking website does not need to use JS. There is no functionality there that can't be done the old-fashioned way. Online banking does not need to be a rich HTML5 experience, and online banking worked just as well as it does today before the modern trend of trying to make everything act like a desktop app. Would developing the UI without using JS b…

See https://www.pncvirtualwallet.com/tour/online-money-managemen... for helpful use of JS in online banking

Re: Pixel-perfect timing attacks with HTML5

#28
post #8
post #2

These attacks are getting more and more creative. I begin to think that there is no such thing as perfect security in a world that constantly demands new features.

There is no such thing as perfect security.

You can always turn the device off.

It really is a matter of features and how they're implemented.

Good luck picking a byte that can exploit a 7400.

Re: Pixel-perfect timing attacks with HTML5

#29

Earlier quoted context omitted.

That's what I do professionally, and I can say with confidence that a banking website does not need to use JS. There is no functionality there that can't be done the old-fashioned way. Online banking does not need to be a rich HTML5 experience, and online banking worked just as well as it does today before the modern trend of trying to make everything act like a desktop app. Would developing the UI without using JS b…

Developing the UI without using JS wouldn't be harder , it would make the UI less usable . As a user of online banking software, I don't think it worked at all as well "before the modern trend of trying to make everything act like a desktop app", I think it totally sucked. Maybe that's a worthwhile security trade-off, but let's at least talk about the real trade-off.

Every online banking site I've used had a UI that could be entirely recreated without using JS, with literally no perceivable difference to the user. I have never once said "Man, I sure wish I could get to my balance without a new page loading when I clicked the link."

Re: Pixel-perfect timing attacks with HTML5

#30
post #8

Earlier quoted context omitted.

There is no such thing as perfect security.

You can always turn the device off. It really is a matter of features and how they're implemented. Good luck picking a byte that can exploit a 7400.

If we're only talking about exploiting a device across a network, sure turn it off or disconnect it from the network. But there's more to security than that.

One can always take the device and turn it on for oneself.

If one can't exploit the device, one can resort to rubber-hose cryptanalysis.

Post reply on HN