Устройства        17.02.2024   

Виды сетевых атак и основные уязвимости. Характерные особенности сетевых атак

Таблица 9.1.
Наименование протокола Уровень стека протоколов Наименование (характеристика) уязвимости Содержание нарушения безопасности информации
FTP ( File Transfer Protocol ) – протокол передачи файлов по сети
  • Аутентификация на базе открытого текста (пароли пересылаются в незашифрованном виде)
  • Доступ по умолчанию
  • Наличие двух открытых портов
  • Возможность перехвата данных
telnet – протокол управления удаленным терминалом Прикладной, представительный, сеансовый Аутентификация на базе открытого текста (пароли пересылаются в незашифрованном виде)
  • Возможность перехвата данных учетной записи (имен зарегистрированных пользователей, паролей).
  • Получение удаленного доступа к хостам
UDP – протокол передачи данных без установления соединения Транспортный Отсутствие механизма предотвращения перегрузок буфера
  • Возможность реализации UDР-шторма.
  • В результате обмена пакетами происходит существенное снижение производительности сервера
ARP – протокол преобразования IP-адреса в физический адрес Сетевой Аутентификация на базе открытого текста (информация пересылается в незашифрованном виде) Возможность перехвата трафика пользователя злоумышленником
RIP – протокол маршрутной информации Транспортный Отсутствие аутентификации управляющих сообщений об изменении маршрута Возможность перенаправления трафика через хост злоумышленника
TCP – протокол управления передачей Транспортный Отсутствие механизма проверки корректности заполнения служебных заголовков пакета Существенное снижение скорости обмена и даже полный разрыв произвольных соединений по протоколу TCP
DNS – протокол установления соответствия мнемонических имен и сетевых адресов Прикладной, представительный, сеансовый Отсутствие средств проверки аутентификации полученных данных от источника Фальсификация ответа DNS-сервера
IGMP – протокол передачи сообщений о маршрутизации Сетевой Отсутствие аутентификации сообщений об изменении параметров маршрута Зависание систем Win 9x/NT/2000
SMTP – протокол обеспечения сервиса доставки сообщений по электронной почте Прикладной, представительный, сеансовый Возможность подделывания сообщений электронной почты, а также адреса отправителя сообщения
SNMP – протокол управления маршрутизаторами в сетях Прикладной, представительный, сеансовый Отсутствие поддержки аутентификации заголовков сообщений Возможность переполнения пропускной способности сети

Угрозы, реализуемые по сети, классифицируются по следующим основным признакам:

  1. характер угрозы .

    Пассивная – угроза, которая не оказывает влияния на работу информационной системы, но может нарушить правила доступа к защищаемой информации. Пример: использование sniffer для "прослушивания" сети. Активная – угроза, которая воздействуют на компоненты информационной системы, при реализации которой оказывается непосредственное влияние на работу системы. Пример: DDOS -атака в виде шторма TCP-запросами.

  2. цель реализации угрозы (соответственно, конфиденциальность, доступность, целостность информации).
  3. условие начала атаки :
    • по запросу от атакуемого. То есть злоумышленник ожидает передачи запроса определенного типа, который и будет условием начала НСД.
    • по наступлению ожидаемого события на атакуемом объекте.
    • безусловное воздействие – злоумышленник ничего не ждет, то есть угроза реализуется сразу и безотносительно к состоянию атакуемого объекта.
  4. наличие обратной связи с атакуемым объектом:
    • с обратной связью, то есть на некоторые запросы злоумышленнику необходимо получить ответ. Таким образом, между атакуемым и атакующим есть обратная связь, позволяющая злоумышленнику следить за состоянием атакуемого объекта и адекватно реагировать на его изменения.
    • без обратной связи – соответственно, нет обратной связи и необходимости злоумышленнику реагировать на изменения атакуемого объекта.
  5. расположение нарушителя относительно атакуемой информационной системы : внутрисегментно и межсегментно. Сегмент сети – физическое объединение хостов, технических средств и других компонентов сети, имеющих сетевой адрес. Например, один сегмент образуют компьютеры, подключенные к общей шине на основе Token Ring .
  6. уровень эталонной модели ISO/OSI, на котором реализуется угроза : физический, канальный, сетевой, транспортный, сеансовый, представительный, прикладной.

