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

"Пассивные" атаки с помощью, например, 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-программы могут модифицировать содержимое

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

Пассивные;

Активные.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы обеспечить безопасность компьютера, нужно знать, какие сетевые атаки могут ему угрожать. Все известные угрозы можно условно разделить на три группы:

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

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

DOS-атаки бывают двух типов. :

— компьютеру-жертве отправляются специально сформированные пакеты, которые приводят к перезагрузке системы или ее остановке

— компьютеру-жертве отправляется большое количество пакетов в единицу времени, он не справляется с их обработкой. Следствие – исчерпание ресурсов системы.

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

Более распространенные виды атак, которые используют сетевые сервисы операционной системы:

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

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

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

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

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

  • пассивное
  • активное

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

Пассивное удаленное воздействие практически невозможно обнаружить.

Пример: прослушивание канала связи в сети.

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

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

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

  • нарушение конфиденциальности информации
  • нарушение целостности информации
  • нарушение работоспособности (доступности) системы

При перехвате информации нарушается её конфиденциальность.

Пример: прослушивание канала в сети.

При искажении информации нарушается её целостность.

Пример: внедрение ложного объекта в РВС.

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

3. По условию начала осуществления воздействия

  • Атака по запросу от атакуемого объекта
  • Атака по наступлению ожидаемого события на атакуемом объекте
  • Безусловная атака

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

Пример: DNS- и ARP-запросы в стеке TCP /IP .

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

Инициатором осуществления начала атаки является атакуемый объект.

Пример: прерывание сеанса работы пользователя с сервером в сетевых ОС без выдачи команды LOGOUT.

В случае безусловной атаки начало её осуществления безусловно по отношению к цели атаки, то есть атака осуществляется немедленно и безотносительно к состоянию системы и атакуемого объекта. Следовательно, в этом случае атакующий является инициатором начала осуществления атаки.

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

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

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

Атака без обратной связи - атака, происходящая без реакции на поведение атакуемой системы.

Пример: отказ в обслуживании (DoS ).

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

  • внутрисегментное
  • межсегментное

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

Межсегментная атака - атака, при которой субъект и объект атаки находятся в разных сегментах сети.

6. По количеству атакующих

  • распределённая
  • нераспределённая

Распределённая атака - атака, производимая двумя или более атакующими на одну и ту же вычислительную систему, объединёнными единым замыслом и во времени.

Нераспределённая атака проводится одним атакующим.

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

  • физический
  • канальный
  • сетевой
  • транспортный
  • сеансовый
  • представительный
  • прикладной

2. Классификация способов обнаружения и защиты от атак

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

информации по уровням модели ISO/OSI

в стандарте ISO 7498-2.

Физический уровень.

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

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

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

Канальный уровень

Согласно ISO 7498-2, средствами, предоставляемыми на канальном уровне, являются конфиденциальность для соединений и конфиденциальность для дейтаграмм.

Средства секретности канального уровня обычно обеспечиваются на основе точка-точка, как и средства физического уровня. И снова, область действия средств должна заканчиваться в местах, где находятся взаимодействующие равноправные сущности, то есть конечные системы и коммутаторы. В среде ЛВС(ГВС) средства секретности также могут предоставляться для широковещательной или групповой передачи, на основе технологий ЛВС, а также канала точка-точка.

Сетевой уровень

Средства секретности сетевого уровня могут предоставляться между конечными системами в сети, независимо от используемых коммутаторов (например коммутаторов пакетов Х.25). ISO 7498-2 отмечает применимость нескольких средств секретности для этого уровня: конфиденциальность для соединений, конфиденциальность для дейтаграмм, конфиденциальность потока данных, целостность (для соединений без восстановления и для дейтаграмм), аутентификацию источника данных и взаимодействующих сущностей, а также управление доступом.

Транспортный уровень

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

Сеансовый уровень

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

Представительный уровень

Так как этот уровень используется для преобразования данных между обычным и сетевым представлениями, то выгодно шифровать данные на этом уровне, а не на прикладном. Если приложение выполняет шифрование, оно предохраняет представительный уровень от реализации этой функции. Это аргумент против реализации шифрования на прикладном уровне для приложений, которые взаимодействуют напрямую (а не через посредников). Альтернативой этому является дублирование возможностей представительного уровня в приложениях. В стеке TCP/IP, из-за того, что функции представления включены в состав приложений, а не выделены в отдельный уровень, этот конфликт преодолен.

Прикладной уровень

ISO 7498-2 утверждает, что все секретные средства могут быть предоставлены на прикладном уровне, а контроль за участниками взаимодействия может быть предоставлен только на этом уровне. Тем не менее, предоставление некоторых средств на этом уровне вызывает проблемы из-за конфликта с возможностями представительного уровня. Это ограничение обходится для случая приложений с многоэтапной доставкой данных, например средств электронной почты или справочника(спецификации Х.400 и Х.500). Этот конфликт также преодолен в стеке TCP/IP, в котором функции представления обычно включены в приложения.

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

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

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

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

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

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

По технологии обнаружения

· обнаружение аномалий (anomaly detection)

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

· обнаружение злоупотреблений (misuse detection)

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

