I do enjoy a deeply theoretical academic paper, but even better are those papers that take effort to determine how pragmatic an attack is. A Critical Evaluation of Website Fingerprinting Attacks takes a look at some of the theoretical attacks on Tor and see how likely they would work in the real world.
Better than that, it gives you a break down of the most likely attacks that users need to defend themselves against.
The attack that they’re reviewing here shouldn’t be confused with Browser Fingerprinting or other types of fingerprinting attacks. It refers to an adversary being able to deduce what website you’re going to.
The premise in previous papers has been that on low-latency anonymity networks (like tor), attackers can analyze your connection and guess which page you’re visiting. For example, when you go to https://www.google.com, you are visiting a page that has a predictable size, response time, and predictable number of secondary page requests being made.
The Size Correlation Fingerprint
One of the most rudimentary attacks is an adversary that stands between a user and Tor to see the packets being sent out and the size of the packets returned. In this simple approach, it’s possible for an attacker that has a database of websites and their possible sizes, is able to guess which sites a user is visiting.
Defense: “Padding” is considered a defense against website fingerprinting because it adds arbitrary data to your request that makes it harder for an attacker to correlate your visit to the actual website in question.
The Tor Project has made a decision not to implement padding. On purpose. They’re now taking a look at research that might mean that adding small amounts of padding will have a major affect. It’s yet to be concluded.
Other defenses that the paper goes into are what happens when there are multiple tabs being opened and what about the situation where something else on the network is padding things for you. The latest TBB has a nice feature that makes a separate connection in multiple tabs.
The Behavioral Fingerprint
One of the most discussed tactic was to take a pile of University students', watch the websites that they visit over multiple days, and then watch for similar patterns sent over Tor.
The basis of this attack is that you visit web pages in a linear order. You will go to your favorite news site, then Facebook, then your boyfriend’s blog, and then your favorite shopping site. Often times, you will go in the cycle of visits multiple times over the course of a day.
Attackers knowing the potential sizes of pages, the loading time of a site, and other quantifiable factors, can fingerprint your browsing behavior.
Defense: There are two options that I’m sure you can imagine: Don’t ever switch between dark and clear or make sure that your behavior is completely different on a dark persona.
Targeted vs Untargeted
There’s a major different in the attack vectors between an adversary targeting you as an individual, versus what the paper calls a “drag-net” approach.
- Targeted attacks have less reward but are more accurate
- Untargeted attacks have more reward but are more difficult to identify high value targets
Which is most likely? While the most paranoid of us believe we are being targeted (and we should), unless you are truly a high-value target, there are not many groups trying to specifically launch a targeted attack. But a mass surveillance situation is a much more likely scenario.
Defense: Burn, and burn often. The premise of my OPSEC model is to never give someone a chance to correlate between two different identities. If you’re able to do that, you’re able to defend against either of these attack scenarios.
Long story short, some of these academic papers talking about potential attacks, take a substantial investment. That being said, we know there are organizations interested in investing those resources, but at the same time, a targeted attack on individual computers is less likely than a mass surveillance situation. Be aware that these attacks exist and never visit your favorite websites across multiple identifies.