zlacker

Unpacking Google’s Web Environment Integrity specification

submitted by dagurp+(OP) on 2023-07-26 11:30:18 | 756 points 432 comments
[view article] [source] [go to bottom]

NOTE: showing posts with links only show all posts
◧◩
45. wbobei+bE1[view] [source] [discussion] 2023-07-26 18:12:06
>>haburk+cC1
> Unfortunately people who have rooted phones, who use nonstandard browsers are not more than 1% of users

Depends on what you count as "nonstandard", but various estimates put non-top 6 browser usage at between 3-12% (https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Su...) and non-Windows/macOS/iOS/Android usage at ~4% (https://en.wikipedia.org/wiki/Usage_share_of_operating_syste....) These also don't take into account traffic on older operating systems or hardware that would be incompatible with these attestations, or clients that spoof their user agent for anonymity.

In an ideal world, we would see this number grow, not shrink. It's not good for consumers if our choices dwindle to just one or two options.

◧◩◪
47. ec1096+kE1[view] [source] [discussion] 2023-07-26 18:12:36
>>JohnFe+3D1
The explicit goals are thus:

* Allow web servers to evaluate the authenticity of the device and honest representation of the software stack and the traffic from the device.

* Offer an adversarially robust and long-term sustainable anti-abuse solution.

* Don't enable new cross-site user tracking capabilities through attestation. Continue to allow web browsers to browse the Web without attestation.

From: https://github.com/RupertBenWiser/Web-Environment-Integrity/...

If it actually won't do any of those things, then that should be debated first.

◧◩◪
60. wbobei+lF1[view] [source] [discussion] 2023-07-26 18:16:13
>>lxgr+jC1
While it's a much lesser offense, many APIs are only available in "Secure Contexts", so it's not entirely a new concept https://webidl.spec.whatwg.org/#SecureContext
◧◩◪◨
102. benatk+cK1[view] [source] [discussion] 2023-07-26 18:33:27
>>bloope+8J1
Use Rumble instead of YouTube? Even if it's more ethical, do I want to see Russell Brand and Jim Jordan on the home page?

Edit: Ah, here's something about it from a degoogling perspective: https://www.reddit.com/r/degoogle/comments/x1610t/what_are_y...

103. dang+iK1[view] [source] 2023-07-26 18:33:49
>>dagurp+(OP)
I think these are the related threads to date—have I missed any?

Google is already pushing WEI into Chromium - >>36876301 - July 2023 (705 comments)

Google engineers want to make ad-blocking (near) impossible - >>36875226 - July 2023 (439 comments)

Google vs. the Open Web - >>36875164 - July 2023 (161 comments)

Apple already shipped attestation on the web, and we barely noticed - >>36862494 - July 2023 (413 comments)

Google’s nightmare “Web Integrity API” wants a DRM gatekeeper for the web - >>36854114 - July 2023 (447 comments)

Web Environment Integrity API Proposal - >>36817305 - July 2023 (437 comments)

Web Environment Integrity Explainer - >>36785516 - July 2023 (44 comments)

Google Chrome Proposal – Web Environment Integrity - >>36778999 - July 2023 (93 comments)

Web Environment Integrity – Google locking down on browsers - >>35864471 - May 2023 (1 comment)

◧◩
112. benatk+eM1[view] [source] [discussion] 2023-07-26 18:41:13
>>dang+iK1
I had one but it got flagged, ah well:

- “I don't know why this enrages folks so much.” Googler re Chrome anti-feature >>36868888

I think that just meant some users with sufficient karma flagged it, but I was a bit confused because for a while it didn't say "[flagged]" but didn't show up in the first several pages or continue to get upvotes. Is there a delay in saying "[flagged]"?

◧◩◪◨
126. lxgr+PP1[view] [source] [discussion] 2023-07-26 18:54:51
>>yonata+wN1
Well, not if you ultimately tie something like WEI to hardware attestation. Then fraudsters would have to buy additional devices, which is not a complete deterrent [1], but would change the economics significantly.

But many here are (in my view rightly) arguing that this would be too high a price to pay for bot/spam protection, since it would almost inevitably cement the browser, OS, and device monoculture even further.

[1] https://www.cultofmac.com/311171/crazy-iphone-rig-shows-chin...

◧◩
135. kyrra+6R1[view] [source] [discussion] 2023-07-26 18:59:35
>>wbobei+Hz1
Google has been beat-down before trying to do these kinds of things. 2 ones I can think of:

1) FLoC: https://www.theverge.com/2022/1/25/22900567/google-floc-aban...

