Спуфинг
- 1 year ago
- 0
- 0
IP-спуфинг (от англ. spoof — мистификация) —
Для злоумышленника базовый принцип атаки заключается в фальсификации собственных заголовков IP-пакетов, в которых изменяется, среди прочего, IP-адрес источника. Атака IP-спуфинг часто называется «слепой подменой» (Blind Spoofing) . Это связано с тем, что ответы на фальсифицированные пакеты не могут прийти машине крэкера , так как был изменён исходящий адрес. Однако всё-таки существуют два метода получения ответов:
Протокол транспортного (4) уровня TCP имеет встроенный механизм для предотвращения спуфинга — так называемые номера последовательности и подтверждения (sequence number, acknowledgement number) . Протокол UDP не имеет такого механизма, следовательно, построенные на его основе приложения более уязвимы для спуфинга.
Рассмотрим установку соединения протокола TCP ( тройное рукопожатие ):
Применяя IP-spoofing, крэкер не сможет увидеть ISNs, так как ответ от сервера ему не придёт. ISNs ему нужен на третьем шаге, когда он должен будет увеличить его на 1 и отправить. Чтобы установить соединение от имени чужого IP, атакующий должен угадать ISNs. В старых операционных системах (ОС) было очень легко угадать ISN — он увеличивался на единицу с каждым соединением. Современные ОС используют механизм, который предотвращает угадывание ISN.
Разновидность DoS-атаки . Злоумышленник посылает SYN-запросы на удалённый сервер, подменяя адрес отправителя. Ответный SYN+ACK отправляется на несуществующий адрес, в результате в очереди подключений появляются так называемые полуоткрытые соединения (англ. half-open connection), ожидающие подтверждения от клиента. По истечении определённого тайм-аута эти подключения отбрасываются. Атака основывается на уязвимости ограничения ресурсов операционной системы для полуоткрытых соединений, описанной в 1996 году группой CERT , согласно которой очередь для таких подключений была очень короткой (например, в Solaris допускалось не более восьми подключений), а тайм-аут подключений — достаточно продолжительным (по — 3 минуты).
Другая разновидность DoS-атаки. Атакующий компьютер посылает запросы на DNS-сервер , указывая в передаваемом пакете, в поле IP-адрес источника, IP-адрес атакуемого компьютера. Ответ DNS-сервера превышает объём запроса в несколько десятков раз, что усиливает вероятность успешной DoS-атаки.
Единственными идентификаторами, по которым конечный хост может различать TCP-абонентов и TCP-соединения, являются поля Sequence Number и Acknowledge Number. Зная эти поля и используя подмену IP адреса источника пакета на IP-адрес одного из абонентов, атакующий может вставить любые данные, которые приведут к разрыву соединения, к состоянию ошибки, либо же будут выполнять какую-либо функцию во благо атакующего. Жертва может даже не заметить этих манипуляций.
Этот тип атаки наиболее эффективен там, где существуют доверительные отношения между машинами. Например, в некоторых корпоративных сетях внутренние системы доверяют друг другу, и пользователи могут войти без имени пользователя или пароля при условии, что машина пользователя находится в той же локальной сети. Подменив соединение из доверенной машины, злоумышленник может получить доступ к целевой машине без аутентификации. Известный пример успешной атаки — Кевин Митник применил её против машины Цутому Симомура в 1994 году ( ).
Простейший способ проверить, что подозрительный пакет пришёл от верного отправителя — отправить пакет на IP отправителя. Обычно для IP-спуфинга используется случайный IP, и вполне вероятно, что ответ не придёт. Если же придёт, имеет смысл сравнить поле TTL ( Time to live ) полученных пакетов. Если поля не совпадают — пакеты пришли из разных источников.
На сетевом уровне атака частично предотвращается с помощью фильтра пакетов на шлюзе. Он должен быть настроен таким образом, чтобы не пропускать пакеты, пришедшие через те сетевые интерфейсы, откуда они прийти не могли. Например, фильтрация пакетов из внешней сети с исходным адресом внутри сети.
Одним из самых надёжных методов защиты от подмены IP-адреса является сопоставление MAC-адреса ( Ethernet кадр ) и IP-адреса ( заголовок протокола IP) отправителя. Например, если пакет с IP адресом из внутренней сети имеет MAC адрес шлюза — этот пакет стоит отбросить. В современных сетевых устройствах изменение MAC-адреса (физического адреса) не является проблемным.