Útok MarioNET umožňuje hackerům ovládat váš prohlížeč, i když opustíte stránku útoku

Vzestup webových technologií otevřel nové možnosti na internetu. Prohlížeče se staly výkonnější, když se objevila nová API a byla zavedena podpora pro určité funkce.

Nový útok, který vědci, kteří jej objevili, nazval MarioNET, zdůrazňuje, že API mohou být zneužita také v případě, že neexistují žádná náležitá ochranná opatření (což je právě teď).

Útok se opírá o existující rozhraní API HTML5, která podporují všechny moderní webové prohlížeče. Nevyžaduje instalaci softwaru ani interakci uživatele a přetrvává i poté, co uživatel opustí webovou stránku, na které útok vznikl.

Útočník může zneužít zdroje počítače pro všechny druhy činností, včetně útoků DDOS, kryptominačních operací nebo praskání hesla.

Aktualizace : Zde najdete kritický hlas, který argumentuje proti scénáři popsanému ve výzkumném článku. Hlavním bodem kritiky je to, že metoda útoku se opírá o funkci zvanou PeriodicSync a že v tomto bodě není součástí žádné specifikace. Konec

MarioNET používá při útoku servisní pracovníky, skripty, které běží odděleně od navštívených webových stránek a na pozadí. Hlavní myšlenkou servisních pracovníků je přesunout určité výpočty do samostatného vlákna, takže neblokuje ani nezpomaluje aplikaci nebo webovou stránku, se kterou uživatel interaguje.

Životní cyklus servisních pracovníků je zcela nezávislý na stránce, na které byly vytvořeny. Pracovníci servisu nemají přístup k DOM (Document Object Model) webové proměnné a funkce nadřazené stránky.

Použití servisních pracovníků izoluje systém od původní webové stránky, poskytuje trvalou kontrolu útočníkovi a ztěžuje uživatelům zjistit, co se děje.

Náš systém zejména plní tři důležité cíle:

i) izolace z navštívené webové stránky, která umožňuje jemnou kontrolu využívaných zdrojů; ii) vytrvalost tím, že bude pokračovat ve své činnosti nepřetržitě na pozadí i po uzavření rodičovské karty; a (iii) vyhýbání se, vyhnout se detekci pomocí rozšíření prohlížeče, které se snaží sledovat aktivitu webové stránky nebo odchozí komunikaci.

MarioNET zaregistruje servisního pracovníka, když uživatel může navštěvovat útoky na webové stránky. Mezi možnosti šíření útoku patří vytváření škodlivých webů, hackerských webů nebo používání reklam.

Prohlížeče poskytují uživatelům málo informací o servisních pracovníků; Prohlížeče ve skutečnosti nezdůrazňují vytváření nových pracovníků služeb na webech pro uživatele. Neexistuje žádné upozornění, žádná výzva, a dokonce ani možnost zobrazit výzvu k vyžádání uživatelského oprávnění, když jsou servisní pracovníci vytvořeni.

Jediným požadavkem, který odhalí existenci servisního pracovníka, je počáteční požadavek GET v okamžiku první návštěvy uživatele na webu, když se servisní pracovník nejprve zaregistruje. Přestože během tohoto požadavku GET může monitorovací rozšíření sledovat obsah servisního pracovníka, nebude stále pozorovat žádný podezřelý kód - kód, který bude provádět škodlivé úkoly, je doručen Služebníkovi až po jeho první komunikaci s Puppeteerem a tato komunikace je skryta před rozšířeními prohlížeče

To, co dělá MarioNET obzvláště znepokojujícím, je to, že pokračuje v pozadí i poté, co uživatel zavře webovou stránku, na které útok vznikl. Ovládací prvek končí, když je webový prohlížeč zavřený; vědci našli způsob, jak to také překonat, ale vyžaduje interakci uživatele, protože k tomu používá rozhraní Web Push API.

Ochrana

Většina moderních prohlížečů obsahuje možnosti zobrazení stávajících servisních pracovníků. Uživatelé Firefoxu se mohou načítat o: serviceworkers nebo about: debugging # pracovníků a uživatelé Chrome mohou načíst chrome: // serviceworker-internals / aby to udělali.

Můžete zrušit registraci jakéhokoli servisního pracovníka pomocí funkcí uvedených na těchto stránkách. Uživatelé Firefoxu mohou servisní pracovníky dále deaktivovat.

Upozorňujeme, že to může mít vliv na funkčnost webů, které jej používají k legitimním účelům. Musíte nastavit předvolbu dom.serviceWorkers.enabled na false na about: config.

Některá rozšíření prohlížeče, např. Detektor Service Worker pro Chrome a Firefox, upozorňují uživatele, když webová stránka zaregistruje servisního pracovníka.

Nyní jste : Měli by vývojáři prohlížečů implementovat další zabezpečení? (přes ZDNet)