CSRFsuojausta
CSRFsuojausta tarkoittaa toimenpiteitä, joilla estetään Cross-Site Request Forgery -hyökkäykset. CSRF-tyyppinen hyökkäys voi tehdä käyttäjän puolesta ei-toivottuja toimintoja kohdesivustolla, kun käyttäjä on kirjautuneena ja vierailee haitallisella sivustolla. Tällöin kolmannen osapuolen sivusto saa käyttäjän selaimen lähettämään kohdesivuston pyyntöjä tämän istunnon voimassa ollessa.
CSRF-hyökkäyksen perusmekanismi on, että selain palauttaa kohdesivustolle luonnollisen autentikaation, kuten evästeiden, kun käyttäjä viehättävästi vierailee hyökkäävällä
CSRF-suojauksia, joita usein käytetään, ovat:
- Anti-CSRF-tunnisteet (Synchronizer Token Pattern): palvelin luo istunnolle uniikin tokenin, joka vaaditaan jokaisessa muutospyynnössä. Token on lähetettävä
- SameSite-evästeet: evästeet asetetaan SameSite-luokkaksi (esim. Lax tai Strict), jolloin kolmannen osapuolen sivuilta tulevat pyynnöt eivät automaattisesti
- Origin- ja Referer-tarkistukset: pyynnön alkuperän varmistaminen ennen toiminnon suorittamista.
- Kaksoislähetys (double-submit cookie): evästeessä oleva token vastaa pyynnön lähettämää tokenia, ja molemmat tarkistetaan yhdessä.
- Kriittisten toimintojen vahvistaminen uudelleen: esimerkiksi re-auth, PIN-koodi tai CAPTCHA ennen herkkien toimintojen toteuttamista.
- Turvallinen suunnittelu ja käytäntö: HTTPS, HttpOnly- ja Secure-evästeet sekä minimoitu etäparametrien käyttö.
CSRF-suojaus on usein useiden keinojen yhdistelmä, ja monissa HTTP-käyttöliittymissä on jo sisäänrakennettu tuki sovelluksiin.