Компьютерные атаки и технологии их обнаружения. Какими бывают компьютерные атаки

С помощью таких программ, как WinNuke, Papa Smurf и Teardrop злоумышленники могут атаковать ваши компьютеры и нанести вам ущерб. Согласно опросу за 1999 год Института Компьютерной Безопасности и ФБР о компьютерных преступлениях 57 процентов опрошенных организаций сообщили, что считают соединения их сетей с Интернет "местом, откуда часто организуются атаки". 30 процентов опрошенных сообщило, что имели место случаи проникновения в их сети, а 26 процентов сказали, что в ходе атак происходила кража конфиденциальной информации. Федеральный центр по борьбе с компьютерными преступдениями в США - FedCIRC сообщил, что в 1998 году атакам подверглось около 130000 государственных сетей с 1100000 компьютерами. Классификация компьютерных атак Когда мы говорим "компьютерная атака", мы имеем в виду запуск людьми программ для получения неавторизованного доступа к компьютеру. Формы организации атак весьма разнообразны, но в целом все они принадлежат к одной из следующих категорий: Удаленное проникновение в компьютер: программы, которые получают неавторизованный доступ к другому компьютеру через Интернет (или локальную сеть) Локальное проникновение в компьютер: программы, которые получают неавторизованный доступ к компьютеру, на котором они работают. Удаленное блокирование компьютера: программы, которые через Интернет (или сеть) блокируют работу всего удаленного компьютера или отдельной программы на нем (для восстановления работоспособности чаще всего компьютер надо перезагрузить) Локальное блокирование компьютера: программы, которые блокируют работу компьютера, на котором они работают Сетевые сканеры: программы, которые осуществляют сбор информации о сети, чтобы определить, какие из компьютеров и программ, работающих на них, потенциально уязвимы к атакам. Сканеры уязвимых мест программ: программы, проверяют большие группы компьютеров в Интернете в поисках компьютеров, уязвимых к тому или иному конкретному виду атаки. Вскрыватели паролей: программы, которые обнаруживают легко угадываемые пароли в зашифрованных файлах паролей. Сейчас компьютеры могут угадывать пароли так быстро, что казалось бы сложные пароли могут быть угаданы. Сетевые анализаторы (снифферы): программы, которые слушают сетевой трафик. Часто в них имеются возможности автоматического выделения имен пользователей, паролей и номеров кредитных карт из трафика. Как защититься от большинства компьютерных атак Защита сети от компьтерных атак - это постоянная и нетривиальная задача; но ряд простых средств защиты смогут остановить большинство попыток проникновения в сеть. Например, хорошо сконфигурированный межсетевой экран и антивирусные программы, установленные на всех рабочих станциях, смогут сделать невозможными большинство компьютерных атак. Ниже мы кратко опишем 14 различных средств защиты, реализация которых поможет защитить вашу сеть. Оперативная установка исправлений для программ (Patching) Компании часто выпускают исправления программ, чтобы ликвидировать неблагоприятные последствия ошибок в них. Если не внести исправления в программы, впоследствии атакующий может воспользоваться этими ошибками и проникнуть в ваш компьютер. Системные администраторы должны защищать самые важные свои системы, оперативно устанавливая исправления для программ на них. Тем не менее, установить исправления для программ на всех хостах в сети трудно, так как исправления могут появляться достаточно часто. В этом случае надо обязательно вносить исправления в программы на самых важных хостах, а кроме этого установить на них другие средства защиты, описанные ниже. Обычно исправления должны получаться ТОЛЬКО от производителей программ. Обнаружение вирусов и троянских коней Хорошие антивирусные программы - незаменимое средство для повышения безопасности в любой сети. Они наблюдают за работой компьютеров и выявляют на них вредоносные программы. Единственной проблемой, возникающей из-за них, является то, что для максимальной эффективности они должны быть установлены на всех компьютерах в сети. На установку антивирусных программ на всех компьютерах и регулярное обновление антивирусных баз в них может уходить достаточно много времени - но иначе это средство не будет эффективным. Пользователей следует учить, как им самим делать эти обновления, но при этом нельзя полностью полагаться на них. Помимо обычной антивирусной программе на каждом компьютере мы рекомендуем, чтобы организации сканировали приложения к электронным письмам на почтовом сервере. Таким образом можно обнаружить большинство вирусов до того, как они достигнут машин пользователей. Межсетевые экраны Межсетевые экраны (firewalls) - это самое важное средство защиты сети организации. Они контролируют сетевой трафик, входящий в сеть и выходящий из нее. Межсетевой экран может блокировать передачу в сеть какого-либо вида трафика или выполнять те или иные проверки другого вида трафика. Хорошо сконфигуированный межсетевой экран в состоянии остановить большинство известных компьютерных атак. Вскрыватели паролей (Password Crackers) Хакеры часто используют малоизвестные уязвимые места в компьютерах для того, чтобы украсть файлы с зашифрованными паролями. Затем они используют специальные программы для вскрытия паролей, которые могут обнаружить слабые пароли в этих зашифрованных файлах. Как только слабый пароль обнаружен, атакующий может войти в компьютер, как обычный пользователь и использовать разнообразные приемы для получения полного доступа к вашему компьютеру и вашей сети. Хотя это средство используются злоумышленниками, оно будет также полезно и системным администраторам. Они должны периодически запускать эти программы на свои зашифрованные файлы паролей, чтобы своевременно обнаружить слабые пароли. Шифрование Атакующие часто проникают в сети с помощью прослушивания сетевого трафика в наиболее важных местах и выделения из него имен пользователей и их паролей. Поэтому соединения с удаленными машинами, защищаемые с помощью пароля, должны быть зашифрованы. Это особенно важно в тех случаях, если соединение осуществляется по Интернет или с важным сервером. Имеется ряд коммерческих и бесплатных программ для шифрования трафика TCP/IP (наиболее известен SSH). Сканеры уязвимых мест Это программы, которые сканируют сеть в поисках компьютеров, уязвимых к определенным видам атак. Сканеры имеют большую базу данных уязвимых мест, которую они используют при проверке того или иного компьютера на наличие у него уязвимых мест. Имеются как коммерческие, так и бесплатные сканеры. Грамотное конфигурирование компьютеров в отношении безопасности Компьютеры с заново установленными операционными системами часто уязвимы к атакам. Причина этого заключается в том, что при начальной установке операционной системы обычно разрешаются все сетевые средства и часто разрешаются небезопасным образом. Это позволяет атакующему использовать много способов для организации атаки на машину. Все ненужные сетевые средства должны быть отключены. Боевые диалеры(war dialer) Пользователи часто обходят средства защиты сети организации, разрешая своим компьютерам принимать входящие телефонные звонки. Пользователь перед уходом с работы включает модем и соответствующим образом настраивает программы на компьютере, после чего он может позвонить по модему из дома и использовать корпоративную сеть. Атакующие могут использовать программы-боевые диалеры для обзвонки большого числа телефонных номеров в поисках компьютеров, обрабатывающих входящие звонки. Так как пользователи обычно конфигурируют свои компьютеры сами, они часто оказываются плохо защищенными и дают атакующему еще одну возможность для организации атаки на сеть. Системные администраторы должны регулярно использовать боевые диалеры для проверки телефонных номеров своих пользователей и обнаружения сконфигурированных подобным образом компьютеров. Имеются как коммерческие, так и свободно распространяемые боевые диалеры. Рекомендации по безопасности (security advisories) Рекомендации по безопасности - это предупреждения, публикуемые группами по борьбе с компьютерными преступлениями и производителями программ о недавно обнаруженных уязвимых местах. Рекомендации обычно описывают самые серьезные угрозы, возникающие из-за этих уязвимых мест и поэтому являются занимающими мало времени на чтение, но очень полезными. Они описывают в-целом угрозу и дают довольно конкретные советы о том, что нужно сделать для устранения данного узявимого места. Найти их можно в ряде мест, но двумя самыми полезными являются те рекомендации, которые публикует группа по борьбе с компьютерными преступлениями CIAC и CERT Средства обнаружения атак (Intrusion Detection) Системы обнаружения атак оперативно обнаруживают компьютерные атаки. Они могут быть установлены за межсетевым экраном, чтобы обнаруживать атаки, организуемые изнутри сети. Или они могут быть установлены перед межсетевым экраном, чтобы обнаруживать атаки на межсетевой экран. Средства этого типа могут иметь разнообразные возможности. Имеется статья об их использовании и видах систем обнаружения атак Средства выявления топологии сети и сканеры портов Эти программы позволяют составить полную картину того, как устроена ваша сеть и какие компьютеры в ней работают, а также выявить все сервисы, которые работают на каждой машине. Атакующие используют эти средства для выявления уязвимых компьютеров и программ на них. Системные администраторы должны использовать эти средства для наблюдения за тем, какие программы и на каких компьютерах работают в их сети. С их помощью можно обнаружить неправильно сконфигурированные программы на компьютерах и установить исправления на них. Группа по расследованию происшествий с безопасностью В каждой сети, независимо от того, насколько она безопасна, происходят какие-либо события, связанные с безопасностью (может быть даже ложные тревоги). Сотрудники организации должны заранее знать, что нужно делать в том или ином случае. Важно заранее определить следующие моменты - когда вызывать правоохранительные органы, когда вызывать сотрудников группы по борьбе с компьютерными преступлениями, когда следует отключить сеть от Интернет, и что делать в случае компрометации важного сервера. CERT предоставляет общие консультации в рамках США. FedCIRC отвечает за консультирование гражданских государственных учреждений в США. Политики безопасностиСистема сетевой безопасности насколько сильна, насколько сильно защищено самое слабое ее место. Если в рамках одной организации имеется несколько сетей с различными политиками безопасности, то одна сеть может быть скомпрометирована из-за плохой безопасности другой сети. Организации должны написать политику безопасности, в которой определялся бы ожидаемый уровень защиты, который должен быть везде единообразно реализован. Самым важным аспектом политики является выработка единых требований к тому, какой трафик должен пропускаться через межсетевые экраны сети. Также политика должна определять как и какие средства защиты (например, средства обнаружения атак или сканеры уязвимых мест) должны использоваться в сети. Для достижения единого уровня безопасности политика должна определять стандартные безопасные конфигурации для различных типов компьютеров. Тестирование межсетевых экранов и WWW-серверов на устойчивость к попыткам их блокирования Атаки на блокирование компьютера распространены в Интернет. Атакующие постоянно выводят из строя WWW-сайты, перегружают компьютеры или переполняют сети бессмысленными пакетами. Атаки этого типа могут быть очень серьезными, особенно если атакующий настолько умен, что организовал продолжительную атаку, у которой не выявить источник. Сети, заботящиеся о безопасности, могут организовать атаки против себя сами, чтобы определить, какой ущерб может быть нанесен им. Мы рекомендуем проводить этот вид анализа на уязвимость только опытным системным администраторам или специальным консультантам.

