Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Section
Column
width720px

Cross-Site Request Forgery (CSRF) -hyökkäyksessä hyökkäävä sivusto aiheuttaa selaimen kautta pyynnön jotakin toista sivustoa kohden. Jos selaimella on aktiivinen istunto kohdesivustolla, voi hyökkääjä tehdä käyttäjänä erilaisia operaatioita.

CSRF estetään antamalla jokaisen HTTP-pyynnön mukana kryptografisesti vahva ja riittävän pitkä salaisuus. Nämä salaisuudet (nk. CSRF-tokenit) tallennetaan selaimessa niin, että hyökkääjän sivusto tai siltä peräisin oleva JavaScript ei pääse niihin käsiksi, eikä siten pysty tekemään tekaistuja pyyntöjä.

CSRF on helpointa estää käyttämällä sovelluskehikkoa, joka toteuttaa CSRF-suojauksen automaattisesti. Useimmiten tämä on paras vaihtoehto.

Mikäli tällaista kehikkotukea ei ole, suositeltava tapa on käyttää nk. ”double submit cookie” -tapaa. Tämä metodi on kätevä, koska se on tilaton eikä vaadi palvelinpään tallennustilaa, joten se sopii myös tilanteisiin, jossa pyynnöt selaimelta tulevat satunnaisesti eri palvelimille kuormantasaajan läpi. Kuten monissa muissakin tietoturvaominaisuuksissa, tämän naiivi toteutus saattaa olla haavoittuva.




Section
Column
width720px
Panel
borderWidth0
titleSourcesLähteet:

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Double_Submit_Cookie









Section
Column
width720px


Column
width360px

< 1112.7.1 Cross-Origin Resource Sharing (CORS)

Column
width360px

1112.7.3 Luottamuksellinen tieto ja parametrit >