image

Mozilla gaat internet tegen XSS beschermen

dinsdag 23 juni 2009, 09:47 door Redactie, 11 reacties

Cross-site scripting (XSS) is al jaren de meest voorkomende kwetsbaarheid in websites, reden genoeg voor de Mozilla stichting om een technologie te ontwikkelen die het probleem aanpakt. De opensource ontwikkelaar is het laatste jaar al bezig met de Content Security Policy (CSP), die ervoor zorgt dat sites de browser kunnen vertellen welke content legitiem is. De browser kan dan alle content die niet de goedkeuring van de site heeft, negeren. De eigenaar van een website kan via CSP bepalen vanaf welke domeinen scripts zijn toegestaan. De browser zal vervolgens alleen de scripts van de toegestane websites uitvoeren, die in een whitelist worden bijgehouden.

Om legitieme content van andere geïnjecteerde of aangepaste content te herkennen, vereist CSP dat alle JavaScript voor een pagina uit een extern bestand wordt geladen en van een goedgekeurde host afkomstig is. Dit betekent dat alle inline script, JavaScript en event-handling HTML attributen worden genegeerd. Alleen scripts die via een script-tag zijn toegevoegd en verwijzen naar een gewhiteliste host zal de browser uitvoeren. "We beseffen dat dit model drastisch verschilt van het huidige vrije model voor het web", zegt Brandon Sterne, Mozilla's Security Program Manager. De ontwikkelaar hoopt de uitrol van CSP in fasen door te voeren, waarbij er later dit jaar van een "volledige implementatie" sprake is.

Lastiger
Volgens Sterne hebben XSS-kwetsbaarheden echte waarde voor aanvallers en worden die vaak snel via het internet uitgewisseld zodra ze bekend zijn. "Websites kunnen weer iets rustiger ademen als ze weten dat hun gebruikers beschermd zijn, zelfs als een XSS-bug er doorheen slipt." CSP is namelijk zo in te stellen dat het de beschermde website informeert als er een aanval plaatsvindt. Daarnaast profiteren zelfs gebruikers met een oude browser ervan. "Het komt erop neer dat het extreem lastig is om een XSS-aanval tegen een website met CSP uit te voeren. Alle bekende vectoren voor het injecteren van scripts zullen niet meer werken en de lat voor het uitvoeren van een succesvolle aanval wordt veel, veel hoger gelegd."

Reacties (11)
23-06-2009, 10:28 door Anoniem
Zullen de mensen die de tijd nemen om een website met CSP uit te rusten, niet eerder gewoon de tijd nemen om op de juiste plaatsen HTMLencode en URLencode te gebruiken?
23-06-2009, 10:36 door [Account Verwijderd]
[Verwijderd]
23-06-2009, 10:39 door Anoniem
alsjeblieft, laat mensen die een website maken zich zelf over de beveiliging van hun website buigen.

Het is de taak aan de developer om de scripts veilig te maken en niet aan de fabrikant van de browser.
en negeer je dat als ontwikkelaar van de website: Wie zijn billen brand, moet op de blaren zitten.
23-06-2009, 10:43 door Anoniem
mod_security anyone ?
23-06-2009, 10:54 door Anoniem
"Dit betekent dat alle inline script, JavaScript en event-handling HTML attributen worden genegeerd."
Dat is dus heel goed nieuws, en helemaal in lijn met Graceful degradation en progressive enhancement.

Alleen zie ik hier wel een ander probleem in.
Soms heb je te maken met inline JavaScript voor dingen die door de pagina zelf worden bepaald, zoals formulier validatie.
Maar ook dit is simpel op te lossen door die validaties weg te werken in een eigen Domain. Zo wie zo geen gek idee.
De validatie types kan je encapsulaten in een eigen Class.

Op deze manier leren mensen ook is hoe je echt een website maakt en niet met die achterlijke 'Je moet JavaScrip' ingeschakeld hebben hiervoor' manier... alleen omdat je het dan in PHP direct kan doen om je niet 'hoeven' verdiepen in hoe JavaScript werkt?! Leer gewoon hoe het moet. Het is heus niet zo moeilijk.

- Sebastiaan Stok
23-06-2009, 10:54 door spatieman
%nummertjes ook niet, zo kan je een complete URL cloacken door de hele link in ^nummertjes te zetten, de nummers zijn dan de letters,.
23-06-2009, 12:27 door Anoniem
"Het zou al een boel schelen als je niet meer alle characters in een URL toestaat. Punthaken en procenttekens horen daar niet in thuis. Javascript via een URL is dan al verleden tijd."

Dit is helaas niet waar; ook zonder punthaken en procenttekens is XSS zeker wel mogelijk

Greetingz,
Jacco
23-06-2009, 13:17 door Anoniem
Hoe haal je xss uit register. Ik heb thuis met programmatje XP lite het onderdeel "Windows Script hos" verwijderd. XP lite heeft ook alleen ext met *.js ,*.vbs, ext verwijderd uit mijn computer. Ik gebruik gewoon Internet Explorer 8. Af toe krijg fout met driehoek waarschuwing ingesloten object met error.
23-06-2009, 15:18 door [Account Verwijderd]
[Verwijderd]
23-06-2009, 15:57 door Anoniem
@13:17 door Anoniem: XSS en het Windows Register hebben niets met elkaar.
Dus wat je probleem nu precies is ontgaat mij.
25-06-2009, 01:28 door Anoniem
@15:18 door Hugo:
Persoonlijk vind ik het wel prettig als bepaalde streepjes (- _) nog kunnen in een url. Verder vind ik een limitatie helemaal geen slecht idee.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.