Введение

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

Исследования в области обнаружения атак на компьютерные сети и системы на самом деле ведутся за рубежом уже больше четверти века. Исследуются признаки атак, разрабатываются и эксплуатируются методы и средства обнаружения попыток несанкционированного проникновения через системы защиты, как межсетевой, так и локальной — на логическом и даже на физическом уровнях. В действительности, сюда можно отнести даже исследования в области ПЭМИН , поскольку электромагнитный тамперинг имеет свои прямые аналоги в уже ставшей обычной для рядового компьютерного пользователя сетевой среде. На российском рынке широко представлены коммерческие системы обнаружения вторжений и атак (СОА) иностранных компаний (ISS RealSecure, NetPatrol, Snort, Cisco и т.д.) и в тоже время практически не представлены комплексные решения российских разработчиков. Это вызвано тем, что многие отечественные исследователи и разработчики реализуют СОА, сохраняя аналогии архитектур и типовых решений уже известных систем, не особенно стараясь увеличить эффективность превентивного обнаружения атак и реагирования на них. Конкурентные преимущества в этом сегменте российского рынка достигаются обычно за счет существенного снижения цены и упования на "поддержку отечественного производителя".

Рисунок 2. Информационная пирамида

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

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

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

  1. Уровень прикладного ПО , с которым работает конечный пользователь информационной системы. Прикладное программное обеспечение зачастую имеет уязвимости, которые могут использовать злоумышленники для доступа к обрабатываемым данным ПО.
  2. Уровень СУБД. Уровень СУБД является частным случаем средств прикладного уровня, но должен выделяться в отдельный класс в силу своей специфики. СУБД, как правило, имеет свою собственную систему политик безопасности и организации доступа пользователей, которую нельзя не учитывать при организации защиты.
  3. Уровень операционной системы. Операционная система компьютеров защищаемой ИС является важным звеном защиты, поскольку любое прикладное ПО использует средства, предоставляемые именно ОС. Бесполезно совершенствовать качество и надежность прикладного ПО, если оно эксплуатируется на незащищенной ОС.
  4. Уровень среды передачи. Современные ИС подразумевают использование различных сред передачи данных для взаимосвязи аппаратных компонентов, входящих в состав ИС. Среды передачи данных являются на сегодня одними из самых незащищенных компонентов ИС. Контроль среды передачи и передаваемых данных является одной из обязательных составляющих механизмов защиты данных.

