Closed Bug 1913421 Opened 1 year ago Closed 1 year ago

Track the amount of Captchas caused by fingerprinting protections

Categories

(Core :: Privacy: Anti-Tracking, task)

task

Tracking

()

RESOLVED FIXED
135 Branch
Tracking Status
firefox135 --- fixed

People

(Reporter: tschuster, Assigned: fkilic)

References

(Blocks 1 open bug)

Details

Attachments

(17 files, 14 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

Enabling fingerprinting protections could cause more sites to show captchas before being allowed to access the page, because it makes our users look less unique. We know this happens when enabling RFP, e.g. bug 1909961 for cloudflare.

One idea for being able to track captchas would be to see how often specific canvas fingerprinters are being used, which often happen together.

Is the canvas fingerprinting only used after the captcha shows up? I would suspect it's before. So, maybe looking into canvas fingerprinting isn't efficient in detecting captchas. Maybe some info only gets read after showing a captcha. We should rely on those instead.

Assignee: nobody → fkilic
Status: NEW → ASSIGNED

Note that this patch doesn't create a metrics.yaml or ping.yaml file. It just provides the plumbing required to call Glean API.

Attached file WIP: Bug 1913421: Fix linter errors (obsolete) —
Attachment #9430486 - Attachment is obsolete: true
Attachment #9430485 - Attachment is obsolete: true
Attachment #9430483 - Attachment is obsolete: true
Attachment #9430481 - Attachment is obsolete: true
Attachment #9430480 - Attachment is obsolete: true
Attachment #9430247 - Attachment is obsolete: true
Attachment #9430246 - Attachment is obsolete: true
Attachment #9430245 - Attachment is obsolete: true
Attachment #9431631 - Attachment description: WIP: Bug 1913421: Introduce Captcha Detection Actor → Bug 1913421: Introduce Captcha Detection Actor. r?mossop
Attachment #9431632 - Attachment description: WIP: Bug 1913421: Create a mutation observer with the correct handler → Bug 1913421: Create a mutation observer with the correct handler. r?mossop
Attachment #9431633 - Attachment description: WIP: Bug 1913421: Detect Google Recaptcha V2 in actor child → Bug 1913421: Detect Google Recaptcha V2 in actor child. r?mossop
Attachment #9431635 - Attachment description: WIP: Bug 1913421: Introduce tab state and log how a Google Recaptcha V2 was completed (manually or automatically) → Bug 1913421: Introduce tab state and log how a Google Recaptcha V2 was completed (manually or automatically). r?mossop
Attachment #9431636 - Attachment description: WIP: Bug 1913421: Detect CF Turnstile results → Bug 1913421: Detect CF Turnstile results. r?mossop
Attachment #9431638 - Attachment description: WIP: Bug 1913421: Introduce metrics.yaml and pings.yaml → Bug 1913421: Introduce metrics.yaml and pings.yaml. r?mossop
Attachment #9431639 - Attachment description: WIP: Bug 1913421: Actually update captcha metrics → Bug 1913421: Actually update captcha metrics. r?mossop
Attachment #9431640 - Attachment description: WIP: Bug 1913421: Submit ping every 24 hour or on pref changes → Bug 1913421: Submit ping every 24 hour or on pref changes. r?mossop
Attachment #9432632 - Attachment description: WIP: Bug 1913421: Detect DataDome Captchas → Bug 1913421: Detect DataDome Captchas. r?mossop
Attachment #9432633 - Attachment description: WIP: Bug 1913421: Refactor and optimize observer parameters → Bug 1913421: Refactor and optimize observer parameters. r?mossop
Attachment #9433365 - Attachment description: WIP: Bug 1913421: Detect hCaptcha captchas → Bug 1913421: Detect hCaptcha captchas. r?mossop
Attachment #9434205 - Attachment description: WIP: Bug 1913421: Detect AWS WAF Captchas → Bug 1913421: Detect AWS WAF Captchas. r?mossop
Attachment #9434634 - Attachment description: WIP: Bug 1913421: Detect Arkose Labs Captchas → Bug 1913421: Detect Arkose Labs Captchas. r?mossop
Attachment #9434635 - Attachment description: WIP: Bug 1913421: Add type definitions → Bug 1913421: Add type definitions. r?mossop
Attachment #9438080 - Attachment description: WIP: Bug 1913421: Minor typing change change nsresult to nsIXPCComponents_Values → Bug 1913421: Minor typing change change nsresult to nsIXPCComponents_Values. r?mossop
Attachment #9431640 - Attachment description: Bug 1913421: Submit ping every 24 hour or on pref changes. r?mossop → Bug 1913421: Submit ping with at least 24 hour delay since last submission or on pref changes. r?mossop

The way this patch stack is structured makes it difficult to review from an architectural standpoint because over halfway through the stack (in D226545) you completely change the architecture. This means that many of my comments on the earlier patches become irrelevant. Can you either restructure the stack so this doesn't happen or give me a clean patch to review in one go?

Flags: needinfo?(fkilic)

Sure, I will. The logic doesn't really change I just export stuff to their own classes but I can see how that changes validity of comments in the old patches (like lets say you wanted to say naming is not good here but then I changed naming and all in the new class implementation etc.), sorry. I'll fix it.

Flags: needinfo?(fkilic)
Attachment #9431633 - Attachment description: Bug 1913421: Detect Google Recaptcha V2 in actor child. r?mossop → Bug 1913421: Detect Google Recaptcha V2. r?mossop
Attachment #9432633 - Attachment is obsolete: true
Attachment #9431635 - Attachment is obsolete: true
Attachment #9431632 - Attachment is obsolete: true

Alright I updated it. I removed 3 patches including the one with "refactor the whole thing" patch. Also see this document for implementation specifics and notes https://docs.google.com/document/d/1WVEJgYCWXJVhrXQlYWXWSBNumj_xS3dp49B2gZ0mh90/edit

The following patches are waiting for review from a reviewer who resigned from the review:

ID Title Author Reviewer Status
D226922 Bug 1913421: Detect hCaptcha captchas. r?mossop fkilic mossop: Resigned from review
D227556 Bug 1913421: Detect Arkose Labs Captchas. r?mossop fkilic mossop: Resigned from review

:fkilic, could you please find another reviewer?

For more information, please visit BugBot documentation.

Flags: needinfo?(fkilic)

Sure I'll find someone. Thank you!

Flags: needinfo?(fkilic)
Attachment #9441139 - Attachment is obsolete: true
Attachment #9441138 - Attachment is obsolete: true
Attachment #9438080 - Attachment is obsolete: true
Pushed by fkilic@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/849674119c65 Introduce Captcha Detection Actor. r=mossop https://hg.mozilla.org/integration/autoland/rev/51f94cd7e9e5 Detect Google Recaptcha V2. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/cd2258c3f8e3 Detect CF Turnstile results. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/afd89f58cab0 Introduce metrics.yaml and pings.yaml. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/2459730a7e10 Actually update captcha metrics. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/7f54b1a2c565 Submit ping with at least 24 hour delay since last submission or on pref changes. r=mossop,geckoview-reviewers,tjr,tthibaud https://hg.mozilla.org/integration/autoland/rev/f6850c74997a Detect DataDome Captchas. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/b36e090e8715 Detect hCaptcha captchas. r=tjr https://hg.mozilla.org/integration/autoland/rev/ba58924faee8 Detect AWS WAF Captchas. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/335767ea0138 Detect Arkose Labs Captchas. r=tjr https://hg.mozilla.org/integration/autoland/rev/cc2acc1bd560 Add type definitions. r=mossop https://hg.mozilla.org/integration/autoland/rev/8ca6f7399e31 Test Google Recaptcha V2 mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/2fbc4c09d4f0 Test CF Turnstile mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/d5f36da0c01f Test Datadome mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/22084dc8fbb0 Test hCaptcha mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/5f1bb8cea1d5 Test AWS WAF mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/7eda60115372 Test ArkoseLabs mock. r=mossop

Backed out for causing mochitests-plain failures in test_arkose_labs.html.

Flags: needinfo?(fkilic)

The issue was about xorigin tests running on .org instead of .com. Hopefully it should be fixed now.

Flags: needinfo?(fkilic)

Please also check these bustages.

Flags: needinfo?(fkilic)

Hmm really interesting. Some sort of regex matching issue with the urls i listed in matches section of js window actor. I'll try to remove stuff one by one to see what's going on.

Flags: needinfo?(fkilic)
Pushed by fkilic@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b10761a94df6 Introduce Captcha Detection Actor. r=mossop https://hg.mozilla.org/integration/autoland/rev/e8bb11c1c410 Detect Google Recaptcha V2. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/17af42850877 Detect CF Turnstile results. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/cab976b11ed5 Introduce metrics.yaml and pings.yaml. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/555ebf268c2b Actually update captcha metrics. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/da2a230542bd Submit ping with at least 24 hour delay since last submission or on pref changes. r=mossop,geckoview-reviewers,tjr,tthibaud https://hg.mozilla.org/integration/autoland/rev/e2d6171d2fba Detect DataDome Captchas. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/edd4c0b4d9ea Detect hCaptcha captchas. r=tjr https://hg.mozilla.org/integration/autoland/rev/4eb23fa7b448 Detect AWS WAF Captchas. r=mossop,tjr https://hg.mozilla.org/integration/autoland/rev/3803cd174636 Detect Arkose Labs Captchas. r=tjr https://hg.mozilla.org/integration/autoland/rev/ffd699eaacb9 Add type definitions. r=mossop https://hg.mozilla.org/integration/autoland/rev/511986d815a6 Test Google Recaptcha V2 mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/dabe3c0f9387 Test CF Turnstile mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/10f9094f4107 Test Datadome mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/594f6790bc2d Test hCaptcha mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/88ae4861a8ac Test AWS WAF mock. r=mossop https://hg.mozilla.org/integration/autoland/rev/ecdb537a3742 Test ArkoseLabs mock. r=mossop
Blocks: 1941596
Depends on: 1952972
Depends on: 1952895
Depends on: 1952883
Depends on: 1952104
Depends on: 1949625
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: