Atak typu hijacking na serwer sieciowy charakteryzuje się
A. przejęciem kontroli nad połączeniem między komunikującymi się komputerami.
B. zbieraniem informacji na temat atakowanej sieci i szukaniem luk w sieci.
C. łamaniem zabezpieczeń przed niedozwolonym użytkowaniem programów.
D. przeciążeniem aplikacji udostępniającej określone dane.
Pytanie z egzaminu CKE, czerwiec 2016 (arkusz E.13-X-16.05).
Atak typu hijacking polega na przejęciu kontroli nad istniejącym połączeniem między komunikującymi się komputerami, więc chodzi dokładnie o sytuację, w której napastnik wchodzi w środek komunikacji albo podszywa się pod jedną ze stron sesji. W praktyce może to dotyczyć np. sesji HTTP, połączenia TCP, komunikacji z panelem administracyjnym serwera albo przechwycenia ciasteczka sesyjnego użytkownika. Szczególnie groźne jest session hijacking, bo użytkownik może być już poprawnie zalogowany, a atakujący wykorzystuje jego identyfikator sesji bez znajomości hasła. Moim zdaniem to jedna z tych rzeczy, które dobrze pokazują, że samo hasło to za mało. Dobre praktyki branżowe mówią jasno: używać HTTPS/TLS, wymuszać flagi Secure i HttpOnly dla ciasteczek, stosować krótkie czasy ważności sesji, regenerować ID sesji po logowaniu, używać MFA oraz monitorować nietypowe zmiany adresów IP czy User-Agent. W sieciach ważne są też mechanizmy ochrony przed ARP spoofingiem, segmentacja VLAN, bezpieczna konfiguracja przełączników i analiza ruchu w IDS/IPS. Czyli hijacking to nie przeciążenie serwera ani samo skanowanie sieci, tylko realne przejęcie aktywnej komunikacji.
W tym pytaniu łatwo pomylić kilka różnych pojęć z obszaru cyberbezpieczeństwa, bo wszystkie brzmią trochę jak atak na serwer, ale technicznie oznaczają coś innego. Przeciążenie aplikacji udostępniającej dane kojarzy się raczej z atakiem DoS albo DDoS. Tam celem jest zasypanie usługi ogromną liczbą żądań, pakietów lub kosztownych operacji, żeby serwer przestał odpowiadać normalnym użytkownikom. To może dotyczyć serwera WWW, API, DNS albo bazy danych, ale nie jest to przejmowanie istniejącego połączenia. Łamanie zabezpieczeń przed niedozwolonym użytkowaniem programów to bardziej temat licencji, cracków, obchodzenia aktywacji lub naruszania mechanizmów DRM. Ma to związek z bezpieczeństwem oprogramowania, ale nie opisuje hijackingu połączenia sieciowego. Zbieranie informacji o atakowanej sieci i szukanie luk to etap rozpoznania, czyli reconnaissance albo skanowanie podatności. Administratorzy też robią podobne rzeczy legalnie, na przykład przy audycie bezpieczeństwa z użyciem skanerów podatności, tylko za zgodą właściciela systemu. Typowy błąd myślowy polega na tym, że słowo atak wrzuca się do jednego worka: skanowanie, przeciążanie, łamanie licencji i przejęcie sesji. A hijacking ma bardziej precyzyjne znaczenie: napastnik przejmuje kontrolę nad komunikacją lub sesją między stronami, często przez podszycie się, kradzież tokenu sesji, manipulację ruchem albo atak typu man-in-the-middle. Z mojego doświadczenia najłatwiej zapamiętać to tak: jeśli ktoś tylko szuka luk, to rozpoznaje; jeśli zapycha usługę, to robi DoS; jeśli omija licencję, to łamie zabezpieczenia programu; jeśli przejmuje aktywne połączenie, to jest hijacking.