Nieuwe Chromium-functie blokkeert opstarten van Chrome met adminrechten

Een Microsoft-ontwikkelaar heeft een nieuwe functie aan het Chromium-project toegevoegd die ervoor kan zorgen dat Google Chrome in de toekomst automatisch herstart zodra de browser plots met adminrechten wordt gedraaid. Deze beveiligingsfunctie zit sinds 2019 in Microsoft Edge.

Chromium

Ontwikkelaar Stefan Smolen legt op het Chromium-ontwikkelaarsplatform uit dat de browser automatisch herstart dankzij de nieuwe code, maar ook dat er een fallback is voor in het geval dat het programma opnieuw met adminrechten wordt opgestart. De browser valt dan terug op zijn huidige werking en zal dus niet in een bootloop terechtkomen. Het is niet duidelijk of de beveiligingsfunctie daadwerkelijk naar Google Chrome komt. De functie zit sinds 2019 ook in de Microsoft Edge-browser ingebakken.

Door Jay Stout

Redacteur

19-05-2025 • 11:49

30

Reacties (30)

Sorteer op:

Weergave:

Een Microsoft-ontwikkelaar heeft een nieuwe functie aan het Chromium-project toegevoegd die ervoor kan zorgen dat Google Chrome in de toekomst automatisch herstart zodra de browser plots met adminrechten wordt gedraaid.
Wat is het doel hiervan? Als een aanvaller in staat is om een applicatie te starten met admin-rechten dan is het al te laat. Zelfs als je chromium niet kan starten dan start je wel powershell of een andere applicatie die doet wat je wil. Als je toch al adminrechten hebt kun je ook wel even een andere browser installeren. Een kleine waarschuwing kan ik nog wel als nuttig zien, maar gedwongen herstarten lijkt me dat niet.

Ik vind het geen goed model dat applicaties hun gebruikers op deze manier controleren. Het voelt alsof er een secundair security systeem wordt geïntroduceerd. Op zich ben ik voor meerdere complementaire systemen maar hier zie ik de meerwaarde niet zo. Het voelt meer als een rookgordijn dan als echte security.

Ik vind het ook niet goed om security te veel bij de applicaties neer te leggen in plaats van bij het OS. De volgende logische stap is namelijk dat je het onmogelijk moet maken voor gebruikers om die software aan te passen of te vervangen maar dan binnen hun eigen account. Gebruikers beperken is op zich een normale van een modern OS maar die functionaliteit is er dus al op OS niveau. Laten we dat gebruiken in plaats van het wiel opnieuw uit te vinden binnen een gebruikersaccount.

Maar misschien zie ik iets helemaal over het hoofd en heeft dit een heel ander doel.
[...]
Wat is het doel hiervan? Als een aanvaller in staat is om een applicatie te starten met admin-rechten dan is het al te laat. Zelfs als je chromium niet kan starten dan start je wel powershell of een andere applicatie die doet wat je wil. Als je toch al adminrechten hebt kun je ook wel even een andere browser installeren. Een kleine waarschuwing kan ik nog wel als nuttig zien, maar gedwongen herstarten lijkt me dat niet.
Misschien is het mogelijk met een exploit een browser te starten als admin voordat er volledig toegang is. De rest van de payload komt dan van een malafide website die door de browser exploit geopend wordt. Die zal dan als admin geinstalleerd kunnen worden waardoor het systeem compleet gecompromitteerd is.
Of het met powershell ook kan is te betwijfelen. Veel bedrijven zullen dat soort applicaties blokkeren voor hun gebruikers. Een browser is vrijwel universeel aanwezig dus wel een 'high value' doelwit.
Ik vind het ook niet goed om security te veel bij de applicaties neer te leggen in plaats van bij het OS. De volgende logische stap is namelijk dat je het onmogelijk moet maken voor gebruikers om die software aan te passen of te vervangen maar dan binnen hun eigen account.
In principe is software installatie meestal al 'systeembreed' en niet makkelijk aan te passen door gebruikers.

