Resumé: Usynlige trusler kan nemt forvandle en Chrome-udvidelse til en RCE på værtsniveau
Siden de blev introduceret, er browserudvidelser blevet behandlet som lette produktivitetsværktøjer – harmløse tilføjelser, der befinder sig et sted mellem bogmærker og indstillinger. De installeres tilfældigt, opdateres lydløst og kontrolleres sjældent, når de først er blevet en del af en brugers daglige arbejdsgang.
Derudover opfattes browserudvidelser ofte som lavgradige sikkerhedsrisici, da de er stærkt isoleret fra det underliggende system af browseren og opererer i et meget sandkasse-miljø inden for webbrowserens rammer.
Dette er en forældet antagelse, da denne forskning viser, hvordan selv en udvidelse helt uden tilladelser kan omgå browserens sandboxing og føre til installation af malware direkte på computeren.
LayerX-forskere har opdaget, hvordan enhver browserudvidelse, selv én uden adgangstilladelser overhovedet kan være bruges til at installere malware på målværten. Alt en angriber skal gøre er at tilføje et usynligt skrift til en legitim download, som udføres, når downloadingen køres. Dette resulterer i, at brugerne inficerer sig selv med malware til fjernudførelse af kode uden nogensinde at bemærke det.
Da denne udnyttelsesvektor kræver ingen særlige tilladelser af udvidelserne, kan den bruges af enhver ondsindet udvidelse, eksponerer stort set alle udvidelsesbrugere til udnyttelse.
Den blinde vinkel, vi startede med
Chrome-udvidelser fungerer under en overset sikkerhedsmodel. Indholdsscripts, der er aktiveret som standard, er designet til at gøre én ting rigtig godt: at få adgang til og ændre websider. Dette er ikke en fejl eller fejlkonfiguration, men snarere en central del af udvidelsernes modus operandi. Enhver udvidelse, der kører på en side, har effektivt samme adgangsniveau som sidens eget JavaScript.
Ved første øjekast virker dette rimeligt. Udvidelser skal ændre sider for at tilføje funktioner, indsætte UI-elementer eller forbedre arbejdsgange. Faktisk er dette hele deres designmål.
Den samme funktion har dog en forbehold. Hvis en udvidelse kan gøre alt, hvad et websted kan, kan en ondsindet udvidelse usynligt og i stor skala forvandle ethvert legitimt websted til en angrebsflade. Dette var udgangspunktet for vores undersøgelse.
Når hver download bliver en angrebsvektor
Vi stillede et simpelt spørgsmål: Hvad er den mest værdifulde handling, en ondsindet aktør kan foretage indefra browseren uden at anmode om tilladelser, der ville vække mistanke?
Svaret er selvfølgelig kodeudførelse.
Ved at misbruge den ubegrænsede karakter af indholdsscripts har vi bygget en udvidelse, der lydløst ændrer alle fildownloads, der startes fra et hvilket som helst websted. Brugeren klikker på et legitimt downloadlink på et betroet domæne ved hjælp af en browser, de har tillid til. Filen downloades præcis som forventet.
Men det er ikke det eneste, der sker.
Uden at ødelægge den oprindelige applikation, uden at udløse advarsler og uden at kræve eventuelle yderligere tilladelser, tilføjer udvidelsen angriberkontrolleret kode til alle downloadede eksekverbare filer. Det originale program kører stadig normalt, og brugeren ser præcis, hvad de forventer. Derfra er det slut.
I vores demonstration åbner nyttelasten blot lommeregnerappen som en godartet visuel indikator. I et virkeligt scenario kunne det muliggøre persistens, lateral bevægelse, dataudtrækning eller fuld fjernstyring af maskinen.
Selvom browserudvidelser angiveligt er isoleret fra det underliggende filsystem og sat i en sandkasse af browseren, tillader denne teknik udvidelsen at bryde ud af sandkassen. På dette tidspunkt fungerer browseren ikke længere som en grænse. Udvidelsen bliver effektivt en fjernadgangstrojaner.
POC-video:
Hvorfor dette er særligt farligt
Det, der gør dette angreb bekymrende, er dets usynlighed:
- Det kræver ingen mistænkelige tilladelser.
- Den udløser ingen browseradvarsler.
- Den ændrer ikke det oprindelige websted på nogen menneskeligt synlig måde.
- Downloads ser normale ud for brugeren.
Enhver udvidelse, inklusive tidligere legitime udvidelser, kunne introducere denne adfærd i en opdatering, og brugerne ville ikke have noget pålideligt signal om, at noget havde ændret sig.
Dette angreb er ikke baseret på phishing eller brugerforvirring. Det udnytter et svagt led i browserens tillidskæde. Brugere har tillid til deres browser, og de har tillid til bestemte websteder, men hvis de ikke kan have tillid til deres udvidelser, kan hverken browseren eller webstedet effektivt beskytte brugeren. Installation af en ikke-tillid udvidelse svarer funktionelt til installation af malware.
Desuden kan dette angreb ikke detekteres af proxy/VPN-baserede værktøjer, da det domæne, der tilgås, er fuldstændig legitimt, og ingen fjernserver kontaktes for at hente den skadelige kode. Desuden er angrebet fuldstændigt cross-browser og kan påvirke enhver Chromium-baseret eller Mozilla-baseret browser.
Offentliggørelse og brancherespons
Vi rapporterede vores resultater til Google og Mozilla gennem deres programmer for offentliggørelse af sårbarheder i henhold til procedurerne for 'ansvarlig offentliggørelse'.
Google udtalte, at "Social engineering-angreb er uden for Chrome-trusselsmodellens rækkevidde."
Mozilla svarede, at "Når du giver en udvidelse adgang til alle websteder, kan den ændre indholdet af websteder, herunder ændre destinationerne for links."
Begge udsagn er teknisk set korrekte, men de fremhæver også det kerneproblem, som denne forskning har til formål at belyse: en udvidelse får, blot ved at downloade den, enorm implicit magt.
Den nuværende sikkerhedsmodel for udvidelser forklarer ikke brugeren ordentligt, hvilken indvirkning en ikke-tillidsfuld udvidelse har på deres browseroplevelse og sikkerheden for hele deres system.
Der er utallige måder, hvorpå udvidelser kan udnyttes til at omgå brugertillid.
Browseren er stille og roligt blevet et primært udførelsesmiljø, en distributionskanal og et kontrolplan, mens den stort set forbliver uovervåget af traditionelle sikkerhedsværktøjer. Udvidelser befinder sig i krydsfeltet mellem brugertillid og systemniveaupåvirkning.
Hvordan brugere og virksomheder kan beskytte sig selv
Denne type udnyttelse viser begrænsningerne ved den traditionelle sikkerhedstilgang for udvidelser, som er baseret på ekstern analyse af udvidelsesparametre, baseret på dens tilladelser, omdømme osv. Da der ikke er nogen tilladelser overhovedet, vil den højst sandsynligt få en lav risikoscore.
Kun ved at overvåge udvidelsens faktiske adfærd kan dens ondsindede hensigter afsløres. Det betyder, at brugere og organisationer skal gå fra statisk analyse af udvidelser til aktiv, adfærdsbaseret analyse, ligesom de gør for malware.
Kilde: Roy Paz og Aviad Gispan, som har bidraget til denne forskning.

