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.