Attacks abusing Chrome’s HTTP cache | xxxAttacks abusing Chrome’s HTTP cache – xxx
菜单

Attacks abusing Chrome’s HTTP cache

七月 31, 2019 - BleepingComputer

Attacks abusing Chrome's HTTP cache

Google is planning to add a new security feature to the Chrome web browser designed to block potential attackers from launching side-channel attacks and tracking a user’s activity by abusing the browser’s HTTP cache.

The new feature will partition Chrome’s HTTP Cache “using top frame origin (and possibly subframe origin) to prevent documents from one origin from knowing whether a resource from a cross-origin was cached.”

This approach will prevent attackers from launching side-channel attacks employing malicious sites they control to detect if another site their target has visited is in their web browser’s cache.

Cache attacks can trigger the following types of information leaks according to the ‘Partition the HTTP Cache’ security feature’s Chrome Platform Status entry:

Detect if a user has visited a specific site: If the cached resource is specific to a particular site or to a particular cohort of sites, an adversary can detect user’s browsing history by checking if the cache has that resource.
Cross site search attack: There exists some cross site search attack proof of concepts which make use of the fact that some sites (gmail, google search, …) load a specific image when a search result is empty. By opening a tab and performing a search and then checking for that image in the cache, an adversary can detect if an arbitrary string is in your search results. 

In addition, the browser’s cache can also be used as a user fingerprinting method by storing cross-site super-cookies which require the targets to completely clear the browser’s cache to delete them.

Attacks abusing Chrome’s HTTP cache

This example HTTP cache-based attack shows how a bad actor can easily collect sensitive information about a Chrome user by abusing Google vulnerable endpoints. As explained by the researcher who documented this specific attack, “the impact varies from retrieving the private book collections to obtaining all the user’s contacts char by char.”

Vulnerable sites that could be used in these attacks range from Google’s Mail and Search to Google Books and YouTube. Users who would visit a maliciously designed website after browsing these Google websites could have their sensitive information exposed.

The types of data attackers could get their hands on in the event of a successful side-channel cache attack are a user’s:

• search history,
• videos watched
• the exact URLs visited
• time frames of the activities
• private book collection
• books read / purchased / bookmarked / favorite / etc.
• private emails
• tokens / credit card numbers / phone numbers / etc.
• frequency of mailing
• people the user’s email with
• contacts (including email addresses, names, phone numbers)
• private notes
• bookmarked websites
• and more

Changes needed to mitigate cache attacks

According to the feature’s design spec the “solution is to partition the disk cache by the origin of the top-frame of the page (e.g., what shows up in the omnibox) or by the combination of top-frame and sub-frame origins. This way resources loaded for one origin can’t be read by another and both problems are resolved.”

The current option to be used for cache isolation and cache attacks mitigation are:
• (top frame origin, request URL) as the double key
• (frame origin, request URL) as the double key
• (top frame origin + frame origin, request URL) as a triple key

The Chrome developers have currently proposed the “top-frame-origin for sub-resource requests and document initiator for shared/service worker requests” as the mitigation solution of choice, but they’re still collecting more data to make the final decision.

“Chrome hasn’t addressed this problem in the past due to concerns that the cache hit rate would be dramatically reduced, causing large increases in network usage and longer page loads,” says Google Software Engineer Shivani Sharma on the feature’s HTTP Cache Threat Model document.

“Recent experiments in canary and dev channels show that contrary to our earlier thinking, the losses would be acceptable.”

The end goal of the planned partitioned HTTP cache feature is to “prevent documents from one origin from knowing if a resource from a cross-origin document load was cached or not,” adds Sharma.

Out of all major browsers, Safari is the only one which has already implemented a version of this feature more than six years ago, while Mozilla already has shown that it publicly supports the new security enhancement and Microsoft hasn’t yet given any public signals of any plans to implement cache partitioning in their Edge browser.

Related Articles:

Enterprise Software May Transmit Data Without Your Knowledge

Google Chrome to Limit Referer Header Size to Block Attacks

Chrome 76 Released With Blocked Flash, Incognito Detection Fix

New York Passes Law to Update Data Breach Notification Requirements

Get 97% off The A to Z Cyber Security & IT Certification Training Bundle Deal

Forum Rules and Posting Guidelines

Bleeping Computer® is a community of individuals of all ages who are here to learn new information, to help each other, and to help their fellow peers. With that in mind, we ask that all members please follow these simple rules in order to create an atmosphere where everyone feels comfortable.

The rules are as follows:

Violation of any of these rules can lead to a banning of the user from our Web Site and a deletion of their account. The consequences will be determined by the Staff on a case by case basis.

When posting you agree that the administrators and the moderators of this forum have the right to modify, delete, edit or close any topic, signature, account, or profile data at any time that they see fit. If you have any questions concerning this, please do not start a new thread, but rather private message to an administrator or moderator.

contact us


Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51