Иллюстративно уровни обработки потоков данных в информационной системе представлены на .

Рисунок 3. Уровни обработки информации в информационной системе

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

Использование знаний об угрозах ИБ для обнаружения атак на информационную систему

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

Если рассмотреть U — множество угроз безопасности рассматриваемой информационной системы, то u i О U — i-я угроза. В предположении, что множество угроз конечно, будем считать, что реализация i-ой угрозы может с некоторой вероятностью приводить к возможности реализации других угроз. При этом возникает задача вычисления P(u|u i1 ,u i2 ,...,u ik) — вероятности реализации угрозы u, при условии реализации угроз u i1 ,u i2 ,...,u ik (см. ).

Рисунок 4. Вид графа зависимости угроз ИБ

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

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

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

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

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

Повышение эффективности систем обнаружения атак — интегральный подход

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

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

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

  • опробование портов;
  • идентификация программных и аппаратных средств;
  • сбор баннеров;
  • применение эксплоитов;
  • дезорганизация функционала сети с помощью атак на отказ в обслуживании;
  • управление через бэкдоры;
  • поиск установленных троянов;
  • поиск прокси-серверов;
  • удаление следов присутствия;
  • и т.д. (по необходимости с различной степенью детализации).

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

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

Рисунок 5. Схема интегрального обнаружения компьютерных атак

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

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

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

