Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Noscript logica?

14-05-2014, 12:20 door tur88, 13 reacties
Laatst bijgewerkt: 14-05-2014, 12:22
Ik begrijp de logica achter de vaak aangeraden Firefox add-on Noscript niet helemaal.

Ik heb Noscript nu een maand in gebruik en alle websites die ik vaak bezoek (en opgeslagen staan als bladwijzer) staan ondertussen op de whitelist van Noscript. Dit vanwege het feit dat veruit de meeste sites niet goed functioneren wanneer Noscript scripts e.d. blokeert.

Uiteindelijk zijn er 2 soorten websites:

- websites die ik regelmatig bezoek en daarom op de whitelist staan
- websites die ik voor het eerst bezoek waarop in eerste instantie scripts e.d. worden geblokeerd

Stel nu dat ik een website bezoek die op de whitelist staat (bijvoorbeeld nu.nl) en deze site is besmet (via javascript) dan helpt Noscript daar dus niet meer tegen.

Maar... stel nu dat ik deze site niet op de whitelist heb staan. De site is dus besmet maar HOE kan ik dat zien, hoe kan ik dat weten? En dus whitelist ik de site om deze goed te kunnen laten fuctioneren, en dus... is de Noscript bescherming niet meer van toepassing en wordt mijn systeem besmet.

Het hele punt is: je moet zo vaak een site whitelisten omdat de site anders niet goed functioneert maar op basis waarvan neem je de beslissing of de site wel of niet betrouwbaar is? Dat kun je toch simpelweg gewoon niet weten?

Als je dan maar altijd klakkeloos alles whitelist dan valt de Noscript bescherming (grotendeels) weg. Wat heeft deze add-on dan nog voor zin?

Ook wanneer je nooit websites permanent whitelist en elke keer weer handmatig tijdelijk toestemming geeft om scripts te draaien dan nog geldt de vraag: op basis waarvan geef je dan die tijdelijke toestemming?
Reacties (13)
14-05-2014, 12:38 door ZeteMKaa
De NoScript addon beschermt je vooral tegen geinfecteerde iframes. Deze iframes halen de gegevens op van een externe site die als het goed is niet is opgenomen in je whitelist. Hierdoor voorkom je dus dan extern gehoste exploits worden opgehaald en tegen jou browser/pc worden uitgevoerd. In het overzicht van NoScript kan je zien vanaf welke sites bepaalde informatie wordt opgehaald.
14-05-2014, 12:50 door Damian_S
De beslissing om een site te whitelisten is volledig je eigen beslissing. Maar stel dat je nou naar www.nrc.nl gaat. Om de site functioneel te hebben dien je nrc.nl te whitelisten. Maar daarnaast heb je op deze site vele andere scripts van andere sites die niet nodig zijn om de site functioneel te hebben. Ik noem op: chartbeat.com, shoppingminds.com, doubleclick.net, google-analytics.com. Al deze sites worden dus geblokkeerd en hierdoor reduceer jij de kans dat je "verkeerde" code uitvoert.

Dus het kan wel zo zijn dat alle sites die jij bezoekt gewhitelist staan, maar alle andere scripts staan dus niet gewhitelist.

Het is in het begin wat gedoe, maar na een tijd wen je eraan en doe je het automatisch...
14-05-2014, 13:46 door Briolet
Door Damian_S: Het is in het begin wat gedoe, maar na een tijd wen je eraan en doe je het automatisch...

Voor Safari bestaat volgens mij geen NoScript, dus ik gebruik 'JavaScript Blokker' die waarschijnlijk hetzelfde doet. Ik heb hem ingesteld dat hij standaard alleen scripts vanuit het eigen domein toelaat. Alle andere scripts moet ik handmatig WhiteListen. Maar hoe weet je of een site goed functioneert met de geblokkeerde scripts. Soms worden er essentiële scripts geblokkeerd die de website uit een ander domein haalt.