Рассмотрим наиболее распространенные на настоящее время атаки в сетях на основе стека протоколов TCP/IP.

  1. Анализ сетевого трафика. Данная атака реализуется с помощью специальной программы, называемой sniffer . Sniffer представляет собой прикладную программу, которая использует сетевую карту , работающую в режиме promiscuous mode , так называемый "неразборчивый" режим в котором сетевая плата позволяет принимать все пакеты независимо от того кому они адресованы. В нормальном состоянии на Ethernet-интерфейсе используется фильтрация пакетов канального уровня и если MAC-адрес в заголовке назначения принятого пакета не совпадает с MAC-адресом текущего сетевого интерфейса и не является широковещательным, то пакет отбрасывается. В "неразборчивом" режиме фильтрация на сетевом интерфейсе отключается и все пакеты, включая не предназначенные текущему узлу, пропускаются в систему. Надо заметить, что многие подобные программы используются в легальных целях, например, для диагностики неисправностей или анализа трафика . Тем не менее, в рассмотренной нами выше таблице перечислены протоколы, которые отправляют информацию, в том числе пароли, в открытом виде – FTP, SMTP, POP3 и т.д. Таким образом, с помощью sniffer можно перехватить имя и пароль и осуществить несанкционированный доступ к конфиденциальной информации. Более того, многие пользователи используют одни и те же пароли для доступа ко многим сетевым сервисам. То есть, если в одном месте сети есть слабость в виде слабой аутентификации, пострадать может вся сеть. Злоумышленники хорошо знают людские слабости и широко применяют методы социальной инженерии.

    Защита от данного вида атаки может заключаться в следующем:

    • Сильная аутентификация , например, использование одноразовых паролей (one- time password ). Суть состоит в том, что пароль можно использовать однократно, и даже если злоумышленник перехватил его с помощью sniffer , он не представляет никакой ценности. Конечно, данный механизм защиты спасает только от перехвата паролей, и является бесполезным в случае перехвата другой информации, например, электронной почты.
    • Анти-снифферы – аппаратные или программные средства, способные выявить работу сниффера в сегменте сети. Как правило, они проверяют нагрузку на узлах сети с целью определения "лишней" нагрузки.
    • Коммутируемая инфраструктура. Понятно, что анализ сетевого трафика возможен только внутри одного сегмента сети. Если сеть построена на устройствах, разбивающих ее на множество сегментов (коммутаторы и маршрутизаторы), то атака возможна только в тех участках сети, которые относятся к одному из портов данных устройств. Это не решает проблемы сниффинга, но уменьшает границы, которые может "прослушивать" злоумышленник.
    • Криптографические методы. Самый надежный способ борьбы с работой sniffer . Информация, которая может быть получена с помощью перехвата, является зашифрованной и, соответственно, не имеет никакой пользы. Чаще всего используются IPSec , SSL и SSH .
  2. Сканирование сети .Целью сканирования сети является выявление работающих в сети служб, открытых портов, активных сетевых сервисов , используемых протоколов и т.п., то есть сбор информации о сети. Для сканирования сети чаще всего используются:
    • запросы DNS помогают выяснить злоумышленнику владельца домена, адресную область,
    • эхо-тестирование – выявляет работающие хосты на основе DNS-адресов, полученных ранее;
    • сканирование портов – составляется полный перечень услуг, поддерживаемых этими хостами, открытые порты, приложения и т.п.

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

  3. Выявление пароля .Основной целью данной атаки является получение несанкционированного доступа к защищаемым ресурсам путем преодоления парольной защиты. Чтобы получить пароль, злоумышленник может использовать множество способов – простой перебор, перебор по словарю, сниффинг и др. Самым распространенным является простой перебор всех возможных значений пароля. Для защиты от простого перебора необходимо применять сильные пароли, которые не просто подобрать: длина 6-8 символов, использование букв верхнего и нижнего регистра, использование специальных знаков (@,#,$ и т.д.).

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

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

  4. IP-spoofing или подмена доверенного объекта сети .Под доверенным в данном случае понимается объект сети (компьютер, маршрутизатор, межсетевой экран и т.п.), легально подключенный к серверу. Угрозы заключается в том, что злоумышленник выдает себя за доверенный объект сети. Это можно сделать двумя способами. Во-первых, воспользоваться IP-адресом, находящимся в пределах диапазона санкционированных IP-адресов, или авторизованным внешним адресом, которому разрешается доступ к определенным сетевым ресурсам. Атаки данного типа часто являются отправной точкой для прочих атак.

    Обычно подмена доверенного объекта сети ограничивается вставкой ложной информации или вредоносных команд в обычный поток данных, передаваемых между объектами сети. Для двусторонней связи злоумышленник должен изменить все таблицы маршрутизации, чтобы направить трафик на ложный IP-адрес, что тоже является возможным. Для ослабления угрозы (но не ее ликвидации) можно использовать следующее:

    • контроль доступа. Можно настроить контроль доступа на отсечение любого трафика, поступающего из внешней сети с исходным адресом внутри сети. Этот метод является действенным, если санкционированы только внутренние адреса и не работает, если есть санкционированные внешние адреса.
    • Фильтрация RFC 2827 – данный тип фильтрации позволяет пресечь попытки спуфинга чужих сетей пользователями вашей сети. Для этого необходимо отбраковывать любой исходящий трафик, исходный адрес которого не является одним из IP-адресов вашей организации. Часто этот тип фильтрации выполняется провайдером. В результате отбраковывается весь трафик, который не имеет исходного адреса, ожидаемого на определенном интерфейсе. К примеру, если ISP предоставляет соединение с IP-адресом 15.1.1.0/24, он может настроить фильтр таким образом, чтобы с данного интерфейса на маршрутизатор ISP допускался только трафик, поступающий с адреса 15.1.1.0/24. Заметим, что до тех пор, пока все провайдеры не внедрят этот тип фильтрации, его эффективность будет намного ниже возможной.
    • Внедрение дополнительных методов аутентификации. IP-spoofing возможен только в случае аутентификации на основе IP. Если ввести какие–то дополнительные меры по аутентификации, например, криптографические, атака становится бесполезной.
  5. Отказ в обслуживании или Denial of Service (DoS) - атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён.

    DoS-атака является наиболее распространенной и известной атакой в последнее время, что обусловлено в первую очередь простотой реализации. Организация DOS-атаки требует минимум знаний и умений и строится на недостатках сетевого программного обеспечения и сетевых протоколов. Если атака проводится для множества сетевых устройств, говорят о распределенной атаке DoS ( DDoS - distributed DoS).

    Сегодня наиболее часто используются следующие пять разновидностей DoS-атак, для проведения которых существует большое количество программного обеспечения и от которых наиболее тяжело защититься:

    • Smurf - ping-запросы ICMP . При посылке ping-пакета (сообщение ICMP ECHO) по широковещательному адресу (например, 10.255.255.255), он доставляется каждой машине в этой сети. Принцип атаки заключается в посылке пакета ICMP ECHO REQUEST с адресом-источником атакуемого узла. Злоумышленник шлет постоянный поток ping-пакетов по сетевому широковещательному адресу. Все машины, получив запрос, отвечают источнику пакетом ICMP ECHO REPLY. Соответственно, размер ответного потока пакетов возрастает в пропорциональное количеству хостов число раз. В результате, вся сеть подвергается отказу в обслуживании из-за перегрузки.
    • ICMP flood - атака, аналогичная Smurf, только без усиления, создаваемого запросами по направленному широковещательному адресу.
    • UDP flood - отправка на адрес атакуемого узла множества пакетов UDP (User Datagram Protocol).
    • TCP flood - отправка на адрес атакуемого узла множества TCP-пакетов.
    • TCP SYN flood - при проведении такого рода атаки выдается большое количество запросов на инициализацию TCP-соединений с атакуемым узлом, которому, в результате, приходится расходовать все свои ресурсы на то, чтобы отслеживать эти частично открытые соединения.

    Если используется серверное приложение Web-сервер или FTP-сервер, в результате атаки DoS все соединения, доступные для этих приложений, оказываются занятыми, и пользователи не могут получить к ним доступ. Некоторые атаки способны вывести из строя целую сеть, наполнив ее ненужными пакетами. Для противодействия таким атакам необходимо участие провайдера, потому что если он не остановит нежелательный трафик на входе в сеть, атаку не остановить, потому что полоса пропускания будет занята.

    Для реализации DoS-атаки наиболее часто используются следующие программы:

    • Trinoo – представляет собой довольно примитивную программу, которая исторически стала первой для организации DoS-атак единственного типа – UDP-flood. Программы семейства "trinoo" легко обнаруживаются стандартными средствами защиты и не несут угрозы для тех, кто хотя бы чуть-чуть заботиться о своей безопасности.
    • TFN и TFN2K – более серьезное оружие. Позволяют одновременно организовать атаки нескольких типов - Smurf, UDP flood, ICMP flood и TCP SYN flood. Использование этих программ требует от злоумышленника намного более высокой квалификации.
    • Новейшее средство организации DoS-атак - Stacheldracht ("колючая проволока"). Этот пакет позволяет организовывать самые различные типы атак и лавины широковещательных ping-запросов. Кроме того, обмен данными между контроллерами и агентами шифруется, а в само программное обеспечение встроена функция автомодификации. Шифрование сильно затрудняет обнаружение атакующего.

    Для ослабления угрозы можно воспользоваться следующим:

    • Функции анти-спуфинга - правильная конфигурация функций анти-спуфинга на ваших маршрутизаторах и межсетевых экранах поможет снизить риск DoS. Эти функции, как минимум, должны включать фильтрацию RFC 2827. Если хакер не сможет замаскировать свою истинную личность, он вряд ли решится провести атаку.
    • Функции анти-DoS - правильная конфигурация функций анти-DoS на маршрутизаторах и межсетевых экранах может ограничить эффективность атак. Эти функции часто ограничивают число полуоткрытых каналов в любой момент времени.
    • Ограничение объема трафика (traffic rate limiting) - организация может попросить провайдера (ISP) ограничить объем трафика. Этот тип фильтрации позволяет ограничить объем некритического трафика, проходящего по вашей сети. Обычным примером является ограничение объемов трафика ICMP , который используется только для диагностических целей. Атаки DoS часто используют ICMP .

    Можно выделить несколько разновидностей угроз данного типа:

    • Скрытый отказ в обслуживании, когда часть ресурсов сети задействован на обработку пакетов, передаваемых злоумышленником со снижением пропускной способности канала, нарушением времени обработки запросов, нарушением производительности сетевых устройств. Пример: направленный шторм эхо-запросов по протоколу ICMP или шторм запросов на установление TCP-соединения.
    • Явный отказ в обслуживании, вызванный тем, что ресурсы сети исчерпались в результате обработки пакетов, посланных злоумышленниками. При этом легальные запросы пользователей не могут быть обработаны из-за того, что вся полоса пропускания канала занята, переполнены буферы, переполнение дискового пространства и т.д. Пример: направленный шторм(SYN-flooding).
    • Явный отказ в обслуживании, вызванный нарушением логической связности между техническими средствами сети при передаче злоумышленником управляющих сообщений от имени сетевых устройств. При этом изменяются маршрутно-адресные данные. Пример: ICMP Redirect Host или DNS-flood.
    • Явный отказ в обслуживании, вызванный тем, что злоумышленник передает пакеты с нестандартными атрибутами (например, UDP-bomb) или имеющих длину, превышающую максимальную (Ping Death).

    Атаки DoS нацелены на нарушение доступности информации и не нарушают целостность и конфиденциальность.

  6. Атаки на уровне приложений. Атака данного типа заключается в использовании "брешей" в серверном программном обеспечении (HTML, sendmail, FTP). Используя эти уязвимости, злоумышленник получает доступ к компьютеру от имени пользователя приложения. Для атак на уровне приложений часто используются порты, которые могут "проходить" через межсетевой экран.

    Главная проблема с атаками на уровне приложений состоит в том, что они часто пользуются портами, которым разрешен проход через межсетевой экран. К примеру, хакер, нападающий на Web-сервер, может использовать ТСР порт 80. Чтобы Web-сервер мог предоставлять пользователям страницы, порт 80 на межсетевом экране должен быть открыт. С точки зрения межсетевого экрана, атака рассматривается как стандартный трафик для порта 80.

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

    • чтение логов (системных и сетевых);
    • отслеживание уязвимостей в новом программном обеспечении с помощью специализированных сайтов, например, http://www.cert.com .
    • использование IDS .

Из самой природы сетевой атаки понятно, что ее появление не контролируется каждым конкретным узлом сети. Мы рассмотрели далеко не все атаки, возможные в сети, – на практике их значительно больше. Тем не менее, защититься от всех типов атак не видится возможным. Наиболее оптимальным подходом к защите периметра сети является устранение уязвимостей, которые используются в большинстве атак злоумышленников. Списки таких уязвимостей публикуются на многих сайтах, занимающихся сбором подобной статистики, например, сайт института SANS: http://www.sans.org/top-cyber-security-risks/?ref=top20 . Рядовой злоумышленник не ищет каких-то оригинальных способов для атаки, а сканирует сеть в поиске известной уязвимости и использует ее.

Особый интерес для рассмотрения представляют удалённые, сетевые атаки. Интерес к этой разновидности атак вызван тем, что всё большее распространение в мире получают распределённые системы обработки данных. Большинство пользователей работает с удалёнными ресурсами, используя сеть INTERNET и стек протоколов TCP/IP. Изначально сеть INTERNET создавалась для связи между государственными учреждениями и университетами в помощь учебному процессу и научным исследованиям, и создатели этой сети не подозревали, насколько широко она распространится. В результате в спецификациях ранних версий Интернет-протокола (IP) отсутствовали требования безопасности. Именно поэтому многие реализации IP являются изначально уязвимыми.

В курсе рассматриваются следующие атаки и способы борьбы с ними.

Атака «Сниффинг». Сниффер пакетов представляет собой прикладную программу, которая использует сетевую карту, работающую в режиме promiscuous mode (в этом режиме все пакеты, полученные по физическим каналам, сетевой адаптер отправляет приложению для обработки). При этом сниффер перехватывает все сетевые пакеты, которые передаются через определенный домен. В настоящее время снифферы работают в сетях на вполне законном основании. Они используются для диагностики неисправностей и анализа трафика. Однако ввиду того, что некоторые сетевые приложения передают данные в текстовом формате (Telnet, FTP, SMTP, POP3 и т.д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).

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



Смягчить угрозу сниффинга пакетов можно с помощью следующих средств:

Аутентификация. Сильные средства аутентификации являются первым способом защиты от сниффинга пакетов. Под «сильным» мы понимаем такой метод аутентификации, который трудно обойти. Примером такой аутентификации являются однократные пароли (OTP - One-Time Passwords). ОТР - это технология двухфакторной аутентификации. Типичным примером двухфакторной аутентификации является работа обычного банкомата, который опознает вас, во-первых, по вашей пластиковой карточке и, во-вторых, по вводимому ПИН-коду. Для аутентификации в системе ОТР также требуется ПИН-код и ваша личная карточка. Под «карточкой» (token) понимается аппаратное или программное средство, генерирующее (по случайному принципу) уникальный одномоментный однократный пароль. Если злоумышленник узнает этот пароль с помощью сниффера, эта информация будет бесполезной, потому что в этот момент пароль уже будет использован и выведен из употребления. Заметим, что этот способ борьбы со сниффингом эффективен только для борьбы с перехватом паролей. Снифферы, перехватывающие другую информацию (например, сообщения электронной почты), не теряют своей эффективности.

Коммутируемая инфраструктура. Еще одним способом борьбы со сниффингом пакетов в сетевой среде является создание коммутируемой инфраструктуры. Если, к примеру, во всей организации используется коммутируемый Ethernet, злоумышленники могут получить доступ только к трафику, поступающему на тот порт, к которому они подключены. Коммутируемая инфраструктура не ликвидирует угрозу сниффинга, но заметно снижает ее остроту.

Анти-снифферы. Третий способ борьбы со сниффингом заключается в установке аппаратных или программных средств, распознающих снифферы, работающие в сети. Эти средства не могут полностью ликвидировать угрозу, но, как и многие другие средства сетевой безопасности, они включаются в общую систему защиты. Так называемые «анти-снифферы» измеряют время реагирования хостов и определяют, не приходится ли хостам обрабатывать «лишний» трафик.

Криптография. Самый эффективный способ борьбы со сниффингом пакетов не предотвращает перехвата и не распознает работу снифферов, но делает эту работу бесполезной. Если канал связи является криптографически защищенным, это значит, что злоумышленник перехватывает не сообщение, а зашифрованный текст (то есть непонятную последовательность битов).

Атака «IP-спуфинг». Эта атака происходит, когда злоумышленник, находящийся внутри корпорации или вне ее, выдает себя за санкционированного пользователя. Самая простая причина использования подложных IP-адресов заключается в желании взломщика скрыть свою деятельность в океане сетевой активности. Например, средство построения сетевых схем NMAP3 применяет рассылку дополнительных последовательностей пакетов, каждая из которых использует собственный подложный IP-адрес отправителя. При этом взломщик знает, какие IP-адреса являются подложными и какие пакеты в каждой последовательности являются реальными. Администратор по обеспечению безопасности системы, которая подвергается нападению, будет вынужден проанализировать множество подложных IP-адресов, прежде чем он определит реальный IP-адрес взломщика.

Еще одна причина, по которой взломщик использует подлог IP-адреса, заключается в желании скрыть свою личность. Дело в том, что существует возможность проследить IP-адрес вплоть до отдельной системы, а иногда даже до отдельного пользователя. Поэтому с помощью IP-подлога взломщик пытается избежать обнаружения. Однако использование подложного IP-адреса приносит отправителю ряд трудностей.

Все ответы атакуемой системы отправляются на подложный IP-адрес. Для того чтобы просмотреть или получить эти ответы, взломщик должен находиться на их пути от взломанной машины к подложному IP-адресу (по крайней мере теоретически). Поскольку ответ не обязательно проходит тем же маршрутом, что и отправленный подложный пакет, взломщик может потерять возвращаемый трафик. Чтобы избежать этого, нарушитель может вмешаться в работу одного или нескольких промежуточных маршрутизаторов, адреса которых будут использоваться в качестве подложных, чтобы перенаправить трафик в другое место.

Другой подход состоит в том, что злоумышленник заранее угадывает порядковые номера TCP, которые используются атакованной машиной. В этом случае ему не нужно получать пакет SYN-ACK, так как он просто генерирует и отправляет пакет АСК с предугаданным порядковым номером. В первых реализациях стеков IP использовались предугадываемые схемы вычисления порядковых номеров, поэтому они были чувствительны к подложным TCP-потокам данных. В современных реализациях предугадать порядковый номер уже более сложно. Средство построения сетевых схем NMAP обладает возможностью оценивать сложность предугадывания порядковых номеров систем, которые подвергаются сканированию.

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

Наконец, злоумышленник может не иметь намерения отвечать на пакет SYN-ACK, который возвращается от "жертвы". На это может быть две причины. Возможно, взломщик производит полуоткрытое сканирование портов, известное под названием SYN-сканирование. В этом случае его интересует только начальный ответ от машины, которая подвергается нападению. Комбинации флажков RST-ACK означает, что сканируемый порт закрыт, а комбинация SYN-ACK - что открыт. Цель достигнута, следовательно, нет необходимости отвечать на этот пакет SYN-ACK. Также возможен вариант, когда осуществляется лавинообразный SYN-взлом. В этом случае взломщик не только не отвечает на пакеты SYN-ACK или RST-ACK, но вообще не интересуется типом пакетов, полученных от взломанной системы.

Атаки IP-спуфинга часто являются отправной точкой для прочих атак. Классический пример - атака DoS, которая начинается с чужого адреса, скрывающего истинную личность злоумышленника.

Обычно IP-спуфинг ограничивается вставкой ложной информации или вредоносных команд в обычный поток данных, передаваемых между клиентским и серверным приложением или по каналу связи между одноранговыми устройствами.

Как уже отмечалось, для двусторонней связи злоумышленник должен изменить все таблицы маршрутизации, чтобы направить трафик на ложный IP-адрес. Некоторые злоумышленники, однако, даже не пытаются получить ответ от приложений. Если главная задача состоит в получении от системы важного файла, ответы приложений не имеют значения. Если же злоумышленнику удается поменять таблицы маршрутизации и направить трафик на ложный IP-адрес, злоумышленник получит все пакеты и сможет отвечать на них так, будто он является санкционированным пользователем.

Угрозу спуфинга можно ослабить (но не устранить) с помощью следующих мер:

Контроль доступа. Самый простой способ предотвращения IP-спуфинга состоит в правильной настройке управления доступом. Чтобы снизить эффективность IP-спуфинга, необходимо настроить контроль доступа на отсечение любого трафика, поступающего из внешней сети с исходным адресом, который должен располагаться внутри вашей сети. Заметим, что это помогает бороться с IP-спуфингом, когда санкционированными являются только внутренние адреса. Если санкционированными являются и некоторые адреса внешней сети, данный метод становится неэффективным.

Фильтрация RFC 2827. Попытки спуфинга чужих сетей пользователями защищаемой сети пресекаются, если отбраковывается любой исходящий трафик, исходный адрес которого не является одним из IP-адресов защищаемой организации. Этот тип фильтрации, известный под названием «RFC 2827», может выполнять и ваш провайдер (ISP). В результате отбраковывается весь трафик, который не имеет исходного адреса, ожидаемого на определенном интерфейсе. К примеру, если ISP предоставляет соединение с IP-адресом 15.1.1.0/24, он может настроить фильтр таким образом, чтобы с данного интерфейса на маршрутизатор ISP допускался только трафик, поступающий с адреса 15.1.1.0/24. Заметим, что до тех пор, пока все провайдеры не внедрят этот тип фильтрации, его эффективность будет намного ниже возможной. Кроме того, чем дальше от фильтруемых устройств, тем труднее проводить точную фильтрацию. Так, например, фильтрация RFC 2827 на уровне маршрутизатора доступа требует пропуска всего трафика с главного сетевого адреса (10.0.0.0/8), тогда как на уровне распределения (в данной архитектуре) можно ограничить трафик более точно (адрес - 10.1.5.0/24).

IP-спуфинг может функционировать только при условии, что аутентификация происходит на базе IP-адресов. Поэтому внедрение дополнительных методов аутентификации делает этот вид атак бесполезными. Лучшим видом дополнительной аутентификации является криптографическая. Если она невозможна, хорошие результаты может дать двухфакторная аутентификация с использованием одноразовых паролей.

Отказ в обслуживании (Denial of Service - DoS). DoS, без всякого сомнения, является наиболее известной формой атак. Кроме того, против атак такого типа труднее всего создать стопроцентную защиту. Простота реализации и огромный причиняемый вред привлекают к DoS пристальное внимание администраторов, отвечающих за сетевую безопасность. Наиболее известные разновидности атак являются: TCP SYN Flood; Ping of Death; Tribe Flood Network (TFN) и Tribe Flood Network 2000 (TFN2K); Trinco; Stacheldracht; Trinity.

Источником информации по этим атакам является группа экстренного реагирования на компьютерные проблемы (CERT - Computer Emergency Response Team), опубликовавшая работу по борьбе с атаками DoS.

Атаки DoS отличаются от атак других типов. Они не нацелены на получение доступа к вашей сети или на получение из этой сети какой-либо информации. Атака DoS делает сеть недоступной для обычного использования за счет превышения допустимых пределов функционирования сети, операционной системы или приложения. В случае использования некоторых серверных приложений (таких как web-сервер или FTP-сервер) атаки DoS могут заключаться в том, чтобы занять все соединения, доступные для этих приложений, и держать их в занятом состоянии, не допуская обслуживания обычных пользователей. В ходе атак DoS могут использоваться обычные Интернет-протоколы, такие как TCP и ICMP (Internet Control Message Protocol).

Большинство атак DoS опирается не на программные ошибки или бреши в системе безопасности, а на общие слабости системной архитектуры. Некоторые атаки сводят к нулю производительность сети, переполняя ее нежелательными и ненужными пакетами или сообщая ложную информацию о текущем состоянии сетевых ресурсов. Этот тип атак трудно предотвратить, так как для этого требуется координация действий с провайдером. Если трафик, предназначенный для переполнения сети, не остановить у провайдера, то на входе в сеть это сделать уже не получится, потому что вся полоса пропускания будет занята. Когда атака этого типа проводится одновременно через множество устройств, мы говорим о распределенной атаке DoS (DDoS - distributed DoS).

Угроза атак типа DoS может снижаться тремя способами:

Функции анти-спуфинга. Правильная конфигурация функций анти-спуфинга на ваших маршрутизаторах и межсетевых экранах поможет снизить риск DoS. Эти функции, как минимум, должны включать фильтрацию RFC 2827. Если злоумышленник не сможет замаскировать свою истинную личность, он вряд ли решится провести атаку.

Функции анти-DoS. Правильная конфигурация функций анти-DoS на маршрутизаторах и межсетевых экранах может ограничить эффективность атак. Эти функции часто ограничивают число полуоткрытых каналов в любой момент времени.

Ограничение объема трафика (traffic rate limiting). Организация может попросить провайдера (ISP) ограничить объем трафика. Этот тип фильтрации позволяет ограничить объем некритического трафика, проходящего по вашей сети. Обычным примером является ограничение объемов трафика ICMP, который используется только для диагностических целей. Атаки (D) DoS часто используют ICMP.

Парольные атаки. Злоумышленники могут проводить парольные атаки с помощью целого ряда методов, таких как простой перебор (brute force attack), «троянский конь», IP-спуфинг и сниффинг пакетов. Хотя логин и пароль часто можно получить при помощи IP-спуфинга и сниффинга пакетов, хакеры часто пытаются подобрать пароль и логин, используя для этого многочисленные попытки доступа. Такой подход носит название простого перебора (brute force attack).

Часто для такой атаки используется специальная программа, которая пытается получить доступ к ресурсу общего пользования (например, к серверу). Если в результате злоумышленник получает доступ к ресурсам, он получает его на правах обычного пользователя, пароль которого был подобран. Если этот пользователь имеет значительные привилегии доступа, злоумышленник может создать для себя «проход» для будущего доступа, который будет действовать, даже если пользователь изменит свой пароль и логин.

Еще одна проблема возникает, когда пользователи применяют один и тот же (пусть даже очень хороший) пароль для доступа ко многим системам: корпоративной, персональной и системам Интернет. Поскольку устойчивость пароля равна устойчивости самого слабого хоста, злоумышленник, узнавший пароль через этот хост, получает доступ ко всем остальным системам, где используется тот же пароль.

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

При использовании обычных паролей старайтесь придумать такой пароль, который было бы трудно подобрать. Минимальная длина пароля должна быть не менее восьми символов. Пароль должен включать символы верхнего регистра, цифры и специальные символы (#, %, $ и т.д.). Лучшие пароли трудно подобрать и трудно запомнить, что вынуждает пользователей записывать пароли на бумаге. Чтобы избежать этого, пользователи и администраторы могут поставить себе на пользу ряд последних технологических достижений. Так, например, существуют прикладные программы, шифрующие список паролей, который можно хранить в карманном компьютере. В результате пользователю нужно помнить только один сложный пароль, тогда как все остальные пароли будут надежно защищены приложением.

Атаки типа «Man-in-the-Middle». Для атаки типа «Man-in-the-Middle» злоумышленнику нужен доступ к пакетам, передаваемым по сети. Такой доступ ко всем пакетам, передаваемым от провайдера в любую другую сеть, может, к примеру, получить сотрудник этого провайдера. Для атак этого типа часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Атаки проводятся с целью кражи информации, перехвата текущей сессии и получения доступа к частным сетевым ресурсам для анализа трафика и получения информации о сети и ее пользователях, для проведения атак типа DoS, искажения передаваемых данных и ввода несанкционированной информации в сетевые сессии.

Эффективно бороться с атаками типа Man-in-the-Middle можно только с помощью криптографии. Если злоумышленник перехватит данные зашифрованной сессии, у него на экране появится не перехваченное сообщение, а бессмысленный набор символов. Заметим, что если злоумышленник получит информацию о криптографической сессии (например, ключ сессии), это может сделать возможной атаку Man-in-the-Middle даже в зашифрованной среде.

Атаки на уровне приложений. Атаки на уровне приложений могут проводиться несколькими способами. Самый распространенный из них состоит в использовании хорошо известных слабостей серверного программного обеспечения (sendmail, HTTP, FTP). Используя эти слабости, злоумышленники могут получить доступ к компьютеру от имени пользователя, работающего с приложением (обычно это бывает не простой пользователь, а привилегированный администратор с правами системного доступа). Сведения об атаках на уровне приложений широко публикуются, чтобы дать возможность администраторам исправить проблему с помощью коррекционных модулей (патчей, заплаток). К сожалению, многие злоумышленники также имеют доступ к этим сведениям, что позволяет им учиться.

Главная проблема с атаками на уровне приложений состоит в том, что они часто пользуются портами, которым разрешен проход через межсетевой экран. Полностью исключить атаки на уровне приложений невозможно.

По характеру воздействия:

Пассивные;

Активные.

Пассивное воздействие на распределенную вычислительную систему (РВС) представляет собой некоторое воздействие, не оказывающее прямого влияния на работу системы, но в то же время способное нарушить ее политику безопасности. Отсутствие прямого влияния на работу РВС приводит именно к тому, что пассивное удаленное воздействие (ПУВ) трудно обнаружить. Возможным примером типового ПУВ в РВС служит прослушивание канала связи в сети.

Активное воздействие на РВС -- воздействие, оказывающее прямое влияние на работу самой системы (нарушение работоспособности, изменение конфигурации РВС и т. Д.), которое нарушает политику безопасности, принятую в ней. Активными воздействиями являются почти все типы удаленных атак. Связано это с тем, что в саму природу наносящего ущерб воздействия включается активное начало. Явное отличие активного воздействия от пассивного -- принципиальная возможность его обнаружения, так как в результате его осуществления в системе происходят некоторые изменения. При пассивном же воздействии, не остается совершенно никаких следов (из-за того, что атакующий просмотрит чужое сообщение в системе, в тот же момент не изменится собственно ничего).

По цели воздействия:

нарушение функционирования системы (доступа к системе);

нарушение целостности информационных ресурсов (ИР);

нарушение конфиденциальности ИР.

Этот признак, по которому производится классификация, по сути, есть прямая проекция трех базовых разновидностей угроз -- отказа в обслуживании, раскрытия и нарушения целостности.

Главная цель, которую преследуют практически при любой атаке -- получение несанкционированного доступа к информации. Существуют два принципиальных варианта получения информации: искажение и перехват. Вариант перехвата информации означает получение к ней доступа без возможности ее изменения. Перехват информации приводит, следовательно, к нарушению ее конфиденциальности. Прослушивание канала в сети -- пример перехвата информации. В этом случае имеется нелегитимный доступ к информации без возможных вариантов ее подмены. Очевидно, что нарушение конфиденциальности информации относится к пассивным воздействиям. Возможность подмены информации следует понимать либо как полный контроль над потоком информации между объектами системы, либо возможность передачи различных сообщений от чужого имени. Следовательно, понятно, что подмена информации приводит к нарушению ее целостности. Такое информационное разрушающее воздействие есть характерный пример активного воздействия. Примером же удаленной атаки, предназначенной для нарушения целостности информации, может послужить удаленная атака (УА) «Ложный объект РВС».

По наличию обратной связи с атакуемым объектом:

с обратной связью;

без обратной связи (однонаправленная атака).

Атакующий отправляет некоторые запросы на атакуемый объект, на которые ожидает получить ответ. Следовательно, между атакующим и атакуемым появляется обратная связь, позволяющая первому адекватно реагировать на всяческие изменения на атакуемом объекте. В этом суть удаленной атаки, осуществляемой при наличии обратной связи с атакующим объектом. Подобные атаки наиболее характерны для РВС. Атаки без обратной связи характерны тем, что им не требуется реагировать на изменения на атакуемом объекте. Такие атаки обычно осуществляются при помощи передачи на атакуемый объект одиночных запросов. Ответы на эти запросы атакующему не нужны. Подобную УА можно назвать также однонаправленной УА. Примером однонаправленных атак является типовая УА «DoS-атака».

По условию начала осуществления воздействия. Удаленное воздействие, также как и любое другое, может начать осуществляться только при определенных условиях. В РВС существуют три вида таких условных атак:

атака по запросу от атакуемого объекта;

атака по наступлению ожидаемого события на атакуемом объекте;

безусловная атака.

Воздействие со стороны атакующего начнется при условии, что потенциальная цель атаки передаст запрос определенного типа. Такую атаку можно назвать атакой по запросу от атакуемого объекта. Данный тип удаленной атаки наиболее характерен для РВС. Примером подобных запросов в сети Интернет может служить DNS- и ARP-запросы, а в Novell NetWare - Sap-запрос.

Атака по наступлению ожидаемого события на атакуемом объекте. Атакующий непрерывно наблюдает за состоянием ОС удаленной цели атаки и начинает воздействие при возникновении конкретного события в этой системе. Атакуемый объект сам является инициатором начала атаки. Примером такого события может быть прерывание сеанса работы пользователя с сервером без выдачи команды LOGOUT в Novell NetWare. Безусловная атака осуществляется немедленно и безотносительно к состоянию ОС и атакуемого объекта. Следовательно, атакующий является инициатором начала атаки в данном случае. При нарушении нормальной работоспособности системы преследуются другие цели и получение атакующим незаконного доступа к данным не предполагается. Его целью является вывод из строя ОС на атакуемом объекте и невозможность доступа для остальных объектов системы к ресурсам этого объекта. Примером атаки такого вида может служить «DoS-атака».

По расположению субъекта атаки относительно атакуемого объекта:

межсегментное;

внутрисегментное.

Источник атаки (субъект атаки) -- программа (возможно оператор), ведущая атаку и осуществляющая непосредственное воздействие.

Хост (host) -- компьютер, являющийся элементом сети.

Маршрутизатор (router) -- устройство, которое обеспечивает маршрутизацию пакетов в сети.

Подсетью (subnetwork) называется группа хостов, являющихся частью глобальной сети, отличающихся тем, что маршрутизатором для них выделен одинаковый номер подсети. Так же можно сказать, что подсеть есть логическое объединение хостов посредством маршрутизатора. Хосты внутри одной подсети могут непосредственно взаимодействовать между собой, не задействовав при этом маршрутизатор. С точки зрения удаленной атаки крайне важным является взаимное расположение субъекта и объекта атаки, то есть находятся ли они в разных или в одинаковых сегментах. Во время внутрисегментной атаки, субъект и объект атаки располагаются в одном сегменте. В случае межсегментной атаки субъект и объект атаки находятся в разных сетевых сегментах. Этот классификационный признак дает возможность судить о так называемой «степени удаленности» атаки.

Далее будет показано, что практически внутрисегментную атаку осуществить намного проще, чем межсегментную. Межсегментная удаленная атака опаснее внутрисегментной. Это связано с тем, что в случае межсегментной атаки ее объект и непосредственно атакующий могут находиться на расстоянии многих тысяч километров друг от друга, что может существенно воспрепятствовать мерам по отражению атаки.

По уровню эталонной модели ISO/OSI, на котором осуществляется воздействие:

физический;

канальный;

транспортный;

сеансовый;

представительный;

прикладной.

Международной организацией по стандартизации (ISO) был принят стандарт ISO 7498, который описывает взаимодействие открытых систем (OSI), к которым принадлежат также и РВС. Каждый сетевой протокол обмена, также как и каждую сетевую программу, удается, так или иначе, спроецировать на эталонную 7-уровневую модель OSI. Такая многоуровневая проекция дает возможность описать в терминах модели OSI использующиеся в сетевом протоколе или программе функции. УА -- сетевая программа, и логично рассматривать ее с точки зрения проекции на эталонную модель ISO/OSI.

Локальные атаки

Источниками локальных атак являются пользователи и/или программы локальной системы. Для определения наиболее вероятных атак на информационную безопасность, необходимо установить, на каких, не прикрепленных реальными средствами теоретических принципах построена модель безопасности. Например, если одним из ключевых положений является то, что к компьютеру сможет физически приблизиться только уполномоченный человек и при этом не установлено никаких систем физического ограничения физического доступа - значит, наиболее вероятны атаки на физическую безопасность:

Закладки в аппаратном обеспечении;

Доступ на этапе загрузки ОС;

Атаки на средства аутентификации;

Атаки класса стороннее ПО;

Доступ на уровне firmware;

Утилиты локальных атак.

переполнение буферов, являются составной частью многих видов вредоносных атак. Атаки переполнения имеют, в свою очередь , много разновидностей. Одна из наиболее опасных предполагает ввод в диалоговое окно , помимо текста, присоединенного к нему исполняемого кода. Такой ввод может привести к записи этого кода поверх исполняемой программы, что рано или поздно вызовет его исполнение . Последствия нетрудно себе представить.

"Пассивные" атаки с помощью, например, sniffer , особенно опасны, так как, во-первых, практически не детектируемы, во-вторых, предпринимаются из локальной сети (внешний Firewall бессилен).

Вирусы - вредоносные программы, способные к самокопированию и к саморассылке. Еще в декабре 1994 года я получил предупреждение о распространении сетевых вирусов (good times и xxx-1) по Интернет :

С момента создания до момента обнаружения вируса проходят часы, дни, недели, а иногда и месяцы. Это зависит от того, насколько быстро проявляются последствия заражения. Чем это время больше, тем большее число ЭВМ оказывается заражено. После выявления факта заражения и распространения новой разновидности вируса требуется от пары часов (например, для Email_Worm.Win32.Bagle.bj) до трех недель (W32.Netsky.N@mm) на выявление сигнатуры, создания противоядия и включения его сигнатуры в базу данных противовирусной программы. Временная диаграмма жизненного цикла вируса представлена на рис. 12.1 (" Network Security ", v.2005, Issue 6, June 2005, p 16-18). Только за 2004 год зарегистрировано 10000 новых сигнатур вирусов . Червь Blaster заразил 90% машин за 10 минут. За это время антивирусная группа должна обнаружить объект , квалифицировать и разработать средство противодействия. Понятно, что это нереально. Так что антивирусная программа является не столько средством противодействия, сколько успокоительным . Эти же соображения справедливы и для всех других видов атак. Когда сигнатура атаки становится известной, сама атака обычно не опасна, так как уже выработаны средства противодействия и уязвимость перекрыта. Именно по этой причине такое внимание уделяется системе управления программными обновлениями (пэтчами).

Некоторые вирусы и черви имеют встроенные SMTP-программы, предназначенные для их рассылки, и люки для беспрепятственного проникновения в зараженную машину. Новейшие версии снабжены средствами подавления активности других вирусов или червей. Таким образом могут создаваться целые сети зараженных машин (BotNet ), готовых по команде начать, например, DDoS -атаку. Для управления такими машинами-зомби может использоваться протокол IRC ( Internet Relay Chart ). Эта система рассылки сообщений поддерживается большим числом серверов и поэтому такой канал обычно трудно отследить и запротоколировать. Этому способствует также то, что большинство систем более тщательно контролируют входной трафик, а не выходной. Следует иметь в виду, что зараженная машина может служить, помимо DoS-атак , для сканирования других ЭВМ и рассылки SPAM , для хранения нелегальных программных продуктов, для управления самой машиной и кражи документов, хранящихся там, для выявления паролей и ключей, используемых хозяином. Ущерб от вируса Blaster оценивается в 475000$.

К сожалению, пока не придумано надежных средств обнаружения новых вирусов (сигнатура которых не известна) .


Рис. 12.1.

В 2005 году выявлена еще одна угроза – распространение вирусов и сетевых червей с помощью программ-роботов поисковых систем ( bots ), базирующихся на IRC .

Программы bots не всегда опасны, некоторые их разновидности применяются для сбора данных, в частности, о предпочтениях клиентов, а в поисковой системе Google они работают для сбора и индексации документов. Но в руках хакера эти программы превращаются в опасное оружие. Наиболее известная атака была предпринята в 2005 году, хотя подготовка и "первые опыты" начались в сентябре 2004 года. Программа искала машины со специфическими уязвимостями, в частности, LSASS ( Local Security Authority Subsystem Service , Windows ). Подсистема LSASS, призванная способствовать обеспечению безопасности, оказалась сама уязвимой для атак типа переполнения буфера. Хотя уязвимость уже ликвидирована, число машин с необновленной версией остается значительным. После вторжения хакер обычно использует IRC для выполнения нужных ему операций (открытие определенного порта, рассылка SPAM , запуск сканирования других потенциальных жертв). Новой особенностью таких программ является их встраивание в операционную системы таким образом (rootkit ), что они не могут быть обнаружены, так как размещаются в зоне ядра ОС. Если антивирусная программы попытается получить доступ к определенной области памяти с целью выявления вредоносного кода, rootkit перехватывает такой запрос и отправляет тестирующей программе уведомление, что все в порядке. Что еще хуже, bot-программы могут модифицировать содержимое

До сих пор нет точного определения термина "атака" (вторжение, нападение). Каждый специалист в области безопасности трактует его по-своему. Наиболее правильным и полным я считаю следующее определение.

Атакой на информационную систему называются преднамеренные действия злоумышленника, использующие уязвимости информационной системы и приводящие к нарушению доступности, целостности и конфиденциальности обрабатываемой информации.

Устраним уязвимости информационной системы - устраним и возможность реализации атак.

На сегодняшний день считается неизвестным, сколько существует методов атак. Говорят о том, что до сих пор отсутствуют какие-либо серьезные математические исследования в этой области. Но еще в 1996 году Фред Коэн описал математические основы вирусной технологии. В этой работе доказано, что число вирусов бесконечно. Очевидно, что и число атак бесконечно, поскольку вирусы - это подмножество множества атак.

Модели атак

Традиционная модель атаки строится по принципу (рис.1) или (рис.2), т.е. атака исходит из одного источника. Разработчики сетевых средств защиты (межсетевых экранов, систем обнаружения атак и т.д.) ориентированы именно на традиционную модель атаки. В различных точках защищаемой сети устанавливаются агенты (сенсоры) системы защиты, которые передают информацию на центральную консоль управления. Это облегчает масштабирование системы, обеспечивает простоту удаленного управления и т.д. Однако такая модель не справляется с относительно недавно (в 1998 году) обнаруженной угрозой - распределенными атаками.
Рисунок 1. Отношение "один к одному"

В модели распределенной атаки используются иные принципы. В отличие от традиционной модели в распределенной модели используются отношения (рис.3) и (рис.4).

Распределенные атаки основаны на "классических" атаках типа "отказ в обслуживании ", а точнее на их подмножестве, известном как Flood-атаки или Storm-атаки (указанные термины можно перевести как "шторм", "наводнение" или "лавина"). Смысл данных атак заключается в посылке большого количества пакетов на атакуемый узел. Атакуемый узел может выйти из строя, поскольку он "захлебнется" в лавине посылаемых пакетов и не сможет обрабатывать запросы авторизованных пользователей. По такому принципу работают атаки SYN-Flood, Smurf, UDP Flood, Targa3 и т.д. Однако в том случае, если пропускная способность канала до атакуемого узла превышает пропускную способность атакующего или атакуемый узел некорректно сконфигурирован, то к "успеху" такая атака не приведет. Например, с помощью этих атак бесполезно пытаться нарушить работоспособность своего провайдера. Но распределенная атака происходит уже не из одной точки Internet, а сразу из нескольких, что приводит к резкому возрастанию трафика и выведению атакуемого узла из строя. Например, по данным России-Онлайн в течение двух суток, начиная с 9 часов утра 28 декабря 2000 г. крупнейший Internet-провайдер Армении "Арминко" подвергался распределенной атаке. В данном случае к атаке подключились более 50 машин из разных стран, которые посылали по адресу "Арминко" бессмысленные сообщения. Кто организовал эту атаку, и в какой стране находился хакер - установить было невозможно. Хотя атаке подвергся в основном "Арминко", перегруженной оказалась вся магистраль, соединяющая Армению с всемирной паутиной. 30 декабря благодаря сотрудничеству "Арминко" и другого провайдера - "АрменТел" - связь была полностью восстановлена. Несмотря на это компьютерная атака продолжалась, но с меньшей интенсивностью.

Этапы реализации атак

Можно выделить следующие этапы реализации атаки:

Обычно, когда говорят об атаке, то подразумевают именно второй этап, забывая о первом и последнем. Сбор информации и завершение атаки ("заметание следов") в свою очередь также могут являться атакой и могут быть разделены на три этапа (см. рис.5).
Рисунок 5. Этапы реализации атаки

Cбор информации - это основной этап реализации атаки. Именно на данном этапе эффективность работы злоумышленника является залогом "успешности" атаки. Сначала выбирается цель атаки и собирается информация о ней (тип и версия операционной системы, открытые порты и запущенные сетевые сервисы, установленное системное и прикладное программное обеспечение и его конфигурация и т.д.). Затем идентифицируются наиболее уязвимые места атакуемой системы, воздействие на которые приводит к нужному злоумышленнику результату. Злоумышленник пытается выявить все каналы взаимодействия цели атаки с другими узлами. Это позволит не только выбрать тип реализуемой атаки, но и источник ее реализации. Например, атакуемый узел взаимодействует с двумя серверами под управлением ОС Unix и Windows NT. С одним сервером атакуемый узел имеет доверенные отношения, а с другим - нет. От того, через какой сервер злоумышленник будет реализовывать нападение, зависит, какая атака будет задействована, какое средство реализации будет выбрано и т.д. Затем, в зависимости от полученной информации и желаемого результата, выбирается атака, дающая наибольший эффект. Например:
SYN Flood, Teardrop, UDP Bomb - для нарушения функционирования узла;
CGI-скрипт - для проникновения на узел и кражи информации;
PHF - для кражи файла паролей и удаленного подбора пароля и т.п.

Традиционные средства защиты, такие как межсетевые экраны или механизмы фильтрации в маршрутизаторах, вступают в действие лишь на втором этапе реализации атаки, совершенно "забывая" о первом и третьем. Это приводит к тому, что зачастую совершаемую атаку очень трудно остановить даже при наличии мощных и дорогих средств защиты. Пример тому - распределенные атаки. Логично было бы, чтобы средства защиты начинали работать еще на первом этапе, т.е. предотвращали бы возможность сбора информации об атакуемой системе. Это позволило бы если и не полностью предотвратить атаку, то хотя бы существенно усложнить работу злоумышленника. Традиционные средства также не позволяют обнаружить уже совершенные атаки и оценить ущерб после их реализации, т.е. не работают на третьем этапе реализации атаки. Следовательно, невозможно определить меры по предотвращению таких атак впредь.

В зависимости от желаемого результата нарушитель концентрируется на том или ином этапе реализации атаки. Например:
для отказа в обслуживании подробно анализируется атакуемая сеть, в ней выискиваются лазейки и слабые места;
для хищения информации основное внимание уделяется незаметному проникновению на атакуемые узлы при помощи обнаруженных ранее уязвимостей.

Рассмотрим основные механизмы реализации атак. Это необходимо для понимания методов обнаружения этих атак. Кроме того, понимание принципов действий злоумышленников - залог успешной обороны сети.

1. Сбор информации

Первый этап реализации атак - это сбор информации об атакуемой системе или узле. Он включает такие действия как определение сетевой топологии, типа и версии операционной системы атакуемого узла, а также доступных сетевых и иных сервисов и т.п. Эти действия реализуются различными методами.

Изучение окружения

На этом этапе нападающий исследует сетевое окружение вокруг предполагаемой цели атаки. К таким областям, например, относятся узлы Internet-провайдера "жертвы" или узлы удаленного офиса атакуемой компании. На этом этапе злоумышленник может пытаться определить адреса "доверенных" систем (например, сеть партнера) и узлов, которые напрямую соединены с целью атаки (например, маршрутизатор ISP) и т.д. Такие действия достаточно трудно обнаружить, поскольку они выполняются в течение достаточно длительного периода времени и снаружи области, контролируемой средствами защиты (межсетевыми экранами, системами обнаружения атак и т.п.).

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

Существует два основных метода определения топологии сети, используемых злоумышленниками:

  1. изменение TTL (TTL modulation),
  2. запись маршрута (record route).

По первому методу работают программы traceroute для Unix и tracert для Windows. Они используют поле Time to Live ("время жизни") в заголовке IP-пакета, которое изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Для записи маршрута ICMP-пакета может быть использована утилита ping . Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, защита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т.д.

Многие из этих методов используются современными системами управления (например, HP OpenView, Cabletron SPECTRUM, MS Visio и т.д.) для построения карт сети. И эти же методы могут быть с успехом применены злоумышленниками для построения карты атакуемой сети.

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

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

Это самый простой метод идентификации узлов. Однако он имеет два недостатка.

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

Существует еще один метод идентификации узлов - использование "смешанного" режима сетевой карты, который позволяет определить различные узлы в сегменте сети. Но он не применим в тех случаях, в которых трафик сегмента сети недоступен нападающему со своего узла, т.е. этот метод применим только в локальных сетях. Другим способом идентификации узлов сети является так называемая разведка DNS, которая позволяет идентифицировать узлы корпоративной сети при помощи обращения к серверу службы имен.

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

Идентификация сервисов, как правило, осуществляется путем обнаружения открытых портов (port scanning). Такие порты очень часто связаны с сервисами, основанными на протоколах TCP или UDP. Например:

  • открытый 80-й порт подразумевает наличие Web-сервера,
  • 25-й порт - почтового SMTP-сервера,
  • 31337-й - серверной части троянского коня BackOrifice,
  • 12345-й или 12346-й - серверной части троянского коня NetBus и т.д.
Для идентификации сервисов и сканирования портов могут быть использованы различные программы, в т.ч. и свободно распространяемые. Например, nmap или netcat.

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

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

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

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

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

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

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

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

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

  • проникновение;
  • установление контроля.

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

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

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

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

Цели реализации атак

Этапом завершения атаки является "заметание следов" со стороны злоумышленника. Обычно это реализуется путем удаления соответствующих записей из журналов регистрации узла и других действий, возвращающих атакованную систему в исходное, "предатакованное" состояние.

Классификация атак

Существуют различные типа классификации атак. Например, деление на пассивные и активные, внешние и внутренние, умышленные и неумышленные. Однако дабы не запутать вас большим разнообразием классификаций, мало применимыми на практике, предлагаю более "жизненную" классификацию:

  1. Удаленное проникновение (remote penetration) . Атаки, которые позволяют реализовать удаленное управление компьютером через сеть. Например, NetBus или BackOrifice.
  2. Локальное проникновение (local penetration) . Атака, которая приводит к получению несанкционированного доступа к узлу, на котором она запущена. Например, GetAdmin.
  3. Удаленный отказ в обслуживании (remote denial of service) . Атаки, которые позволяют нарушить функционирование или перегрузить компьютер через Internet. Например, Teardrop или trin00.
  4. Локальный отказ в обслуживании (local denial of service) . Атаки, которые позволяют нарушить функционирование или перегрузить компьютер, на котором они реализуются. Примером такой атаки является "враждебный" апплет, который загружает центральный процессор бесконечным циклом, что приводит к невозможности обработки запросов других приложений.
  5. Сетевые сканеры (network scanners) . Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки. Например, система nmap.
  6. Сканеры уязвимостей (vulnerability scanners) . Программы, которые ищут уязвимости на узлах сети и которые могут быть использованы для реализации атак. Например, система SATAN или ShadowSecurityScanner.
  7. Взломщики паролей (password crackers) . Программы, которые "подбирают" пароли пользователей. Например, L0phtCrack для Windows или Crack для Unix.
  8. Анализаторы протоколов (sniffers) . Программы, которые "прослушивают" сетевой трафик. При помощи этих программ можно автоматически искать такую информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и т.д. Например, Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.

Компания Internet Security Systems, Inc. еще больше сократила число возможных категорий, доведя их до 5:

  1. Сбор информации (Information gathering).
  2. Попытки несанкционированного доступа (Unauthorized access attempts).
  3. Отказ в обслуживании (Denial of service).
  4. Подозрительная активность (Suspicious activity).
  5. Системные атаки (System attack).

Первые 4 категории относятся к удаленным атакам, а последняя - к локальным, реализуемом на атакуемом узле. Можно заметить, что в данную классификацию не попал целый класс так называемых "пассивных" атак ("прослушивание" трафика, "ложный DNS-сервер", "подмена ARP-сервера" и т.п.).

Классификация атак, реализованная во многих системах обнаружения атак, не может быть категоричной. Например, атака, реализация которой для ОС Unix (например, переполнение буфера statd) может иметь самые плачевные последствия (самый высокий приоритет), для ОС Windows NT может быть вообще не применима или иметь очень низкую степень риска. Кроме того, существует неразбериха и в самих названиях атак и уязвимостей. Одна и та же атака, может иметь разные наименования у разных производителей систем обнаружения атак.

Одной из лучших баз уязвимостей и атак является база данных X-Force, находящаяся по адресу: http://xforce.iss.net/. Доступ к ней может осуществляться как путем подписки на свободно распространяемый список рассылки X-Force Alert, так и путем интерактивного поиска в базе данных на Web-сервере компании ISS.

Заключение

Не будь уязвимостей в компонентах информационных систем, нельзя было бы реализовать многие атаки и, следовательно, традиционные системы защиты вполне эффективно справлялись бы с возможными атаками. Однако программы пишутся людьми, которым свойственно делать ошибки. Вследствие чего и появляются уязвимости, которые используются злоумышленниками для реализации атак. Однако это только полбеды. Если бы все атаки строились по модели "один к одному", то с некоторой натяжкой, но межсетевые экраны и другие защитные системы смогли бы противостоять и им. Но появились скоординированные атаки, против которых традиционные средства уже не так эффективны. И тут на сцене и появляются новые технологии - технологии обнаружения атак. Приведенная систематизация данные об атаках и этапах их реализации дает необходимый базис для понимания технологий обнаружения атак.

Средства обнаружения компьютерных атак

Технология обнаружения атак должна решать следующие задачи:

  • Распознавание известных атак и предупреждение о них соответствующего персонала.
  • "Понимание" зачастую непонятных источников информации об атаках.
  • Освобождение или снижение нагрузки на персонал, отвечающий за безопасность, от текущих рутинных операций по контролю за пользователями, системами и сетями, являющимися компонентами корпоративной сети.
  • Возможность управления средствами защиты не-экспертами в области безопасности.
  • Контроль всех действий субъектов корпоративной сети (пользователей, программ, процессов и т.д.).

Очень часто системы обнаружения атак могут выполнять функции, существенно расширяющие спектр их применения. Например,

  • Контроль эффективности межсетевых экранов. Например, установка системы обнаружения атак после межсетевого экрана (внутри корпоративной сети) позволяет обнаружить атаки, пропускаемые МСЭ и, тем самым, определить недостающие правила на межсетевом экране.
  • Контроль узлов сети с неустановленными обновлениями или узлов с устаревшим программным обеспечением.
  • Блокирование и контроль доступа к определенным узлам Internet. Хотя системам обнаружения атак далеко до межсетевых экранов и систем контроля доступа к различным URL, например, WEBsweeper, они могут выполнять частичный контроль и блокирование доступа некоторых пользователей корпоративной сети к отдельным ресурсам Internet, например, к Web-серверам порнографического содержания. Это бывает необходимо тогда, когда в организации нет денег на приобретение и межсетевого экрана и системы обнаружение атак, и функции МСЭ разносятся между системой обнаружения атак, маршрутизатором и proxy-сервером. Кроме того, системы обнаружения атак могут контролировать доступ сотрудников к серверам на основе ключевых слов. Например, sex, job, crack и т.д.
  • Контроль электронной почты. Системы обнаружения атак могут использоваться для контроля неблагонадежных сотрудников, использующих электронную почту для выполнения задач, не входящих в их функциональные обязанности, например, рассылка резюме. Некоторые системы могут обнаруживать вирусы в почтовых сообщениях и, хотя до настоящих антивирусных систем им далеко, они все же выполняют эту задачу достаточно эффективно.

Лучшее использование времени и опыта специалистов в области информационной безопасности заключается в обнаружении и устранении причин реализации атак, скорее чем, в обнаружении самих атак. Устранив причины возникновения атак, т.е. обнаружив и устранив уязвимости, администратор тем самым устраняет и сам факт потенциальной реализации атак. Иначе атака будет повторяться раз за разом, постоянно требуя усилий и внимания администратора.

Классификация систем обнаружения атак

Существует большое число различных классификаций систем обнаружения атак, однако самой распространенной является классификация по принципу реализации:

  1. host-based , то есть обнаруживающие атаки, направленные на конкретный узел сети,
  2. network-based , то есть обнаруживающие атаки, направленные на всю сеть или сегмент сети.

Системы обнаружения атак, контролирующие отдельный компьютер, как правило, собирают и анализируют информацию из журналов регистрации операционной системы и различных приложений (Web-сервер, СУБД и т.д.). По такому принципу функционирует RealSecure OS Sensor. Однако в последнее время стали получать распространение системы, тесно интегрированные с ядром ОС, тем самым, предоставляя более эффективный способ обнаружения нарушений политики безопасности. Причем такая интеграция может быть реализовано двояко. Во-первых, могут контролироваться все системные вызовы ОС (так работает Entercept) или весь входящий/исходящий сетевой трафик (так работает RealSecure Server Sensor). В последнем случае система обнаружения атак захватывает весь сетевой трафик напрямую с сетевой карты, минуя операционную систему, что позволяет уменьшить зависимость от нее и тем самым повысить защищенность системы обнаружения атак.

Системы обнаружения атак уровня сети собирают информацию из самой сети, то есть из сетевого трафика. Выполняться эти системы могут на обычных компьютерах (например, RealSecure Network Sensor), на специализированных компьютерах (например, RealSecure for Nokia или Cisco Secure IDS 4210 и 4230) или интегрированы в маршрутизаторы или коммутаторы (например, CiscoSecure IOS Integrated Software или Cisco Catalyst 6000 IDS Module). В первых двух случаях анализируемая информация собирается посредством захвата и анализа пакетов, используя сетевые интерфейсы в беспорядочном (promiscuous) режиме. В последнем случае захват трафика осуществляется с шины сетевого оборудования.

Обнаружение атак требует выполнения одного из двух условий - или понимания ожидаемого поведения контролируемого объекта системы или знания всех возможных атак и их модификаций. В первом случае используется технология обнаружения аномального поведения, а во втором случае - технология обнаружения злоумышленного поведения или злоупотреблений. Вторая технология заключается в описании атаки в виде шаблона или сигнатуры и поиска данного шаблона в контролируемом пространстве (например, сетевом трафике или журнале регистрации). Эта технология очень похожа на обнаружение вирусов (антивирусные системы являются ярким примером системы обнаружения атак), т.е. система может обнаружить все известные атаки, но она мало приспособлена для обнаружения новых, еще неизвестных, атак. Подход, реализованный в таких системах, очень прост и именно на нем основаны практически все предлагаемые сегодня на рынке системы обнаружения атак.

Практически все системы обнаружения атак основаны на сигнатурном подходе.

Достоинства систем обнаружения атак

Можно долго перечислять различные достоинства систем обнаружения атак, функционирующих на уровне узла и сети. Однако я остановлюсь только на нескольких из них.

Коммутация позволяет управлять крупномасштабными сетями, как несколькими небольшими сетевыми сегментами. В результате бывает трудно определить наилучшее место для установки системы, обнаруживающей атаки в сетевом трафике. Иногда могут помочь специальные порты (span ports) на коммутаторах, но не всегда. Обнаружение атак на уровне конкретного узла обеспечивает более эффективную работу в коммутируемых сетях, так как позволяет разместить системы обнаружения только на тех узлах, на которых это необходимо.

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

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

Системы, функционирующие на уровне сети, обнаруживают подозрительные события и атаки по мере того, как они происходят, и поэтому обеспечивают гораздо более быстрое уведомление и реагирование, чем системы, анализирующие журналы регистрации. Например, хакер, инициирующий сетевую атаку типа "отказ в обслуживании" на основе протокола TCP, может быть остановлен системой обнаружения атак сетевого уровня, посылающей TCP-пакет с установленным флагом Reset в заголовке для завершения соединения с атакующим узлом, прежде чем атака вызовет разрушения или повреждения атакуемого узла. Системы анализа журналов регистрации не распознают атаки до момента соответствующей записи в журнал и предпринимают ответные действия уже после того, как была сделана запись. К этому моменту наиболее важные системы или ресурсы уже могут быть скомпрометированы или нарушена работоспособность системы, запускающей систему обнаружения атак на уровне узла. Уведомление в реальном масштабе времени позволяет быстро среагировать в соответствии с предварительно определенными параметрами. Диапазон этих реакций изменяется от разрешения проникновения в режиме наблюдения для того, чтобы собрать информацию об атаке и атакующем, до немедленного завершения атаки.

И, наконец, системы обнаружения атак, функционирующие на сетевом уровне, не зависят от операционных систем, установленных в корпоративной сети, так как они оперируют сетевым трафиком, которым обмениваются все узлы в корпоративной сети. Системе обнаружения атак все равно, какая ОС сгенерировала тот или иной пакет, если он в соответствие со стандартами, поддерживаемыми системой обнаружения. Например, в сети могут работать ОС Windows 98, Windows NT, Windows 2000 и XP, Netware, Linux, MacOS, Solaris и т.д., но если они общаются между собой по протоколу IP, то любая из систем обнаружения атак, поддерживающая этот протокол, сможет обнаруживать атаки, направленные на эти ОС.

Совместное применение систем обнаружения атак на уровне сети и уровне узла повысит защищенность вашей сети.

Сетевые системы обнаружения атак и межсетевые экраны

Наиболее часто сетевые системы обнаружения атак пытаются заменить межсетевыми экранами, уповая на то, что последние обеспечивают очень высокий уровень защищенности. Однако не стоит забывать, что межсетевые экраны - это просто системы, основанные на правилах, которые разрешают или запрещают прохождение трафика через них. Даже межсетевые экраны, построенные по технологии "", не позволяют с уверенностью сказать, присутствует ли атака в контролируемом ими трафике или нет. Они могут сказать, соответствует ли трафик правилу или нет. Например, МСЭ сконфигурирован так, чтобы блокировать все соединения кроме TCP-соединений на 80 порту (то есть HTTP-трафик). Таким образом, любой трафик через 80-ый порт законен с точки зрения МСЭ. С другой стороны, система обнаружения атак также контролирует трафик, но ищет в нем признаки атаки. Ее мало заботит, для какого порта предназначен трафик. По умолчанию весь трафик для системы обнаружения атак подозрителен. То есть, несмотря на то, что система обнаружения атак работает с тем же источником данных, что и МСЭ, то есть с сетевым трафиком, они выполняют дополняющие друг друга функции. Например, HTTP-запрос "GET /../../../etc/passwd HTTP/1.0". Практически любой МСЭ разрешает прохождение данного запроса через себя. Однако система обнаружения атак легко обнаружит эту атаку и блокирует ее.

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

Межсетевой экран - не панацея!

Варианты реакций на обнаруженную атаку

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

  • Уведомление на консоль (включая резервную) системы обнаружения атак или на консоль интегрированной системы (например, межсетевого экрана).
  • Звуковое оповещение об атаке.
  • Генерация управляющих последовательностей SNMP для систем сетевого управления.
  • Генерация сообщения об атаке по электронной почте.
  • Дополнительные уведомления на пейджер или факс. Очень интересная, хотя и редко применяемая возможность. Оповещение об обнаружении несанкционированной деятельности посылается не администратору, а злоумышленнику. По мнению сторонников данного варианта реагирования, нарушитель, узнав, что его обнаружили, вынужден прекратить свои действия.
  • Обязательная регистрация обнаруживаемых событий. В качестве журнала регистрации могут выступать:
    • текстовый файл,
    • системный журнал (например, в системе Cisco Secure Integrated Software),
    • текстовый файл специального формата (например, в системе Snort),
    • локальная база данных MS Access,
    • SQL-база данных (например, в системе RealSecure).
    Надо только учитывать, что объемы регистрируемой информации требуют, как правило, SQL-базу - MS SQL или Oracle.
  • Трассировка событий (event trace), т.е. запись их в той последовательности и с той скоростью, с которыми их реализовывал злоумышленник. Затем администратор в любое заданное время может прокрутить (replay или playback) необходимую последовательность событий с заданной скоростью (в реальном режиме времени, с ускорением или замедлением), чтобы проанализировать деятельность злоумышленника. Это позволит понять его квалификацию, используемые средства атаки и т.д.
  • Прерывание действий атакующего, т.е. завершение соединения. Это можно сделать, как:
    • перехват соединения (session hijacking) и посылка пакета с установленным флагом RST обоим участникам сетевого соединения от имени каждого из них (в системе обнаружения атак, функционирующей на уровне сети);
    • блокировка учетной записи пользователя, осуществляющего атаку (в системе обнаружения атак на уровне узла). Такая блокировка может быть осуществлена либо на заданный промежуток времени, либо до тех пор, пока учетная запись не будет разблокирована администратором. В зависимости от привилегий, с которыми запущена система обнаружения атак, блокировка может действовать как в пределах самого компьютера, на который направлена атака, так и в пределах всего домена сети.
  • Реконфигурация сетевого оборудования или межсетевых экранов. В случае обнаружения атаки на маршрутизатор или межсетевой экран посылается команда на изменение списка контроля доступа. Впоследствии все попытки соединения с атакующего узла будут отвергаться. Как и блокировка учетной записи злоумышленника, изменение списка контроля доступа может быть осуществлено или на заданный интервал времени или до того момента, как изменение будет отменено администратором реконфигурируемого сетевого оборудования.
  • Блокирование сетевого трафика так, как это реализовано в межсетевых экранах. Этот вариант позволяет ограничить трафик, а также адресатов, которые могут получить доступ к ресурсам защищаемого компьютера, позволяя выполнять функции доступные в персональных межсетевых экранах.