Τι είναι το Session Fixation;

Υπάρχουν πολλοί διαφορετικοί τύποι τρωτών σημείων ασφαλείας που εντοπίζονται σε ιστότοπους, ένα ενδιαφέρον που ονομάζεται "Διόρθωση συνεδρίας". Η επιδιόρθωση περιόδου σύνδεσης είναι ένα ζήτημα όπου ένας εισβολέας μπορεί να επηρεάσει το αναγνωριστικό περιόδου σύνδεσης, γνωστό και ως το αναγνωριστικό περιόδου λειτουργίας ενός χρήστη και στη συνέχεια να το χρησιμοποιήσει για να αποκτήσει πρόσβαση στον λογαριασμό του. Υπάρχουν δύο τρόποι με τους οποίους μπορεί να λειτουργήσει αυτός ο τύπος ευπάθειας: μπορεί να επιτρέψει στον εισβολέα είτε να βρει είτε να ορίσει το αναγνωριστικό περιόδου σύνδεσης άλλου χρήστη.

Πώς εκτελείται μια επίθεση σταθεροποίησης συνεδρίας

Το αναγνωριστικό περιόδου σύνδεσης ενός χρήστη είναι συχνά βασικό μέρος του ελέγχου ταυτότητας στον ιστότοπο και σε πολλές περιπτώσεις είναι τα μόνα δεδομένα που προσδιορίζουν τον συγκεκριμένο χρήστη που είναι συνδεδεμένος. Το πρόβλημα με αυτό είναι ότι εάν ένας εισβολέας μπορεί να ορίσει ή να μάθει το αναγνωριστικό περιόδου σύνδεσης ενός άλλου χρήστη, μπορεί να χρησιμοποιήσει το διακριτικό περιόδου λειτουργίας και στη συνέχεια να μπορεί να ενεργεί ως χρήστης.

Συνήθως, αυτό γίνεται εξαπατώντας έναν χρήστη ώστε να κάνει κλικ σε έναν τύπο συνδέσμου ψαρέματος. Ο ίδιος ο σύνδεσμος είναι απολύτως νόμιμος, αλλά περιλαμβάνει μια μεταβλητή που ορίζει ένα καθορισμένο αναγνωριστικό περιόδου σύνδεσης. Εάν ο χρήστης συνδεθεί με το αναγνωριστικό περιόδου σύνδεσης και ο διακομιστής δεν του εκχωρήσει νέο αναγνωριστικό περιόδου σύνδεσης σύνδεση, ο εισβολέας μπορεί απλώς να ορίσει το αναγνωριστικό συνεδρίας του να είναι το ίδιο και να έχει πρόσβαση σε αυτό του θύματος λογαριασμός.

Ένας άλλος τρόπος με τον οποίο ο εισβολέας μπορεί να ανακαλύψει το αναγνωριστικό περιόδου σύνδεσης του θύματος είναι εάν εμφανίζεται σε μια διεύθυνση URL. Για παράδειγμα, εάν ο εισβολέας μπορεί να ξεγελάσει το θύμα για να του στείλει έναν σύνδεσμο και περιλαμβάνει το αναγνωριστικό περιόδου σύνδεσης του θύματος, ο εισβολέας μπορεί να χρησιμοποιήσει το αναγνωριστικό περιόδου σύνδεσης για να αποκτήσει πρόσβαση στον λογαριασμό του θύματος. Σε ορισμένες περιπτώσεις, αυτό μπορεί να συμβεί εντελώς τυχαία. Για παράδειγμα, εάν ο χρήστης αντιγράψει τη διεύθυνση URL με το αναγνωριστικό περιόδου σύνδεσης και την επικολλήσει σε έναν φίλο ή σε ένα φόρουμ, οποιοσδήποτε χρήστης ακολουθεί τον σύνδεσμο θα συνδεθεί με τον λογαριασμό του χρήστη.

Διορθώσεις στερέωσης συνεδρίας

Υπάρχουν μερικές λύσεις σε αυτό το ζήτημα και, όπως πάντα, η καλύτερη λύση είναι να εφαρμόσετε όσο το δυνατόν περισσότερες διορθώσεις ως μέρος μιας στρατηγικής άμυνας σε βάθος. Η πρώτη λύση είναι να αλλάξετε το αναγνωριστικό περιόδου σύνδεσης του χρήστη κατά τη σύνδεση. Αυτό αποτρέπει έναν εισβολέα από το να μπορεί ποτέ να επηρεάσει το αναγνωριστικό περιόδου σύνδεσης ενός συνδεδεμένου χρήστη. Μπορείτε επίσης να ρυθμίσετε τις παραμέτρους του διακομιστή ώστε να αποδέχεται μόνο τα αναγνωριστικά περιόδου σύνδεσης που έχει δημιουργήσει και να απορρίπτει ρητά τυχόν αναγνωριστικά περιόδου σύνδεσης που παρέχονται από τον χρήστη.

Ο ιστότοπος θα πρέπει να ρυθμιστεί ώστε να μην τοποθετεί ποτέ ευαίσθητα στοιχεία χρήστη, όπως το αναγνωριστικό περιόδου σύνδεσης στη διεύθυνση URL και θα πρέπει να τον τοποθετεί σε μια παράμετρο αιτήματος GET ή POST. Αυτό αποτρέπει τον χρήστη από το να διακυβεύσει κατά λάθος το δικό του αναγνωριστικό περιόδου σύνδεσης. Χρησιμοποιώντας τόσο ένα αναγνωριστικό περιόδου σύνδεσης όσο και ένα ξεχωριστό διακριτικό ελέγχου ταυτότητας, διπλασιάζεις τον όγκο των πληροφοριών που χρειάζεται να αποκτήσει ο εισβολέας και αποτρέπεις τους εισβολείς από την πρόσβαση σε περιόδους σύνδεσης με γνωστά αναγνωριστικά περιόδου σύνδεσης.

Είναι ζωτικής σημασίας όλα τα έγκυρα αναγνωριστικά περιόδου σύνδεσης για έναν χρήστη να ακυρώνονται όταν γίνεται κλικ στο κουμπί αποσύνδεσης. Είναι δυνατή η εκ νέου δημιουργία του αναγνωριστικού περιόδου σύνδεσης σε κάθε αίτημα, εάν τα αναγνωριστικά προηγούμενης περιόδου σύνδεσης είναι άκυρα, αυτό επίσης αποτρέπει τους εισβολείς από τη χρήση γνωστού αναγνωριστικού συνεδρίας. Αυτή η προσέγγιση μειώνει επίσης σημαντικά το παράθυρο απειλής εάν ένας χρήστης αποκαλύψει το δικό του αναγνωριστικό περιόδου σύνδεσης.

Επιτρέποντας πολλαπλές από αυτές τις προσεγγίσεις, μια στρατηγική άμυνας σε βάθος μπορεί να εξαλείψει αυτό το ζήτημα ως κίνδυνο ασφάλειας.