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.
Commentary
Ransomware Is Not the Problem
Adam Shostack, Consultant, Entrepreneur, Technologist, Game Designer,  6/9/2021
Edge-DRsplash-11-edge-ask-the-experts
How Can I Test the Security of My Home-Office Employees' Routers?
John Bock, Senior Research Scientist,  6/7/2021
News
New Ransomware Group Claiming Connection to REvil Gang Surfaces
Jai Vijayan, Contributing Writer,  6/10/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win an Amazon Gift Card! Click Here
Latest Comment: Google's new See No Evil policy......
Current Issue
The State of Cybersecurity Incident Response
In this report learn how enterprises are building their incident response teams and processes, how they research potential compromises, how they respond to new breaches, and what tools and processes they use to remediate problems and improve their cyber defenses for the future.
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2021-31664
PUBLISHED: 2021-06-18
RIOT-OS 2021.01 before commit 44741ff99f7a71df45420635b238b9c22093647a contains a buffer overflow which could allow attackers to obtain sensitive information.
CVE-2021-33185
PUBLISHED: 2021-06-18
SerenityOS contains a buffer overflow in the set_range test in TestBitmap which could allow attackers to obtain sensitive information.
CVE-2021-33186
PUBLISHED: 2021-06-18
SerenityOS in test-crypto.cpp contains a stack buffer overflow which could allow attackers to obtain sensitive information.
CVE-2021-31272
PUBLISHED: 2021-06-18
SerenityOS before commit 3844e8569689dd476064a0759d704bc64fb3ca2c contains a directory traversal vulnerability in tar/unzip that may lead to command execution or privilege escalation.
CVE-2021-31660
PUBLISHED: 2021-06-18
RIOT-OS 2021.01 before commit 85da504d2dc30188b89f44c3276fc5a25b31251f contains a buffer overflow which could allow attackers to obtain sensitive information.