25-06-2016, 12:54 door Anoniem: Waarom zo afdwalen in deze draad? Lekker een leuke draad opzetten over de voor en nadelen van script blokken.
Geheel mee eens!
In mijn ervaring komt het zelden voor dat bekende (en als betrouwbaar bekend staande) websites
zelf malware verspreiden. Als aan jouw browser (en eventuele plugins) malware wordt aangeboden door het bezoeken van een bekende website, kan dat in elk geval op de volgende manieren:
A) Gehackte primaire siteAls de site die je bezoekt
zelf gehacked is, is het denkbaar dat exploits of social engineering popups vanaf die site
zelf worden aangeboden - maar dit komt in de praktijk (voor zover ik die ken) niet zo vaak voor. Meestal laten de cybercriminelen dan Javascript van een
andere site downloaden en uitvoeren, dit om:
- het aantal wijzigingen op de primaire site zoveel mogelijk te beperken en zo snelle ontdekking te vermijden;
- doordat ze een domainname (geen IP-adres) specificeren kunnen ze de malware aanbiedende server snel "verplaatsen" (door slechts de DNS entry ervan te wijzigen);
- ze kunnen bezoekers, o.a. op basis van IP-adressen, "schone" content voorschotelen. Als de beheerder van de website, na te zijn gebeld en gemaild, zijn site opent, krijgt hij natuurlijk
geen malware aangeboden.
Voordeel als je NoScript gebruikt en
wel Javascript toestaat van de primaire site, maar
niet van onbekende andere sites, is dat jij de malware "misloopt".
B) Kwaadaardige advertentieCode (kan HTML zijn en/of Javascript) op de bekende website laat jouw browser, vanaf/via een site van een adverteerder (een
third party site dus), kwaadaardige "reclame" (met een exploit en/of "human interaction" vereist) downloaden en uitvoeren. Vaak maken de cybercriminelen hierbij gebruik van Javascript - die dus afkomstig is van een
third party site (niet van de website waarvan je de URL ziet in jouw webbrowser).
C) Gecompromitteerde third-party siteIedereen die plugins als NoScript gebruikt, weet dat als je een specifieke URL opent, vaak van idioot veel servers allerlei content wordt opgehaald door jouw browser.
Voorbeeld: als ik bijv.
http://nu.nl/ opent met mijn smartphone, wordt er, om te beginnen (da's logisch) content opgehaald vanaf nu.nl. Echter in de code van de "root" pagina op
(0)
nu.nlwordt jouw browser gevraagd om
ook Javascript te downloaden van
(1)
snmmd.nlen uit te voeren natuurlijk. Als je NoScript gebruikt kun je ervoor kiezen om het uitvoeren van Javascript vanaf nu.nl, snmmd.nl of beide sites (of geen van beide) toe te staan.
Als je het uitvoeren van Javascript op (0)
nu.nl toestaat, zal
daardoor Javascript van de volgende sites worden gedownload (waarbij je, per stuk, weer aan kunt geven of je Javascript afkomstig van die sites wilt uitvoeren):
(2)
google-analytics.com(3)
newrelic.com(4)
optimizely.com(5)
sanomaservices.nlAls ik
daarnaast toesta dat Javascript vanaf
newrelic.com wordt uitgevoerd, wordt mijn browser door die Javascript gevraagd om Javascript te downloaden en uit te voeren vanaf:
(6) nr-data.net
En als ik toesta dat Javascript vanaf (5)
sanomaservices.nl wordt uitgevoerd, wordt mijn browser door die Javascript gevraagd om Javascript te downloaden en uit te voeren vanaf:
(7) gigya.net
Als ik alle NoScript permissies intrek en vervolgens Javascript van
zowel (0)
nu.nl als (1)
snmmd.nl toesta, wil mijn browser Javascript uitvoeren en downloaden vanaf:
(2)
google-analytics.com(3)
newrelic.com(4)
optimizely.com(5)
sanomaservices.nlmaar ook:
(8)
criteo.com(9)
googletagservices.com(10)
ilsemexia.nl(11)
krxd.net(12)
sanona.fi(13)
scorecardresearch.comAls ik van alle sites Javascript toesta, kijk welke sites er daardoor bijkomen, en ook
die allemaal toesta totdat er niks meer bijkomt, zijn de volgende sites (waarvandaan Javascript wordt gedownload en uitgevoerd) aan de lijst toegevoegd:
(14) 360yield.com
(15) doubleclick.net
(16) facebook.com
(17) facebook.net
(18) googleadservices.com
(19) googlesyndication.com
(20) meetrics.com
(21) moatads.com
(22) mxcdn.com
Met andere woorden,
zonder NoScript wordt er van 22 verschillende sites Javascript gedownload en uitgevoerd als ik met Firefox op mijn smartphone nu.nl open. Gevolg:
- Als 1 van die sites gehacked is, loop ik risico's op malware;
- Ik word uitgebreid door diverse partijen bespioneerd;
- De site laadt veel trager dan nodig;
- Daarbij verspil ik ook nog een veel meer bandbreedte dan nodig.
En dat terwijl nu.nl prima werkt (om even nieuws te lezen) als ik
uitsluitend Javascript uitvoeren op (0)
nu.nl toesta! Door geen Javascript uit te voeren van 22
andere sites, verlaag ik dus de risico's die ik loop, aanzienlijk (naast de andere genoemde voordelen die ik noemde).
Kortom, door Javascript in te schakelen voor de sites waarvan je de domainname ziet in je URL-balk, loop je een risico. Maar dat risico is een stuk kleiner dan als je "de hele wereld" toestaat.
Een absoluut nadeel, zeker voor leken, is dat je "primaire" sites moet whitelisten als je ze voor het eerst bezoekt, en het regelmatig voorkomt dat je moet experimenteren met het toestaan van het uitvoeren van Javascript vanaf sommige third-party sites. Maar je bouwt er, zo is mijn ervaring, al snel ervaring mee op welke third party sites
daadwerkelijk iets "toevoegen" aan een primaire site - in
jouw voordeel, wel te verstaan.
Let wel: het whitelisten van Javascript van een zo beperkt mogelijk aantal sites garandeert niet dat je geen geen malware krijgt aangeboden; patchen is iets dat je sowieso moet doen om dat te helpen voorkomen. Maar NoScript is wel een prima risicoverlager.