Select Page

Wat is Cross Site Scripting?

Met cross-site scripting (XSS) willen cybercriminelen schadelijke code via beveiligingslekken in webtoepassingen binnensmokkelen. XSS behoort tot de injectie-aanvallen en wordt meestal gebruikt om toegangsgegevens en andere gevoelige informatie te stelen. Myra Web Application Security wordt gebruikt om zich tegen dergelijke aanvallen te verdedigen.

In één
oogopslag


01

Cross Site Scripting: een definitie

Cross Site Scripting is een van de populairste aanvalsvectoren op het internet, het gerenommeerde Open Web Application Security Project (OWASP) plaatst XSS zelfs in de top 10 van de meest kritieke veiligheidsrisico’s voor webapplicaties. Aanvallers plaatsen bij het cross-site scripting schadelijke scriptcode in normaal onschadelijke en betrouwbare pagina’s. Zodra een gebruiker een dergelijke pagina bezoekt en zich aanmeldt met zijn of haar inloggegevens, kunnen de aanvallers toegang krijgen tot delen van de sessie of zelfs de inlog helemaal overnemen. Afhankelijk van hoe bevoorrecht de getroffen webapplicatie door de browser wordt behandeld, varieert ook de ernst van de aanval. In het ergste geval krijgen de aanvallers verregaande toegangsrechten tot het systeem van de gebruiker en kunnen zij zo bijvoorbeeld toegang verkrijgen tot lokale gegevens. Zelfs een volledige overname van het getroffen systeem is via XSS mogelijk. Andere op XSS gebaseerde aanvallen zijn phishing en defacement van websites. In het laatste geval plaatsen de aanvallers zonder medeweten van de site-exploitant inhoud voor lasterlijke doeleinden op een website.

02

Soorten Cross Site Scripting

In de praktijk wordt een onderscheid gemaakt tussen drie soorten XSS: gereflecteerde cross-site scripting, persistente cross-site scripting en lokale cross-site scripting. Wat alle varianten gemeen hebben, is dat de aanvallers kwaadaardige scriptcode in veelgebruikte talen zoals JavaScript voor hun aanvallen gebruiken.

Reflectieve Cross Site Scripting

Bij gereflecteerde of niet-persistente XSS wordt het kwaadaardige script door de server verwerkt. Als een gebruiker bijvoorbeeld via de webbrowser een voorbereid adres oproept, wordt kwaadaardige scriptcode naar de webserver gestuurd. Onvoldoende beveiligde servers onderzoeken deze code niet voldoende en genereren voor de bezoeker een gemanipuleerde website die de kwaadaardige code van de aanvallers bevat. Deze aanvalsvector wordt door cybercriminelen vaak gebruikt voor phishing om inloggegevens te bespioneren. De getroffen gebruiker herkent dit type aanval niet, aangezien hij of zij zich op een zogenaamd betrouwbare website bevindt. De gemanipuleerde website is alleen beschikbaar via de voorbereide link. Als een gebruiker het portaal met een schone link oproept, is er ook geen kwaadaardige code in de webapplicatie – daarom wordt dit ook wel niet-persistente XSS genoemd.

Persistente Cross Site Scripting

Bij persistente XSS daarentegen wordt de kwaadaardige code, die via een veiligheidslek naar de server wordt gestuurd, permanent opgeslagen in de achterliggende database. Dit betekent dat de gebruiker niet eens meer een voorbereide link hoeft te krijgen voor een succesvolle aanval – de aanval is permanent en gericht op alle bezoekers van het getroffen portaal. In principe zijn dergelijke persistente XSS-aanvallen mogelijk bij alle webtoepassingen die gebruikersinvoer op de server opslaan en weer uitvoeren – voorzover de invoer niet zorgvuldig wordt gecontroleerd. Hackers kunnen dit soort aanvallen bijvoorbeeld gebruiken om enorme hoeveelheden inloggegevens te stelen van onvoldoende beveiligde forums.

Lokale Cross Site Scripting (DOM-gebaseerd)

Bij lokale XSS ligt de kwetsbaarheid niet bij de webapplicatie of de achterliggende server, maar rechtstreeks bij de gebruiker. Dit betekent dat zelfs statische websites door deze aanvalsvector worden getroffen als zij JavaScript ondersteunen. Cybercriminelen plaatsen kwaadaardige scriptcode rechtstreeks in de browser van de gebruiker. Dit gebeurt meestal via voorbereide links die via spam-mail bij de gebruiker terechtkomen. Veiligheidsmaatregelen binnen de server hebben hier geen invloed.

03

Gevolgen van XSS voor bedrijven

