On Tue, Aug 29, 2023 at 1:40 AM Yoav Weiss <yoavwe...@chromium.org> wrote:

> I agree that WPT infrastructure shouldn't be a blocker when we're
> following other browsers.
>

Thank you.

Have y'all tested the mitigation with commonly used authentication/payment
> flows, to make sure it doesn't break them?
>

We have been dogfooding and not run into any issues with auth/payment
flows.  We are also collecting UKM metrics on sites deleted.  I've sent you
a private email with that information.

The UKM is predominantly advertising, tracking, etc.  There are a
smattering of auth/ecommerce/etc, but at lower volumes.  The auth issue we
believe may be related to automatic login scenarios in enterprises (issue 36
<https://github.com/privacycg/nav-tracking-mitigations/issues/36>), which
can be largely addressed with enterprise policies.  We also integrated
webauthn security key taps as interactions in M117 to reduce authentication
false positives.

Overall, however, we believe that since we only take action when 3P cookies
are blocked, breakage should be limited.  The 3P cookie default has not
changed yet, so most users will not be affected.  In addition, chromeguard,
enterprise policies and other mechanisms can be used to add cookie
exceptions which bounce tracking mitigations will honor.

Ultimately, many sites will need to adapt to a new normal when the 3P
cookie setting default changes.  That will need to include that bounce
tracking is not an acceptable replacement.  We would like to ship bounce
tracking mitigations gated on 3P cookie permissions so that when sites
perform 3P cookie deprecation testing they see the new bounce tracking
behavior as well.


>
> On Mon, Aug 28, 2023 at 11:08 PM Mike Taylor <miketa...@chromium.org>
> wrote:
>
>> LGTM1 to ship, as long as we fast follow with doing the work to define
>> and ship webdriver extensions in order to make this testable in WPT.
>>
>> (I don't think your team should be blocked on shipping because other
>> browsers who already shipped the feature didn't do that work.)
>>
>> On 8/21/23 3:44 PM, Christian Biesinger wrote:
>> > On Mon, Aug 21, 2023 at 3:25 PM Ben Kelly <wanderv...@chromium.org>
>> wrote:
>> >>
>> >>
>> >> On Mon, Aug 21, 2023 at 11:38 AM Mike Taylor <miketa...@chromium.org>
>> wrote:
>> >>> On 8/21/23 11:09 AM, Ben Kelly wrote:
>> >>>
>> >>> On Sun, Aug 20, 2023 at 11:27 PM Yoav Weiss <yoavwe...@chromium.org>
>> wrote:
>> >>>> Thanks for working on this important problem!
>> >>>>
>> >>>> On Thu, Aug 17, 2023 at 9:28 PM Ben Kelly <wanderv...@chromium.org>
>> wrote:
>> >>>>> Sorry, it seems I left off the signals section of the template:
>> >>>>>
>> >>>>> Firefox: No signal (
>> https://github.com/mozilla/standards-positions/issues/835)
>> >>>>
>> >>>> Firefox folks seem tentatively supportive, but have WPT questions.
>> Can you address them?
>> >>>
>> >>> I'm checking without our WPT folks to try to understand what mozilla
>> is suggesting.  I'm not familiar with web-driver functions at all, so not
>> quite sure yet how feasible this is.
>> >>>
>> >>> My read on bvandersloot's comment is that he's asking for a less
>> generic version https://github.com/web-platform-tests/wpt/issues/17489
>> to make this testable (which you've already linked below). Exposing
>> endpoints for advancing time seems to have more use cases than bounce
>> tracking-specific webdriver endpoints, IMHO - but that's a discussion that
>> should probably happen in the relevant WG.
>> >>>
>> >>> See https://github.com/web-platform-tests/rfcs for the process to
>> propose extending the testdriver.js API to expose... but I think you'll
>> want to get the relevant concepts added to the webdriver spec first (seems
>> possible, if Mozilla if supportive). The other option would be to something
>> similar to FedCM by adding webdriver extension commands (see spec PR here:
>> https://github.com/fedidcg/FedCM/pull/465/files).
>> >>>
>> >>> I personally wouldn't recommend blocking on this work, but it seems
>> useful for someone to pursue as good first bugs for folks interested in
>> standards and WPT internals. Note that additions to WebDriver now require
>> going through the Intent process (great news for folks interested in
>> learning this process, presumably they exist!).
>> >>
>> >> Andrew Williams also helpfully pointed out a bunch of code source
>> references to me for this.  I filed crbug.com/1474656 to do this work.
>> >>
>> >> I think this is definitely something we will do, but it may take a
>> milestone or two to get it done.  In particular, I'm unsure if there will
>> be pushback to modifying the web-driver functions for a bounce tracking
>> mitigations-specific feature.
>> > Lots of specs define webdriver extensions, that should not be a
>> problem. E.g.:
>> > https://fedidcg.github.io/FedCM/#automation
>> > https://w3c.github.io/secure-payment-confirmation/#sctn-automation
>> > https://w3c.github.io/webauthn/#sctn-automation-virtual-authenticators
>> >
>> > Note that you have to implement the commands twice, once for Chrome's
>> > bots and once for upstream wpt.fyi and general UA automation uses.
>> > Chrome's impl does not really use webdriver, it usually just calls a
>> > function on internals (e.g.
>> >
>> https://chromium-review.googlesource.com/c/chromium/src/+/4740672/6/third_party/blink/web_tests/resources/testdriver-vendor.js
>> )
>> >
>> > The second impl is in Chromedriver, likely using CDP, e.g.:
>> > https://chromium-review.googlesource.com/c/chromium/src/+/4281897
>> > plus
>> > https://chromium-review.googlesource.com/c/chromium/src/+/4402971
>> >
>> > Christian
>> >
>> >> I don't think we want to take on the general purpose clock
>> modification change to web-driver, though.  That seems like a much larger
>> scope.
>> >>
>> >>>
>> >>>>
>> >>>>> Webkit: No signal (
>> https://github.com/WebKit/standards-positions/issues/214)
>> >>>>> Web developers: No signals
>> >>>>>
>> >>>>> On Thu, Aug 17, 2023 at 10:22 AM Ben Kelly <wanderv...@chromium.org>
>> wrote:
>> >>>>>> 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
>> >>>>>>
>> >>>>>>
>> >>>>>> 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.
>> >>>>>>
>> >>>>>>
>> >>>>>> 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.
>> >>>>
>> >>>> Does that mean that any exposed navigation bounce on a sensitive
>> site becomes a history leak? Or do other conditions apply that would make
>> this a rare occurrence?
>> >>>> If it's the former, how do other browsers' mitigation techniques
>> deal with this?
>> >>>
>> >>> I don't think it's equivalent to a full history leak on its own.  In
>> order to get the extra leaked bit of "was interacted with in the last 45
>> days", the site must already have a XS-leak allowing an attacker to detect
>> the existence of cookies or state on the site.  Typically cookies or state
>> are already going to indicate some user activity (interaction).  So the
>> additional bit, while strictly a worsening of the situation, is relatively
>> minor compared to what is available from the prerequisite attack.
>> >>>
>> >>> Again, we'd like to work on closing the underlying XS-leak that
>> allows attackers to detect cookies/state in the future.  Fixing forward
>> here is preferable since trying to fix just the interaction bit in bounce
>> tracking mitigations itself would likely force the introduction of some
>> kind of allow/block list which has larger negative impacts (as discussed in
>> the explainer alternatives).
>> >>>
>> >>>>
>> >>>>>>
>> >>>>>> 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.
>> >>>>>>
>> >>>>>>
>> >>>>>> 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?
>> >>>>>>
>> >>>>>> No, unfortunately.  Since this feature runs off of a long duration
>> timer we cannot construct a WPT test case.  We need wpt#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/CAK7rkMi2xOMKfZsV5q9jgBuaFvRC3b67fsw%3DYF%2BLNDRgp%2BjdrA%40mail.gmail.com
>> .
>> >>> --
>> >>> 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/CAK7rkMgTO8-OStci%3DDgu-xeNZJKgOnf17i15wkXintg2wod2Ag%40mail.gmail.com
>> .
>> >> --
>> >> 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/CAK7rkMiXRs97mKph1BayrWAknP-1dfdCOTPHq%2B7xRBnSN%2BxU9g%40mail.gmail.com
>> .
>>
>

-- 
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/CAK7rkMhmcNGOk9p%2BT5tsSbDrNLwOXOMqhTVRqOR%2BpBS7xSmbpg%40mail.gmail.com.

Reply via email to