Google en Microsoft hebben zich teruggetrokken ModHeadereen populaire extensie voor het bewerken van kopteksten met ongeveer 1,6 miljoen installaties in Chrome en Edge, nadat onderzoekers een verborgen verzamelaar van browsegeschiedenis hadden gevonden die in de officiële winkelversie was ingebouwd.
De verzamelaar was inactief. Een lege toelatingslijst zorgde ervoor dat het uitgeschakeld werd, en er is geen bewijs gevonden dat het ooit een enkel browserdomein heeft verzameld of verzonden.
De analyse kwam van Stripe OLT, een Brits beveiligingsbedrijf, dat de code controleerde aan de hand van Google’s eigen Web Store-handtekening en bevestigde dat de verzamelaar werd verzonden binnen de echte extensie en niet als een vervalsing.
De recensie heeft betrekking op de Chrome-build en de ongeveer 900.000 gebruikers; Trackers van derden plaatsen nog eens ongeveer 700.000 op Edge. Microsoft heeft de Edge-lijst op 3 juli ingetrokken en Google verwijderde de Chrome-lijst een week later, op 10 juli.
Versie 7.0.18 (extensie-ID idgpnmonknjnojddfkpgkljpfnnfcklj) bewerkt nog steeds HTTP-headers zoals geadverteerd. Dezelfde verkleinde achtergrondcode bevat ook een tweede systeem. Bij de eerste keer opstarten bouwt het een apparaatvingerafdruk op en laadt het een hardgecodeerde coderingssleutel. Terwijl u browst, wordt het domein van elke pagina die u opent, gecodeerd en lokaal opgeslagen, tot wel 1000 verschillende domeinen.
Eén keer per dag bundelt een planner de gecodeerde lijst met uw vingerafdruk, plaatst deze op api.stanfordstudies(.)com en wist de lokale kopie. De uploadtijd wordt per installatie aangepast, dus de browsers die dit uitvoeren, zouden niet allemaal tegelijk bakenen als de collector zou zijn ingeschakeld. Afzonderlijke demontages, door HackIndex op versie 7.0.18 en onderzoeker Yunus Aydin op 7.0.17, beschrijven dezelfde pijplijn.
Het verzamelprogramma wordt alleen uitgevoerd als uw browser overeenkomt met een item op een interne toelatingslijst, en die lijst wordt leeg geleverd. De controle mislukt elke keer, dus de pijplijn stopt voordat er één domein is verzameld. Het vullen van die lijst is een kleine verandering, zonder nieuwe machtigingen en zonder klik van uw kant, geleverd als een routine-update. De hardgecodeerde sleutel, de eindpunt-URL, de planner en de opslaglogica bevinden zich al op de machine.
Niet alles sliep. Bij het installeren, bijwerken en verwijderen pingde de extensie naar een tweede domein, extensions-hub(.)com, met het product, de versie en de browser. En een script dat op elke pagina wordt uitgevoerd, had al metagegevens van echte verzoeken in platte tekst opgeslagen in de lokale opslag, dus dat stuk was duidelijk actief.
Geautomatiseerde controleurs hadden ModHeader een laag risico gegeven, sommige zelfs 95 van de 100. Elk onderdeel van het ontwerp kan een ander soort controle frustreren. De gegevens zijn gecodeerd, zodat een scanner cijfertekst ziet. De upload is afgesloten, dus een sandbox ziet niets weggaan.
De kwaadaardige code wordt verkleind tot een legitieme codebase. De eindpunten hadden geen gevestigde kwaadaardige reputatie om te markeren. En een ondertekende, populaire extensie leest als vertrouwd. Een winkelhandtekening bewijst waar een bestand vandaan komt, niet wat het doet.
Waar de domeinen naartoe leiden
Stripe OLT koppelde de domeinen aan een echte, onderhouden infrastructuur. stanfordstudies(.)com heeft geen link naar Stanford; het is een hergebruikt oud domein met een OpenSearch-backend, terwijl extensions-hub(.)com is opgezet voor advertenties.
De twee API-eindpunten zijn op het moment van analyse omgezet naar dezelfde Amazon-server, die bij één operator past zonder dit te bewijzen. Een handvol zwakke signalen wijst losjes in de richting van een Chineessprekende telefoniste: een vereenvoudigde Chinese landinstelling, een ‘zout’-markering geschreven met het teken 盐, en een mailprovider van Chinese oorsprong. De onderzoekers noemen geen groep, en wij ook niet.
De waarschuwingssignalen kwamen eerder. ModHeader ontving klachten over het injecteren van advertenties in de zoekresultaten in 2023 en werd naar verluidt rond die tijd door advertenties ondersteund. Wie het heeft overgenomen is niet bevestigd, en de onderzoekers doen geen uitspraken over de oorspronkelijke auteur.
De eigen site van ModHeader publiceert nog steeds een advertentieplan waarin staat dat er geen gebruikersgegevens worden verzameld, wat moeilijk te vergelijken is met een ingebouwde verzamelaar van browsegeschiedenis, zelfs als deze is uitgeschakeld. De ontwikkelaar heeft vanaf de publicatie niet publiekelijk op de bevindingen gereageerd.
The Hacker News heeft contact opgenomen met ModHeader voor commentaar en verdere vragen gesteld aan Stripe OLT, en zal dit verhaal bijwerken met elk antwoord.
In 2021 beschreef Brian Krebs hoe populaire extensies stilletjes worden gekocht en omgezet in datapipes. Dit lijkt op dat patroon, nu met codering en een poort die ervoor zorgt dat scanners de upload niet kunnen zien. Alleen al dit jaar werd een reeks Chrome-extensies betrapt op het verzamelen van gegevens onder het label ‘anonieme analyse’, en een afzonderlijke set imiteerde Workday en NetSuite om sessiecookies te stelen. Header-editors en cookie-managers hebben brede toegang tot hun werk nodig, en als het vertrouwen kapot gaat, is de straal groot.
Wat te doen
Als je ModHeader hebt, verwijder het dan uit Chrome en Edge; uw browser heeft dit mogelijk al uitgeschakeld. Als u de installatie ongedaan maakt, worden de opgeslagen gegevens gewist, dus het enige dat u moet controleren is dat profielsynchronisatie of een beheerd extensiebeleid deze niet terugzet.
Als je er geheimen in hebt geplakt, API-sleutels, dragertokens en sessiecookies, roteer ze dan, omdat onderzoekers hebben ontdekt dat de header-geschiedenisfunctie volledige HTTP-headers op schijf opslaat.
Voor verdedigers: blokkeer en log stanfordstudies(.)com en extensions-hub(.)com op DNS en proxy, en zoek in logs naar de extensie-ID en eventuele POST naar api.stanfordstudies(.)com/app/log. Stripe OLT heeft kant-en-klare KQL-jachtquery’s voor Defender en Sentinel gepubliceerd.
De takedowns behandelen deze ene verlenging. Het ontwerp is het onderdeel waar mensen zich zorgen over zouden moeten maken: een complete, door de winkel geverifieerde verzamelaar zat in een vertrouwd, populair hulpmiddel, blijkbaar gebouwd om in te schakelen zodra een gewone update de lege lijst vulde. De geautomatiseerde scanners beoordeelden het als een laag risico, en de volgende tool die op deze manier wordt gebouwd, ziet er misschien net zo schoon uit.
De praktische les is beperkt: bij het beoordelen van extensies moet worden gelet op sluimerende codepaden die door testen nooit worden geactiveerd, nieuwe call-home-eindpunten en een mogelijkheid die een routine-update kan toevoegen na een verandering van eigenaar.