Vulnerabilities / Threats
8/8/2013
08:45 AM
Connect Directly
RSS
E-Mail
50%
50%
Repost This

Timing Attacks On Browsers Leak Sensitive Information

Variations in the redraw times of graphical elements could allow an attacker to see sites a user has visited, sensitive information

Two attacks discovered by a security consultant exploit the way modern browsers render text and graphics to allow a malicious site to read sensitive information from other websites and expose a user's browsing history to an attacker.

Click here for more of Dark Reading's Black Hat articles.

In the research, presented at last week's Black Hat USA conference, security consultant Paul Stone of Context Information Security found two separate but related attacks using functions in the latest version of the Hypertext Markup Language, HTML5.

In the first, timing differences in the way visited and unvisited links are drawn by the three major browsers--Microsoft Internet Explorer, Mozilla Firefox and Google Chrome--allow an attacker to determine whether a link is in the user's browser history. The same timing technique can be used to determine whether certain pixels are black or white, allowing an attacker to read a small amount of text, such as usernames, website cookie data, and other sensitive information.

"The reasons these things exist are because the developers put [code] optimizations in there to speed up the browser," Stone says. "When you fix them, it is a tradeoff between speed and privacy and security."

In the first half of the research, Stone investigated variations in the time it takes to draw links to determine if the links are in the user's browser history. The browser makers fixed such history sniffing in 2011, after researchers found that 46 of the top 50,000 websites were using the technique to spy on users.

Stone found that a new HTML5 function could be used to perform some graphics-intensive work and then test for delays in the redrawing of links. The redrawing shows up as slower refresh rates in Firefox and IE, as the browser applies the graphic-intensive transforms when the link is set to the visited color. Chrome is also vulnerable, but a slightly different technique has to be used to test each link, Stone says.

"You are drawing the links in the screens, and you can slow things down by using text shadow, and it's slow to draw," Stone says. "And you would make them invisible by making them tiny or transparent, so the users would not be aware of the attack."

Using the timing attack, he could check a browser's history against 13- to 20 URLs per second for Firefox and Internet Explorer and up to 30 per second for Chrome. However, by consecutively chopping a list in half and testing each half, the technique could parse a a list of 1,000 websites in about 17 seconds, depending on the number of visited links in the list, he says.

The research impressed Robert Hansen, director of product management at White Hat Security and one of the researchers who discovered clickjacking.

"I was blown away," he says. "He brought back an attack that was theoretically supposed to be dead. Guys like Jeremiah [Grossman] and I researched this and found no obvious way around it. "

[Researchers demonstrate how ads invoking JavaScript on viewers' browsers en masse could create untraceable networks to wreak DDoS damage. See Creating Browser-Based Botnets Through Online Ad Networks.]

In the second half of the research, Stone discovered that Firefox's implementation of certain filters for scalable vector graphics (SVG) led to differences in rendering that could be exploited for a variety of attacks. Using a specific filter, Stone found differences between a function provided with a white pixel or a black pixel. The technique could be used to sniff a browser history by making visited links have a white background and unvisited links have a black background.

Yet, the technique could also be used to determine the content of blocks of text. If the attacker knows the font and the location of text on a page, they could load in a targeted page into an iFrame and read specific pixels. But reducing each letter in a specific font to the minimum group of pixels that are different, the knowledge of certain pixels could allow text to be read fairly quickly. Using the technique, Stone was able to sniff the username and contact information from a targeted user's Google+ account in about 15 seconds. Because Firefox allows a site's source code to be opened in an iFrame, other sensitive information could be stolen as well.

The research is creative, unique, and extremely well-presented, says David Aitel, chief technology officer of penetration-testing tool maker Immunity.

"The fact is, he can read your Gmail," Aitel says. "This is a universal vulnerability, it's hard to fix, and that's what we look for in good research."

While Firefox has created a fix for the first issue, timing attacks are a hard problem to solve. Major websites have adopted the XFrameOptions tag--a sign to browsers to not load the site into an iframe--which should prevent the latter attack from working, but it's a workaround at best, says Aitel.

"This is not the sort of issues a user can mitigate," he says. "It is an issue that manufacturers and standards authors need to mitigate."

Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message. Robert Lemos is a veteran technology journalist of more than 16 years and a former research engineer, writing articles that have appeared in Business Week, CIO Magazine, CNET News.com, Computing Japan, CSO Magazine, Dark Reading, eWEEK, InfoWorld, MIT's Technology Review, ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
AccessServices
50%
50%
AccessServices,
User Rank: Apprentice
8/12/2013 | 11:44:35 AM
re: Timing Attacks On Browsers Leak Sensitive Information
Very ingenious. I would have never thought this would be possible. However, it sounds like they are sniffing the packets between the client and web servers. If the person viewing the page was using encryption (https), I believe that this method would no longer work.
Register for Dark Reading Newsletters
White Papers
Cartoon
Latest Comment: LOL.
Current Issue
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2011-3154
Published: 2014-04-17
DistUpgrade/DistUpgradeViewKDE.py in Update Manager before 1:0.87.31.1, 1:0.134.x before 1:0.134.11.1, 1:0.142.x before 1:0.142.23.1, 1:0.150.x before 1:0.150.5.1, and 1:0.152.x before 1:0.152.25.5 does not properly create temporary files, which allows local users to obtain the XAUTHORITY file conte...

CVE-2013-2143
Published: 2014-04-17
The users controller in Katello 1.5.0-14 and earlier, and Red Hat Satellite, does not check authorization for the update_roles action, which allows remote authenticated users to gain privileges by setting a user account to an administrator account.

CVE-2014-0036
Published: 2014-04-17
The rbovirt gem before 0.0.24 for Ruby uses the rest-client gem with SSL verification disabled, which allows remote attackers to conduct man-in-the-middle attacks via unspecified vectors.

CVE-2014-0054
Published: 2014-04-17
The Jaxb2RootElementHttpMessageConverter in Spring MVC in Spring Framework before 3.2.8 and 4.0.0 before 4.0.2 does not disable external entity resolution, which allows remote attackers to read arbitrary files, cause a denial of service, and conduct CSRF attacks via crafted XML, aka an XML External ...

CVE-2014-0071
Published: 2014-04-17
PackStack in Red Hat OpenStack 4.0 does not enforce the default security groups when deployed to Neutron, which allows remote attackers to bypass intended access restrictions and make unauthorized connections.

Best of the Web