Ik had dit weekend nog een probleem dat ik een bugreport wilde verzenden, maar na invullen kreeg ik steeds een send error. Pas toen ik de script blokker uitgezet had, verscheen er plots een captcha die ingevuld had moeten worden. Die hadden ze blijkbaar extern gehost Nu was dit een voor mij onverdachte pagina, maar als je het risico niet wilt nemen, kom je er nooit achter waarom een site niet werkt.
14-05-2014, 14:08 door Anoniem
Door Damian_S: Maar stel dat je nou naar www.nrc.nl gaat. Om de site functioneel te hebben dien je nrc.nl te whitelisten. Maar daarnaast heb je op deze site vele andere scripts van andere sites die niet nodig zijn om de site functioneel te hebben. Ik noem op: chartbeat.com, shoppingminds.com, doubleclick.net, google-analytics.com. Al deze sites worden dus geblokkeerd en hierdoor reduceer jij de kans dat je "verkeerde" code uitvoert.
Dit dus.

Alleen het domein dat je bezoekt white-listen, en eventueel de domeinen die nodig zijn om content te kunnen bekijken (is wat gedoe af en toe), de rest NIET uitvoeren. Het is niet alleen een bescherming tegen malware, ook je privacy en je ogen zijn er bij gebaat (minder reclame, trackers, etc.)

No(t)Script is geen eindoplossing, maar een laagje.
14-05-2014, 14:24 door Anoniem
Ben toch erg benieuwd naar die sites. Wat noscript doet is heel wat anders dan "white-listen" en kan per site diverse methoden toepassen, w.o. surrogate scripts. ECHT white-listen is zelden nodig.
14-05-2014, 14:33 door Anoniem
Door tur88: Ik begrijp de logica achter de vaak aangeraden Firefox add-on Noscript niet helemaal.

Ik heb Noscript nu een maand in gebruik en alle websites die ik vaak bezoek (en opgeslagen staan als bladwijzer) staan ondertussen op de whitelist van Noscript. Dit vanwege het feit dat veruit de meeste sites niet goed functioneren wanneer Noscript scripts e.d. blokeert.

Uiteindelijk zijn er 2 soorten websites:

- websites die ik regelmatig bezoek en daarom op de whitelist staan
- websites die ik voor het eerst bezoek waarop in eerste instantie scripts e.d. worden geblokeerd

Eerst de 'Options' van NoScript goed instellen!

Stel nu dat ik een website bezoek die op de whitelist staat (bijvoorbeeld nu.nl) en deze site is besmet (via javascript) dan helpt Noscript daar dus niet meer tegen.

Nee, niet per sé.
Dat ligt aan je overige NoScript instellingen.


Mogelijke javascript besmettings factoren :

- iFrames / Frames
NoScript Options, tab 'Embeddings' : "Forbid <iFrame> / <Frame> , aanvinken

- Redirects
NoScript Options, tab 'Notifications' : "Show message about blocked META redirections", aanvinken

- Javascripts binnen het site domein die van andere domeinen / sites afkomstig zijn
NoScript Options, tab 'Appearance' : "Untrusted", aanvinken

- Gebruik van diverse plugins, wel of niet standaard toe staan, unblock instelling met wel of geen confirmation.
NoScript Options, tab 'Embeddings' : kies maar uit welke allemaal, of allemaal , aanvinken

- Objects gebruik
NoScript Options, tab 'Embeddings' : "Block every object coming from a site marked as untrusted" , aanvinken

- XSS / ABE (?)
NoScript Options, tab 'Notifications' : "XSS, ABE, CLearClick Warning", aanvinken

- Etc etc.
En nog een lijst aan 'zaakjes' te vinden onder NoScript, Options, tab Advanced, tab Untrusted
Als; .. kijk zelf maar, probeer eens met alles aangevinkt behalve "Hide <NoScript> elements"

Maar… stel nu dat ik deze site niet op de whitelist heb staan. De site is dus besmet maar HOE kan ik dat zien, hoe kan ik dat weten?

Dat weet je niet (altijd), NoScript is geen virus/malware detector.
Pak dan een plugin als WOT (Web of Trust) erbij, geen ervaring mee.

Je browser kan je ook waarschuwen, afhankelijk van het feit of het bijvoorbeeld gebruik maakt van de Google Safe Browsing functionaliteit gebruik maakt.
Als de website als besmet gerapporteerd staat krijgt je een melding in beeld.

En dus whitelist ik de site om deze goed te kunnen laten fuctioneren, en dus... is de Noscript bescherming niet meer van toepassing en wordt mijn systeem besmet.

Nee, want je NoScript biedt je de mogelijkheid van een gelaagde bescherming :