[Reactie gewijzigd door bzzzt op 19 mei 2025 12:59]

Bor Coördinator Frontpage Admins / FP Powermod @bzzzt20 mei 2025 07:53
Misschien is het mogelijk met een exploit een browser te starten als admin voordat er volledig toegang is.
Het draaien van een browser onder admin rechten levert security risico's op gezien alles wat in die browser gebeurd ineens met admin rechten uitgevoerd kan worden; ook eventuele kwaadaardige zaken. Het draaien met admin rechten past niet bij een least privilege aanpak.

Browsers zijn complexe stukken software welke o.a. mogelijkheden bieden scripts etc te draaien.

[Reactie gewijzigd door Bor op 20 mei 2025 07:54]

[...]
Het draaien van een browser onder admin rechten levert security risico's op gezien alles wat in die browser gebeurd ineens met admin rechten uitgevoerd kan worden;
Dat is precies wat ik bedoel: een browser is overal aanwezig en biedt een enorme hoeveelheid functionaliteit. Als je een systeem wil hacken en maar 1 applicatie als admin kan starten zou dat een van de eerste keuzes zijn.
Het draaien met admin rechten past niet bij een least privilege aanpak.
Dat is een heel goed principe, maar geeft geen antwoord op de vraag waarom dat zo is.
Browsers zijn complexe stukken software welke o.a. mogelijkheden bieden scripts etc te draaien.
En kunnen communiceren met andere systemen. Handig voor je payload delivery. Qua security policy wordt dat soort activiteit bij een browser meestal vertrouwd en niet altijd van andere applicaties.
Bij Garry's Mod was er een exploit waarbij de client remote code execution kon doen op de server (denk ik het kan ook andersom zijn). Als je als admin draait dan heeft die exploit dus admin rechten.
Toen ik dat hoorde heb ik mijn server op een gebruiker gezet. Omdat als er dan toch een remote execution exploit is zijn ze gelimiteerd tot user en niet admin.
runas /user:srcds /env /savecred /noprofile ...
Wie weet zit hier ook een risico aan maar dat kan nooit zo groot zijn als het als admin draaien.
Is het te laat? Sure. Voorkomt het toch nog extra problemen? Dat ook.

Ik denk niet dat je het moet zien als iets wat alles gaat voorkomen, maar vooral als extra maatregel die hoe dan ook nog wel iets aan impact heeft.

Bovendien zorgt het ervoor dat app bouwers, extension bouwers en websitebouwers ook niet iets raars gaan doen waar adminrechten voor nodig zijn om normale dingen te gaan draaien. Wat de beveiliging van het hele internet gewoon verbeterd.
Het doel hiervan is voorkomen dat Chrome per ongeluk met admin rechten wordt gestart, wat helaas vaak voor lijkt te komen. Als een browser onder admin rechten draait worden de admin rechten overnomen als iets vanuit de browser wordt geopend of uitgevoerd. Vergeet niet dat een browser code als javascript en web assembly uit voert. Mocht er een exploit in de browser zitten en je draait met admin rechten zijn de rapen gaar. Ook als je een bestand download en opent, draait je download met admin rechten als de browser met admin rechten draait. Ook draaien plugins met admin rechten! Er zijn veel shady plugins, dus dat wil je helemaal niet.

