Samenvatting: Onzichtbare bedreigingen kunnen een Chrome-extensie gemakkelijk omzetten in een RCE (Remote Code Execution) op hostniveau.

Sinds hun introductie worden browserextensies beschouwd als lichte productiviteitstools: onschadelijke add-ons die zich ergens tussen bladwijzers en instellingen bevinden. Ze worden achteloos geïnstalleerd, geruisloos bijgewerkt en zelden kritisch bekeken zodra ze onderdeel zijn geworden van de dagelijkse workflow van een gebruiker.

Bovendien worden browserextensies vaak gezien als relatief kleine beveiligingsrisico's, omdat ze door de browser sterk afgeschermd zijn van het onderliggende systeem en opereren binnen een afgeschermde omgeving van de webbrowser.

Dit is een achterhaalde aanname, aangezien dit onderzoek aantoont hoe zelfs een extensie zonder enige machtigingen de sandboxing van de browser kan omzeilen en kan leiden tot de installatie van malware direct op de computer.

Onderzoekers van LayerX hebben ontdekt hoe elke browserextensiezelfs één zonder toegangsrechten helemaal niet, kan zijn gebruikt om malware te installeren op de doelhost. Het enige wat een aanvaller hoeft te doen, is toevoegen een onzichtbaar schrift naar een legitieme download, die wordt uitgevoerd wanneer de download wordt gestart. Dit resulteert erin dat gebruikers zichzelf infecteren met malware voor het uitvoeren van code op afstand, zonder dat ze het ooit merken. 

Aangezien deze exploitatievector vereist geen speciale toestemmingen Door de extensies kan het door elke kwaadwillige extensie worden gebruikt. waardoor vrijwel elke extensiegebruiker wordt blootgesteld tot uitbuiting.

De blinde vlek waarmee we begonnen zijn

Chrome-extensies werken volgens een beveiligingsmodel dat vaak over het hoofd wordt gezien. Contentscripts, die standaard zijn ingeschakeld, zijn ontworpen om één ding heel goed te doen: webpagina's benaderen en wijzigen. Dit is geen bug of verkeerde configuratie, maar vormt de kern van de werking van extensies. Elke extensie die op een pagina draait, heeft in feite hetzelfde toegangsniveau als de JavaScript-code van die pagina zelf.

Op het eerste gezicht lijkt dit redelijk. Extensies moeten pagina's aanpassen om functies toe te voegen, UI-elementen in te voegen of workflows te verbeteren. Sterker nog, dat is hun hele ontwerpdoel.

Diezelfde mogelijkheid kent echter een keerzijde. Als een extensie alles kan wat een website kan, kan een kwaadaardige extensie elke legitieme website onzichtbaar en op grote schaal in een kwetsbaar punt veranderen. Dit was het uitgangspunt van ons onderzoek.

Wanneer elke download een aanvalsvector wordt

We stelden een simpele vraag: wat is de meest waardevolle actie die een kwaadwillende actor vanuit de browser kan uitvoeren zonder toestemmingen aan te vragen die argwaan zouden wekken?

Het antwoord is natuurlijk: het uitvoeren van code.

Door misbruik te maken van de onbeperkte mogelijkheden van content scripts, hebben we een extensie ontwikkeld die stilletjes elke bestandsdownload die vanaf een website wordt gestart, wijzigt. De gebruiker klikt op een legitieme downloadlink op een vertrouwd domein, met een browser die hij of zij vertrouwt. Het bestand wordt vervolgens gedownload zoals verwacht.

Maar dat is niet het enige dat gebeurt.

Zonder de oorspronkelijke applicatie te beschadigen, zonder waarschuwingen te genereren en zonder dat dit vereist is. eventuele aanvullende machtigingenDe extensie voegt door de aanvaller gecontroleerde code toe aan elk gedownload uitvoerbaar bestand. Het originele programma blijft gewoon werken en de gebruiker ziet precies wat hij verwacht. Vanaf dat moment is het game over.



In onze demonstratie opent de payload simpelweg de rekenmachine-app als een onschuldige visuele indicator. In een realistische situatie zou het echter persistentie, laterale verplaatsing, data-exfiltratie of volledige afstandsbediening van de machine mogelijk kunnen maken.

