"Протокол TCP устанавливает соединение между двумя системами при помощи трехэтапной процедуры.
1. Клиент вступает в контакт с сервером и запрашивает соединение (бит SYN установлен).
2. Сервер, находящийся в очереди ожидания, отправляет обратно клиенту пакет в котором установлены биты SYN и ACK. Сервер по прежнему находится в очереди ожидания, так как он ожидает ответа от клиента. Однако при этом сервер не отвечает на какие-либо другие запросы, за исключением сообщения от изначально вступившего с ним в контакт клиента.
3. В ответ на пакет, полученный от сервера, клиент направляет серверу пакет, в котором установлен бит ACK. Когда сервер получает этот подтверждающий пакет, он покидает очередь ожидания, освобождая место для другого серверного процесса, который продолжает ожидание поступления других соединений. Соединение считается установленным......
Атака категории SYN DoS (DoS -отказ в обслуживании) основана на том факте, что в прошлом (а также и в наши дни на некоторых системах) очередь ожидания обладала небольшим размером и ее можно было заполнить. Подразумевается, что при создании каждого нового соединения серверный процесс некоторое время ждет в очереди, а затем покидает ее, однако это происходит только в случае, если завершается последовательность SYN-ACK. Только после завершения этой последовательности соединение TCP считается установленным. Нападающий может отправить запрос на установку соединения, а затем игнорировать адресованный ему пакет, с установленным битом SYN (или сообщить серверу, что источник запроса вообще является совершенно другой системой, тогда пакет SYN будет направлен системе, которая не будет на него отвечать). В результате сервер будет ожидать в течении длительного времени, а запрос на подключение будет по прежнему находится в очереди ожидания. Пока сервер ждет, никто другой не сможет к нему подключится. Нападающий может продолжить посылать серверу подобные запросы, создавая тем самым непреодолимое заграждение, связывая очередь ожидания и блокируя остальные попытки подключения к системе" Дэвид Бэндл "Защита и безопасность в сетях LINUX" стр 155, 222.
Flood-затопление (отправка пакетов так быстро как позволяет линия связи - пример ping -f адрес). SYN Flood - затопление SYN пакетами протокола TCP.
|