Для поиска сигнатур в сетевых пакетах используются правила, формирующие перечень опций (паспорт), по которым осуществляется проверка поступающих сетевых пакетов. Существующие системы (как, например, Snort или PreludeIDS, которая использует правила Snort) применяют строчный вид описаний таких правил:

Alert tcp $HOME_NET 1024:65535 ->
$EXTERNAL_NET 1024:65535
(msg:"BLEEDING-EDGE TROJAN Trojan.Win32.Qhost C&C Traffic Outbound (case1)";
flow:established;
dsize:>1000;
content:"|00 00 00 28 0a 00 00 02 0f|Service Pack 1|00|";
classtype:trojan-activity;
reference: url,/www.viruslist.com/en/viruses/ encyclopedia?virusid=142254;
sid:2007578;
rev:1;
)

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

Type_defs {
alert = 1;
warning = 2;
fail = 4;
}
srcdst_defs {
HOME_NET = 195.208.245.212
localhost = 127.0.0.1
}
proto_defs {
tcp = 1;
udp = 2;
tcp-flow = 10;
}
phase_defs {
port_scanning = 1;
exploiting = 2;
icmp_sweeping = 3;
ftp_bouncing = 4;
shell_using = 5;
dir_listing = 6;
file_opening = 7;
}

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

Treat_defs = {
treat {
name = file-unauthorised-access;
id = FUAC;
msg = "message in english";
}
}

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

Service_defs = {
service {
name = pop3;
msg = "";
rulesets = "backdoors, pop3scanners";
security_tolerance = 3
life_insurance = 5
}
}

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

Ruleset {
name = backdoors;
rule {
id = 0x1000;
type = alert;
proto = tcp;
src = localhost;
dst = 195.208.245.0/24:2000;
msg = "service::what is bad in this alert";
options = AP,vice_versa;
contains = "|0a0a0d03|";
phase = exploiting;
treat = file-unauthorized-access;
revision = 1;
}
}

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

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

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

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

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

Наиболее сложные в проверке правила (шаблоны) можно предварительно компилировать в бинарные подключаемые модули (как это сделано, например, в системе RealSecure IDS).

Заключение

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

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

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

Распознавание известных атак и предупреждение о них соответствующего персонала.

- "Понимание" зачастую непонятных источников информации об атаках.

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

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

Контроль всех действий субъектов корпоративной сети (пользователей, программ, процессов и т.д.).

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

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

Контроль узлов сети с неустановленными обновлениями или узлов с устаревшим программным обеспечением.

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

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

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

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

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

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

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

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

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

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

