Skip to content
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

Open
wants to merge 1 commit into
base: gh-pages
Choose a base branch
from

Conversation

tomrittervg
Copy link

Here is a first pass at addressing #44

Copy link
Member

@mikewest mikewest left a 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>
Copy link
Member

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.

Copy link
Author

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]].
Copy link
Member

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.

Copy link
Author

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?

Copy link
Member

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.

@tomrittervg tomrittervg force-pushed the 2025-01-29-tjr-ephemeral-fingerprinting branch from 8d4c1b4 to d4248a3 Compare February 3, 2025 18:53
Copy link
Member

@mikewest mikewest left a 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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants