Bezpečnostní výzkumníci z společnosti Secure Annex si všimli rostoucí popularity nového způsobu monetizace prohlížečových doplňků, při kterém jsou uživatelé doplňků spojeni do distribuované sítě, která se používá k scrapování (indexaci obsahu webových stránek). Systémy uživatelů fungují jako webové boty a proxy pro stahování obsahu webových stránek — nainstalovaný prohlížečový doplněk přijímá z externího serveru pokyny pro indexaci stránek, poté v odděleném skrytém iframe spouští načítání požadovaného obsahu a předává získaná data externí službě. V katalogu Chrome, Firefox a Edge bylo využití této monetizační sítě identifikováno u 245 doplňků, které mají celkem 909 tisíc instalací.
Provoz je organizován prostřednictvím zařazení otevřené JavaScriptové knihovny mellowtel.js do kódu prohlížečových doplňků, která je distribuována pod licencí LGPLv3. Knihovna je vyvíjena projektem Mellowtel, který propaguje novou platformu monetizace, jež může být kromě prohlížečových doplňků aplikována i v programech založených na frameworcích Flutter a Electron. Hlavní myšlenka platformy je, že vývojáři prohlížečových doplňků a aplikací mohou vydělávat peníze nikoli prostřednictvím reklamy nebo pochybného obchodování s daty, které zasahují do soukromí uživatelů, ale pomocí vykonávání úkolů zaměřených na indexaci webového obsahu pro trénink AI systémů.
Potřeba AI společností po datech pro trénink modelů vedla k vzniku mnoha botů, kteří indexují webové stránky bez rozumného omezení intenzity zasílání požadavků a ignorují pravidla indexace robots.txt. Tito boti vytvářejí obrovské parazitní zatížení servery, narušují správnou funkčnost systémů a zabírají čas administrátorům, což vedlo v posledních měsících k aktivnímu blokování těchto botů (například síť prodeje obsahu Cloudflare implementovala možnost blokovat podobné boty ve výchozím nastavení).
AI společnosti jsou ochotny platit za indexaci a platforma Mellowtel poskytla možnost uspokojit tuto potřebu zapojením běžných uživatelů do procesu shromažďování dat z webových stránek. Platforma přenáší vlastníkům rozšíření 55 % prostředků získaných ze spolupráce s AI společnostmi. Projekt je zcela legitimní a trvá na tom, že účast na skrappingu musí být dobrovolná a měla by být aktivována pouze po výslovném souhlasu uživatele. Předpokládá se, že uživatel jako poděkování vývojářům rozšíření může zapnout režim skrappingu a poskytnout jim nepřímou finanční podporu.
Problémem je, že ne všichni vývojáři rozšíření jsou ochotni pracovat čestně a otevřeně. V některých rozšířeních se snaží skrytě aktivovat monetizaci Mellowtel obchvácením pravidel služby, což vede k tomu, že uživatel se bez výslovného souhlasu stává účastníkem distribuované sítě pro stahování dat z webových stránek. Z 45 rozšíření pro Chrome, která používají Mellowtel, bylo 12 již blokováno Googlem za škodlivou činnost. V katalogu Microsoftu z 129 rozšíření bylo zablokováno 8, a v katalogu Mozilly z 71 rozšíření bylo zablokováno 2. Důvody odstranění nejsou podrobně uvedeny, ale nelze vyloučit, že důvodem bylo nesprávné používání Mellowtel.
Vývojář Mellowtel prohlásil, že pro řešení problému s možným skrytým zapnutím skrappingu přechází služba na povinné ověřování všech rozšíření využívajících Mellowtel, s cílem zajistit, aby bylo skrapping ve výchozím nastavení vypnuto (aktivace pouze po výslovném souhlasu uživatele) a aby byla viditelná tlačítko pro vypnutí. Požadavky na přijetí úkolů od rozšíření, která neprošla ověřením, budou umístěny do karantény a ignorovány.
Během provozu doplňků využívajících knihovnu Mellowtel se navazuje websocketové spojení k externímu serveru umístěnému v cloudu AWS, přes které se odesílají informace o dostupnosti uživatele, jeho zemi, šířce pásma a aktivaci podpory scrappingu uživatelem. Periodicky jsou přes toto spojení zasílány heartbeat dotazy, které kontrolují dostupnost klienta. Když se objeví úkoly na načtení obsahu, je do stránek, které uživatel prohlíží, vložen skrytý iframe, ze kterého se provádí scrapping.
Pro načítání externích stránek z iframu, který je vložen při prohlížení jiných webů, knihovna dočasně obchází ochranu prohlížeče proti načítání cizího obsahu tím, že odstraňuje HTTP hlavičky Content-Security-Policy a X-Frame-Options a vrací je zpět po načtení požadované stránky. Odstraňování se provádí prostřednictvím modifikace síťových požadavků pomocí API declarativeNetRequest (na přístup k tomuto API si doplňky žádají zvláštní oprávnění). Dočasné vypnutí hlaviček Content-Security-Policy a X-Frame-Options negativně ovlivňuje bezpečnost, protože na určitou dobu odstraňuje standardní ochranu proti útokům zaměřeným na meziwebové skriptování (XSS).
Platforma Mellowtel je afiliována se společnosti Olostep, která nabízí API pro scrapping schopné obcházet ochranu před boty a zároveň provádět až 100 tisíc požadavků za minutu. Podobnou aktivitu služby, využívanou v kontextu jednoho webu, lze přirovnat k provádění distribuovaného DoS útoku. Služba také potenciálně může využívat uživatele jako proxy pro získávání obsahu z soukromých webů, které jsou přístupné pouze v podsítích, k nimž má uživatel přístup přes VPN.
Zdroj: opennet.ru
