Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

8/8/2013
08:45 AM
50%
50%

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. Veteran technology journalist of more than 20 years. Former research engineer. Written for more than two dozen publications, including CNET News.com, Dark Reading, MIT's Technology Review, Popular Science, and Wired News. Five awards for journalism, including Best Deadline ... 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
Video
Cartoon Contest
Current Issue
Navigating the Deluge of Security Data
In this Tech Digest, Dark Reading shares the experiences of some top security practitioners as they navigate volumes of security data. We examine some examples of how enterprises can cull this data to find the clues they need.
Flash Poll
Rethinking Enterprise Data Defense
Rethinking Enterprise Data Defense
Frustrated with recurring intrusions and breaches, cybersecurity professionals are questioning some of the industrys conventional wisdom. Heres a look at what theyre thinking about.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-19317
PUBLISHED: 2019-12-05
lookupName in resolve.c in SQLite 3.30.1 omits bits from the colUsed bitmask in the case of a generated column, which allows attackers to cause a denial of service or possibly have unspecified other impact.
CVE-2019-19602
PUBLISHED: 2019-12-05
fpregs_state_valid in arch/x86/include/asm/fpu/internal.h in the Linux kernel before 5.4.2, when GCC 9 is used, allows context-dependent attackers to cause a denial of service (memory corruption) or possibly have unspecified other impact because of incorrect fpu_fpregs_owner_ctx caching, as demonstr...
CVE-2019-19601
PUBLISHED: 2019-12-05
OpenDetex 2.8.5 has a Buffer Overflow in TexOpen in detex.l because of an incorrect sprintf.
CVE-2019-19589
PUBLISHED: 2019-12-05
The Lever PDF Embedder plugin 4.4 for WordPress does not block the distribution of polyglot PDF documents that are valid JAR archives.
CVE-2019-19597
PUBLISHED: 2019-12-05
D-Link DAP-1860 devices before v1.04b03 Beta allow arbitrary remote code execution as root without authentication via shell metacharacters within an HNAP_AUTH HTTP header.