Contact emails

wanderv...@chromium.org, b...@chromium.org, rtarp...@chromium.org,
j...@chromium.org

Explainer

https://github.com/privacycg/nav-tracking-mitigations/blob/main/bounce-tracking-explainer.md

Specification

https://privacycg.github.io/nav-tracking-mitigations/#bounce-tracking-mitigations

Summary

This feature mitigates bounce tracking on the web.  It works by deleting
state from sites that access storage during a redirect that the user has
never directly interacted with.  See the specification for more details.

Blink component

Privacy>NavTracking
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Privacy%3ENavTracking>

TAG review

https://github.com/w3ctag/design-reviews/issues/862

TAG review status

Issues addressed

Risks

Interoperability and Compatibility

The main risk is that we will incorrectly delete state for a site that the
user needs to continue functioning.  Our approach attempts to address this
with a number of signals:


   -

   If a user has interacted with the site within the last 45 days, we will
   not delete its state.
   -

   We are adding successful webauthn key assertions as another
   "interaction" source in M117 to address SSO use cases that only require
   security taps to stay logged in.
   -

   We only delete state if the potential tracking site is not permitted as
   a 3P cookie.  This allows users and enterprises to grant permission to
   maintain state on these sites through existing mechanisms.


We have documented some known use cases at-risk
<https://github.com/privacycg/nav-tracking-mitigations/issues?q=is%3Aopen+is%3Aissue+label%3Abounce-tracking+label%3Aat-risk-use-case>
.

In particular, since 3P cookies are default allowed today, this feature
will only have an immediate impact on users that have opted into 3P cookie
blocking or incognito where 3P cookies are blocked by default.

Ergonomics

Minimal ergonomic risk.  There are no direct APIs to call here.  We are
deleting state for sites behind the scenes.  We do not delete state for
sites that are currently open.  We have devtools enhancements to help
developers understand the process.

Activation

No activation risk.  There is nothing to polyfill.

Security

This feature does incrementally worsen existing XS-Leaks in the browser by
exposing an additional bit of information.  Attackers can learn if a user
has interacted with a site within the last 45 days if they are able to
trigger a stateful bounce on the target site and execute a XS-Leak attack
to detect the existence of cookies or state on the site.  Since bounce
tracking mitigations are only enforced when 3P cookies are blocked,
however, the XS-Leak must use navigations and not subresource attacks.

We feel the best solution to this problem is to invest in fixing
navigation-based XS-Leaks.  The additional bit of interaction information
leaked in the meantime is not ideal, but it has limited utility if an
attacker can already tell if there is state on the target site.  We are
interested in collaborating with the security team to help address the
underlying XS-Leak.

WebView application risks

We are purposely excluding WebView from this launch so we can evaluate
impact to that platform separately.

Debuggability

We issue devtool "issues" when a site may potentially be deleted as a
bounce tracking.  In addition, we have a devtools application panel to
force the bounce tracking algorithm to run immediately.  See the
screenshots in this blog post
<https://developer.chrome.com/blog/bounce-tracking-mitigations-dev-trial/>.

Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?

All except WebView.  We would like to evaluate the impact to WebView in a
separate launch.

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?

No, unfortunately.  Since this feature runs off of a long duration timer we
cannot construct a WPT test case.  We need wpt#17489
<https://github.com/web-platform-tests/wpt/issues/17489> to be fixed in
order to correct this.

Flag name

DIPS

Requires code in //chrome?

Yes.  We must integrate with features like the chrome sign-in manager,
TabHelper, etc.  We are, however, actively working to move other code into
the content// layer.

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1360489

Measurement

We are measuring UKM for sites that have state deleted by bounce tracking
mitigations.

Availability expectation

Our initial MVP implementation is launching to all platforms with the
exception of WebView.  In addition, bounce tracking mitigations are only
enforced in situations where the tracking domain is not permitted as a 3P
cookie.

Adoption expectation

There is no specific API to adopt for this effort, but we only enforce the
bounce tracking mitigations when 3P cookies are blocked.  Therefore we
expect it to have a greater impact as 3P cookie blocking becomes more
common in the future.

Adoption plan

N/A

Non-OSS dependencies

None

Sample links

https://bounce-tracking-demo.glitch.me/

Estimated milestones

Gradual rollout during M116.  Webauthn interaction support will take effect
in M117.

Anticipated spec changes

We have written a monkey-patch spec here:

https://privacycg.github.io/nav-tracking-mitigations/#bounce-tracking-mitigations

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5705149616488448

Links to previous Intent discussions

https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMi_7z0-yeTbBiE43V5SD1ri4jSVxrkR8Gs%3DD0NRoRKivA%40mail.gmail.com

https://groups.google.com/a/chromium.org/g/blink-dev/c/vyXWn1W1daA/m/tL3f1_WbAwAJ

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMhBxsxD-V15C0idt4OULm72Oac2yT_hVyPf3noUxex0LA%40mail.gmail.com.

Reply via email to