Οι κεφαλίδες HTTP είναι ένας τύπος μεταδεδομένων που αποστέλλονται με αιτήματα και απαντήσεις ιστού, οι πληροφορίες που παρέχουν μπορεί να είναι σημαντικές ή απλώς ενημερωτικές. Οι κεφαλίδες ασφαλείας είναι ένα υποσύνολο των "κεφαλίδων απόκρισης" που μπορούν να οριστούν από τον διακομιστή ιστού, είναι μία από τις δυνατότητες που μπορούν να βοηθήσουν στην αντιμετώπιση ορισμένων ζητημάτων ασφαλείας. Μία από τις κεφαλίδες ασφαλείας, που ονομάζεται "X-Frame-Options" έχει σχεδιαστεί για να αποτρέπει επιθέσεις click-jacking.
Click-Jacking
Το click-jacking, γνωστό και ως "User Interface Redressing", είναι ένα ζήτημα όπου ένας εισβολέας μπορεί να ξεγελάσει έναν χρήστη ώστε να κάνει κλικ σε κάτι που δεν είναι αυτό που φαίνεται να είναι. Για ιστότοπους, αυτό γίνεται με την επικάλυψη ενός διαφανούς ιστότοπου πάνω από έναν ορατό. Σε αυτό το είδος επίθεσης, ο χρήστης πιστεύει ότι αλληλεπιδρά με τον ορατό ιστότοπο, αλλά στην πραγματικότητα, επηρεάζει άθελά του τον διαφανή ιστότοπο.
Για παράδειγμα, ένας εισβολέας θα μπορούσε να δημιουργήσει έναν ιστότοπο που καθιστά πιθανό ότι ένας χρήστης κάνει κλικ σε ένα κουμπί, ίσως σε ένα κουμπί αναπαραγωγής για ένα βίντεο. Σε ένα διαφανές επίπεδο στην κορυφή αυτής της ιστοσελίδας βρίσκεται μια δεύτερη ιστοσελίδα, όπως η ιστοσελίδα για τη διαγραφή του λογαριασμού σας στο Facebook με το κουμπί "Διαγραφή λογαριασμού" τοποθετημένο ακριβώς πάνω από το κουμπί αναπαραγωγής. Σε αυτό το σενάριο, όταν ο χρήστης προσπαθεί να κάνει κλικ στην αναπαραγωγή, στην πραγματικότητα κάνει κλικ στο κουμπί για να διαγράψει τον λογαριασμό του στο Facebook.
Το click-jacking βασίζεται στην ικανότητα εμφάνισης του ιστότοπου-στόχου πάνω από τον εικονικό ιστότοπο, μέσω μιας διαδικασίας που ονομάζεται "Framing". Το Framing χρησιμοποιεί το στοιχείο HTML "iframe" το οποίο μπορεί να φορτώσει μια ολόκληρη ξεχωριστή ιστοσελίδα σε μια άλλη σελίδα. Φορτώνοντας την ιστοσελίδα-στόχο σε ένα πλαίσιο, τοποθετώντας την προσεκτικά και κάνοντάς την διαφανή, το θύμα δεν θα γνωρίζει εντελώς ότι παραπλανάται για να εκτελέσει μια ενέργεια.
X-Frame-Options
Η κεφαλίδα απόκρισης HTTP "X-Frame-Options" είναι μια προαιρετική δυνατότητα που μπορεί να οριστεί για ιστότοπους στα αρχεία διαμόρφωσης διακομιστή. Το X-Frame-Options αποτρέπει τη φόρτωση ιστοσελίδων σε iframes, γεγονός που εμποδίζει την επικάλυψή τους σε άλλο ιστότοπο. Το πρόγραμμα περιήγησης του θύματος εφαρμόζει στην πραγματικότητα τον έλεγχο ασφαλείας, επειδή όλα τα προγράμματα περιήγησης σέβονται την κεφαλίδα X-Frame-Options και αρνούνται να φορτώσουν οποιεσδήποτε ιστοσελίδες με την κεφαλίδα που έχει οριστεί σε ένα πλαίσιο.
Η κεφαλίδα επιτρέπει στον κάτοχο του ιστότοπου να διαμορφώσει πόσο περιοριστική είναι η ρύθμιση. Υπάρχουν δύο ρυθμίσεις: Το "X-Frame-Options: DENY" αποτρέπει το καδράρισμα μιας προστατευμένης ιστοσελίδας. Η άλλη επιλογή, «Επιλογές X-Frame: SAMEORIGIN», επιτρέπει την τοποθέτηση προστατευμένων ιστοσελίδων, μόνο εάν η σελίδα που φορτώνει το πλαίσιο έχει το ίδιο όνομα τομέα. Σε αυτήν την περίπτωση, μπορείτε να φορτώσετε ένα πλαίσιο στον δικό σας ιστότοπο, αλλά κανείς άλλος δεν μπορεί να το φορτώσει στον δικό του.