- Toestemming geven / javascript toestaan betekent nog steeds dat alles wat je onder Options /embeddings hebt aangevinkt geblokkeerd wordt!

- Alles wat je onder andere onder Notifications hebt aangevinkt geeft nog steeds een waarschuwing af mits je ook onder
"NoScript, Options, tab Advanced, tab ClearClick"
zowel "untrusted" (en eventueel erbij als "trusted") hebt aangevinkt.

Etc etc, loop goed alle opties door, het is een beetje uitzoeken en experimenteren.

Het hele punt is: je moet zo vaak een site whitelisten omdat de site anders niet goed functioneert maar op basis waarvan neem je de beslissing of de site wel of niet betrouwbaar is? Dat kun je toch simpelweg gewoon niet weten?

Klopt
Dat kan je nog managen met andere plugins erbij en misschien doen sommige virusscanners er ook nog een functioneel schepje bovenop :

- WOT, website reputatie checken.

- AdBlockPlus voor het blokkeren van advertenties, dus ook besmette advertenties.

- Je FlashPlayer plugin op "Click to Play" zetten in plaats van altijd direct geactiveerd helpt ook.

- Zelfs het laden van je afbeeldingen nog managen met een addon.

Als je dan maar altijd klakkeloos alles whitelist dan valt de Noscript bescherming (grotendeels) weg. Wat heeft deze add-on dan nog voor zin?

Nogmaals,
NoScript heeft een gelaagde beveiliging die maakt dat je in geval van whitelisting niet meteen onbeschermd bent.

Voorbeeld,
wanneer je ook de "Untrusted" weergave in je menu hebt geactiveerd ( NoScript Options, tab 'Appearance' : "Untrusted", aanvinken), kun je naast de "Whitelist" ook een "BLACKLIST" van javascripts aanleggen door door de tijd heen bepaalde scripts als "Untrusted" aan te merken.

Deze als "Untrusted" javascripts worden dan automatisch en standaard geblokkeerd totdat je ze weer toestaat.

Voorbeeld, wanneer je van een krant van het merk 'X' toestaat kan het zijn dat je daarna in de verversing van het NoScript menu ineens nieuwe domeinen ziet staan met javascripts, bijvoorbeeld :
"brightcove.com"
"ajax.googleapis.com"
"dimmi.io"
"weeronline.nl"
en meer


Je hebt dus na het toestaan / whitelisten van het hoofddomein nog de keuze om allerlei andere scripts al dan niet toe te staan.


Ingewikkeld, want wat betekenen die allemaal??

- Soms zijn ze wel bekend en sta je ze niet (of juist wel) toe.

- Andere javascripts laten zich raden; geen behoefte aan het weer? Sta je dat niet toe.
Geen behoefte aan Social media? Sta je dat niet toe.

- Soms laadt een site niet goed en zul je er stapje voor stapje achter moeten komen wat nu de essentiële scripts zijn voor die site.
Vervelend klusje, kost tijd.
!! Maar als je die site elke dag bezoekt misschien qua tijd een nuttige investering !!

Vergelijken met de tracker resultaten van Ghostery addon kan je een heel eind op weg helpen!
Sommige scripts worden verschillend ingezet en hebben per site een andere functie, googleusercontent bijvoorbeeld / of de apis, hou me ten goede; de ene keer is het voor extra voorgeschotelde reclame bedoeld, de andere keer is het integraal onderdeel van de site opmaak en zal de site niet behoorlijk laden als je het niet toestaat.

Immer verwarrende scripts zijn ook altijd die van de wp en blog/bloggers functionaliteit, zeker ook met afbeeldingen (betreft een andere addon)


Ook wanneer je nooit websites permanent whitelist en elke keer weer handmatig tijdelijk toestemming geeft om scripts te draaien dan nog geldt de vraag: op basis waarvan geef je dan die tijdelijke toestemming?

Dat doe je op basis van kennis die je opbouwt of te vergelijken met de resultaten van geblokkeerde trackers via Ghostery bijvoorbeeld.
Overeenkomstige namen kan je dan op je "Untrusted" javascripts lijst zetten.


NoScript is een best ingewikkelde Addon.

Veel termen zijn ingewikkeld of lastig te snappen vanwege de techniek die erachter zit.
Je hoeft niet alles te begrijpen, als je maar komt tot een instellingsprofiel dat je een beetje ligt en werkbaar is.