2) Dart: Google wanted this to replace javascript, but Mozilla and MS both said no way, as they had no part in it. So that project ended up dying.

Google tries lots of things. Mozilla, MS, and Apple are still strong enough (especially outside the US) to push back on things that they think are a bad idea.

136. rolph+eR1[view] [source] 2023-07-26 19:00:18
>>dagurp+(OP)
this abuse of tech, potentially goes beyond antitrust, and damages global economic wellbeing, as well as impoverishing information systems on global scale, generating isolation, ignorance, division, and radicalization.

How to Email to the President and Members of Congress

https://www.whitehouse.gov/contact/

https://www.facebook.com/joebiden/

https://twitter.com/JoeBiden

Write a Letter

The online form is the fastest way to send a message, but if you prefer to write or type a letter, keep the following in mind:

    Use 8 1/2 by 11-inch paper
    Either type your message or handwrite it as neatly as possible
    Include your return address on both the letter and the envelope
    Mail the letter to The White House, 1600 Pennsylvania Avenue NW, Washington, DC 20500
    Include the appropriate postage (stamp)
If you have any additional questions about how to email Joe Biden or Kamala Harris, please post a comment below. If you are still trying to email Donald Trump or Mike Pence, please post a comment below. Contact the White House By Phone

Even though you can’t email the President, you can call the White House. However, to be clear, you will likely only speak with a staff member. To call, use the following phone numbers:

    For general comments, call 202-456-1111
    To reach the switchboard, call 202-456-1414
    For TTY/TTD, use Comments: 202-456-6213 or the Visitor’s Office: 202-456-2121
It is highly unlikely that you will get to speak with any sitting POTUS directly on the phone. How to Send an E-mail Your House Representative

To find your representative, search the House of Representatives database by zip code. As an alternative, visit the Representative’s personal website. Most government websites have email and mailing addresses listed on the Contacts page.

Many websites also offer a contact form, but we recommend using this only as a last resort. Many online contact forms go to the website maintenance team and often don’t reach the representative or their staff. If you want a response, send a direct email or a letter. How to Send an E-mail to Your Senator

To find your state Senator(s), select your Senator from the state-by-state list on the United States Senate’s Web site. Note the list is in alphabetical order and provides the following information for each senator:

    Senator’s full name
    Political party affiliation and state they represent
    Mailing address
    Phone number
    Link to an email contact form, usually on the Senator’s website.
Also, you can call the United States Capitol switchboard at (202) 224-3121. A switchboard operator will connect you directly with the state Senator’s office you request.

Questions and Comments

If you have any questions about how to email the President, Joe Biden, U.S. representatives, members of Congress, or other government officials, please leave a message below. Please don’t post a comment on the form below and think it will be forwarded to the White House, Congress, the Biden administration, President Joe Biden, or Kamala Harris.

lifted from, https://www.einvestigator.com/government-email-addresses/

◧◩◪◨
139. nobody+YR1[view] [source] [discussion] 2023-07-26 19:02:55
>>wbobei+KK1
>The way I imagine it, WEI will start with skipping CAPTCHA. Then it will be about serving ads (users without WEI would generate no or very limited ad revenue.) Then it's up to the owner of a site whether or not they want to allow non-WEI traffic at all. Some will choose to block users without WEI, and hopefully the number of browsers that have chosen not to implement it, and the number of users on those browsers is high enough that that option will not be appealing.

There are a number of issues with your imagined scenario. I'll address two of them. Firstly, as nvy points out[0]:

    If this gains traction, Google will simply deny adsense payments for 
   impressions from an "untrusted" page, and thus all the large players that 
   show ads for revenue will immediately implement WEI without giving a single 
   flying shit about the users, as they always have and always will. 
This is the primary reason Google wants WEI -- to make it harder for users of ad/tracking blockers to access sites they sell ads on.

The second issue is who is providing this "attestation" and what their criteria might be for "trustworthy" browsers. This will break down to a handful (Google, Microsoft, Apple and maybe Cloudflare and/or one or two others) of trusted "attestors" who will decide which browser/plugins/OS combinations are "trustworthy."

