IP спуффинг
Спуффинг включает в себя подделку собственного IP адреса, это использование одной машины, чтобы выдать себя за другую. Многие приложения и утилиты в UNIX при идентификации полагаются на IP адрес; для обеспечения безопасности в своих сетях многие разработчики используют контроль доступа, основанный на имени (IP адресе) вызывающего компьютера. IP адрес - это уникальный идентификатор, но в таких ситуациях на него нельзя полагаться, так как его легко подделать.
Чтобы понять процесс спуффинга, сначала я объясню процесс идентификации TCP и IP, а потом как нападающий может проникнуть в вашу сеть.
Спуффинг включает в себя подделку собственного IP адреса,
это использование одной машины, чтобы выдать себя за другую.
Многие приложения и утилиты в UNIX при идентификации полагаются на IP адрес;
для обеспечения безопасности в своих сетях многие разработчики
используют контроль доступа, основанный на имени (IP адресе) вызывающего
компьютера. IP адрес - это уникальный идентификатор,
но в таких ситуациях на него нельзя полагаться, так как его легко подделать.
Чтобы понять процесс спуффинга, сначала я объясню процесс
идентификации TCP и IP, а потом как нападающий может проникнуть в вашу сеть.
Сначала клиентская система посылает серверу сообщение SYN (от слова синхронизация). Сервер подтверждает получение SYN сообщения, посылая клиенту сообщение SYN-ACK (подтверждение синхронизации). Клиент завершает процесс установки соединения посылкой сообщения ACK (подтверждение). После этого соединение между клиентом и сервером установлено. Теперь сервер и клиент могут обмениваться службо-специфическими данными.
TCP использует последовательные номера пакетов. Когда между двумя машинами установлен
виртуальный канал связи, TCP присваивает каждому пакету номер в качестве идентифицирующего индекса.
Обе машины используют этот номер для проверки ошибок и для сообщения друг другу об ошибках.
Rik Farrow в своей статье "Атаки с использованием последовательных номеров (Sequence Number Attacks)"
объясняет систему последовательной нумерации пакетов так:
"Последовательный номер используется для подтверждения получения данных. В начале TCP соединения клиент посылает TCP пакет с начальным номером, но не подтверждение. Если на другом конце соединения запущено серверное приложение, сервер посылает в ответ TCP пакет с его собственным начальным номером и подтверждение: начальный номер клиентского пакета + 1. Когда клиентская система получает этот пакет, она должна послать свое собственное подтверждение: начальный последовательный номер сервера + 1."
Поэтому у атакующего есть две проблемы:
1) Он должен подделать исходный адрес.
2) Он должен поддерживать правильную последовательность номеров с объектом атаки.
Вторая задача - самая сложная, потому что, когда сервер устанавливает начальный последовательный номер, атакующий должен послать правильный ответ. Как только атакующий правильно угадает последовательный номер, он сможет синхронизироваться с сервером и установить действительную сессию.
Службы, уязвимые для IP спуффинга:
- RPC (Remote Procedure Call services) - службы удаленного вызова процедур
- Любая служба, которая использует идентификацию по IP адресу
- Система X Window
- Набор программ на R (rlogin, rsh и т.д.)
Инструменты для TCP и IP спуффинга:
1) Mendax for Linux
легкий в использовании инструмент для угадывания последовательных номеров
TCP и обмана rshd.
[Текущий URL неизвестен. -Ред.]
2) spoofit.h
хорошо комментированная библиотека для включения функциональности IP спуффинга
в ваши программы. [Текущий URL неизвестен. -Ред.]
3) ipspoof
ipspoof - утилита для TCP и IP спуффинга.
4) hunt
hunt - сниффер (программа, которая анализирует сетевой трафик в поисках необходимой пользователю информации),
который также имеет многие функции для спуффинга.
5) dsniff
dsniff
- набор инструментов для тестирования сетевого аудита и возможности проникновения в сеть.
Включает в себя dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf и webspy, который
пассивно просматривает сеть в поисках интересных данных
(пароли, адреса e-mail, файлы и т.д.). arpspoof, dnsspoof и macof
облегчают перехват сетевого трафика.
Меры для предотвращения атак с использованием IP спуффинга:
- Избегайте идентификации по клиентскому IP адресу. Применяйте шифрование процесса идентификации во всей системе.
- Сконфигурируйте вашу сеть так, чтобы отвергать пакеты (reject packets) из Сети, IP адрес которой происходит из семейства локальных адресов. Обычно это делается с помощью маршрутизатора.
- Если вы разрешаете соединения извне с узлами, которым вы доверяете,
включите шифрование сессии на маршрутизаторе.
Заключение:
Спуффинг-атаки очень опасны, и их трудно заметить.
Сейчас они становятся все более популярными, и
единственный способ предотвратить такие атаки - внедрение
мер безопасности, таких как шифрование всего процесса идентификации,
чтобы обезопасить вашу сеть.
