2min

Onderzoekers zijn erin geslaagd met een zelfontwikkelde Chrome-extensie wachtwoorden in platte tekst uit de broncode van websites te stelen. Ook blijken veel extensies gevaarlijk en zijn websites vaak lek.

De onderzoekers van de University of Wisconsin-Madison konden de Chrome-extensie uploaden naar de Chrome Web Store. De extensie maakt het mogelijk om wachtwoorden te stelen die door de browser in platte tekst in de broncode werd opgeslagen.

Toegang tot HTML DOM

De onderzoekers richtten zich op de praktijk van browser-extensies om onbeperkte toegang te geven tot de Document Object Model (DOM)-tree van de websites die zij openen. Hierdoor kunnen zij toegang krijgen tot gevoelige elementen zoals userinput-velden.

De extensie krijgt zo toegang tot alle data die in de broncode zichtbaar is en maakt het mogelijk deze te extraheren. Bovendien kan, aldus de onderzoekers, de extensie de DOM API misbruiken om direct de waarde van de inputs te extraheren op het moment dat gebruikers deze invoeren. Het afschermen van deze gevoelige inputs om ze te beschermen, wordt hierdoor omzeild.

Manifest V3 niet voldoende

Google Chrome heeft hiertegen wel het Manifest V3 protocol geïmplementeerd. Dit protocol moet API-misbruik voorkomen en verbiedt extensies code op afstand op te halen die detectie kan omzeilen. Verder verbiedt het protocol het gebruik van ‘eval statements’ die het draaien van willekeurige code moet voorkomen.

Volgens de onderzoekers heeft dit echter niet zoveel zin. Dit omdat Manifest geen beveiligingsgrens introduceert tussen extensies en webpagina’s. Het probleem met content scripts blijft hierdoor bestaan.

Een screenshot van de Facebook-inlogpagina.

Extensie als GPT-assistent

Om hun beweringen te testen, ontwikkelden de specialisten van de University of Wisconsin-Madison daarom een Chrome-extensie die in staat is password-grabbingaanvallen uit te voeren. De extensie werd als een GPT-gebaseerde assistent bij de Chrome Web Store aangeboden en bevatte geen kwaadaardige code. Hiermee wist de extensie het beoordelingsproces te passeren en werd het eenvoudig in de web store opgenomen.

Een diagram dat het proces van een website laat zien.

Gevaarlijke extensies en ‘lekke’ websites

Uit verder onderzoek bleek dat van de 10.000 meest gebruikte websites er 1.100 wachtwoorden in platte tekst in de HTML DOM opslaan. Daarnaast waren er nog eens 7.300 websites kwetsbaar voor DOM API-toegang en voor het direct extraheren van inputwaarden van eindgebruikers.

Daarnaast bleken 17.300 extensies in de Chrome Web Store, 12,5 procent van het totaal, de voorwaarden voor het extraheren van gevoelige informatie van websites toe te staan. Onder meer betreft dit populaire ad-blockers en shopping-extensies.

Tot slot ontdekten de onderzoekers een lijst populaire websites die niet beschikken over bescherming tegen het stelen van wachtwoorden en andere gevoelige data. Het gaat onder meer om gmail.com, cloudflare.com, facebook.com, citibank.com, irs.gov, capitalone.com, usenix.org en amazon.com.

Tip: Chrome herkent malware die zich als extensie vermomt