2.1. Этапы сетевой атаки
Стандартные сетевые атаки производятся в три этапа: сбор информации,
выявление уязвимых мест атакуемой системы и реализация выбранной атаки.
Этап сбора информации заключается в изучении сетевой топологии атакуемой сети, определении типа и версии операционной системы атакуемо-
го узла, выявлении доступных сетевых и иных сервисов, функционирующих на атакуемом узле.
Этап выявления уязвимых мест атакуемой системы осуществляется по-
сле или параллельно с этапом сбора информации. Его суть заключается в вы- яснении версий используемого на атакуемом узле сетевого ПО, выявлении его конфигурации и в анализе наличия уязвимостей в указанном ПО и его на- стройках.
И, наконец, этап реализации атаки — это либо отправка определенных последовательностей сетевых пакетов на определенные сетевые службы, при-
водящая к неработоспособности узла, либо выполнение каких-либо запросов к сетевым службам удаленного узла, результатом которых будет получение доступа к защищаемой информации.
В целом первые два этапа не могут быть классифицированы как престу- пление. Как указывается в [1], компьютерными сетевыми преступлениями яв- ляются предусмотренные уголовным законодательством общественно опас-
ные деяния, совершенные на основе удаленного доступа к объекту посяга- тельства с использованием глобальных компьютерных сетей в качестве ос- новного средства достижения цели. Таким образом, компьютерным преступ- лением является лишь третий этап — реализация атаки.
Вместе с тем выполнение третьего этапа практически невозможно без проведения двух первых этапов атаки. Следовательно, защите должны подле- жать и информация о сетевой топологии, и перечень доступных сервисов, и
версии программного обеспечения, и т. п.
2.2. Исследование сетевой топологии
Задача изучения сетевой топологии заключается в выявлении сетевых узлов, присутствующих в заданном диапазоне адресов. При этом распростра- ненные сетевые сканеры, такие как nmap, netcat, InterNetView, решают данную задачу чаще всего путем ICMP-сканирования.
Как известно, протокол ICMP используется для определения доступно- сти сетевых узлов. Стандартной программой, применяющей протокол ICMP, является утилита ping. Функционирование утилиты ping сводится к отправке на тестируемый узел запроса и получению ответа. Отправляемый запрос на-
зывается ICMP-запросом (тип пакета ECHO_REQUEST), а получаемый от-
вет — ICMP-ответом (тип пакета ECHO_REPLY).
Рис. 2.1. Исходящий ICMP-запрос
Рис. 2.2. Входящий ICMP-ответ
Так, если на компьютере под управлением, например, ОС Windows 2000 с IP-адресом 192.168.200.1 производится выполнение команды ping 192.168.200.2 с целью тестирования доступности узла с IP-адресом
192.168.200.1, то в сети можно наблюдать четыре последовательно передавае-
мые пары сообщений: исходящий ICMP-запрос (тип ICMP-пакета — 0х08, Echo, рис. 2.1) и входящий ICMP-ответ (тип ICMP-пакета — 0х00, Echo-Reply, рис. 2.2).
Аналогичные пакеты имеют место при сканировании, которое произво- дится, например, сканером InterNetView (рис. 2.3). Единственным отличием является то, что вместо четырех последовательных пар пакетов в трафике при-
сутствует только одна пара: ICMP-запрос и ICMP-ответ.
Рис. 2.3. Окно сканера InterNetView
В общем случае единичный входящий ICMP-запрос не является ата- кой — это лишь стандартное средство проверки доступности узла. Последова- тельное выполнение ICMP-запросов с перебором адресов из определенного диапазона уже можно рассматривать как атаку. Вместе с тем, если защищае- мая сеть является «клиентской сетью», т. е. не содержит серверов, предостав- ляющих сетевые услуги, то входящие в эту сеть ICMP-запросы также должны рассматриваться как атака.
Для усложнения процесса выявления атаки перебор адресов может вес-
тись не последовательно, а в псевдослучайном порядке.
Как известно, при выполнении стандартного ICMP-запроса в ОС Win- dows 2000 происходит обмен стандартной текстовой строкой длиной 32 байта.
Обычно данная строка представляет собой 26 букв английского алфавита, до-
полненных шестью дополнительными символами. Вместе с тем объем переда-
ваемых данных может быть существенно увеличен (до 65 535 байт) с целью передачи не стандартной последовательности, а некоторой специально подго- товленной команды или текста. В этом случае проявлением атаки могут быть исходящие ICMP-ответы, в которых может быть передана защищаемая ин- формация.
Кроме того, по получаемому ICMP-ответу, а именно по коду ICMP- пакета, злоумышленник может определить тип операционной системы тести- руемого узла с целью конкретизации дальнейшей атаки.
Таким образом, в случае ICMP-пакетов атакой будем считать входящие
ICMP-запросы и исходящие ICMP-ответы.
Рис. 2.4. Запрос установки TCP-соединения
ВЫПОЛНИТЬ!
1. Определите настройки протокола TCP/IP вашего компьютера, например,
командой ipconfig из командной строки.
2. Установите и запустите средство анализа сетевого трафика. Осуществите
захват сетевого трафика.
3. Выполните команду компьютера.
ping *.*.*.*
для обнаружения в сети соседнего
4. Осуществите просмотр трафика. В полученных сетевых пакетах убедитесь
в наличии полей «источник», «приемник», «тип протокола».
5. Найдите пакет, источником которого является Ваш компьютер, тип прото-
кола — ICMP, описание — Echo. Откройте подробное описание данного пакета. Найдите тип пакета и отправляемые данные. Сколько и каких сим-
волов отправляется на искомый компьютер?
6. Найдите ответный пакет (приемник — ваш компьютер, тип протокола — ICMP, описание — Echo Reply). Откройте подробное описание данного пакета. Сколько и каких символов отправляется в ответ?
7. Сколько раз осуществляется обмен ICMP-пакетами? Как представлены в
IP-пакетах IP-адреса приемника и источника?
Вторым широко распространенным способом выявления сетевой топо- логии является TCP-сканирование, которое заключается в последовательной попытке установления сетевого соединения по определенному порту с пере- бором IP-адресов.
При установке TCP-соединения, как было указано ранее, первым паке- том, отправляемым на тестируемый узел, является пакет с установленным флагом SYN (рис. 2.4). В зависимости от того, присутствует ли в сети компь-
ютер с указанным адресом, на котором включена тестируемая служба, воз- можны три ситуации. В том случае, если компьютер присутствует и на нем функционирует запрашиваемый порт, ответом будет пакет с установленными
флагами ACK и SYN, указывающими на то, что по данному порту может быть установлено соединение (рис. 2.5). Анализируя данный ответ, атакующий не только может установить факт присутствия в сети узла, но и определить нали-
чие на нем определенной сетевой службы.
Рис. 2.5. Ответ о возможности установки TCP-соединения
В том случае, если компьютер присутствует, но запрашиваемый порт на нем не открыт, в ответ отправляется TCP-пакет с установленными флагами ACK и RST, указывающими на то, что по запрашиваемому порту соединение
установить нельзя (рис. 2.6). Получив подобный ответ, атакующий принимает решение о присутствии в сети узла с интересующим IP-адресом, но недоступ- ности запрашиваемого порта.
И, наконец, если в сети нет искомого узла, то в ответ не будет получено ничего.
Рис. 2.6. Ответ о невозможности установки TCP-соединения
Источник: Андрончик А. Н., Богданов В. В., Домуховский Н. А., Коллеров А. С., Синадский Н. И., Хорьков Д. А., Щербаков М. Ю., Защита информации в компьютерных сетях. Практический курс