На сегодняшний день считается неизвестным, сколько существует методов атак. Говорят о том, что до сих пор отсутствуют какие-либо серьезные математические исследования в этой области. Но еще в 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 обоим участникам сетевого соединения от имени каждого из них (в системе обнаружения атак, функционирующей на уровне сети);
    • блокировка учетной записи пользователя, осуществляющего атаку (в системе обнаружения атак на уровне узла). Такая блокировка может быть осуществлена либо на заданный промежуток времени, либо до тех пор, пока учетная запись не будет разблокирована администратором. В зависимости от привилегий, с которыми запущена система обнаружения атак, блокировка может действовать как в пределах самого компьютера, на который направлена атака, так и в пределах всего домена сети.
  • Реконфигурация сетевого оборудования или межсетевых экранов. В случае обнаружения атаки на маршрутизатор или межсетевой экран посылается команда на изменение списка контроля доступа. Впоследствии все попытки соединения с атакующего узла будут отвергаться. Как и блокировка учетной записи злоумышленника, изменение списка контроля доступа может быть осуществлено или на заданный интервал времени или до того момента, как изменение будет отменено администратором реконфигурируемого сетевого оборудования.
  • Блокирование сетевого трафика так, как это реализовано в межсетевых экранах. Этот вариант позволяет ограничить трафик, а также адресатов, которые могут получить доступ к ресурсам защищаемого компьютера, позволяя выполнять функции доступные в персональных межсетевых экранах.

Компьютерная атака

"...Компьютерная атака: целенаправленное , на ресурс автоматизированной информационной системы или получение несанкционированного доступа к ним с применением программных или программно-аппаратных средств..."

Источник:

"ЗАЩИТА ИНФОРМАЦИИ. ОБЪЕКТ ИНФОРМАТИЗАЦИИ. ФАКТОРЫ, ВОЗДЕЙСТВУЮЩИЕ НА ИНФОРМАЦИЮ. ОБЩИЕ ПОЛОЖЕНИЯ. ГОСТ Р 51275-2006 "

(утв. Приказом Ростехрегулирования от 27.12.2006 N 374-ст)


Официальная терминология . Академик.ру . 2012 .

Смотреть что такое "Компьютерная атака" в других словарях:

    компьютерная атака - Целенаправленное несанкционированное воздействие на информацию, на ресурс информационной системы или получение несанкционированного доступа к ним с применением программных или программно аппаратных средств. [Р 50.1.056 2005 ] Тематики защита… … Справочник технического переводчика

    компьютерная атака - 3.11 компьютерная атака: Целенаправленное несанкционированное воздействие на информацию, на ресурс автоматизированной информационной системы или получение несанкционированного доступа к ним с применением программных или программно аппаратных… …

    сетевая атака - 3.12 сетевая атака: Компьютерная атака с использованием протоколов межсетевого взаимодействия , . Источник: ГОСТ Р 51275 2006: Защита информации. Объект информатизации. Факторы, воздействующие на информацию. Общие положенияСловарь-справочник терминов нормативно-технической документации

    Сетевая атака: компьютерная атака с использованием протоколов межсетевого взаимодействия... Источник: ЗАЩИТА ИНФОРМАЦИИ. ОБЪЕКТ ИНФОРМАТИЗАЦИИ. ФАКТОРЫ, ВОЗДЕЙСТВУЮЩИЕ НА ИНФОРМАЦИЮ. ОБЩИЕ ПОЛОЖЕНИЯ. ГОСТ Р 51275 2006 (утв. Приказом… … Официальная терминология

    Чапаев (компьютерная игра) - Компьютерная игра Чапаев 3D «Чапаев», или «Чапаевцы» советская настольная игра, получившая название по фамилии героя Гражданской войны Василия Ивановича Чапаева. Эта игра родственна бильярду и особенно близка к таким играм, как карром, крокинол,… … Википедия

    StarCraft (компьютерная игра) - StarCraft Обложка оригинального компакт диска Разработчик Blizzard Entertainment Издатели Blizzard Entertainment, Sierra Entertainment, Soft Club Локализатор … Википедия

    Война и мир (компьютерная игра)

    Вторая корона (компьютерная игра) - Knights and Merchants: The Shattered Kingdom Разработчик Joymania Entertainment Издатель TopWare Interactive … Википедия