Занимаясь активным или пассивным
сниффингом, всегда стоит помнить, что по ту
сторону баррикад сидят тоже неглупые люди,
которым платят деньги как раз за то, что бы
они вовремя обнаруживали таких любопытных
как ты. Рассмотрим сейчас, каким образом
администратор сети сможет выявить
использование сниффера и что он может
предпринять.
Обнаружение работы снифферов.
Обнаружение снифферов в сетях на
коммутаторах.
Поскольку сниффинг в сетях на
коммутаторах подразумевает атаку "man-in-the-middle",
когда прослушивание сети носит "активный"
характер, при котором сетевой трафик
передается атакующему компьютеру и только
потом пересылаться по истинному назначению,
то определение работы "активных"
снифферов является достаточно простой
задачей. Требуется только обнаружить
подозрительный ARP сетевой трафик. Для этих
целей служит специальное программное
обеспечение, такое как, например, LBNL
Arpwatch. Arpwatch определяет как изменения в ARP
схеме локальной сети, вызываемые ARР spoofing,
так и очевидные сетевые аномалии, или
вторичные эффекты от сниффинга.
Обнаружение снифферов в сетях без
коммутаторов.
Определение работы снифферов, которые
разработаны для сетей без коммутаторов,
является более сложной задачей. Это связано
с тем, что работа таких снифферов
происходит преимущественно в пассивном
режиме. Они работают переведя сетевую карту
в специальный promiscuous режим, что позволяет
атакующему компьютеру получать любой
сетевой трафик, достигающий сетевой карты.
Подобно радиоприемнику, снифферы не
порождают обязательного дополнительного и
подозрительного трафика для передачи в
сеть. Однако существуют определенные
технологии, которые могут быть
использованы для определения компьютеров,
чьи сетевые карты работают в специальном
promiscuous режиме, что указывает на вероятный
сниффинг локальной сети. Эти технологии
используют специфичные особенности TCP/IP
стэка.
Одной из таких утилит является L0pht
AntiSniff . Самораспаковывающийся архив as-1021
имеет размер 1299 Кб и включает краткое
руководство пользователя. Утилита Shareware и
работает без регистрации 15 дней.
Естественно, в Интернете легко находится
средство продления работоспособности. В
руководстве пользователя прямо указано
предназначение утилиты: "AntiSniff is a Graphical User
Interface (GUI) driven tool for detecting promiscuous Network Interface Cards (NICs)
on your local network segment." Утилита имеет хорошо
продуманный графический интерфейс. На
вкладке "Network Configuration" задается или
адрес проверяемой машины, или диапазон
адресов, если надо проверить несколько
машин. Существует возможность загрузить
предварительно подготовленный список из
файла. Утилита самостоятельно определяет
допустимые сетевые интерфейсы,
предоставляя возможность выбора. Параметры
"Bogus …" оставь по умолчанию. Эти
реально не существующие MAC и IP адреса
используются при работе утилиты.
Вкладка "Scanner Configuration" позволяет
задать набор тестов, который будет
использован при работе утилиты, а также
предоставляет возможность настроить
расписание, по которому она будет
запускаться. Теперь можно нажать кнопку и
на следующей вкладке "Scan Progress" и
наблюдать за работой утилиты.
Противодействие.
Мало обнаружить работу снифферов в твоей
локальной сети. Посмотрим, что можно им
противопоставить. Выбор невелик – это
административные меры, модификация самого
протокола ARP и шифрование.
Локалка под диктатором.
В организациях предотвратить
использование снифферов гораздо проще.
Можно просто запретить использование
какого-либо программного обеспечения,
кроме явным образом разрешенного
администратором. Думаете утопия? Посмотри
на такие решения, как AppSense
Application Manager, которые разрешают запуск
только одобренного администратором
программного обеспечения. Снифферы и
другие хакерские утилиты будут запрещены
для запуска. Однако, такие решения как AppSense
подходят не ко всем сетям, поскольку, во-первых,
поддерживают только Win компьютеры, а во-вторых,
AppSense не сможет воспрепятствовать
постороннему компьютеру (например,
ноутбуку) подсоединится к сети. Кроме того,
этот способ не приемлем для подключения к
локалке домашних пользователей, в
отношении которых такой диктат неуместен.
Модификация ARP протокола.
Для предотвращения сниффинга в сетях с
коммутаторами можно немного подправить
алгоритм функционирования самого
протокола ARP . Идея заключается в следующем:
при приеме ARP - reply производится сравнение
старого и нового MAC- адресов, при
обнаружении несоответствия посылается ARP-запрос,
требующий всем хозяевам IP-адреса сообщить
свои MAC-адреса. В случае атаки arpoison "настоящая"
система, имеющая этот IP-адрес, ответит на
запрос, и, таким образом, атака будет
распознана. Соответствующий патч для ядра
2.4.19 Linux - antidote.diff.gz доступен, например, отсюда.
Для его установки скачайте его в каталог с
исходным кодом ядра Linux, распакуйте:
gzip -d antidote.diff.gz
и выполните команду
patch -p1 < antidote.diff
перекомпилируйте ядро и разрешите работу
модифицированного протокола ARP:
sysctl -w net.ipv4.neigh.eth0.arp_antidote=1
Уже вышла вторая
версия патча, в которой добавлена
настройка реакции на атаку.
Шифрование.
Единственным решением, не столько
препятствующим сниффингу, сколько делающим
его бессмысленным, является шифрование. В
"dsniff
FAQ" Dug Song советует: "не допускайте
использования фирменных небезопасных
прикладных протоколов или унаследованных
протоколов, передающих данные явным
образом в ваших сетях". Это очень важный
совет.
Замена небезопасных протоколов (таких как
telnet) на их надежные шифрованные аналоги (такие
как ssh) представляется серьезным барьером
от перехвата. Замена всех небезопасных
протоколов в большинстве случаев
маловероятна. Поэтому, вместо прекращения
использования протоколов, передающих
данные явным образом, остается только одна
возможность – шифрование всего сетевого
трафика на 3 уровне, используя Internet Protocol
Security (IPSec) (Taylor, Laura. Understanding
IPSec). Осуществляя шифрование на 3 уровне,
возможно продолжать использовать
небезопасные протоколы, поскольку все
данные будут инкапсулированы IPSec и
зашифрованы при передаче по сети. Таким
образом, унаследованные приложения,
которые используют старые протоколы, не
пострадают. IPSec полностью прозрачен для
приложений и пользователей. Это открытый
стандарт, поддерживаемый многими
компаниями, включая Microsoft и Cisco. Кроме того,
многие реализации Unix поддерживают IPSec.
Легкая настройка IPSec в Win'2k/XP дополнительно
увеличивает его привлекательность.
|