Google's next big idea for browser security looks like another freedom grab to some
- Reference: 1690266368
- News link: https://www.theregister.co.uk/2023/07/25/google_web_environment_integrity/
- Source link:
The proposal, dubbed Web Environment Integrity (WEI), showed up [1]as code in April and was [2]announced in May. It elicited a handful of concerned comments among those who follow the development of the Chromium open source project's Blink rendering engine, but didn't attract much attention from the technical community until it was published on Friday as [3]a working draft specification .
Google's engineers describe WEI as a way for browser clients to establish trust with a server through a third party (eg, Google Play) that presents a token attesting to the integrity of the client environment.
[4]
In simpler terms, WEI provides a way for a browser to prove it is working as a website operator expects, and hasn't been manipulated. If you have a website that offers in-browser gaming, and you want to make sure no player is cheating, you could use WEI to determine that connected clients are pure, legit, and not running any cheat code.
[5]
[6]
Same goes for websites that don't want automated bots posting or liking posts – engagement has to be done via an accepted, unaltered browser. And for publishers that only want to serve content and ads to browsers that definitely aren't just bots.
This therefore starts to slide the web toward a time in which only authorized, officially released browsers will be accepted by websites.
[7]
And since Chromium serves as the foundation of not just Google Chrome, but also Microsoft Edge, Brave, and a number of other browsers, WEI could have a broad effect on the web – if and when it gets deployed and adopted.
"The Web Environment Integrity API allows [8]user agents to request [9]attester verdicts from an [10]attester that can be used to verify the integrity of the [11]web environment ," the draft spec explains. "These verdicts are piped to a [12]relying party where they are validated for authenticity. Web Environment Integrity is best suited for detecting deceptive [13]web environments ."
The proposal's lack of detail at this stage is evident in the link that explains "web environments" as a todo item.
[14]
The stated purpose of the API is to address various long-standing problems on the web: social media manipulation and fakery; bot detection; misuse of [15]WebViews in apps; bulk web hijacking and account creation; cheating in web-based games; compromised devices; and password-guessing attempts.
However, "abuse" is not specifically defined. So when the authors of the spec say a goal is to "offer an adversarially robust and long-term sustainable anti-abuse solution," it's not clear what would be disallowed.
Same old, same old
The idea – bringing trust to web interactions – is not new. Similar APIs for validating native apps in the [16]Android and [17]iOS ecosystems already exist. There are proposals with related aims – like [18]PrivacyPass , the [19]Trust Token API , and [20]UserConfidenceScore . A precursor to WEI was [21]initially proposed in April, 2022, and elicited [22]several questions about the consequences of the suggested design.
But building a trust mechanism for web clients becomes more difficult if people [23]do not trust the entity creating the technology.
WEI was discussed at the W3C Anti-Fraud Community Group in late April and has been [24]published to the web as part of the normal iterative process through which browser capabilities get developed.
Despite the spec's half-baked state, the blowback last week was swift – in the form of a flood of largely critical comments [25]posted to the WEI GitHub repository , and abuse directed at the authors of the proposal. The Google devs' response was to limit comment posting to those who had previously contributed to the repo and to [26]post a Code of Conduct document as a reminder to be civil.
The concerns raised include: [27]potential violation of EU data rules ; [28]all web interaction would be subject to attestation – something Google [29]explicitly rejects ; [30]barriers to new browsers ; [31]general distrust of Google ; worries about [32]DRM for the web; [33]possible [34]limitations on ad blocking ; and more.
[35]Google asks websites to kindly not break its shiny new targeted-advertising API
[36]Google snubbed JPEG XL so of course Apple now supports it in Safari
[37]Google searchers from years past can get paid for pilfered privacy
[38]Google IO: A deeper dive into the developer day's details
Jay Freeman (aka "Saurik"), the developer of Cydia for jailbroken iOS devices, described the proposal in an [39]online post as the "inevitable end-game of the web" under ad-based business models.
In an email to The Register , Freeman said assumptions about the web being an open standard under which anyone can build a compliant browser have been breaking down for a while now because the software has become so complex.
Because more and more functionality keeps being added, he said – which web publishers in turn expect – there are only a few browser implementations that have kept up.
"If websites are going to require 'this is proven to be one of a small, trusted set of browsers – unmodified from their original behavior – that we believe will, in fact, show our ads to a real user,' then the bar only goes up for building a new web browser."
But wait, there's more
Freeman contends WEI is more than just another barrier to building a competitive browser.
"I feel like there is something even bigger at stake: this takes away even more control over your computer," he argued. "The only reason this is even possible is due to DRM technology sitting on most people's computers, such as Arm TrustZone and Intel SGX.
"Elon Musk right now wants everyone to use only official Twitter apps to talk to his service, and Reddit recently went in a similar direction: exposing trusted computing primitives to apps means that they could ensure that only official clients access their sites. If Google does push this agenda, I thereby believe this would be one of the biggest attacks on not just the open web but on the basic freedom to run a general purpose computer we have so far seen: you can't trust the browser on an 'untrusted' OS."
This would be one of the biggest attacks on not just the open web but on the basic freedom to run a general purpose computer we have so far seen
Freeman added, "I do believe Google is at least being honest in their use cases … they are just slanting them in ways that make me upset: publishers have a want for their ad-based business models to work, and they thereby would like to have a way to require users to only use trusted browsers that will comply … while this spec makes it sound like users are demanding the ability to prove to publishers that they are in fact not running an ad blocker."
In a [40]post on Monday, Brian Grinstead, head of web platform for Mozilla, expressed opposition to the proposal.
"Mozilla opposes this proposal because it contradicts our principles and vision for the Web," he wrote. "… Detecting fraud and invalid traffic is a challenging problem that we're interested in helping address. However this proposal does not explain how it will make practical progress on the listed use cases, and there are clear downsides to adopting it."
Among those familiar with the way browser technology gets developed, Alex Russell, partner product manager on Microsoft Edge and former senior staff engineer at Google, [41]took to Mastodon to urge people to withhold their judgment until WEI is more fully developed.
"Particularly in the early design phase, lots of ideas are bad!" Russell [42]said . "And that's OK! API design requires a journey through a problem space, and the best way to redirect this sort of thing isn't to extrapolate to worst-case scenarios, it's to ask that folks show their work and demonstrate value."
Chris Palmer, a former Google engineer who now works at Tailscale, last week called the proposal [43]a bad idea in a separate Mastodon post.
"Remote attestation misaligns incentives wildly," he wrote. "If you make your customer your enemy, you have profoundly screwed the pooch. A framework for enabling publishers to make their customers their enemies is a framework for profoundly screwing the pooch."
There's no tweaking to fix it. Just drop it and apologize
Ondřej Pokorný, a freelance technology consultant, offered [44]similar sentiment , via Mastodon. "The problem with many of these new APIs from the whole 'Privacy Sandbox' and other proposals intended to replace 'legitimate' third-party use-cases is that it's turning the browser from a User-Agent into double agent working also in the interest of advertisers and other corporate players, often not aligned with user interests," he argued.
Palmer [45]added , "The best outcome is for Google to simply retract this proposal tomorrow morning. There's no tweaking to fix it. Just drop it and apologize."
The Register asked Google to comment and the web goliath declined. However, we understand it intends to address concerns and supposed misapprehensions raised about the proposal in a forthcoming message. ®
Get our [46]Tech Resources
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1439945
[2] https://groups.google.com/a/chromium.org/g/blink-dev/c/Ux5h_kGO22g
[3] https://rupertbenwiser.github.io/Web-Environment-Integrity/
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZL@dRJvfLSyJDQIXBpLZ8QAAAhQ&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZL@dRJvfLSyJDQIXBpLZ8QAAAhQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZL@dRJvfLSyJDQIXBpLZ8QAAAhQ&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZL@dRJvfLSyJDQIXBpLZ8QAAAhQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[8] https://infra.spec.whatwg.org/#user-agent
[9] https://rupertbenwiser.github.io/Web-Environment-Integrity/#attester-verdict-attester-verdict
[10] https://rupertbenwiser.github.io/Web-Environment-Integrity/#attester-attester
[11] https://rupertbenwiser.github.io/Web-Environment-Integrity/#web-environment-web-environment
[12] https://rupertbenwiser.github.io/Web-Environment-Integrity/#relying-party-relying-party
[13] https://rupertbenwiser.github.io/Web-Environment-Integrity/#web-environment-web-environment
[14] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZL@dRJvfLSyJDQIXBpLZ8QAAAhQ&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[15] https://www.theregister.com/2022/08/12/meta_ios_privacy/
[16] https://developer.android.com/google/play/integrity
[17] https://developer.apple.com/documentation/devicecheck/validating_apps_that_connect_to_your_server
[18] https://privacypass.github.io/
[19] https://github.com/WICG/trust-token-api#non-web-sources-of-tokens
[20] https://github.com/w3c/webpayments/wiki/UserConfidenceScore
[21] https://github.com/antifraudcg/proposals/issues/8
[22] https://github.com/antifraudcg/proposals/issues/8#issuecomment-1158928350
[23] https://www.protocol.com/bulletins/trust-big-tech-facebook
[24] https://github.com/RupertBenWiser/Web-Environment-Integrity/blob/main/explainer.md
[25] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues
[26] https://github.com/RupertBenWiser/Web-Environment-Integrity/commit/7998217b3d7334a71c26c52aeeadc1c6b1ba1dc4
[27] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/30
[28] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/13#issue-1707048746
[29] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/13#issuecomment-1545985307
[30] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/14
[31] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/28
[32] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/108
[33] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/118
[34] https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/51
[35] https://www.theregister.com/2023/06/27/google_tweaks_topics_api_ahead/
[36] https://www.theregister.com/2023/06/07/apple_safari_jpeg_xl/
[37] https://www.theregister.com/2023/06/17/google_searchers_from_years_past/
[38] https://www.theregister.com/2023/05/11/google_io_2023_developers/
[39] https://news.ycombinator.com/item?id=36817662
[40] https://github.com/mozilla/standards-positions/issues/852#issuecomment-1648820747
[41] https://elk.zone/toot.cafe/@slightlyoff/110754836854316833
[42] https://elk.zone/toot.cafe/@slightlyoff/110754841235364693
[43] https://social.unextro.net/@fugueish@infosec.exchange/110744530028958461
[44] https://social.unextro.net/@ondra/110739117652060780
[45] https://infosec.exchange/@fugueish/110744562535410829
[46] https://whitepapers.theregister.com/
Best way to kill this...
The firm attesting that the "Environment" is safe and untampered with is legally and financially responsible for any failure in the system.
Add in a clear penalty on top (say $50k) per failure.
I'm sure Google would be more then happy to take on the burden...
Control
It is all about control. Control the system and you control everything. Google wants to control everything. This proposal makes it abundantly clear if it wasn't clear from past behaviour.
Monopolists will always propose to improve their hold on the the monopoly. It will always be proposed as your benefit, but only serves the monopolist's benefit . See history...
ODFO, alphagoo.
Here's the deal: You worry about the code running on your systems, and I'll worry about the code running on mine.
That's how the Internet works. You worry bout your end and link, and I worry about my end and link, and ElReg worries about their end (and pays somebody else to worry about their link). What ElReg and I choose to do with our ends and links are none of your fucking business, period.
So again, I invite you to fuck off. Nobody wants your vision of a nanny state, especially not where you are the nanny. Have I mentioned you should fuck off? Now would be a good time. Just do it. Put yourself out of our misery. We don't want you. At all. Go away.
This is good news
I look forward to Google mandating this and abruptly losing all control over tech standards. It's about time.
Let me know which bar Pichai and Musk hang out at to bitch about customers and reminisce upon 'X' projects.
Too late!
"This therefore starts to slide the web toward a time in which only authorized, officially released browsers will be accepted by websites."
Tell that to the bloody BBC.
Just lately every time I go to iPlayer the BBC demands that I "...update your browser" or come the end of the month nasty things will start happening.
I use Pale Moon, and when I contacted the BBC complaining about them taking away my choice of browser, I was told that because the BBC has only limited resources they can only certify a restricted number of browsers such as Chrome based ones, Safari or Firefox.
How much effort does it take to check that a certain browser meets all applicable modern standards, and what about the open nature of the internet anyway? It's not as if I am using Lynx, now is it?
I'm old enough to remember the warning that came up saying "This site is best viewed in IE 6." No, enough of that nonsense.
Oh, in the end I just edited my user agent string to Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0
Bollocks to the lot of them.
Have we got to the stage when the governance of the internet is by the advertisers, for the advertisers? If so, how long will it be before these advertisers declare that choice and control of your computer are no longer allowed and lobby for penalties against anyone foolish enough to defy them?
The pooch is there to be screwed
"If you make your customer your enemy, you have profoundly screwed the pooch." ... but that's exactly what they want to do. The pooch is there to be screwed out of as much money as possible. That's why they see nothing wrong with what they're doing.
The problem is those who offer up what they do, who don't want money in return, will be impacted because those who want the pooch to bend over and take it, are in the vast majority; and lets face it, nothing comes for free these days. Every web renewal I have to weigh up the cost of my personal web domains and wonder if I can afford to keep them running in these cash strapped times.
For all of the BS passed around by the Google Devs on this 'trusted browser' tech, its clear that Alphabet have one goal for it, to make themselves more ad revenue by blocking bots, stopping ad blockers and to eliminate alternative browsers and force people to use Chrome.
The question will be whether Apple implements this in Safari or not if Google does push it through on Chrome? Hopefully they won't and that will allow a way around it. As devs will not want to lock out Apple users from their websites as they are a large customer base, so will have to have some way of displaying it without this 'trusted browser' BS.
But the best solution is if people just stop using Chrome, as the only reason Google are able to pull this sort of BS is because they have such as large share of the browser market. Chrome has become the IE of the modern age in which devs just assume your either using Chrome or your an Apple user.
FYI Linux and Firefox on my devices, that why i am worried about this getting implemented.
The moment this starts governments will want to take over that certification. And believe me, they will. Google won't know what hit them.
/edit: thinking about the laws currently getting passed in the UK, for a start...
Why this isn't needed. (A micro essay)
Since the actual github issue tracker is (as mentioned in the article) locked. I figured I would post a comment on the top article on why this API is not needed, this is taken from my tweet thread on the same topic.
Many of the use-cases are bad use cases, that is to say there are already ways to solve for them. Point's here are counterpoints to many of the explainer points.
RE: Checking for humans vs bots: 1 there are already this thing called Captcha's, also you could probably implement something like this using WebAuthn already.
Re: Only human interactions, Same verse same as the first, but to add, you could also require a WebAuthn sign-in. Depending on the platform you can even weed out most multi-account users since every account would require another TPM / Authenticator Key.
RE: Trusted Game Environments: 1. it's already known no to trust the client in games. 2. VERIFICATION SHOULD BE DONE ON THE SERVER!
And, again, bans would be done vs the hardware ID, so if you want to avoid a ban, you would need a new device.
RE: Malware: 1. People already don't check for SSL, how would this help? 2. Malware already gets into kernel & firmware, how would this prevent it? 3. this only helps the bank to know the user's browser is fine, not the user to know they are actually viewing the bank.
RE: Improving privacy: You are implementing a way to fingerprint / verify users. None of this prevents the fingerprinting already possible. It just adds a new factor to it.
RE: Goals and non-goals: It's admitted that "client javascript may be modified to alter the validation result" so it wouldn't fix games.
Not in the tweet thread but, how can you not impact browser extensions and prevent ad-blockers?
RE: Use-Cases A: Detection of webview phishing< Does anyone do this? Also, it would be easer & faster to just add a header to webviews (and everything else) stating the app sending the request.
RE: Use-Cased B: Mass Acct. Creation & Hijacking? WebAuthn. Cheating? See, previous. Compromised devices? This won't fix. Password guessing? **WebAuthn Physical Authenticator Exsists.**
RE: Google Play Verification: See https://iana.org/assignments/webauthn/webauthn.xhtml#webauthn-attestation-statement-format-ids
(WebAuthn can already ask for it with `android-safetynet`)
Tl;Dr: Much of this can already be accomplished with WebAuthn, that which can't, almost certainly won't be fixed with this API. Which brings to mind the question of why it exists?
I wouldn't mind seeing a certification chain for browsers and whatnot added to the webauthn spec, but that would be a function added to the pre-existing authentication providers. Not a brand new verification API.
Naturally...
WEI will require a fully validates Google account. Anyone who does not have (or want) one will be excluded from Google's internet of the future.
F'k Google. Suck on this NOW!