Ιδιότητα SameSite
Ξεκινώντας με το Chrome 51, ένα νέο χαρακτηριστικό SameSite προστέθηκε στα cookies του προγράμματος περιήγησης για την αποτροπή επιθέσεων CSRF και παρακολούθησης χρηστών (κακόβουλη απόκτηση cookies από τρίτους) και για τον περιορισμό των cookie τρίτων, μειώνοντας έτσι τους κινδύνους ασφαλείας.
SameSite που ορίζεται στο RFC6265bis:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Σχετικά με την ανακεφαλαίωση επίθεσης CSRF:
Η ιδιότητα SameSite μπορεί να οριστεί σε τρεις τιμές:Αυστηρό, Χαλαρό, Κανένα。
Αυστηρός: Απαγορεύστε αυστηρά σε τρίτους να λαμβάνουν cookies και μην στέλνετε cookies σε καμία περίπτωση όταν διασχίζετε ιστότοπους. Τα cookies θα συμπεριληφθούν μόνο εάν η διεύθυνση URL της τρέχουσας σελίδας ταιριάζει με τον στόχο αιτήματος. Αυτός ο κανόνας είναι πολύ αυστηρός και μπορεί να προκαλέσει πολύ κακή εμπειρία χρήστη. Για παράδειγμα, εάν υπάρχει ένας σύνδεσμος GitHub στην τρέχουσα ιστοσελίδα, οι χρήστες δεν θα έχουν cookie GitHub όταν κάνουν κλικ στο άλμα και το άλμα ήταν πάντα αποσυνδεδεμένο.
Αμελής: Αποτρέψτε τη διασύνδεση, στις περισσότερες περιπτώσεις απαγορεύεται η λήψη cookies, εκτός από αιτήματα GET (σύνδεσμοι, προφορτώσεις, φόρμες GET) που πλοηγούνται στη διεύθυνση URL προορισμού. Μόλις οριστεί το Strict ή το Lax, οι επιθέσεις CSRF ουσιαστικά εξαλείφονται. Φυσικά, αυτό υπό την προϋπόθεση ότι το πρόγραμμα περιήγησης χρήστη υποστηρίζει την ιδιότητα SameSite.
SameSite χαρακτηριστικόΠροεπιλογή SameSite=Lax[Αυτή η λειτουργία ισχύει για εκδόσεις μετά την κυκλοφορία της σταθερής έκδοσης του Chrome 80 από την Google στις 4 Φεβρουαρίου 2019]
Κανένας: Δεν υπάρχει όριο.
Πρέπει επίσης να οριστεί το χαρακτηριστικό Secure (τα cookies μπορούν να σταλούν μόνο μέσω του πρωτοκόλλου HTTPS), διαφορετικά δεν θα είναι έγκυρο. [Αυτή η λειτουργία ισχύει για εκδόσεις μετά την κυκλοφορία της σταθερής έκδοσης του Chrome 80 από την Google στις 4 Φεβρουαρίου 2019]
Δοκιμή της ιδιότητας SameSite
Φορτώνουμε δυναμικά μια εικόνα της τοποθεσίας Α μέσω της κονσόλας F12 στη θέση Α, ο κώδικας έχει ως εξής:
Μπορούμε να δούμε από το αίτημα δικτύου ότι όταν ο ιστότοπος Α ζητά μια εικόνα του ονόματος τομέα του ιστότοπου Α, θαΜεταφέρετε μπισκότα(Το SameSite δεν έχει ρυθμίσεις, π.χ. Lax), όπως φαίνεται στην παρακάτω εικόνα:
Βρίσκουμε τυχαία έναν ιστότοπο Β και, στη συνέχεια, φορτώνουμε δυναμικά την εικόνα του ιστότοπου Α και τον βρίσκουμεΔεν μεταφέρειΟποιοδήποτε cookie, όπως φαίνεται παρακάτω:
(Τέλος)
|