Лекция №3. Этапы реализации атак
Можно выделить следующие этапы реализации атаки:
- предварительные действия перед атакой или "сбор информации";
- собственно "реализация атаки";
- завершение атаки.
Обычно, когда говорят об атаке, то подразумевают именно второй этап,
забывая о первом и последнем. Сбор информации и завершение атаки
("заметание следов") в свою очередь также могут являться атакой и могут
быть разделены на три этапа (рисунок 2.5).
Рисунок 2.5 - Этапы реализации атаки
Cбор информации - это основной этап реализации атаки. Именно на
данном этапе эффективность работы злоумышленника является залогом
«успешности» атаки. Сначала выбирается цель атаки и собирается
информация о ней (тип и версия операционной системы, открытые порты и
9
запущенные сетевые сервисы, установленное системное и прикладное
программное
обеспечение
и
его
конфигурация
и
т.д.).
Затем
идентифицируются наиболее уязвимые места атакуемой системы, воздействие
на
которые
приводит
к
нужному
злоумышленнику
результату.
Злоумышленник пытается выявить все каналы взаимодействия цели атаки с
другими узлами. Это позволит не только выбрать тип реализуемой атаки, но и
источник ее реализации.
Традиционные средства защиты такие, как межсетевые экраны или
механизмы фильтрации в маршрутизаторах, вступают в действие лишь на
втором этапе реализации атаки, совершенно «забывая» о первом и третьем.
Это приводит к тому, что зачастую совершаемую атаку очень трудно
остановить даже при наличии мощных и дорогих средств защиты. Пример
тому - распределенные атаки. Логично было бы, чтобы средства защиты
начинали работать еще на первом этапе, т.е. предотвращали бы возможность
сбора информации об атакуемой системе. Это позволило бы, если и не
полностью предотвратить атаку, то хотя бы существенно усложнить работу
злоумышленника. Традиционные средства также не позволяют обнаружить
уже совершенные атаки и оценить ущерб после их реализации, т.е. не
работают на третьем этапе реализации атаки. Следовательно, невозможно
определить меры по предотвращению таких атак впредь.
В зависимости от желаемого результата нарушитель концентрируется на
том или ином этапе реализации атаки.
Например:
- для отказа в обслуживании подробно анализируется атакуемая сеть, в
ней выискиваются лазейки и слабые места;
- для хищения информации основное внимание уделяется незаметному
проникновению на атакуемые узлы при помощи обнаруженных ранее
уязвимостей.
Рассмотрим основные механизмы реализации атак. Это необходимо для
понимания методов обнаружения этих атак. Кроме того, понимание
принципов действий злоумышленников - залог успешной обороны сети.
1. Сбор информации.
Первый этап реализации атак - это сбор информации об атакуемой
системе или узле. Он включает такие действия как определение сетевой
топологии, типа и версии операционной системы атакуемого узла, а также
доступных сетевых и иных сервисов и т.п. Эти действия реализуются
различными методами.
Изучение окружения.
На этом этапе нападающий исследует сетевое окружение вокруг
предполагаемой цели атаки. К таким областям, например, относятся узлы
Internet-провайдера «жертвы» или узлы удаленного офиса атакуемой
компании. На этом этапе злоумышленник может пытаться определить адреса
«доверенных» систем (например, сеть партнера) и узлов, которые напрямую
соединены с целью атаки (например, маршрутизатор ISP) и т.д. Такие
действия достаточно трудно обнаружить, поскольку они выполняются в
течение достаточно длительного периода времени и снаружи области,
10
контролируемой средствами защиты (межсетевыми экранами, системами
обнаружения атак и т.п.).
Идентификация топологии сети.
Существует два основных метода определения топологии сети,
используемых злоумышленниками:
- изменение TTL (TTL modulation);
- запись маршрута (record route).
По первому методу работают программы traceroute для Unix и tracert для
Windows. Они используют поле Time to Live («время жизни») в заголовке IP-
пакета, которое изменяется в зависимости от числа пройденных сетевым
пакетом маршрутизаторов. Для записи маршрута ICMP-пакета может быть
использована утилита ping . Зачастую сетевую топологию можно выяснить
при помощи протокола SNMP, установленного на многих сетевых
устройствах, защита которых неверно сконфигурирована. При помощи
протокола RIP можно попытаться получить информацию о таблице
маршрутизации в сети и т.д.
Идентификация узлов.
Идентификация узла, как правило, осуществляется путем посылки при
помощи утилиты ping команды ECHO_REQUEST протокола ICMP. Ответное
сообщение ECHO_REPLY говорит о том, что узел доступен. Существуют
свободно распространяемые программы, которые автоматизируют и ускоряют
процесс параллельной идентификации большого числа узлов, например, fping
или nmap. Опасность данного метода в том, что стандартными средствами
узла запросы ECHO_REQUEST не фиксируются. Для этого необходимо
применять средства анализа трафика, межсетевые экраны или системы
обнаружения атак.
Это самый простой метод идентификации узлов. Однако он имеет два
недостатка.
Многие сетевые устройства и программы блокируют ICMP-пакеты и не
пропускают их во внутреннюю сеть (или наоборот не пропускают их наружу).
С другой стороны, блокировка ICMP-пакета говорит злоумышленнику о
наличии «первой линии обороны» - маршрутизаторов, межсетевых экранов и
т.д.
Использование ICMP-запросов позволяет с легкостью обнаружить их
источник, что, разумеется, не может входить в задачу злоумышленника.
Существует еще один метод идентификации узлов - использование
«смешанного» режима сетевой карты, который позволяет определить
различные узлы в сегменте сети. Но он не применим в тех случаях, в которых
трафик сегмента сети недоступен нападающему со своего узла, т.е. этот метод
применим только в локальных сетях. Другим способом идентификации узлов
сети является так называемая разведка DNS, которая позволяет
идентифицировать узлы корпоративной сети при помощи обращения к
серверу службы имен.
Идентификация сервисов или сканирование портов.
Идентификация сервисов, как правило, осуществляется путем
обнаружения открытых портов (port scanning). Такие порты очень часто
11
связаны с сервисами, основанными на протоколах TCP или UDP. Например:
открытый 80-й порт подразумевает наличие Web-сервера, 25-й порт -
почтового SMTP-сервера.
Для идентификации сервисов и сканирования портов могут быть
использованы различные программы, в т.ч. и свободно распространяемые.
Например, nmap или netcat.
Идентификация операционной системы.
Основной механизм удаленного определения ОС - анализ ответов на
запросы, учитывающие различные реализации TCP/IP-стека в различных
операционных системах. В каждой ОС по-своему реализован стек протоколов
TCP/IP, что позволяет при помощи специальных запросов и ответов на них
определить, какая ОС установлена на удаленном узле.
Другой, менее эффективный и крайне ограниченный, способ
идентификации ОС узлов - анализ сетевых сервисов, обнаруженных на
предыдущем этапе.
Определение роли узла.
Предпоследним шагом на этапе сбора информации об атакуемом узле
является определение его роли, например, выполнении функций межсетевого
экрана или Web-сервера. Выполняется этот шаг на основе уже собранной
информации об активных сервисах, именах узлов, топологии сети и т.п.
Определение уязвимостей узла.
Последний шаг - поиск уязвимостей. На этом шаге злоумышленник при
помощи различных автоматизированных средств или вручную определяет
уязвимости, которые могут быть использованы для реализации атаки. В
качестве таких автоматизированных средств могут быть использованы
ShadowSecurityScanner, nmap, Retina и т.д.
2. Реализация атаки.
С этого момента начинается попытка доступа к атакуемому узлу. При
этом доступ может быть как непосредственный, т.е. проникновение на узел,
так и опосредованный, например, при реализации атаки типа «отказ в
обслуживании». Реализация атак в случае непосредственного доступа также
может быть разделена на два этапа:
- проникновение;
- установление контроля.
Проникновение,
Проникновение подразумевает под собой преодоление средств защиты
периметра (например, межсетевого экрана). Реализовываться это может быть
различными путями. Например, использование уязвимости сервиса
компьютера, «смотрящего» наружу или путем передачи враждебного
содержания по электронной почте (макровирусы) или через апплеты Java.
Такое содержание может использовать так называемые «туннели» в
межсетевом экране (не путать с туннелями VPN), через которые затем и
проникает злоумышленник. К этому же этапу можно отнести подбор пароля
администратора или иного пользователя при помощи специализированной
утилиты.
Установление контроля.
12
После проникновения злоумышленник устанавливает контроль над
атакуемым узлом. Это может быть осуществлено путем внедрения программы
типа «троянский конь». После установки контроля над нужным узлом и
«заметания» следов, злоумышленник может осуществлять все необходимые
несанкционированные действия дистанционно без ведома владельца
атакованного компьютера. При этом установление контроля над узлом
корпоративной сети должно сохраняться и после перезагрузки операционной
системы. Это может быть реализовано путем замены одного из загрузочных
файлов или вставка ссылки на враждебный код в файлы автозагрузки или
системный реестр.
Цели реализации атак.
Необходимо отметить, что злоумышленник на втором этапе может
преследовать две цели. Во-первых, получение несанкционированного доступа
к самому узлу и содержащейся на нем информации. Во-вторых, получение
несанкционированного доступа к узлу для осуществления дальнейших атак на
другие узлы. Первая цель, как правило, осуществляется только после
реализации второй. То есть, сначала злоумышленник создает себе базу для
дальнейших атак и только после этого проникает на другие узлы. Это
необходимо для того, чтобы скрыть или существенно затруднить нахождение
источника атаки.
3. Завершение атаки.
Этапом завершения атаки является «заметание следов» со стороны
злоумышленника. Обычно это реализуется путем удаления соответствующих
записей из журналов регистрации узла и других действий, возвращающих
атакованную систему в исходное, «предатакованное» состояние.
Классификация атак.
Существуют различные типа классификации атак. Например, деление на
пассивные и активные, внешние и внутренние, умышленные и
неумышленные. Однако, чтобы не запутаться большим разнообразием
классификаций, мало применимыми на практике, предлагается более
«жизненная» классификация:
Достарыңызбен бөлісу: |