Mocht je toch wél je browser met admin rechten draaien, kun je Chrome opstarten met het -do-not-de-elevate argument.
Inderdaad. En de sandbox is gebaseerd op het draaien met lagere rechten, als je Chrome met admin rechten start zal de sandbox ook niet meer goed werken.
Wacht, het ene heeft toch niets met het andere te maken? Een gemiddeld JS script zal toch niet uit de sandbox geraken omdat de browser als root draait? Een exploit heeft veel meer potentie als de browser als root draait. Maar een exploit houdt zich per definitie niet aan de sandbox.
Deel van de sandbox is processen met lagere rechten draaien dan de user, zoals Low. Untrusted en AppContainer op Windows. Ik heb zelf Chrome niet geinstalleerd, dus weet niet met welke rechten alle subprocessen gedraaid worden als je het als admin start, maar het parent process als admin draaien zal daar geen positieve invloed op hebben.
En exploits moeten ook nog uit de sandbox breken, zo zou je bijv alleen het renderer proces kunnen exploiten om daar data te kunnen stelen, maar om bijv. data uit andere tabs te kunnen stelen is dat nog niet genoeg door de sandbox. Hetzelfde geldt voor helemaal uit Chrome breken. Je kunt dat mogelijk wel direct doen door een exploit in de browser te combineren met een exploit in het OS.
Ik zou niet weten waarom een browser admin rechten nodig heeft. Daarnaast denk ik dat dit juist is om te voorkomen dat een exploit in de browser volledige toegang tot je PC kan krijgen als de gebruiker het als admin opent.
Voor welke doeleinden wordt het dan gebruikt???
Browsers zijn extreem complex tegenwoordig. Ze zijn een interessante aanvalsvector voor kwaadwillenden. In het verleden zijn al vaak exploits gevonden waar kwaadaardige code kan worden uitgevoerd, hetzij in de JS of render engine. Maar het belangrijkste hier zijn denk ik extensies en plugins. Voor 99.99 procent is er geen reden om deze alle vrijheid te geven in een elevated context (admin). Het kapen van extensies om updates te verspreiden met kwaadaardige code is ook een dingetje van de laatste jaren.

Het draaien van je browser in een non elevated context zorgt er al voor dat kwaadaardige code een stuk minder kan.
Plugins die per se meer rechten nodig hebben doen dat meestal met een extra proces wat door de browser als service benaderd wordt. Voor iets met de complexiteit van een browser is er echt geen enkele goede reden het ding als admin te draaien.
Het idee is dar er eigenlijk geen legitieme redenen zijn om een webbrowser uitgebreide rechten te geven. Maw als de browser 'elevated' gestart wordt, is de kans zowat 99,99% dat er iets gaande is wat niet hoort.
Sinds dat uBlock Origin niet meer werkt (of althans, het kan wel middels een registry hack) ben ik weer overgestapt naar FireFox.

Chrome schakelt de Manifest V2-extensies die uBlock gebruikt, de vervanger Manifest V3-extensies laat trackers en ads minder gemakkelijk blokkeren en daarom zal elke adblocker op basis van die extensies minder goed in het tegen gaan van trackers en ads.

Ik kan jullie alleen maar aanraden hetzelfde te doen, FireFox werkt net zo goed als Chrome
Ik gebruik al jaren de Adblock applicatie met bijbehorende extension en die is zowel Manifest 3 compatibel alsook dat ie gewoon youtube advertenties en andere zaken blokkeert. Plus de mogelijkheid om voor sites als Tweakers te whitelisten. Dat werkt niet alleen effectiever, maar dan heb je ook geen overstap nodig. Al werk ik sowieso al met Vivaldi ipv Chrome. Dan heb je de customisation van Firefox maar nog steeds een Chromium engine. Want die blijft toch nog wel superieur aan die van Mozilla.
Brave werkt vooralsnog ook goed. Net iets kleinere overstap dan FF.
Zoals de meeste chromium based browsers. Maar vanaf juni verdwijnen de add-ons uit de chrome store en gaan ze ook stap per stap de code aanpassen. Verwacht dat het kwestie van tijd is tot v2 ook uit andere browsers zal verdwijnen. Tenzij er een grote partij de boel forked en blijft ondersteunen, maar ik verwacht dat niet.
met Brave heb je Ublock origin plugin, niet meer nodig omdat, het blokkeren geintegreed is in de brouwser
Dus heb je Manifest V2-extensies niet meer nodig
Hetzelfde gaat op voor andere chromium browsers, oa. Vivaldi en zelfs Edge hebben een "build-in" add-blocker. Maar het is voor mij niet duidelijk hoe goed die zijn.
Ik moet het nog zien gebeuren. Het zou goed kunnen dat je gelijk hebt, ik verwacht het zelfs, maar laat dat eerst maar eens blijken. Het zou zomaar kunnen dat bijvoorbeeld een EU er op een gegeven moment dwars voor gaat liggen, wat Google wel vaker heeft gehad als ze proberen marktaandeel te forceren. Chromium blijft met afstand de grootste browser, en het gros van de mensen gebruikt deze "as is". Als Brave (en anderen) hun toegevoegde waarde niet kunnen bewijzen zal het kleine marktaandeel dat ze hebben ook wegvallen. En ik verwacht dat ze dat niet zomaar zullen laten gebeuren.

