Shrnutí: Neviditelné hrozby mohou snadno proměnit rozšíření Chrome v RCE na úrovni hostitele

Od svého zavedení byla rozšíření prohlížeče považována za lehké nástroje pro zvýšení produktivity – neškodné doplňky, které se nacházejí někde mezi záložkami a nastavením. Instalují se nenápadně, aktualizují se tiše a jakmile se stanou součástí každodenního pracovního postupu uživatele, zřídka se podrobují kontrole.

Rozšíření prohlížeče jsou navíc často vnímána jako méně kvalitní bezpečnostní rizika, protože jsou prohlížečem vysoce izolována od podkladového systému a fungují v prostředí s vysokou mírou sandboxu v mezích webového prohlížeče.

Toto je zastaralý předpoklad, protože tento výzkum ukazuje, jak i rozšíření bez jakýchkoli oprávnění může obejít sandbox prohlížeče a vést k instalaci malwaru přímo do počítače.

Výzkumníci z LayerX zjistili, jak libovolné rozšíření prohlížeče, dokonce ani jeden bez jakýchkoli přístupových oprávnění vůbec, může být používá se k instalaci malwaru na cílovém hostiteli. Útočník stačí přidat neviditelný scénář k legitimnímu stahování, které se spustí při spuštění stahování. To má za následek, že se uživatelé infikují malwarem pro vzdálené spuštění kódu, aniž by si toho všimli. 

Protože tento vektor exploatace vyžaduje žádná zvláštní oprávnění rozšířeními jej může použít jakékoli škodlivé rozšíření, odhalení prakticky každého uživatele rozšíření k vykořisťování.

Slepá skvrna, se kterou jsme začali

Rozšíření Chrome fungují s přehlíženým bezpečnostním modelem. Skripty obsahu, které jsou ve výchozím nastavení povoleny, jsou navrženy tak, aby dělaly jednu věc velmi dobře: přistupovaly k webovým stránkám a upravovaly je. Nejedná se o chybu ani špatnou konfiguraci, ale spíše o jádro způsobu fungování rozšíření. Jakékoli rozšíření, které běží na stránce, má efektivně stejnou úroveň přístupu jako vlastní JavaScript stránky.

Na první pohled se to zdá rozumné. Rozšíření potřebují upravovat stránky, aby přidávala funkce, vkládala prvky uživatelského rozhraní nebo vylepšovala pracovní postupy. Ve skutečnosti je to celý cíl jejich designu.

Tato schopnost má však jednu výhradu. Pokud rozšíření dokáže cokoli, co webová stránka, škodlivé rozšíření dokáže neviditelně a ve velkém měřítku proměnit jakoukoli legitimní webovou stránku v útočnou plochu. To byl výchozí bod našeho vyšetřování.

Když se každé stažení stane vektorem útoku

Položili jsme si jednoduchou otázku: jaká je nejcennější akce, kterou by mohl útočník provést v prohlížeči, aniž by si vyžádal oprávnění, která by vzbudila podezření?

Odpovědí je samozřejmě spuštění kódu.

Zneužitím neomezené povahy obsahových skriptů jsme vytvořili rozšíření, které tiše upravuje každé stahování souboru iniciované z jakékoli webové stránky. Uživatel klikne na legitimní odkaz ke stažení na důvěryhodné doméně pomocí prohlížeče, kterému důvěřuje. Soubor se stáhne přesně podle očekávání.

Ale není to jediná věc, která se stane.

Bez narušení původní aplikace, bez vyvolání varování a bez nutnosti jakákoli další oprávnění, rozšíření připojí k každému staženému spustitelnému souboru kód ovládaný útočníkem. Původní program stále běží normálně a uživatel vidí přesně to, co očekává. Od té chvíle je konec hry.



V naší demonstraci datová část jednoduše otevírá aplikaci kalkulačky jako neškodný vizuální indikátor. V reálném scénáři by mohla umožnit perzistenci, laterální pohyb, exfiltraci dat nebo plné dálkové ovládání stroje.

