Google security researchers have published details about the flaws they identified last year in Intelligent Tracking Protection (ITP), a privacy scheme developed by Apple's WebKit team for the company's Safari browser.
In December, Apple addressed some of these vulnerabilities (CVE-2019-8835, CVE-2019-8844, and CVE-2019-8846) through software updates, specifically Safari 13.0.4 and iOS 13.3. Those bugs could be exploited to leak browsing and search history and to perform denial of service attacks.
But they're not quite fixed, according to Google's boffins. In a paper [PDF] titled, "Information Leaks via Safari's Intelligent Tracking Prevention," authors Artur Janc, Krzysztof Kotowicz, Lukas Weichselbaum, and Roberto Clapis claim that the proposed mitigations "will not address the underlying problem."
And on Wednesday, Justin Schuh, Google engineering director for Chrome security and privacy, made a similar claim via Twitter. Google, he said, had found similar security flaws in a Chrome tool called XSS Auditor and had decided they were fundamentally unfixable.
"After several back and forths with the team that discovered the issue, we determined that it was inherent to the design and had to remove the code," he explained.
Schuh expressed skepticism that Apple will be able to salvage ITP. "They attempt to mitigate tracking by adding state mechanisms, but adding state often introduces worse privacy/security issues," he wrote.
The Register asked famously non-communicative Apple to weigh in. And as might be expected, we haven't heard back.
Intelligent Tracking Protection's reason for being is to protect users from being tracked online. It tries to do so by preventing web resources from being loaded in a third-party context. For example, it stops third-parties (e.g. Google) from knowing when users visit non-Google websites that contain code for fetching Google resources (e.g. images or scripts).
But the techniques ITP uses to shield users from third-party tracking are trackable, Google says.
You had one job, Cupertino: Apple's Intelligent Tracking Protection actually gets tracking protectionREAD MORE
One such method involves creating a list of websites that make cross-site resource requests and counting an "ITP strike" when that happens. Given enough of these, ITP takes steps to enforce privacy, specifically removing relevant cookies and trimming the Referer header so it only includes the origin (domain) instead of the referring document's full URL. This reduces the information available to infer a user's identity and to associate it with third-party requests from other websites.
"As a result of customizing the ITP list based on each user’s individual browsing patterns, Safari has introduced global state into the browser, which can be modified and detected by every document," the paper explains. "Any site can issue cross-site requests, increasing the number of ITP strikes for an arbitrary domain and forcing it to be added to the user’s ITP list."
In effect, ITP's global list can be force-fed new entries which can then be read to reveal the ITP state for any domain, a process not unlike the side-channel techniques used to probe processor memory registers. The end result is that ITP itself is a fingerprinting vector.
"What you end up with is a personalized anti-tracking model baked into your browser," explained Artur Janc, a Google security engineer and one of the paper's co-authors, via Twitter. "That model is not only a unique identifier, but also reveals information about sites you visited since last clearing browsing state. That's not great."
The Google research paper describes five attacks and provides links to four PoC implementations (best experienced using Safari):
- 1) Revealing domains on the ITP list
- 2) Identifying individual visited websites
- 3) Creating a persistent fingerprint via ITP pinning
- 4) Forcing a domain onto the ITP list
- 5) Cross-site search attacks using ITP
Though the paper discusses mitigations, which Apple applied with its patches in December, it contends that the ITP fingerprinting attack and and the ITP list exposure attack should still be possible.
Janc credits Apple with trying to improve online privacy and observes that these side-channel concerns apply to anyone altering browser data based on locally gathered data where those changes can be detected remotely. ®