Security.nl lanceert een nieuw onderdeel waar elke week een andere professional, expert, onderzoeker of lezer een security tip geeft. Persoonlijke tips, varierend van het veilig configureren van Windows, een handige security tool of het juist instellen van een firewall, waarmee de tipgever zijn systeem, applicatie of netwerk veiliger maakt.
Heb jij ook een leuke, originele, maar bovenal goede security tip die niet mag ontbreken, stuur dan een mail naar redactie@security.nl.
Deze week de tip van Jurre van Bergen
Introductie
In de tip van deze week wil ik het hebben over HTTP headers die in browsers als Chromium en Firefox zijn opgenomen en de beveiliging van je browser kunnen verbeteren. Sommige van deze technieken zijn nog in 'draft'. Dit betekent dat er nog geen uiteindelijke versie van de specificatie is. Desalniettemin hebben diverse browsers al wel draftversies verwerkt, zoals Chromium en Firefox. Internet Explorer loopt statistisch gezien hier op achter.
Content Security Policy
Content Security Policy (CSP) is een HTTP header die een restrictie meegeeft waar contact vandaan mag komen. Sommige sites hebben Javascript van derde partijen die in jouw browser worden geladen. Bijvoorbeeld Facebook, Google Analytics, Mixpanel en Content Delivery Networks (CDN - systeem dat content aan internetgebruikers biedt, zoals bijvoorbeeld filmpjes en downloads - red.).
Met het gebruik van de CSP headers kun je de kans verkleinen dat, wanneer iemand een CDN van een derde partij kraakt en malware of HTML-injectie meestuurt, je hiervan slachtoffer wordt, of dat er gegevens naar de derde partij lekken. CSP stopt dus onveilige inline JavaScript, maar stopt bijvoorbeeld geen cross-site scripting (XSS) via het Document Object Model (DOM) in je browser.
X-Frame-Options
Via deze optie kun je aan de browser meegeven dat pagina's gerenderd moet worden die via een iframe binnenkomen. Deze beveiligingstechniek is ontworpen om complexe aanvallen als ClickJacking tegen te gaan. Je kunt twee verschillende opties meegeven. De eerste is 'deny', hiermee wordt het iframe totaal niet geladen, de tweede is “sameorigin”, de pagina kan wel worden gerenderd als hij van dezelfde origine is als de pagina waar hij geladen wordt.
X-XSS-protection IE8+
Het XSS-filter werd geïntroduceerd in Internet Explorer 8 door Microsoft als een tegenaanval op 'non-persistent XSS aanvallen'. Je kunt ervoor kiezen om deze header mee te geven vanaf je applicatie om je gebruikers minder vatbaar te maken voor XSS-aanvallen, mocht je site ooit misbruikt worden hiervoor. Ik zou alleen niet al te veel vertrouwen op deze beveiligingstechniek, maar gewoon je input goed filteren.
Strict Transport Security
Ook om HTTPS verkeer te beveiligen zijn er verschillende opties. Eén daarvan is een certificaat 'pinnen' via een header. De techniek heet 'HTTP Strict Transport Security (HSTS)", dit maakt het mogelijk dat je alleen via HTTPS naar de site surft. Ook maakt dit het een stuk lastiger om een connectie van SSL te strippen via sslstrip. Deze tool is gemaakt door Moxie Marlinspike.
De draftversie die in Chromium was geïmplementeerd en de mensen in Iran gebruikten ten tijden van het Diginotar-debacle waren niet vatbaar als ze bijvoorbeeld Twitter bezochten, omdat de browser verbeterde beveiliging implementeerde zoals HSTS. Via de Chrome-browser kan je zelf ook sites toevoegen via chrome://net-internals/#hsts.
De HSTS-techniek maakt het dus een stuk lastiger om je beveiligde verbinding af te luisteren, behalve als Juliano Rizzo en Thai Duong weer een aanval vinden om SSL mee aan te vallen, zoals de BEAST- en CRIME-aanval.
Vertrouwen
Ik zou niet te snel vertrouwen op de methodes zonder dat je weet welke 'threat models" ze hebben. Ik raad iedereen aan om de standaarden eens door te lezen. Er zijn nog veel meer drafts voor standaarden die misschien worden aangenomen. Als je het leuk vindt om die te volgen heeft Tom Ritter een mooi overzicht gemaakt met wat er speelt bij IETF.
Jurre van Bergen is medeoprichter van Black Mountain Security, dat in mei 2012 is opgericht.
Dit artikel is geschreven op persoonlijke titel van de auteur en reflecteert niet noodzakelijk de zienswijze van Security.NL.
Deze posting is gelocked. Reageren is niet meer mogelijk.