Cybercriminelen gebruiken XSS-aanvallen meestal als basis voor geavanceerdere aanvallen, zoals email-spam, phishing of DDoS-aanvallen. De aanvallers richten zich meestal op de bezoekers of klanten van de betreffende website. Bij een succesvolle aanval zijn het hún gegevens die worden beschadigd, gemanipuleerd of gestolen. Dit stelt de exploitant van de website uiteraard in een kwaad daglicht; langdurige image-schade, die gepaard gaat met niet te becijferen omzetverliezen, zijn het gevolg.

Op XSS gebaseerde defacement van websites is ook schadelijk voor de zaken van bedrijven, waarbij het bedrijf in kwestie door de aanvallers wordt blootgesteld. Ondernemingen van alle sectoren en groottes worden getroffen. Alle bedrijven die hun eigen websites en webapplicaties exploiteren zijn potentiële doelwitten voor cross-site scripting.

04

Beschermende maatregelen tegen XSS-aanvallen

Door de verschillende vormen van XSS-aanvallen treft deze aanvalsvector zowel bedrijven en websitebeheerders als hun klanten en gebruikers. De beschermingsmaatregelen tegen XSS-aanvallen zijn dan ook zeer uiteenlopend.

Bescherming voor de client tegen XSS

Gebruikers kunnen zich tegen XSS-aanvallen beschermen door de verwerking van scriptcode in de browser te beperken. Verschillende add-ons, zoals NoScript, worden gebruikt om het scriptbeheer in de browser te beheren. Voor de meeste gebruikers zal dit actieve beheer echter waarschijnlijk te omslachtig zijn – er zijn voortdurend aanpassingen nodig om de functionaliteit van webtoepassingen te garanderen. In de praktijk worden dergelijke uitbreidingen dan ook slechts in de zeldzaamste gevallen gebruikt.

In het algemeen is het raadzaam links in ontvangen e-mails altijd grondig te controleren op opvallende codefragmenten. Bij twijfel moet voor de zekerheid de betreffende pagina worden opgevraagd door het adres handmatig in te voeren. Indien mogelijk moet HTML worden vermeden bij de weergave van e-mails bij de client – platte tekst is absoluut voldoende voor digitale communicatie. Op die manier kunnen kwaadwillig gemanipuleerde links in e-mails worden tegengehouden.

Bescherming op de server tegen XSS

Aan de bedrijfszijde zijn de beschermingsmaatregelen tegen XSS uitgebreider. Zo helpen nauwgezette coderichtlijnen en invoercontroles webmasters bijvoorbeeld het aanvalsoppervlak voor XSS-aanvallen te verkleinen. Door whitelisting kunnen beheerders van pagina’s ook goedaardige invoerwaarden definiëren en, omgekeerd, voorkomen dat schadelijke fontcode naar de server wordt gezonden. In de praktijk is deze procedure, afhankelijk van de webapplicatie, zeer tijdrovend en dus soms ook foutief. Onvoldoende geconfigureerd blokkeert whitelisting ook geldige gebruikersinvoer en beperkt zo de functionaliteit van de webapplicatie.

Een WAF (Web Application Firewall) biedt hier uitkomst. Deze beveiligingsoplossing filtert inkomend verkeer op basis van vooraf gedefinieerde regels en scheidt zo geldige gebruikersverzoeken van mogelijke aanvallen. De beschermingsfactor van de technologie is grotendeels gebaseerd op een correcte configuratie van de filterregels – hier is vakkennis en kennis van het afzonderlijke verkeer op de betrokken webapplicatie vereist.

05

Cross Site Scripting: Wat u moet weten

XSS-aanvallen maken al geruime tijd deel uit van het standaardarsenaal van cybercriminelen en dat zal in de nabije toekomst niet veranderen. Voor aanvallers is XSS een lucratieve methode om via spam uitgebreide phishing-campagnes uit te voeren. Gevoelige toegangsgegevens en account-informatie lonken als buit. Bovendien kan XSS worden gebruikt om actieve inlogsessies over te nemen en ook toegang te krijgen tot lokale systemen. Ook het belasteren van bedrijven door middel van defacement staat op de agenda van de aanvallers. Wie er bijvoorbeeld in slaagt obscene inhoud op de website van een gerenommeerde bank binnen te smokkelen, brengt het image van die bank langdurige schade toe.

XSS treft zowel bedrijven, klanten als gebruikers. Daarom moet consistente bescherming van webtoepassingen voor webmasters een topprioriteit zijn. De invoer van de gebruiker moet nauwgezet worden gecontroleerd om te voorkomen dat kwaadaardige code de webservers überhaupt bereikt. Een ander verdedigingsniveau is de consequente whitelisting van toegestane invoerpatronen, die soms zeer complex kunnen zijn.

Myra Web Application Security biedt betrouwbare en flexibele bescherming tegen XSS-aanvallen en vele andere soorten aanvallen met Hyperscale WAF, Bot Management en Malware Multiscan.