Hoewel browserextensies zogenaamd afgeschermd zijn van het onderliggende bestandssysteem en in een sandbox van de browser worden geplaatst, maakt deze techniek het voor de extensie mogelijk om uit die sandbox te breken. Op dat moment fungeert de browser niet langer als een grens. De extensie wordt in feite een Remote Access Trojan.

POC-video:

Waarom dit bijzonder gevaarlijk is

Wat deze aanval zorgwekkend maakt, is de onzichtbaarheid ervan:

  • Het vereist geen verdachte machtigingen.
  • Het geeft geen waarschuwingen in de browser.
  • Het wijzigt de oorspronkelijke website op geen enkele manier die voor mensen zichtbaar is.
  • Downloads verlopen normaal voor de gebruiker.

Elke extensie, inclusief eerder legitieme extensies, zou dit gedrag in een update kunnen introduceren, en gebruikers zouden geen betrouwbaar signaal krijgen dat er iets veranderd is.

Deze aanval is niet gebaseerd op phishing of verwarring bij de gebruiker. Hij maakt gebruik van een zwakke schakel in de vertrouwensketen van de browser. Gebruikers vertrouwen hun browser en bepaalde websites, maar als ze hun extensies niet kunnen vertrouwen, kunnen noch de browser noch de website de gebruiker effectief beschermen. Het installeren van een onbetrouwbare extensie is in feite hetzelfde als het installeren van malware.

Bovendien kan deze aanval niet worden gedetecteerd door tools die gebruikmaken van proxy's of VPN's, omdat het bezochte domein volledig legitiem is en er geen externe server wordt benaderd om de kwaadaardige code op te halen. Verder is de aanval volledig browseronafhankelijk en kan deze elke op Chromium of Mozilla gebaseerde browser treffen.

Openbaarmaking en reactie van de sector

We hebben onze bevindingen via hun programma's voor het melden van kwetsbaarheden aan Google en Mozilla gerapporteerd, volgens de procedures voor 'verantwoordelijke openbaarmaking'.

Google verklaarde dat "Social engineering-aanvallen vallen buiten het toepassingsgebied van het Chrome-dreigingsmodel." 

Mozilla antwoordde dat "Wanneer je een extensie toegang geeft tot alle websites, kan deze de inhoud van websites wijzigen, inclusief het wijzigen van de bestemmingen van links."

Beide beweringen zijn technisch gezien correct, maar ze benadrukken ook de kern van het probleem dat dit onderzoek wil belichten: een extensie krijgt, louter door deze te downloaden, een enorme impliciete macht. 

Het huidige beveiligingsmodel voor extensies legt de gebruiker niet goed uit welke impact een onbetrouwbare extensie heeft op zijn of haar browse-ervaring en de beveiliging van het gehele systeem.

Er zijn talloze manieren waarop extensies kunnen worden misbruikt om het vertrouwen van de gebruiker te omzeilen.

De browser is stilletjes uitgegroeid tot een primaire uitvoeringsomgeving, een distributiekanaal en een controlelaag, terwijl hij grotendeels onbeheerd blijft door traditionele beveiligingsinstrumenten. Extensies bevinden zich op het snijvlak van gebruikersvertrouwen en impact op systeemniveau.

Hoe gebruikers en bedrijven zichzelf kunnen beschermen

Dit type exploit laat de beperkingen zien van de traditionele aanpak voor extensiebeveiliging, die gebaseerd is op externe analyse van extensieparameters, zoals machtigingen, reputatie, enzovoort. Omdat er helemaal geen machtigingen zijn, zou de risicoscore waarschijnlijk laag uitvallen. 

Alleen door het daadwerkelijke gedrag van de extensie te monitoren, kan de kwaadaardige intentie ervan worden onthuld. Dit betekent dat gebruikers en organisaties moeten overstappen van statische analyse van extensies naar actieve, op gedrag gebaseerde analyse, net zoals ze dat doen voor malware.


Met dank aan Roy Paz en Aviad Gispan, die hebben bijgedragen aan dit onderzoek.