Atak TCP SYN Flood (znany również jako "atak półotwarty") jest formą ataku Denial-of-Service (DoS) lub Distributed Denial-of-Service (DDoS). Celem ataku jest uczynienie serwera niedostępnym dla legalnych żądań poprzez celowe przeciążenie jego zasobów. Atakujący wysyła dużą liczbę pakietów SYN, które służą do inicjowania połączenia TCP. Serwer następnie rezerwuje zasoby dla każdego przychodzącego żądania połączenia i czeka na ostateczne potwierdzenie od klienta. Ponieważ to potwierdzenie nigdy nie dociera, wiele połączeń pozostaje "półotwartych". To stopniowo wyczerpuje dostępne porty i zasoby systemowe serwera, tak że legalni użytkownicy mogą uzyskać dostęp do usługi tylko z opóźnieniami lub w ogóle nie mogą.
Ataki TCP SYN Flood wykorzystują specyficznie fazę nawiązywania połączenia TCP. W normalnych warunkach nawiązywanie to odbywa się poprzez tzw. trójstopniowy uścisk dłoni, który składa się z trzech kolejnych kroków w celu ustanowienia stabilnego połączenia między klientem a serwerem.
W przypadku ataku Denial-of-Service atakujący wykorzystuje fakt, że serwer rezerwuje zasoby po otrzymaniu pakietu SYN, odsyła pakiet SYN/ACK i następnie czeka na ostateczne potwierdzenie od klienta. Dokładnie to zachowanie atakujący wykorzystuje na swoją korzyść. Proces przebiega następująco:
Gdy serwer w sieci uważa połączenie za otwarte, ale partner komunikacyjny nie nawiązuje pełnego połączenia, mówi się o połączeniu półotwartym. W tej formie ataku DDoS serwer docelowy utrzymuje otwarte wiele takich niekompletnych połączeń i czeka na przekroczenie limitu czasu przed zwolnieniem zajętych zasobów i portów. Ponieważ nowe półotwarte połączenia ciągle się gromadzą, ta technika ataku jest również nazywana "atakiem półotwartym".
Gdy atak jest przeprowadzany za pośrednictwem botnetu, śledzenie do rzeczywistego atakującego jest znacznie trudniejsze, ponieważ ruch jest rozdzielany na wiele zainfekowanych urządzeń. Atakujący mogą również manipulować lub ukrywać adresy IP urządzeń wysyłających, co utrudnia identyfikację rzeczywistego pochodzenia pakietów. Jeśli używany jest botnet, taki jak botnet Mirai, klasyczne ukrywanie IP atakującego często nie jest już konieczne, ponieważ komunikacja i tak odbywa się za pośrednictwem wielu zainfekowanych urządzeń, które same są częścią ataku.
Atak TCP SYN Flood bez spoofingu IP jest nazywany atakiem bezpośrednim. W tym przypadku atakujący używa swojego prawdziwego adresu IP bez żadnego ukrywania. Ponieważ atak pochodzi z jednego systemu źródłowego, jest stosunkowo łatwy do wykrycia i zablokowania. Aby stworzyć stan półotwartego połączenia na systemie docelowym, atakujący dba o to, aby jego komputer nie odpowiadał na odpowiedzi SYN/ACK serwera. Można to osiągnąć np. poprzez reguły zapory ogniowej, które tłumią odpowiedzi wychodzące lub odrzucają przychodzące pakiety SYN/ACK. W praktyce jednak ta metoda jest rzadko stosowana, ponieważ jest stosunkowo łatwa do obrony – np. poprzez zablokowanie jednego atakującego adresu IP. Jeśli zamiast tego używany jest botnet, taki jak botnet Mirai, konieczność ukrywania IP rzeczywistego atakującego znika, ponieważ atak jest już rozdzielony na wiele zainfekowanych urządzeń.
Atakujący może również sfałszować adres IP w wysyłanych pakietach SYN (spoofing IP), aby utrudnić środki zaradcze i ukryć swoją tożsamość. Nawet jeśli pakiety zawierają zmanipulowane adresy nadawcy, śledzenie do rzeczywistego źródła jest nadal możliwe w pewnych okolicznościach. Chociaż ten proces jest złożony i trudny, nie jest fundamentalnie wykluczony, zwłaszcza gdy dostawcy usług internetowych (ISP) współpracują w analizie i śledzeniu ścieżek sieciowych.
Atak TCP SYN Flood pozwala atakującemu stworzyć denial-of-service na systemie lub usłudze docelowej przy stosunkowo niskim wolumenie danych. W przeciwieństwie do wolumetrycznych ataków DDoS, które głównie przeciążają infrastrukturę sieciową dużymi ilościami danych, ten atak koncentruje się na zasobach samego systemu operacyjnego. Wystarczy, aby liczba półotwartych połączeń przekroczyła pojemność tzw. backlogu systemu docelowego. Jeśli atakujący może również oszacować rozmiar tego backlogu i czas trwania limitu czasu otwartych połączeń, niezbędne parametry można precyzyjnie określić, aby celowo przeciążyć system. Dzięki temu denial-of-service można osiągnąć przy minimalnym ruchu sieciowym.
Aby chronić się przed atakami DDoS TCP SYN Flood, dostępnych jest kilka opcji:
Ta strategia polega na użyciu przez serwer tzw. plików cookie. Aby zapobiec przepełnieniu backlogu żądaniami SYN i odrzuceniu legalnych połączeń, serwer początkowo odpowiada na każde żądanie połączenia pakietem SYN/ACK, ale nie przechowuje żądania na stałe w backlogu. Zamiast tego powiązane informacje są tymczasowo odrzucane, zwalniając zasoby i utrzymując porty dostępne dla nowych połączeń. Dopiero gdy od klienta zostanie odebrany prawidłowy końcowy pakiet ACK, połączenie zostaje potwierdzone jako legalne i powiązany stan w backlogu zostaje przywrócony, z pewnymi ograniczeniami. Chociaż niektóre informacje o połączeniu nie są w pełni zachowane, ten kompromis jest akceptowany, ponieważ zapobiega wpływaniu denial-of-service na legalnych użytkowników podczas ataku.
Każdy system operacyjny na systemie docelowym ogranicza liczbę jednocześnie możliwych półotwartych połączeń. Jedną z możliwych odpowiedzi na duże ilości przychodzących żądań SYN jest zwiększenie tego limitu, co pozwala na więcej jednoczesnych żądań połączeń. Jednak zwiększenie backlogu wymaga dodatkowych zasobów systemowych, szczególnie pamięci, do zarządzania otwartymi połączeniami. Jeśli te zasoby są niewystarczające, może to wpłynąć na wydajność systemu, ale w wielu przypadkach jest to nadal lepsze niż całkowita awaria usługi spowodowana atakiem denial-of-service.
Inną strategią obrony jest odrzucenie najstarszego półotwartego połączenia, gdy backlog jest pełny, i zastąpienie go nowym. Ta metoda zakłada, że legalne połączenia mogą być w pełni nawiązane szybciej niż backlog jest zapełniany złośliwymi żądaniami SYN. W przeciwnym razie system nadal traci zasoby na niekompletne połączenia. Strategia jest tylko częściowo skuteczna i może zawieść, jeśli wolumen ataku jest zbyt wysoki lub backlog jest zbyt mały.
Ograniczanie szybkości to metoda, która pozwala serwerowi ograniczyć liczbę przychodzących żądań SYN na adres IP. Zapobiega to wysyłaniu przez atakującego zbyt wielu żądań SYN i przepełnieniu backlogu. Ograniczanie szybkości jest często stosowane w routerach lub zaporach ogniowych w celu zapobiegania atakom DDoS. Ochrona ograniczania szybkości sprawdza każdy przychodzący pakiet SYN i porównuje go z predefiniowanym wzorcem. Jeśli pakiet nie pasuje do wzorca, jest odrzucany. Zapobiega to możliwości przeprowadzenia ataku denial-of-service przez atakującego.
Tievolu chroni przed atakami TCP SYN Flood za pomocą wewnętrznie opracowanej DDoS Protection "Tievolu PYRUS". Cały ruch TCP jest stale monitorowany i automatycznie filtrowany w razie potrzeby. Zintegrowany system oparty na AI i ML wykrywa niezwykłe wzorce i anomalie i reaguje w ciągu kilku sekund odpowiednimi środkami zaradczymi. Brane są pod uwagę różne parametry, aby zapewnić jak najbardziej precyzyjną i skuteczną obronę. Gdy zostanie zidentyfikowany atak TCP SYN Flood, DDoS Protection rozpoznaje charakterystyczny wzorzec ataku i automatycznie tworzy reguły filtrowania, które są wdrażane w odpowiednich appliance filtrujących. Pozwala to na automatyczne wykrywanie i blokowanie znanych źródeł ataków bez konieczności ręcznej interwencji.
Alternatywnie klienci mogą aktywować dodatkową warstwę ochrony przed atakami TCP SYN Flood poprzez naszą Cloud Firewall. W Cloud Firewall można skonfigurować specyficzne reguły filtrowania TCP, które przechwytują wyłącznie pakiety SYN. Reguły te można również łączyć z różnymi mechanizmami ograniczania szybkości, aby ograniczyć liczbę przychodzących żądań. Ponadto możliwe jest rozszerzenie filtrów o blokady ASN lub geograficzne (geo-blocking), aby we wczesnym stadium zredukować podejrzany lub niepożądany ruch.