Kako mogu spriječiti krivotvorenje na različitim stranicama?

Krivotvorenje na više web-mjesta (XSRF ili CSRF), također poznato pod raznim nazivima, uključujući krivotvorenje zahtjeva na više web-mjesta, korištenje sesije i napad jednim klikom, teško je spriječiti iskorištavanje web-mjesta. Djeluje tako da prevari web preglednik da pošalje neovlaštene naredbe udaljenom poslužitelju. Napadi krivotvorenja na više web-mjesta djeluju samo protiv korisnika koji su se prijavili na web stranice s autentičnim vjerodajnicama; kao rezultat toga, odjava s web stranica može biti jednostavna i učinkovita preventivna mjera. Web programeri mogu koristiti nasumično generirane tokene kako bi spriječili ovu vrstu napada, ali bi trebali izbjegavati provjeru preporuke ili oslanjanje na kolačiće.

Uobičajeno je da eksploatacije krivotvorenja na više web-mjesta ciljaju web preglednike u onome što je poznato kao “napad zbunjenog zamjenika”. Vjerujući da djeluje u ime korisnika, preglednik je prevaren da pošalje neovlaštene naredbe udaljenom poslužitelju. Ove naredbe mogu biti skrivene unutar naizgled nevinih dijelova koda za označavanje web-stranice, što znači da preglednik koji pokušava preuzeti slikovnu datoteku možda zapravo šalje naredbe banci, online prodavaču ili web-mjestu društvenih mreža. Neki preglednici sada uključuju mjere osmišljene za sprječavanje napada krivotvorenja na različitim stranicama, a programeri trećih strana stvorili su proširenja ili dodatke kojima nedostaju te mjere. Također može biti dobra ideja isključiti e-poštu HyperText Markup Language (HTML) u vašem preferiranom klijentu jer su ti programi također osjetljivi na napade krivotvorenja na različitim web stranicama.

Budući da se napadi krivotvorenja na više web stranica oslanjaju na korisnike koji su se legitimno prijavili na web stranicu. Imajući to na umu, jedan od najlakših načina za sprječavanje takvog napada je jednostavno odjavljivanje s web-lokacija koje ste prestali koristiti. Mnoga web-mjesta koja se bave osjetljivim podacima, uključujući banke i brokerske tvrtke, to rade automatski nakon određenog razdoblja neaktivnosti. Druge stranice imaju suprotan pristup i omogućuju korisnicima da budu uporno prijavljeni danima ili tjednima. Iako bi vam ovo moglo biti zgodno, izlaže vas CSRF napadima. Potražite opciju “zapamti me na ovom računalu” ili “zadrži me prijavljenom” i onemogućite je te obavezno kliknite vezu za odjavu kada završite sesiju.

Za web programere uklanjanje ranjivosti krivotvorenja na više web-mjesta može biti posebno izazovan zadatak. Provjera informacija o preporuci i kolačićima ne pruža veliku zaštitu jer CSRF eksploatacije iskorištavaju legitimne korisničke vjerodajnice i te je informacije lako lažirati. Bolji pristup bio bi nasumično generirati token za jednokratnu upotrebu svaki put kada se korisnik prijavi i zahtijevati da token bude uključen u svaki zahtjev koji korisnik pošalje. Za važne zahtjeve kao što su kupnja ili prijenos sredstava, zahtijevanje od korisnika da ponovno unese korisničko ime i lozinku može pomoći u osiguravanju autentičnosti zahtjeva.