Межсетевой экран Aker

       

Что такое SYN атака?


SYN атака - это одна из наиболее распространенных атак типа "отказ в обслуживании". Такие атаки имеют своей целью помешать нормальной работе хоста или некоторого сервиса. В случае удачно проведенной SYN атаки можно сделать неработоспособным какой-либо сервис, основанный на TCP протоколе.

Чтобы разобраться в механизме этой атаки, нужно понять принцип работы процесса установления соединения для TCP протокола.

Процесс установления соединения TCP протокола проходит в 3 этапа:

  1. Клиент посылает пакет серверу со специальным флагом, который называется SYN flag. Наличие такого флага показывает, что клиент хочет установить соединение.
  2. Сервер в ответ посылает пакет, содержащий как флаг SYN , так и флаг ACK; это значит, что сервер принял запрос о соединении и ждет от клиента подтверждения для его установления.
  3. Клиент после получения пакета с SYN и ACK флагами посылает в ответ пакет, содержащий только флаг ACK, который указывает серверу, что соединение успешно установлено.
  4. Все полученные сервером запросы о соединениях хранятся в специальной очереди, имеющей заранее определенный размер, зависящий от операционной системы. Они хранятся там до тех пор, пока сервер не получит от клиента информацию об установленном соединении. Если сервер получает пакет с запросом о соединении и очередь заполнена, этот пакет отбрасывается.

    SYN атака заключается в отправке определенному серверу большого количества пакетов с запросами о соединении. Эти пакеты посылаются с несуществующим адресом источника. Вымышленный адрес источника принадлежит несуществующему хосту ( в этой ситуации часто прибегают к зарезервированным адресам, подробно описанным в главе "Трансляция сетевых адресов"). Сервер после получения этих пакетов, посылает ответный пакет и ждет подтверждения от клиента. Поскольку адрес источника пакетов не существует, сервер никогда не получит подтверждения.

    Дальше случится следующее: спустя некоторое время в данном сервере очередь для хранения запросов об установлении соединения окончательно заполнится. Начиная с этого момента, все запросы на установление соединений будут отбрасываться, а сервис окажется бездействующим. Такое бездействие будет продолжаться в течение нескольких секунд, пока сервер, обнаружив, что подтверждение соединения не приходит слишком долго, не удалит эти ожидающие решения соединения из очереди. Однако, если атакующий настойчиво продолжает посылать подобные пакеты, сервис будет оставаться бездействующим столько времени, сколько захочет нарушитель.

    ! Не все хосты чувствительны к SYN атакам. Современные реализации TCP протоколов обладают собственным механизмом защиты от таких атак.



    Содержание раздела