Nagłówki HTTP to rodzaj metadanych wysyłanych wraz z żądaniami i odpowiedziami internetowymi, informacje, które dostarczają, mogą być ważne lub po prostu mieć charakter informacyjny. Nagłówki bezpieczeństwa są podzbiorem „Nagłówków odpowiedzi”, które mogą być ustawione przez serwer sieciowy. Są one jedną z funkcji, która może pomóc w rozwiązaniu wielu problemów związanych z bezpieczeństwem. Jeden z nagłówków bezpieczeństwa, zwany „X-Frame-Options”, ma na celu zapobieganie atakom typu click-jacking.
Click-jacking
Click-jacking, znany również jako „Redressing interfejsu użytkownika”, to problem polegający na tym, że osoba atakująca jest w stanie nakłonić użytkownika do kliknięcia czegoś, co nie jest tym, na co wygląda. W przypadku stron internetowych odbywa się to poprzez nałożenie przezroczystej strony internetowej na widoczną. W przypadku tego typu ataku użytkownik myśli, że wchodzi w interakcję z widoczną witryną, ale w rzeczywistości nieświadomie wpływa na przejrzystą witrynę.
Na przykład atakujący może założyć witrynę internetową, która sprawia, że użytkownik prawdopodobnie kliknie przycisk, na przykład przycisk odtwarzania filmu. W przezroczystej warstwie u góry tej strony znajduje się druga strona internetowa, na przykład strona do usunięcia konta na Facebooku z przyciskiem „Usuń konto” umieszczonym bezpośrednio nad przyciskiem odtwarzania. W tym scenariuszu, gdy użytkownik próbuje kliknąć przycisk odtwarzania, faktycznie klika przycisk, aby usunąć swoje konto na Facebooku.
Click-jacking polega na możliwości wyświetlania docelowej strony internetowej na górze fikcyjnej strony internetowej w procesie zwanym „Framingiem”. Framing wykorzystuje element HTML „iframe”, który może wczytać całą oddzielną stronę internetową na innej stronie. Dzięki załadowaniu docelowej strony internetowej w ramce, ostrożnym jej pozycjonowaniu i przeźroczystości ofiara będzie całkowicie nieświadoma, że została nakłoniona do wykonania działania.
X-Frame-Opcje
Nagłówek odpowiedzi HTTP „X-Frame-Options” to opcjonalna funkcja, którą można ustawić dla witryn internetowych w plikach konfiguracyjnych serwera. X-Frame-Options zapobiega ładowaniu stron internetowych w ramkach iframe, co zapobiega nałożeniu ich na inną witrynę. Przeglądarka ofiary faktycznie stosuje kontrolę bezpieczeństwa, ponieważ wszystkie przeglądarki respektują nagłówek X-Frame-Options i odmówią załadowania stron z nagłówkiem ustawionym w ramce.
Nagłówek pozwala właścicielowi witryny skonfigurować, jak restrykcyjne jest to ustawienie. Istnieją dwa ustawienia: „X-Frame-Options: DENY” zapobiega umieszczaniu chronionej strony internetowej w ramkach. Druga opcja, „X-Frame-Options: SAMEORIGIN”, umożliwia umieszczanie chronionych stron internetowych w ramkach tylko wtedy, gdy strona ładująca ramkę ma tę samą nazwę domeny. W takim przypadku możesz załadować ramkę na swojej własnej stronie internetowej, ale nikt inny nie może jej załadować na swojej stronie.