Hoe voorkom ik cross-site-vervalsing?
Een cross-site vervalsing (XSRF of CSRF), ook bekend onder verschillende namen, waaronder cross-site aanvraagvervalsing, sessierijden en een klik met één klik, is een moeilijk type website-exploit om te voorkomen. Het werkt door een webbrowser te misleiden om ongeautoriseerde opdrachten naar een externe server te sturen. Cross-site namaakaanvallen werken alleen tegen gebruikers die zijn ingelogd op websites met authentieke inloggegevens; als gevolg hiervan kan uitloggen bij websites een eenvoudige en effectieve preventieve maatregel zijn. Webontwikkelaars kunnen willekeurig gegenereerde tokens gebruiken om dit type aanval te voorkomen, maar moeten vermijden de verwijzer te controleren of op cookies te vertrouwen.
Het is gebruikelijk dat cross-site namaakexploitaties zich richten op webbrowsers in een zogenoemde 'verwarde hulpaanval'. De browser gelooft te handelen namens de gebruiker en wordt misleid om ongeautoriseerde opdrachten naar een externe server te verzenden. Deze opdrachten kunnen worden verborgen in schijnbaar onschuldige delen van de opmaakcode van een webpagina, wat betekent dat een browser die een afbeeldingsbestand probeert te downloaden, mogelijk opdrachten naar een bank, online winkel of sociale netwerksite verzendt. Sommige browsers bevatten nu maatregelen die zijn ontworpen om cross-site vervalsingsaanvallen te voorkomen, en externe programmeurs hebben extensies of plug-ins gemaakt die deze maatregelen niet hebben. Het kan ook een goed idee zijn om e-mail van HyperText Markup Language (HTML) in uw voorkeursclient uit te schakelen, omdat deze programma's ook kwetsbaar zijn voor aanvallen op meerdere sites.
Omdat cross-site vervalsingsaanvallen afhankelijk zijn van gebruikers die zich legitiem hebben aangemeld op een website. Met dat in gedachten is een van de gemakkelijkste manieren om een dergelijke aanval te voorkomen, gewoon uit te loggen bij sites die u niet meer gebruikt. Veel sites die omgaan met gevoelige gegevens, waaronder banken en beursvennootschappen, doen dit automatisch na een bepaalde periode van inactiviteit. Andere sites hebben de tegenovergestelde benadering en zorgen ervoor dat gebruikers dagen of weken voortdurend kunnen blijven ingelogd. Hoewel u dit misschien handig vindt, stelt het u wel bloot aan CSRF-aanvallen. Zoek naar een optie "onthoud mij op deze computer" of "houd me aangemeld" en schakel deze uit en klik op de uitloglink wanneer u een sessie hebt voltooid.
Voor webontwikkelaars kan het elimineren van kwetsbaarheid op meerdere sites een bijzonder uitdagende taak zijn. Het controleren van verwijzende informatie en cookie-informatie biedt niet veel bescherming omdat CSRF-exploitanten gebruikmaken van legitieme gebruikersreferenties en deze informatie gemakkelijk te vervalsen is. Een betere aanpak zou zijn om willekeurig een token voor eenmalig gebruik te genereren telkens wanneer een gebruiker inlogt, en vereisen dat het token wordt opgenomen in elk verzoek dat door de gebruiker wordt verzonden. Voor belangrijke verzoeken zoals aankopen of geldoverboekingen kan het verplicht stellen van een gebruiker om de gebruikersnaam en het wachtwoord opnieuw in te voeren de authenticiteit van het verzoek waarborgen.