Met MarioNET-aanval kunnen hackers uw browser beheren, zelfs nadat u de aanvalspagina hebt verlaten

De opkomst van webtechnologieën opende nieuwe mogelijkheden op internet. Browsers zijn krachtiger geworden naarmate nieuwe API's landden en ondersteuning voor bepaalde functies werd geïntroduceerd.

Een nieuwe aanval, MarioNET genoemd door de onderzoekers die het hebben ontdekt, benadrukt dat API's ook kunnen worden misbruikt als er geen goede beveiligingen aanwezig zijn (wat nu het geval is).

De aanval is gebaseerd op bestaande HTML5 API's die alle moderne webbrowsers ondersteunen. Het vereist geen installatie van software of gebruikersinteractie en blijft bestaan, zelfs nadat de gebruiker de webpagina verlaat waarop de aanval is ontstaan.

De aanvaller kan misbruik maken van de bronnen van de computer voor allerlei activiteiten, waaronder DDOS-aanvallen, crypto-miningactiviteiten of het kraken van wachtwoorden.

Update : u vindt een kritische stem die pleit tegen het scenario dat hier in het onderzoeksdocument wordt beschreven. Het belangrijkste punt van kritiek is dat de aanvalsmethode afhankelijk is van een functie met de naam PeriodicSync en dat deze op dit moment geen deel uitmaakt van een specificatie. Einde

MarioNET gebruikt Service Workers, scripts die los van bezochte webpagina's en op de achtergrond worden uitgevoerd in de aanval. Het belangrijkste idee achter servicemedewerkers is om bepaalde berekeningen naar een afzonderlijke thread te verplaatsen, zodat de app of webpagina waarmee de gebruiker communiceert niet wordt geblokkeerd of vertraagd.

De levenscyclus van servicemedewerkers is volledig onafhankelijk van de pagina waarop ze zijn gemaakt. Servicewerkers hebben geen toegang tot de DOM (Document Object Model) van de webpagina en de variabelen en functies van de bovenliggende pagina.

Het gebruik van Service Workers isoleert het systeem van de oorspronkelijke website, biedt blijvende controle aan de aanvaller en maakt het moeilijk voor gebruikers om te detecteren wat er aan de hand is.

Ons systeem voldoet met name aan drie belangrijke doelstellingen:

(i) isolatie van de bezochte website, waardoor een nauwkeurige controle van de gebruikte middelen mogelijk is; (ii) persistentie, door zijn werking ononderbroken voort te zetten op de achtergrond, zelfs na het sluiten van het bovenliggende tabblad; en (iii) ontwijking, vermijding van detectie door browserextensies die proberen de activiteit van de webpagina of uitgaande communicatie te volgen.

MarioNET registreert een servicemedewerker wanneer een gebruiker een webpagina bezoekt waarop aanvallen kunnen voortkomen. Mogelijkheden om de aanval te verspreiden zijn onder meer het maken van kwaadaardige websites, het hacken van sites of het gebruik van advertenties.

Browsers bieden gebruikers weinig informatie over servicewerkers; browsers benadrukken zelfs niet het creëren van nieuwe servicemedewerkers op sites voor gebruikers. Er is geen melding, geen melding en zelfs geen optie om een ​​melding weer te geven om gebruikersmachtiging te vragen wanneer servicemedewerkers worden gemaakt.

Het enige verzoek dat het bestaan ​​van de servicemedewerker onthult, is het initiële GET-verzoek op het moment van het eerste websitebezoek van de gebruiker, wanneer de servicemedewerker in eerste instantie wordt geregistreerd. Hoewel tijdens dat GET-verzoek een monitoring-extensie de inhoud van de servicemedewerker kan observeren, zal het nog steeds geen verdachte code waarnemen - de code die de kwaadaardige taken uitvoert, wordt pas aan de Servant geleverd na de eerste communicatie met de Puppeteer, en deze communicatie is verborgen voor browserextensies

Wat MarioNET vooral verontrustend maakt, is dat het op de achtergrond blijft draaien nadat de gebruiker de website sluit waarop de aanval is ontstaan. Het besturingselement eindigt wanneer de webbrowser wordt gesloten; de onderzoekers vonden een manier om dit ook te overwinnen, maar het vereist gebruikersinteractie omdat het de Web Push API gebruikt om dit te doen.

Bescherming

De meeste moderne browsers bevatten opties om bestaande servicemedewerkers weer te geven. Firefox-gebruikers kunnen laden over: serviceworkers of about: debugging # workers en Chrome-gebruikers kunnen chrome: // serviceworker-internals laden / doen.

U kunt elke Service Worker afmelden met behulp van de functionaliteit op deze pagina's. Firefox-gebruikers kunnen bovendien Service Workers helemaal uitschakelen.

Merk op dat dit de functionaliteit kan beïnvloeden op sites die het gebruiken voor legitieme doeleinden. U moet de voorkeur dom.serviceWorkers.enabled instellen op false bij about: config.

Sommige browserextensies, bijvoorbeeld Service Worker Detector voor Chrome en Firefox, stellen gebruikers op de hoogte wanneer een webpagina een Service Worker registreert.

Nu u : moeten browserontwikkelaars aanvullende beveiligingen implementeren? (via ZDNet)