Ping for last LGTM or more feedback.  We were hoping to be able to collect
some stable data before TPAC, if possible.

On Wed, Aug 30, 2023 at 8:45 AM Yoav Weiss <yoavwe...@chromium.org> wrote:

> LGTM2
>
> On Tue, Aug 29, 2023 at 5:44 PM Ben Kelly <wanderv...@chromium.org> wrote:
>
>> 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.
>>
>
> Thanks for outlining your motivations! Going ahead with this change before
> the 3P cookie deprecation but 3P cookie blocking makes perfect sense!
>
>
>>
>>
>>>
>>> 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/CAK7rkMh5YYoSgos29560-ZasdpiPQTZSPzAPcTL83XGeHvNy5Q%40mail.gmail.com.

Reply via email to