SameSite omadus
Alates Chrome 51-st on brauseri küpsistele lisatud uus SameSite'i atribuut, et takistada CSRF-rünnakuid ja kasutajate jälgimist (pahatahtlik kolmandate osapoolte küpsiste omandamine) ning piirata kolmandate osapoolte küpsiseid, vähendades seeläbi turvariske.
SameSite on määratletud RFC6265bis-is:Hüperlingi sisselogimine on nähtav.
CSRF rünnaku kokkuvõte kohta:
SameSite omadust saab määrata kolmele väärtusele:Strict、Lax、None。
Range: Rangelt keelata kolmandatel osapooltel küpsiste hankimine ning mitte mingil juhul küpsiseid saata rist-saidi puhul; Küpsised lisatakse ainult siis, kui praeguse lehe URL vastab päringu sihtmärgile. See reegel on liiga range ja võib põhjustada väga halba kasutajakogemust. Näiteks, kui praegusel veebilehel on GitHubi link, siis kasutajatel ei ole GitHubi küpsiseid, kui nad hüppele klõpsavad, ning hüpe on alati olnud sisse logimata.
Lax: Takistada ristsaidilist suhtlust, enamasti on küpsiste hankimine keelatud, välja arvatud GET-päringud (lingid, eellaadimised, GET vormid), mis suunduvad sihtaadressile; Kui Strict või Lax on seatud, likvideeritakse CSRF rünnakud sisuliselt. Muidugi on see tingimusel, et kasutajabrauser toetab SameSite omadust.
SameSite atribuutVaikimisi SameSite=Lax[See toiming kehtib versioonidele pärast seda, kui Google avaldas Chrome 80 stabiilse versiooni 4. veebruaril 2019]
Ükski: Piirangut pole.
Secure atribuut tuleb samuti seadistada (küpsiseid saab saata ainult HTTPS protokolli kaudu), vastasel juhul see ei kehti. [See toiming kehtib versioonidele pärast seda, kui Google avaldas Chrome 80 stabiilse versiooni 4. veebruaril 2019]
Testi SameSite omadust
Laadime dünaamiliselt pildi asukohast A läbi F12 konsooli saidil A, kood on järgmine:
Võrgupäringust näeme, et kui sait A küsib saidi A domeeninimest pilti, siisKanna küpsiseid(SameSite'il puuduvad seaded, st Lax), nagu alloleval pildil näidatud:
Leiame juhuslikult B-koha ja seejärel laeme dünaamiliselt A saidi pildi ning leiame selleEi kannaIga küpsis, nagu allpool näidatud:
(Lõpp)
|