По уровню обнаружения

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

Системы обнаружения атак сетевого уровня используют в качестве источника данных для анализа необработанные (raw) сетевые пакеты. Как правило, системы обнаружения атак (Intrusion Detection Systems, IDS) сетевого уровня используют сетевой адаптер, функционирующий в режиме "прослушивания " (promiscuous), и анализируют трафик в реальном масштабе времени по мере его прохождения через сегмент сети. Модуль распознавания атак использует четыре широко известных метода для распознавания сигнатуры атаки:

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

· Контроль частоты событий или превышение пороговой величины;

· Корреляция нескольких событий с низким приоритетом;

· Обнаружение статистических аномалий.

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

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

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

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

2.Обнаружение атак, которые пропускаются на системном уровне . IDS сетевого уровня изучают заголовки сетевых пакетов на наличие подозрительной или враждебной деятельности. IDS системного уровня не работают с заголовками пакетов, следовательно, они не могут определять эти типы атак. Например, многие сетевые атаки типа "отказ в обслуживании" ("denial-of-service") и "фрагментированный пакет" (TearDrop) могут быть идентифицированы только путем анализа заголовков пакетов, по мере того, как они проходят через сеть. Этот тип атак может быть быстро идентифицирован с помощью IDS сетевого уровня, которая просматривает трафик в реальном масштабе времени. IDS сетевого уровня могут исследовать содержание тела данных пакета, отыскивая команды или определенный синтаксис, используемые в конкретных атаках. Например, когда хакер пытается использовать программу Back Orifice на системах, которые пока еще не поражены ею, то этот факт может быть обнаружен путем исследования именно содержания тела данных пакета. Как говорилось выше, системы системного уровня не работают на сетевом уровне, и поэтому не способны распознавать такие атаки.

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

4.Обнаружение и реагирование в реальном масштабе времени . IDS сетевого уровня обнаруживают подозрительные и враждебные атаки ПО МЕРЕ ТОГО, КАК ОНИ ПРОИСХОДЯТ, и поэтому обеспечивают гораздо более быстрое уведомление и реагирование, чем IDS системного уровня. Например, хакер, инициирующий атаку сетевого уровня типа "отказ в обслуживании" на основе протокола TCP, может быть остановлен IDS сетевого уровня, посылающей установленный флаг Reset в заголовке TCP-пакета для завершения соединения с атакующим узлом, прежде чем атака вызовет разрушения или повреждения атакуемого хоста. IDS системного уровня, как правило, не распознают атаки до момента соответствующей записи в журнал и предпринимают ответные действия уже после того, как была сделана запись. К этому моменту наиболее важные системы или ресурсы уже могут быть скомпрометированы или нарушена работоспособность системы, запускающей IDS системного уровня. Уведомление в реальном масштабе времени позволяет быстро среагировать в соответствии с предварительно определенными параметрами. Диапазон этих реакций изменяется от разрешения проникновения в режиме наблюдения для того, чтобы собрать информацию об атаке и атакующем, до немедленного завершения атаки.

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

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

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

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

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

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

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

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

2.Контролирует деятельность конкретного узла . IDS системного уровня контролирует деятельность пользователя, доступ к файлам, изменения прав доступа к файлам, попытки установки новых программ и/или попытки получить доступ к привилегированным сервисам. Например, IDS системного уровня может контролировать всю logon- и logoff-деятельность пользователя, а также действия, выполняемые каждым пользователем при подключении к сети. Для системы сетевого уровня очень трудно обеспечить такой уровень детализации событий. Технология обнаружения атак на системном уровне может также контролировать деятельность, которая обычно ведется только администратором. Операционные системы регистрируют любое событие, при котором добавляются, удаляются или изменяются учетные записи пользователей. IDS системного уровня могут обнаруживать соответствующее изменение сразу, как только оно происходит. IDS системного уровня могут также проводить аудит изменений политики безопасности, которые влияют на то, как системы осуществляют отслеживание в своих журналах регистрации и т.д.

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

3.Обнаружение атак, которые упускают системы сетевого уровня . IDS системного уровня могут обнаруживать атаки, которые не могут быть обнаружены средствами сетевого уровня. Например, атаки, осуществляемые с самого атакуемого сервера, не могут быть обнаружены системами обнаружения атак сетевого уровня.

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

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

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

5.Обнаружение и реагирование почти в реальном масштабе времени . Хотя обнаружение атак на системном уровне не обеспечивает реагирования в действительно реальном масштабе времени, оно, при правильной реализации, может быть осуществлено почти в реальном масштабе. В отличие от устаревших систем, которые проверяют статус и содержания журналов регистрации через заранее определенные интервалы, многие современные IDS системного уровня получают прерывание от ОС, как только появляется новая запись в журнале регистрации. Эта новая запись может быть обработана сразу же, значительно уменьшая время между распознаванием атаки и реагированием на нее. Остается задержка между моментом записи операционной системой события в журнал регистрации и моментом распознавания ее системой обнаружения атак, но во многих случаях злоумышленник может быть обнаружен и остановлен прежде, чем нанесет какой-либо ущерб.

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

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

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

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

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

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