Затоплення SYN-пакетами - найвідоміший спосіб «забити» інформаційний канал. В результаті цієї атаки жертва перестає реагувати на спроби встановлення з'єднання, тобто попросту відкидає всі, хто входить пакети. Цей вид DOS атаки дуже ефективний, практично всі імениті портали свого часу страждали від подібних атак. І напевно ще будуть страждати, тому як захиститися від SYN-flood`а на 100% неможливо, а сама атака складна тільки тим, що для її проведення недостатньо однієї, або, скажімо, п'яти машин. Іншими словами необхідні командні дії, і команда буде тим більше, чим потужніший жертва.
Згадаймо, що відбувається при встановленні TCP-з'єднання:
1. Ми посилаємо віддаленій системі пакет з SYN-прапором, який говорить про те, що ми хочемо встановити з'єднання:
Client - SYN (856779) - Host
2. Дистанційна система відповідає нам SYN / ACK пакетом ( «ваш пакет з SYN (856779) отримано, готова підключитися, мій SYN = 758684758»):
Host - SYN (758684758) та ACK (856780) - Client
3. Ми відповідаємо на цей пакет і з'єднання вважається встановленим:
Client - SYN (856780) та ACK (758684759) - Host
А ось що буде, якщо прибрати крок №3?
А тепер уяви, що відбуватиметься спроба установки ще одного з'єднання - і новий пакет з кроку №2 додається в чергу ... А потім одна спроба і ще один пакет ... Це всесвіт, якщо вірити вченим, нескінченна, а чергу має свої відомі межі. Тому рано чи пізно має відбутися її переповнення. Після чого, віддалена система перестає реагувати на будь-які спроби встановлення з'єднання, а попросту - «йде в глибокий даун».
Строго кажучи, в різних системах робота з чергою реалізована по різному. Після закінчення деякого часу (залежить від реалізації) система видаляє пакети з черги. Однак ніщо не заважає нам послати нову порцію запитів, щоб «забити місце, що звільнилося», і тим самим і далі підтримувати віддалену систему в неробочому стані.
Детектування даної атаки нескладно - велика кількість з'єднань в стані SYN_RECEIVED, ігнорування спроб з'єднається з даними портом.
Захисною мірою може бути софт начебто Real Secure від широко відомої ISS (не дуже хороша, але дуже проста в реалізації). Або побудова мережевих екранів - дороге, але дуже дієвий засіб. Біда в тому, що навіть найдорожча захист не забезпечує 100% захисту і тому, поки використовується TCP буде і
SYN-flood ...
Покажи цю статтю друзям: