-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add references for Ephemeral Fingerprinting #74
base: gh-pages
Are you sure you want to change the base?
Add references for Ephemeral Fingerprinting #74
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with some nits inline:
index.html
Outdated
<section> | ||
<h3 id="ephemeral">Ephemeral</h3> | ||
<p><dfn>Ephemeral fingerprinting</dfn> is a technique to associate separate simultaneous sessions on a device with one another using observations of events that occurr near simultaneously on multiple origins [[?EPHEMERAL-FINGERPRINTING]]. These events are typically fired as a result of a change in hardware or environment, such as MediaDevices.devicechange [[?mediacapture-streams]].</p> | ||
<p>Ephemeral fingerprinting is not typically a concern except in certain threat models - it is only useful when an attacker is unable to link two sessions via an active fingerprint, which would typically include the user's IP address. In certain scenarios this may not be possible - ephemeral fingerprinting can be used to link sessions between two entirely different browser applications, or between two tabs that are sent over different network connections.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: It's a little strange to talk about IP address as "active" here given the active/passive distinction defined above. Perhaps framing this as an ephemeral vs long-lived fingerprint? Device-based? Some other word that makes more sense? "Active" just seems overloaded.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. I changed the sentence around a bit, do you think this is better?
index.html
Outdated
<h3 id="ephemeral">Ephemeral</h3> | ||
<p><dfn>Ephemeral fingerprinting</dfn> is a technique to associate separate simultaneous sessions on a device with one another using observations of events that occurr near simultaneously on multiple origins [[?EPHEMERAL-FINGERPRINTING]]. These events are typically fired as a result of a change in hardware or environment, such as MediaDevices.devicechange [[?mediacapture-streams]].</p> | ||
<p>Ephemeral fingerprinting is not typically a concern except in certain threat models - it is only useful when an attacker is unable to link two sessions via an active fingerprint, which would typically include the user's IP address. In certain scenarios this may not be possible - ephemeral fingerprinting can be used to link sessions between two entirely different browser applications, or between two tabs that are sent over different network connections.</p> | ||
<p>Ephemeral fingerprinting may be possible with complex CSS, but typically requires JavaScript and it can be done in a passive manner where JavaScript merely observes events, or it can be done in an active manner by heavily utilizing resources such as the CPU or GPU that another origin can observe. This type of attack between cooperating origins is typically referred to as a "covert channel" and there have been many papers about them using different techniques, for example [[?RENDERING-CONTENTION]]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Likewise, "passive" here is strange given that it requires JavaScript execution. I get the distinction between directly reading data, and indirectly receiving information via handlers, but I feel like different words would be helpful. "Intentional"/"Unintentional"?
Nit: You closed </p>
above, but not here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. Looking back at it, I think reactive/proactive works well. Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good distinction, SGTM.
8d4c1b4
to
d4248a3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for taking another pass!
Here is a first pass at addressing #44