Since these folks all have a stake in walled gardens^W hellscapes, who's to say that Apple won't "attest" that any browser other than Safari on iOS or MacOS isn't trustworthy? Or Google may decide that any browser with uBlockOrigin, uMatrix or NoScript isn't trustworthy -- thus permanently deprecating ad/tracking blockers.

Since the spec doesn't specify the criteria for a "trusted" client, nor does it allow for the web site to determine for itself what constitutes the same, it's almost certain that such "trusted attestors" will penalize those who don't dance to their tune.

There are a host of other issues with WEI, especially privacy and property rights related, but those two (IMHO) are most relevant to your imaginings.

[0] >>36882333

◧◩◪◨
146. rollca+1U1[view] [source] [discussion] 2023-07-26 19:10:42
>>therei+OI1
> nor can they create a PR

https://github.com/chromium/chromium/pull/187

◧◩◪◨⬒⬓
162. baby_s+gW1[view] [source] [discussion] 2023-07-26 19:19:52
>>treis+KM1
> And the flaw here is that the proposal doesn't do enough. If that signed blob allowed you to uniquely ID the device it would help solve a lot more problems.

This is more or less what the proposal does? It's akin to the same shady stuff seen here [1] except this time some third party gets to sign it.

> That would end DDOS for the most part and make managing abuse a lot easier.

Not every bot that I'm defending against is a DDoS but I can probably figure out a way to overwhelm the "pre-content" filter that's trying to figure out if a token is legit or not.

[1] - https://fingerprint.com/demo/

◧◩◪◨⬒
181. pdanpd+HZ1[view] [source] [discussion] 2023-07-26 19:34:36
>>toyg+JW1
How?

The page must first load, then it requests an attestation using js and sends it back to the server for further use (like a recaptcha token).

So for something like curl it could be no change.

https://github.com/RupertBenWiser/Web-Environment-Integrity/...

201. nneonn+642[view] [source] 2023-07-26 19:51:24
>>dagurp+(OP)
I wanted to write some proper feedback on the GitHub repo, but they've closed issues and PRs. Until they open it back up again, here are my thoughts on the spec:

