Идентификация топологии сети

Можно назвать два метода определения топологии сети (network topology detection), используемых злоумышленниками: "изменение TTL" ("TTL modulation") и "запись маршрута" ("record route"). Программы traceroute для Unix и tracert для Windows используют первый способ определения топологии сети. Они задействуют для этого поле Time to Live ("время жизни") в заголовке IP-пакета, значение которого изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Утилита ping может быть использована для записи маршрута ICMP-пакета.

Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, зашита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т. д.

Многие из упомянутых методов используются современными системами управления для построения карт сетей. И эти же методы могут быть с успехом применены злоумышленниками.

Идентификация узлов

Идентификация узла (host detection), как правило, осуществляется путем ссылки при помощи утилиты ping команды ECHO_REQUEST протокола ICMP. Ответное сообщение ECHO_REPLY говорит о том, что узел доступен. Существуют программы, которые автоматизируют и ускоряют процесс параллельной идентификации большого числа узлов, например, fping или nmap. Опасность данного метода в том, что стандартными средствами узла запросы ECHO_REQUEST не фиксируются. Для этого необходимо применять средства анализа трафика, межсетевые экраны или системы обнаружения атак.

Это самый простой метод идентификации узлов. Однако эта легкость имеет ряд недостатков. Во-первых, многие сетевые устройства и программы блокируют ICMP-пакеты и не пропускают их во внутреннюю сеть (или наоборот не пропускают их наружу). Например, MS Proxy Server 2.0 не разрешает прохождение пакетов по протоколу ICMP. В результате возникает неполнота идентификации хостов. С другой стороны, блокировка ICMP-пакета говорит злоумышленнику о наличии "первой линии обороны" — маршрутизаторов, межсетевых экранов и т. д.

Во-вторых, применение ICMP-запросов позволяет с легкостью обнаружить их источник, что, разумеется, не должно входить в задачу злоумышленника.

Существует еще один метод определения узлов сети — использование "смешанного" ("promiscuous") режима сетевого интерфейса, который позволяет определить различные узлы в сегменте сети. Но он не применим в тех случаях, в которых трафик сегмента сети недоступен нападающему со своего узла, т. е. действует только в локальных сетях. Другим способом идентификации узлов сети является так называемая, разведка DNS [Ерхов1-98], которая позволяет идентифицировать узлы корпоративной сети при помощи службы имен доменов.

Идентификация сервисов или сканирование портов

Идентификация сервисов (service detection), как правило, выполняется путем обнаружения открытых портов — сканированием (port scanning). Такие юрты очень часто связаны с сервисами, основанными на протоколах TCP DP. Например, открытый 80-й порт подразумевает наличие Web-сервера, 25-й порт – почтового SMTP-сервера, 31337-й — сервера троян-коня BackOrifice, 12345 - сервера троянского коня NetBus и т. д. Для идентификации сервисов и сканирования портов могут быть использованы различные программы, такие как nmap или netcat.

Идентификация операционной системы

Основной механизм удаленного определения ОС (OS detection) – анализ TCP/IP-стека. В каждой ОС стек протоколов TCP/IP реализован по-своему, что позволяет при помощи специальных запросов и ответов на них определить, какая ОС установлена на удаленном узле.

Другой, менее эффективный и крайне ограниченный, способ идентификации ОС узлов — анализ сетевых сервисов, обнаруженных на предыдущем этапе. Например, открытый 139-й порт позволяет сделать вывод, что удаленный узел работает под управлением ОС семейства Windows. Для определения ОС могут быть использованы различные программы. Например, nmap.

Определение роли узла

Последним шагом на этапе сбора информации является определение роли узла, например, межсетевого экрана или Web-сервера. Выполняется этот шаг на основе уже собранной информации об активных сервисах, именах узлов, топологии сети и т. п. Например, открытый 80-й порт может указывать на наличие Web-сервера, блокировка ICMP-пакета свидетельствует о потенциальном наличии межсетевого экрана, а имя узла proxy.domain.ru или fw.domain.ru говорит само за себя.

Определение уязвимостей узла

Последняя стадия на этапе сбора информации – поиск уязвимостей (searching vulnerabilities). На этом шаге злоумышленник при помощи различных автоматизированных средств или вручную определяет уязвимости, которые могут быть использованы для реализации атаки. В качестве таких автоматизированных средств могут быть использованы ShadowSecurityScanner, nmap, Retina и т. д.

Реализация атаки

С этого момента начинается попытка доступа на атакуемый узел. При этом доступ может быть как непосредственный, т. е. проникновение на узел, так и опосредованный, как при реализации атаки типа "отказ в обслуживании".

Реализация атак в случае непосредственного доступа также может быть разделена на два этапа:

· проникновение;

· установление контроля.

Проникновение

Проникновение подразумевает под собой преодоление средств защиты периметра (например, межсетевого экрана). Реализовываться это может различными путями. Например, использованием уязвимости сервиса компьютера, "смотрящего" наружу, или путем передачи враждебного содержания по электронной почте (макровирусы) или через апплеты Java [Лукацкий1-98] Такое содержание может задействовать так называемые "туннели" в межсетевом экране (не путать с туннелями VPN), через которые затем и проникает злоумышленник. К этому же шагу можно отнести подбор пароля администратора или иного пользователя при помощи специализированной утилиты (например, L0phtCrack или Crack).

Кража паролей

29 августа 2000 г. агентство РИА-Новости распространило информацию, что сотрудники МВД России поймали компьютерных мошенников, похитивших в Internet 1 тысячу паролей пользователей. Об этом сообщил начальник пресс-службы Управления по борьбе с преступлениями в сфере высоких технологий МВД РФ Анатолий Платонов. 19-летний студент Московского института стали и сплавов и 27-летний безработный с высшим экономическим образованием в течение полутора месяцев "воровали" в Internet пароли и продавали их по заниженной цене. С аукциона "Молоток.ру" они предлагали их всего за $15 вместо $40 у официальных провайдеров. Мошенники "ловили" завсегдатаев "всемирной паутины" с помощью троянского коня. Предлагая посмотреть порнографию или другую любопытную информацию, они заманивали любознательную публику на свой сайт. При этом проворный вирус моментально считывал пароли "гостей". По оценке оперативников, преступники нанесли пользователям совокупный ущерб не менее $15 000. Мошенники были пойманы с поличным в момент встречи в метро с одним из покупателей краденых паролей.

Установление контроля

После проникновения злоумышленник устанавливает контроль над атакуемым узлом. Это может быть осуществлено путем внедрения программы типа "троянский конь" (например, NetBus или BackOrifice). После установки контроля над нужным узлом и "заметания" следов злоумышленник может производить все необходимые несанкционированные действия дистанционно без ведома владельца атакованного компьютера. При этом установление контроля над узлом корпоративной сети должно сохраняться и после перезагрузки операционной системы. Это может быть реализовано путем замены одного из загрузочных файлов или вставкой ссылки на враждебный код в файлы автозагрузки или системный реестр. Известен случай, когда злоумышленник смог перепрограммировать EEPROM сетевой карты и даже после переустановки ОС он смог повторно реализовать несанкционированные действия. Более простой модификацией этого примера является внедрение необходимого кода или фрагмента в сценарий сетевой загрузки (например, для ОС Novell NetWare).

Наши рекомендации