Zatímco rozšíření prohlížeče jsou údajně izolována od podkladového souborového systému a jsou prohlížečem uzavřena v sandboxu, tato technika umožňuje rozšíření vymanit se z sandboxu. V tomto okamžiku již prohlížeč nefunguje jako hranice. Rozšíření se efektivně stává trojským koněm pro vzdálený přístup.

Video s certifikací POC:

Proč je to obzvláště nebezpečné

Znepokojivá je tato neviditelnost útoku:

  • Nevyžaduje žádná podezřelá oprávnění.
  • Nespustí žádná varování prohlížeče.
  • Neupravuje původní webovou stránku žádným způsobem viditelným pro člověka.
  • Stahování se uživateli jeví normálně.

Jakékoli rozšíření, včetně dříve legitimních, by mohlo toto chování zavést v aktualizaci a uživatelé by neměli žádný spolehlivý signál, že se něco změnilo.

Tento útok se nespoléhá na phishing ani na zmatení uživatelů. Využívá slabý článek v řetězci důvěryhodnosti prohlížeče. Uživatelé důvěřují svému prohlížeči a důvěřují určitým webovým stránkám, ale pokud nemohou důvěřovat jejich rozšířením, nemohou je ani prohlížeč, ani webová stránka účinně chránit. Instalace nedůvěryhodného rozšíření je funkčně ekvivalentní instalaci malwaru.

Navíc tento útok nelze detekovat pomocí nástrojů založených na proxy/VPN, protože přístupová doména je čistě legitimní a není kontaktován žádný vzdálený server za účelem načtení škodlivého kódu. Útok je navíc kompletně multiprohlížečový a může postihnout jakýkoli prohlížeč založený na Chromiu nebo Mozille.

Zveřejnění a reakce odvětví

Naše zjištění jsme nahlásili společnostem Google a Mozilla prostřednictvím jejich programů pro zveřejňování zranitelností v rámci postupů „odpovědného zveřejňování“.

Google uvedl, že „Útoky sociálního inženýrství jsou pro model hrozeb Chrome mimo dosah.“ 

Mozilla odpověděla, že „Když rozšíření udělíte přístup ke všem webovým stránkám, může upravovat obsah webových stránek, včetně změny cílových odkazů.“

Obě tvrzení jsou technicky přesná, ale také zdůrazňují klíčový problém, na který se tento výzkum snaží vrhnout světlo: rozšíření pouhým aktem stažení získává obrovskou implicitní moc. 

Současný model zabezpečení rozšíření uživateli řádně nevysvětluje, jaký dopad má nedůvěryhodné rozšíření na jeho prohlížení a bezpečnost celého systému.

Existuje nespočet způsobů, jak lze rozšíření zneužít k obcházení důvěry uživatelů.

Prohlížeč se tiše stal primárním prostředím pro provádění programů, distribučním kanálem a řídicí rovinou, přičemž zůstává do značné míry nemonitorován tradičními bezpečnostními nástroji. Rozšíření se nacházejí na křižovatce důvěry uživatelů a dopadu na systémovou úroveň.

Jak se mohou uživatelé a podniky chránit

Tento typ zneužití ukazuje omezení tradičního přístupu k zabezpečení rozšíření, který je založen na externí analýze parametrů rozšíření na základě jeho oprávnění, reputace atd. Vzhledem k tomu, že neexistují žádná oprávnění, s největší pravděpodobností by získal nízké skóre rizika. 

Pouze sledováním skutečného chování rozšíření by bylo možné odhalit jeho škodlivý úmysl. To znamená, že uživatelé a organizace musí přejít od statické analýzy rozšíření k aktivní analýze založené na chování, stejně jako to dělají u malwaru.


Zdroj: Roy Paz a Aviad Gispan, kteří se podíleli na tomto výzkumu.