- Mozilla is already publicly and officially opposed (https://github.com/mozilla/standards-positions/issues/852#is...), on principle ("Any browser, server, or publisher that implements common standards is automatically part of the Web") as well as on technical concerns around the safeguards and downsides of the proposal.

- WebKit is not committed to a position, but has mentioned several concerns (https://github.com/WebKit/standards-positions/issues/234):

"We have Private Access Tokens (aka Privacy Pass) for some of the claimed use cases of this spec. We think it's a more privacy-respecting solution. The Explainer isn't very clear on why specifically Web Environment Integrity is better. It mentions a feedback mechanism, but not the specific mechanism. It also exposes more info to the page. The Explainer claims this spec is necessary because Privacy Access Tokens don't support feedback from websites on false positives / false negatives, however, neither the spec nor the explainer include a feedback mechanism. Without more specifics, we would not be enthusiastic about duplicating an existing standards-track solution for the same use cases."

- Vivaldi is clearly opposed, per this blog post.

- Holdback as a mechanism is a weak defense against abuse. Some potential stakeholders are already suggesting to scrap holdback to support their use-cases (https://github.com/RupertBenWiser/Web-Environment-Integrity/...), leading to the possibility that it may not even be part of the final standard. Holdback is not technically enforced: a user agent can choose not to hold back, and if they are sufficiently popular they may induce web site operators to rely on their signal (at least for that browser) which would have the exact "DRM" effect that the proposal claims to avoid. The exact implementation of holdback matters a lot: if it's e.g. per-request, a site can simply ask repeatedly; if it's per-session or per-user, a malicious agent can pretend to be heldback the entire time.

- Since holdback is being touted as essentially the only defense against "DRMing" the web, it's a real mistake to have it be so poorly specified. The way it's currently specified makes it sound more like an afterthought than a serious attempt to mitigate harm.

- Compared to Private Access Tokens, WEI leaks far more information. WEI allows attesters to provide arbitrary metadata in their (signed) attestation verdict, whereas PAT tokens are fully opaque and blindly signed. Furthermore, PAT tokens can be in principle obtained through alternate attestation mechanisms (e.g. captcha, authentication, ...) without leaking the details of how that attestation is performed. WEI does not provide for this, and instead is designed around explicitly validating the "web environment".

207. Zopieu+h52[view] [source] 2023-07-26 19:55:10
>>dagurp+(OP)
As usual, a thousand word essay on Google's WEI without ever mentioning that Apple sailed that ship silently a while ago, therefore not attracting any attention or backlash.

https://httptoolkit.com/blog/apple-private-access-tokens-att...

https://toot.cafe/@pimterry/110775130465014555

The sorry state of tech news / blogs. Regurgitating the same drama without ever looking at the greater picture.

◧◩◪◨
209. Liquix+472[view] [source] [discussion] 2023-07-26 20:01:48
>>snvzz+qZ1
FWIW streamlink [0] and streamlink twitch GUI [1] are FOSS solutions for watching twitch on GNU/Linux:

  streamlink "https://twitch.tv/$streamer" best --twitch-disable-ads --player mpv
No ads, no tracking, no purple screens, no psuedo social network stuff to hijack your dopamine systems.

[0] https://github.com/streamlink/streamlink

[1] https://streamlink.github.io/streamlink-twitch-gui/

215. luroc+M82[view] [source] 2023-07-26 20:08:53
>>dagurp+(OP)
Cory Doctorow on this issue (kind of):

https://pluralistic.net/2023/07/24/rent-to-pwn/

◧◩◪◨⬒
224. Urd-+Va2[view] [source] [discussion] 2023-07-26 20:16:48
>>lxgr+PP1
>Then fraudsters would have to buy additional devices

Which a lot of them already do: https://www.youtube.com/watch?v=hsCJU9djdIc

Or just use a botnet to steal use of someone else's hardware, which is also very common for malicious bots.

◧◩◪◨⬒
241. drdaem+Cg2[view] [source] [discussion] 2023-07-26 20:39:32
>>Button+h12
I was surprised and skeptical, but he seems to be right.

I've opened a brand new Firefox instance and got "Your browser is not currently supported. Please use a recommended browser or learn more here." (linking to https://help.twitch.tv/s/article/supported-browsers?language...) on the login screen.

The login made a zero-payload POST to https://passport.twitch.tv/integrity and it responded with 400 and a JSON body {"error_code": 5025, "error_description": "integrity failed", "error": "Oops! We encountered an unexpected error. Please try again.", ...}.

It seems that this is not about GNU/Linux, though, as it happens at random (searches for `twitch "integrity failed"` produce results from all sort of platforms and browsers). Must be that some pointy haired boss had some important ideas about security.

I was able to log in from a Firefox on a different GNU/Linux system, so it's not like those are always blocked. I suspect there's some User-Agent whitelist or similar kind of nonsense (but looking at the console logs and bunch of WebGL errors it certainly tries to fingerprint the system), but I'm too lazy to investigate this any further.

◧◩
280. dcposc+Ju2[view] [source] [discussion] 2023-07-26 21:44:39
>>rcxdud+5F1
And speaking of user-hostile, locked-down phones...

a galactic irony that Ben Wiser, the Googler who posted this proposal, has a blog where his most recent post is a rant about how he's being unfairly restricted and can't freely run the software he wants on his own device.

https://benwiser.com/blog/I-just-spent-%C2%A3700-to-have-my-...

https://github.com/RupertBenWiser/Web-Environment-Integrity

◧◩◪
301. Vecr+JC2[view] [source] [discussion] 2023-07-26 22:23:40
>>Rodger+jw2
You can run TLS stacks that work with modern websites on old devices, it's just not really that secure, see https://www.dialup.net/wingpt/tls.html for running "Modern TLS/SSL on 16-bit Windows"
◧◩◪◨
312. lxgr+HH2[view] [source] [discussion] 2023-07-26 23:00:36
>>freedo+ru2
> The Flutter framework is growing in popularity.

Is that the one rendering [1] text and UI widgets into an HTML canvas element from JavaScript/Dart (completely coincidentally breaking ad blocking in the process)? What a beautiful piece of software.

> Apple already built and shipped this same feature last year,

Are you referring to Private Access Tokens (PAT)? These seem quite a bit more limited in what they do. WEI seems to specifically set out to roll back some of the blinding/anonymization aspects of PAT under the banner of debuggability/providing "feedback" to attesters.

[1] https://docs.flutter.dev/platform-integration/web/renderers

◧◩◪◨⬒⬓⬔⧯▣
341. costco+d03[view] [source] [discussion] 2023-07-27 01:03:42
>>helloj+Tw2
https://github.com/vincentbavitz/bezmouse

> BezMouse is a lightweight tool written in Python to simulate human-like mouse movements with Bézier curves. Some applications might include:

> BezMouse was originally written for a RuneScape color bot and has never triggered macro detection in over 400 hours of continuous use.

:)

◧◩
344. twno1+I13[view] [source] [discussion] 2023-07-27 01:14:29
>>dang+iK1
Add one more related:

Apple already shipped attestation on the web, and we barely noticed >>36862494

◧◩◪◨
345. calgar+Z13[view] [source] [discussion] 2023-07-27 01:16:12
>>YetAno+5J2
> Safari is not only leading browser in mobile

No it's not? Android has upwards of 70% of the mobile market[0], and Chrome has nearly 65% of the mobile browser market, compared to Safari with under 25%.[1]

> the only choice any iphone users have

Sort of. WebKit is the only choice iOS users have, but there are plenty of browsers available on iOS (including Chrome and Firefox) that use WebKit, not just Safari.

[0]https://gs.statcounter.com/os-market-share/mobile/worldwide

[1]https://gs.statcounter.com/browser-market-share/mobile/world...

◧◩◪◨
346. Groxx+e23[view] [source] [discussion] 2023-07-27 01:17:34
>>userbi+3S2
the RSS feed says 2022-03-04 fwiw:

    <item>
      <title>I just spent £700 to have my own app on my iPhone</title>
      <link>
        https://benwiser.com/blog/I-just-spent-£700-to-have-my-own-app-on-my-iPhone.html
      </link>
      <pubDate>2022-03-04T11:30:34.067Z</pubDate>
    </item>
◧◩◪◨⬒⬓
351. fecs+L63[view] [source] [discussion] 2023-07-27 01:56:53
>>Klonoa+Sk2
https://www.statista.com/statistics/1045192/share-of-mobile-.... iOS is the dominant mobile platform in the US. Yet, the sky did not fall when thiw was introduced. Why not?
◧◩
355. erklik+Ca3[view] [source] [discussion] 2023-07-27 02:25:20
>>guy982+AP1
Sony already owns a patent on that exact scenario from Black Mirror.

https://www.creativebloq.com/sony-tv-patent

> In it, TV viewers are only able to skip an advert by shouting the name of the brand. Yep, crying 'McDonald's!' is the only way to make the Big Mac disappear.

Companies will do the most insane, terrible things if not stopped. This will happen.

◧◩◪◨⬒⬓
374. king_g+2q3[view] [source] [discussion] 2023-07-27 04:56:30
>>snvzz+Be2
I'm not certain what you mean by "managing your own channel" in particular, but I use Chatterino[0] and find it to be a solid pairing with streamlink + VLC as far as just chat goes. It's also pretty straightforward to build from source which is always nice to me at least.

[0](https://chatterino.com/)

377. n00bs+Xs3[view] [source] 2023-07-27 05:25:16
>>dagurp+(OP)
read something recently that makes me think google is doing this to develop tools that allow browsers to detect replayed tokens on platforms like macOS and iOS.

https://medium.com/@danielraffel/compromised-apple-id-expose...

◧◩
392. ThePow+oN3[view] [source] [discussion] 2023-07-27 08:21:06
>>rcxdud+5F1
This is especially rich coming from google's, who's 'safetynet' for android results in a significant reduction in security (contrary to its stated purpose): it locks out 3rd-party up-to-date and secure ROMs while allowing horrificly insecure manufacturer-provided ROMs to still pass, because to disable those would cause a massive user outcry.

That's not the case with GrapheneOS:

https://grapheneos.org/articles/attestation-compatibility-gu...

SafetyNet is deprecated anyway:

https://developer.android.com/training/safetynet/deprecation...

◧◩◪◨
393. icecre+0P3[view] [source] [discussion] 2023-07-27 08:35:52
>>therei+OI1
Here is a copy of a letter I have sent out >>36889971

Basically my arguments were it's anti-competitive, against the open web, and a risk to country's security agencies. The latter while a valid argument is to hopefully rattle politicians and government agencies.

◧◩◪◨⬒⬓⬔⧯▣▦▧
413. accoun+Xy4[view] [source] [discussion] 2023-07-27 13:50:45
>>Xenoam+oi4
https://ublockorigin.com/ for instance
◧◩◪◨⬒
421. jwilk+Nm5[view] [source] [discussion] 2023-07-27 17:00:27
>>Groxx+e23
That's when it was submitted to HN:

>>30553448 (5 comments)

[go to top]