Mijn belangrijkste tips voor je op een rijtje :

>> NoScript Options goed doornemen en instellen (de meeste opties goed doornemen)

>> Speciale aandacht voor de opties onder de diverse Tabs :

* General : "Automatically reload affected pages when permissions change"
* Whitelist : eventueel handmatig leegmaken en een eigen lijst aanleggen

* Embeddings is een heel belangrijke!
Veel keuze mogelijkheden. Vink je allerlei media opties aan, hou er dan rekening mee dat je vaker op een site moet klikken voordat je een video te zien krijgt, bijvoorbeeld.

* Appearance.
Ook belangrijk want dat zie je in je menu.

Oppassen met
"Allow scripts Globally (dangerous)"
"Allow all this page"
"Make page permissions permanent"

Handig / noodzakelijk
"Mark [..] as Untrusted (voor je blacklist)
"Revoke Temporary permissions"
"Recently blocked sites" (voor het resetten/heroverwegen/inzage wat je snel had ..-geklikt)
"Untrusted" (voor eventueel alsnog toestaan)

* Notifications

Functies en betekenis/uitleg voor gevorderden, je kan ze ook direct aanvinken
"ClearCLick Warning"
"XSS"
"ABE"
"SHow message about blocked META redirections"

* Advanced

Aanvinken is het advies
"Untrusted"
"CLearClick"
(met warning te vinden onder de "Embeddings, "Ask for confirmation….")


Hopelijk heb ik je een beetje op weg geholpen met dit antwoord
Succes!


Correcties en toevoegingen op deze uitleg altijd welkom
14-05-2014, 16:56 door [Account Verwijderd]
[Verwijderd]
14-05-2014, 19:23 door Anoniem
NoScript is fantastisch!!! Ik snap alleen niet waarom je websites zou whitelisten. De meeste websites, zoals Nu.nl, werken prima met NoScript ingeschakeld. Voor mijn banksite gebruik ik het, maar de meeste sites kunnen prima zonder hoor.
14-05-2014, 20:26 door tur88 - Bijgewerkt: 14-05-2014, 20:27
Bedankt voor de tips, vooral anoniem 14:33 voor je uitgebreide antwoord! Ik begrijp de werking van Noscript nu een stuk beter en zie de voordelen duidelijk.

Ik heb nog een optie gevonden onder general/Allow sites opened through bookmarks. Deze heb ik aangevinkt waardoor al mijn favoriete websites automatisch op de whitelist komen te staan. Is dat een goed idee?

Verder zie ik dat bij Embeddings/Forbid IFRAME standaard uit staat. Is dat dan ook de beste instellingen voor IFRAME?

Tenslotte de optie Embeddings/Forbid WebGL. Wat is dat?
15-05-2014, 13:07 door Anoniem
Door tur88:
Ik heb nog een optie gevonden onder general/Allow sites opened through bookmarks. Deze heb ik aangevinkt waardoor al mijn favoriete websites automatisch op de whitelist komen te staan. Is dat een goed idee?
Lijkt mij makkelijk te exploiten die functionaliteit, beter het uit te laten en gewoon zelf je favoriete websites whitelisten
15-05-2014, 17:16 door Anoniem
Door tur88: Bedankt voor de tips, vooral anoniem 14:33 voor je uitgebreide antwoord! Ik begrijp de werking van Noscript nu een stuk beter en zie de voordelen duidelijk.

Ik heb nog een optie gevonden onder general/Allow sites opened through bookmarks. Deze heb ik aangevinkt waardoor al mijn favoriete websites automatisch op de whitelist komen te staan. Is dat een goed idee?

Ik heb eerlijk gezegd 'geen idee', zelf zou ik dat niet doen.
Want er is natuurlijk wel een verschil tussen een site die je hebt gebookmarked en een favoriete site?
Een ge-bookmarkte site hoeft namelijk nog geen vertrouwde favoriete site te zijn. Een bookmark kan je ook maken omdat je het site adres wil bewaren om eventueel nog een keertje verder te lezen of ooit nog eens te bezoeken.

Ik zou het veiligheidshalve alleen laten bij je allermeest favoriete sites, en hopen dan dat dan ook sites zijn die te vertrouwen zijn.

Verder zie ik dat bij Embeddings/Forbid IFRAME standaard uit staat. Is dat dan ook de beste instellingen voor IFRAME?

Dat is toch nog een tricky vraag, minder eenvoudig dan het lijkt,
want dat ligt er maar net aan van wat voor sites je houdt.

Wat is een iFrame?
Simpel gezegd een site binnen een site, op je webpagina een (kleiner) kadertje met inhoud die geladen wordt vanaf een andere site.

- Wanneer dat in het iFrame automatische reclame betreft en je dat niet wil zien, is het raadzaam iFrames te blokkeren.

- Wanneer je veel op sites zit die vaak die (iFrame) kadertjes hebben met video materiaal, youtube etc, en je dit ook direct wil kunnen zien is die iFrame blokkeer functie minder comfortabel.
Die moet je dan weer uitzetten / opheffen om de video te kunnen zien.

- Op zich kan AdblockPlus dan een uitkomst bieden door een deel van die blokkeer rol over te nemen maar niet alles binnen iFarmes te blokkeren.
AdBlockplus blokkeert namelijk niet zozeer iFrames maar wel reclame die daarbinnen kan worden getoond.
Een bekende aanbieder van reclame in iFrames is bijvoorbeeld OpenX.

Wat security betreft zijn het juist de iFrames met daarbinnen weer redirects (onzichtbare doorverwijzingen) naar malware domeinen die nogal eens misbruikt worden.
Maar standaard iFrames blokkeren is dus echt een afweging die je zelf moet maken, gebaseerd op de soort websites die je bezoekt.

Verschillende addons met overlappende functionaliteit kunnen heel nuttig zijn bij dit soort afwegingen.
Zie ook de post en bijdrage onder : "Firefox: Adblocker Plus/NoScript icm Ghostery"
https://www.security.nl/posting/383107#posting383161

Tenslotte de optie Embeddings/Forbid WebGL. Wat is dat?

Gebruik van WebGl kan zorgen dat je pagina met allerlei grafische elementen sneller laadt.
https://nl.wikipedia.org/wiki/WebGL
(Leuk hoor, aanrader die wikipedia, ;-)

Aan het gebruik / toestaan van WebGl functionaliteit kunnen security risico's kleven.
Een goede uitleg hoe dat allemaal in elkaar zit laat ik graag aan iemand anders over.
Maar zelf op onderzoek uitgaan kan natuurlijk ook!

mvg 14:33
17-05-2014, 18:53 door AapNootMies - Bijgewerkt: 17-05-2014, 18:58
Door Anoniem:
Aan het gebruik / toestaan van WebGl functionaliteit kunnen security risico's kleven.
Een goede uitleg hoe dat allemaal in elkaar zit laat ik graag aan iemand anders over.
Maar zelf op onderzoek uitgaan kan natuurlijk ook!

mvg 14:33

Bijzonder makkelijk uit te leggen:

Waar je browser als de ingelogde user draait met beperkte rechten; praat WebGL rechtstreeks tegen je videokaart drivers en die bevinden zich groten deels de kernel en draaien als UID0 (Oftewel; op het hoogste rechten niveau).

Hierdoor kan je WebGL zo goed als niet "sandboxen" van de rest van het OS. WebGL is dan ook "een feature" om uit de sandbox van het browser process de videokaart drivers rechtstreeks aan te kunnen spreken met alle risico's vandien welke niet enkel meer in door de browser zijn te blokkeren.
Doormiddel van compleet legitieme WebGL code een bug in bv Nivdia drivers aanspreken, staat dan voortaan op de feature-lijst en niet meer op de bug-lijst van de browser maker.

Zie ook eerdere artikelen over WebGL hier op security.nl:
https://www.security.nl/posting/37594/Tor+waarschuwt+voor+risico+WebGL

https://www.security.nl/posting/32165/%22Firefox-gebruiker+moet+3D-weergave+uitschakelen%22

https://www.security.nl/posting/32149/Lek+in+3D-weergave+Firefox+en+Google+Chrome
20-05-2014, 08:19 door Anoniem
NoScript is voor mij de uitvinding van de eeuw. Nu is die eeuw nog maar 14 jaar oud, maar toch.
Als je NoScript zorgvuldig en serieus gebruikt blijf je van een hoop kolder en flauwekul gespaard.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.