Naar Firefox blijft altijd een optie.
uBlock Origin kun je letterlijk weer gewoon aanzetten als je even naar je extensies gaat... Dat vond ik ook wel heerlijk...
je moet toch een registry aanpassing doen om v2 weer werkend te krijgen? en dat was vorig jaar, die tweak werkt nog een jaar tot ergens einde dit jaar, en daarna is het gedaan met die oplossing.
Nope, ik kon simpelweg na de melding "uw extensies zijn uitgezet" naar de pagina gaan en ze gewoon weer op actief zetten.

Ook nu krijg ik dezelfde meldingen als waar youtube een jaar geleden mee begon (U gebruikt een adblocker, u kunt maximaal 3 filmpjes bekijken) en dan refresh je en heb je nergens last van.

Het wordt een ander verhaal als het gaat om bijhouden vrees ik, maar dan ben ik ook wel meteen weg bij chrome. De pest is alleen dat het bomen het bos nogal vertroebelen en er is geen absolute winnaar in dit verhaal. Elke browser heeft zijn eigen haken en ogen.
Al sinds het begin van Firefox een tevreden gebruiker. Geen noodzaak voor mij om over te stappen op iets anders
SInds Chrome overgestapt omdat Firefox toch wel moeilijk traag begon te worden rond 2007. Nooit meer teruggekeken.
Op zich een goed idee dat browsers in principe niet met admin/root rechten draaien. Maar voordat daar expliciet op wordt gehandeld zou ik liever eerst zien dat bij draaien van meer dan alleen gebruikers-rechten dat het kader een andere kleur krijgt, vergelijkbaar met de private/incognito mode die donkerder wordt. Dat met meer dan de standaard rechten het kader roder kleurt bijvoorbeeld.

En dan ook os-onafhankelijk: Bij unix/linux dan niet alleen met root rechten maar ook al met andere groeps rechten dan de standaard groep van de gebruiker. Eventueel met verschillende tinten rood werken.
Maar vervolgens zijn er weer een paar dozijn apps zoals Electron die Chromium gebruiken als renderer of als JavaScript engine, die best functionaliteit kunnen hebben die beter draait met admin rechten.
Zo jammer dit soort "je moet een gebruiker hebben voor je iets mag" features. Ik snap de gedachte wel van veiligheidsoogpunt en ook zeker wel van netwerk oogpunt waar je als gebruiker inlogt op een beschikbare pc.

Maar er zijn ook zeker situaties waar dit gewoon geen probleem is. KDE/Plasma heeft dit ook een tijdje gedaan (of is nog zo?) dat Dolphin starten als root simpelweg in code onmogelijk was gemaakt. Maar als je een OS even in een VM draait of als je op een server (met gui) even een programma wil draaien wordt het door dit soort features best wel vervelend. Dan moet er weer een gebruiker bij, moet die weer in de juiste groepen e.d. Naar mijn idee moeten die apps gewoon werken onafhankelijk van root of gebruiker. Hooguit een waarschuwing geven bij root maar het niet onmogelijk maken.

Op dit item kan niet meer gereageerd worden.