Обнаружение атак. Поиск уязвимостей компонентов информационной системы

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Обнаружение атак. Поиск уязвимостей компонентов информационной системы

  • СОДЕРЖАНИЕ
  • ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ТЕРМИНОВ
  • ВВЕДЕНИЕ
  • 1 . КОНЦЕПЦИЯ АДАПТИВНОГО УПРАВЛЕНИЯ БЕЗОПАСНОСТЬЮ
  • 1.1 Этапы осуществления атаки
  • 2 . ТЕХНОЛОГИЯ АНАЛИЗА ЗАЩИЩЕННОСТИ
  • 2.1 Средства анализа защищенности сетевых протоколов и сервисов
  • 2.2 Средства анализа защищенности ОС
  • 3 . ТЕХНОЛОГИИ ОБНАРУЖЕНИЯ АТАК
  • 3.1 Методы анализа сетевой информации
  • 3.2 Классификация систем обнаружения атак IDS
  • 3.3 Поиск уязвимостей в современных системах IDS
  • 3.3.1 Метод поиска различий
  • 3.3.2 Проведение тестирования
  • 3.3.3 Результаты исследований
  • 3.3.4 Поиск уязвимостей в IDS
  • 3.4 Компоненты и архитектура IDS
  • 3.5 Методы реагирования на атаки
  • ВЫВОДЫ
  • ЛИТЕРАТУРА
  • ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ТЕРМИНОВ
  • КИС - корпоративные информационные системы
  • СИБ - система информационной безопасности
  • ОС - операционная система
  • ПО - программное обеспечение
  • СУБД - системы управления базы данных
  • ИС - информационная система
  • БД - база данных
  • IDS -- Intrusion Detection System
  • ВВЕДЕНИЕ

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

Электронная коммерция, продажа информации в режиме on-line и многие другие услуги становятся основными видами деятельности для многих компаний, а их корпоративные информационные системы (КИС) -- главным инструментом управления бизнесом и, фактически, важнейшим средством производства.

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

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

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

применение открытых стандартов",

использование интегрированных решений;

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

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

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

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

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

криптографическая защита данных для обеспечения конфиденциальности, целостности и подлинности информации;

технологии аутентификации для проверки подлинности пользователей и объектов сети;

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

технологии виртуальных защищенных каналов и сетей VPN для защиты информации, передаваемой по открытым каналам связи;

гарантированная идентификация пользователей путем применения токенов (смарт-карт, touch-memory, ключей для USB-портов и т. п.) и других средств аутентификации;

управление доступом на уровне пользователей и защита от несанкционированного доступа к информации;

поддержка инфраструктуры управления открытыми ключами PKI;

технологии обнаружения вторжений (Intrusion Detection) для активного исследования защищенности информационных ресурсов;

технологии защиты от вирусов с использованием специализированных комплексов антивирусной профилактики и защиты;

централизованное управление СИБ на базе единой политики безопасности предприятия;

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

1. КОНЦЕПЦИЯ АДАПТИВНОГО УПРАВЛЕНИЯ БЕЗОПАСНОСТЬЮ

1.1 Этапы осуществления атаки

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

Архитектура КИС включает в себя четыре уровня.

ѕ уровень прикладного программного обеспечения (ПО), отвечающий за взаимодействие с пользователем. Примером элементов ИС, работающих на этом уровне, можно назвать текстовый редактор WinWord, редактор электронных таблиц Excel, почтовую программу Outlook и т. д.

ѕ уровень системы управления базами данных (СУБД), отвечающий за хранение и обработку данных ИС. Примером элементов ИС, работающих на этом уровне, можно назвать СУБД Oracle, MS SQL Server, Sybase и MS Access.

ѕ уровень операционной системы (ОС), отвечающий за обслуживание СУБД и прикладного ПО. Примером элементов ИС, работающих на этом уровне, можно назвать ОС Microsoft Windows NT/2000/XP, Sun Solaris, Novell Netware.

ѕ уровень сети, отвечающий за взаимодействие узлов ИС. Примером элементов ИС, работающих на этом уровне, можно назвать стеки протоколов TCP/IP, IPS/SPX и SMB/NetBIOS.

Злоумышленник располагает широким спектром возможностей для нарушения безопасности КИС. Эти возможности могут быть реализованы на всех четырех перечисленных выше уровнях КИС. Например, для получения НСД к финансовой информации в СУБД MS SQL Server злоумышленник может реализовать одну из следующих возможностей:

a) перехватить передаваемые по сети данные (уровень сети);

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

Рассмотрим этапы осуществления атаки на КИС (рис. 1.1) .

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

Рис. 1.1 Этапы осуществления атаки

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

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

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

1.2 Адаптивное управление безопасностью

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

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

Адаптивная безопасность сети состоит из трех основных элементов :

ѕ технологии анализа защищенности (security assessment);

ѕ технологии обнаружения атак (intrusion detection);

ѕ технологии управления рисками (risk management).

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

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

Перечислим некоторые из проблем, идентифицируемых технологией анализа защищенности:

a) «люки» в системах (back door) и программы типа «троянский конь»;

b) слабые пароли;

c) восприимчивость к проникновению из незащищенных систем и атакам типа «отказ в обслуживании»;

d) отсутствие необходимых обновлений (patch, hotfix) ОС;

e) неправильная настройка МЭ, Web-серверов и БД и многие другие.

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

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

Рис. 1.2. Взаимодействие систем анализа защищенности и обнаружения атак

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

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

1. отправление уведомлений системам сетевого управления по протоколу SNMP, по электронной почте или на пейджер администратору;

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

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

Рис. 1.3 Модель адаптивной безопасности

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

2 . ТЕХНОЛОГИЯ АНАЛИЗА ЗАЩИЩЕННОСТИ

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

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

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

Наибольшее распространение получили средства анализа защищенности сетевых сервисов и протоколов. Обусловлено это, в первую очередь, универсальностью используемых протоколов. Изученность и повсеместное использование таких протоколов, как IP, TCP, HTTP, FTP, SMTP и т. п., позволяют с высокой степенью эффективности проверять защищенность ИС, работающей в сетевом окружении.

Вторыми по распространенности являются средства анализа защищенности ОС. Обусловлено это также универсальностью и распространенностью некоторых ОС (например, UNIX и Windows NT).*

Средства анализа защищенности приложений пока существуют только для широко распространенных прикладных систем типа Web-браузеры и СУБД.

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

2.1 Средства анализа защищенности сетевых протоколов и сервисов

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

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

В настоящее время известно более десятка различных средств, автоматизирующих поиск уязвимостей сетевых протоколов и сервисов. Среди коммерческих систем анализа защищенности можно назвать Internet Scanner компании Internet Security Systems, Inc., NetSonar компании Cisco, CyberCop Scanner компании Network Associates и ряд других.

Типичная схема проведения анализа защищенности (на примере системы Internet Scanner) приведена на рис. 2.1

Рис. 2.1. Схема проведения анализа защищенности (на примере системы Internet Scanner)

Средства анализа защищенности данного класса анализируют не только уязвимость сетевых сервисов и протоколов, но и системного и прикладного ПО, отвечающего за работу с сетью. К такому обеспечению можно отнести Web-, FTP- и почтовые серверы, МЭ, браузеры и т. п.

2.2 Средства анализа защищенности ОС

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

ѕ учетные записи пользователей (account), например длину пароля и срок его действия;

ѕ права пользователей на доступ к критичным системным файлам;

ѕ уязвимые системные файлы;

ѕ установленные патчи (patch) и т. п.

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

В отличие от средств анализа защищенности сетевого уровня данные системы проводят сканирование не снаружи, а изнутри анализируемой системы, т. е. они не имитируют атакивнешних злоумышленников. Кроме возможностей по обнаружению уязвимостей, некоторые системы анализа защищенности на уровне ОС (например, System Scanner компании Internet Security Systems) позволяют автоматически устранять часть обнаруженных проблем или корректировать параметры системы, не удовлетворяющие политике безопасности, принятой в организации.

3 . ТЕХНОЛОГИИ ОБНАРУЖЕНИЯ АТАК

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

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

3.1 Методы анализа сетевой информации

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

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

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

a) «статистические» системы не чувствительны к порядку следования событий; в некоторых случаях одни и те же события в зависимости от порядка их следования могут характеризовать аномальную или нормальную деятельность;

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

c) «статистические» системы могут быть с течением времени «обучены» нарушителями так, чтобы атакующие действия рассматривались как нормальные.

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

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

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

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

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

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

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

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

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

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

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

Механизмы, применяемые в современных системах обнаружения атак IDS (Intrusion Detection System), основаны на нескольких общих методах, которые не являются взаимоисключающими. Во многих системах используются их комбинации.

Классификация IDS может быть выполнена:

ѕ по способу реагирования;

ѕ способу выявления атаки;

ѕ способу сбора информации об атаке.

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

По способу выявления атаки системы IDS принято делить на две категории:

a) обнаружение аномального поведения (anomaly-based);

b) обнаружение злоупотреблений (misuse detection или signature-based).

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

Если можно было бы однозначно описать профиль нормального поведения пользователя, то любое отклонение от него можно идентифицировать как аномальное поведение. Однако аномальное поведение не всегда является атакой. Например, одновременную посылку большого числа запросов от администратора сети система обнаружения атак может идентифицировать как атаку типа «отказ в обслуживании» («denial of service»).

При использовании системы с такой технологией возможны два случая:

1. обнаружение аномального поведения, которое не является атакой, и отнесение его к классу атак;

2. пропуск атаки, которая не подпадает под определение аномального поведения. Этот случай более опасен, чем ложное отнесение аномального поведения к классу атак.

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

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

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

Наиболее популярна классификация по способу сбора информации об атаке:

a) обнаружение атак на уровне сети (network-based);

b) обнаружение атак на уровне хоста (host-based);

c) обнаружение атак на уровне приложения (application-based).

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

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

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

Система application-based основана на поиске проблем в определенном приложении.

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

3.3 Поиск уязвимостей в современных системах IDS

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

Сетевые системы обнаружения атак (IDS -- Intrusion Detection System), построенные по классической архитектуре, могут быть легко скомпрометированы, хотя ранее считалось, что их использование позволяет остановить многие сетевые атаки .

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

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

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

· как и любые программные продукты, IDS содержит ошибки, внесенные на стадии разработки или реализации;

· возможно неправильное конфигурирование IDS во время установки или администрирования;

· IDS и атакуемые системы решают различные задачи.

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

Рис. 3.1 Метод вставки

В общем случае можно сказать, что метод вставки применим, когда стек протоколов в IDS реализован менее строго, чем в целевой системе. Естественное решение данной проблемы -- создать стек протоколов настолько строгим, насколько возможно. Однако в этом случае появляется возможность использовать другой метод сокрытия -- метод уклонения, при котором целевая система примет, а сетевая система обнаружения вторжений отбросит пакеты (рис. 3.2).

Рис.3.2 Метод уклонения

3.3.1 Метод поиска различий

Итак, для успешного использования методов сокрытия необходимо найти различия в реализации стеков TCP/IP. Для этого используются специально подготовленные тестирующие сетевые пакеты, позволяющие анализировать реакцию IDS и целевых систем.

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

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

Для метода поиска различий, прежде всего, были выделены уровни сетевого взаимодействия, на которых проводится поиск. При проведении исследований рассматривались средства IDS, работающие в сетях TCP/IP. Для данного стека протоколов принята четырехуровневая модель: канальный, сетевой, транспортный и прикладной. Для создания полной картины существующих различий методика поиска затрагивала все 4 уровня. Кроме того, необходимо выявить признаки сетевых пакетов, по которым система принимает решение, что пришедший пакет некорректный и его следует отбросить.

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

· обработка некорректных заголовков кадров канального уровня (Ethernet);

· обработка некорректных пакетов сетевого уровня (IP);

· обработка некорректных заголовков сегментов транспортного уровня (TCP);

· обработка IP-фрагментов;

· обработка TCP-фрагментов;

· обработка различных комбинаций TCP-флагов;

· обработка пакетов с неправильными порядковыми номерами протокола TCP;

· обработка некорректного HTTP-сеанса.

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

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

a) Обработка заголовков. Назначение данных тестов - определить, каким образом происходит обработка заголовков сетевых пакетов, и какие заголовки система считает некорректными. Тестирование проводится в четыре этапа:

ѕ обработка некорректных пакетов канального уровня;

ѕ обработка некорректного IP-заголовка;

ѕ обработка некорректного TCP-заголовка;

ѕ посылка TCP-сегмента с неправильным номером очереди.

b) Обработка фрагментов. Данный класс тестов предназначен для определения той стороны реализации стека, которая связана с обработкой TCP- и IP-фрагментов. Проведение тестов проходило в четыре этапа:

ѕ посылка IP-фрагментов с некорректным заголовком канального и сетевого уровней;

ѕ посылка TCP-фрагментов с некорректным заголовком канального, сетевого и транспортного уровней;

ѕ посылка IP- и TCP-фрагментов в различной последовательности (произвольный порядок, обратный порядок, посылка повторяющихся пакетов);

ѕ посылка частично и полностью перекрывающихся IP- и TCP-пакетов.

c) Обработка флагов TCP. Эти тесты предназначены для определения того, как система обработает различные комбинации флагов TCP-сегмента при передаче потока данных. Рассматривались восемь комбинаций флагов ACK, SYN, FIN. Интересовало новое состояние TCP-соединения, реакция целевой системы (какие TCP-сегменты система пошлет в ответ) и поведение системы обнаружения вторжений.

d) Обработка HTTP-сеанса. При проведении этого теста проверялась обработка некорректного HTTP-запроса, начинающегося с двух символов начала строки (0x0D, 0x0A, 0x0D, 0x0A). По спецификации данными символами должен заканчиваться запрос к Web-серверу. Проведение теста тесно связано с логикой обработки TCP-сегментов с неправильными номерами очередей, результаты по которым были получены ранее.

3.3.2 Проведение тестирования

Тестирование реализации стеков операционной системы и IDS проводилось на макете, состоящем из двух компьютеров, объединенных сетью Ethernet. Хост, с которого проводилось тестирование, назывался «атакующей системой», а тестируемый хост -- «целевой системой» (рис. 3). На хосте имелся файл с названием PHF. Доступ к данному файлу моделировал доступ к уязвимому сценарию phf (В случае HTTP-запроса с атакующей системы к этому файлу Web-сервер передавал его содержимое атакующему, что говорило об успехе атаки. Совсем необязательно выполнять сам сценарий на Web-сервере: если Web-сервер выдал содержимое файла, можно считать, что атака состоялась. Атакующий мог видеть результат атаки на экране с помощью запущенного сетевого анализатора Snort. В случае успеха Snort перехватывал содержимое файла PHF. Обращение к файлу PHF выбрано не случайно. Во-первых, в рассматривали также обращение к PHF. Во-вторых, данная уязвимость была обнаружена в 1996 году и все рассмотренные IDS имели правила для поиска такой сигнатуры.

Рис. 3.3 Тестовый макет

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

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

ѕ Установка связи. Программу можно использовать для установления TCP-соединения с удаленным сервером. В качестве параметров трехэтапного квитирования пользователь может выбрать IP-адреса отправителя и получателя, номера портов отправителя и получателя, а также задать начальный номер ISN.

ѕ Разрыв связи. Для разрыва ранее установленного соединения предусмотрена специальная функция. Пользователю предоставляется возможность определить IP-адреса и номера портов отправителя и получателя, а также текущий номер последовательности.

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

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

Особое внимание уделялось выбору систем для тестирования: необходимо было рассмотреть как коммерческие, так и свободно распространяемые средства IDS.

В качестве исследуемых систем IDS были выбраны Snort 1.8.4. beta for Linux , Snort 1.8. for Win32 , eTrust Intrusion Detection 1.0 от Computer Associates , Dragon 5.0 от Enterasys Networks , RealSecure 6.0 от Internet Security Systems. Первые две системы распространяются свободно, для работы остальных понадобился демо-ключ, не ограничивающий функциональные возможности. Операционные системы, защищенные IDS: Windows 98 SE v4.10.2222; Windows 2000 SP2 v5.00.2195; Windows NT 4.0 SP3; Linux Red Hat 7.2 на ядре 2.4.7-10.

Поиск уязвимостей проходил по следующему сценарию.

ѕ исследовалась реализация стека протоколов сетевого взаимодействия целевой системы. Для этого использовался генератор пакетов NetStuff и ранее подготовленные тестирующие последовательности сетевых пакетов. Инициировался запрос к файлу PHF, хранящемуся на Web-сервере целевой системы. В случае, если Web-сервер обработал запрос и выдавал содержимое файла, можно говорить о том, что конкретная реализация стека целевой системы восприняла текущую тестирующую последовательность, в противном случае, - что стек целевой системы не смог обработать запрос.

ѕ аналогично проводилось тестирование IDS. Если IDS смогла обнаружить сигнатуру атаки "phf" и выдала сообщение об атаке, то можно говорить о том, что IDS восприняла тестирующую последовательность.

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

ѕ последний этап поиска - попытка проведения скрытой атаки методом вставки или сокрытия. Для этого использовались результаты, полученные в предыдущем пункте. В том случае, если удавалось незаметно для IDS получить содержимое файла PHF, можно говорить о том, что найдена новая уязвимость.

3.3.3 Результаты исследований

Действительно существуют различия в реализации стеков протоколов целевых систем и IDS. Эти различия, прежде всего, основаны на неполном описании межсетевого взаимодействия и ошибках проектирования. Большинство таких различий основывается на разном порядке обработки фрагментированного трафика. Также встречались явные недоработки в IDS, например, IDS Snort и Dragon принимают IP-пакеты с неправильной контрольной суммой, а IDS RealSecure 6.0 и eTrust 1.0 -- с неправильной версией протокола IP.

Очень много различий основано на некорректной реализации стеков. Это приводит к тому, что одни и те же ситуации обрабатываются по-разному различными системами. В качестве примера можно привести недостатки в работе IDS Dragon при анализе трафика, направленного ОС Linux RedHat. (Таблица 1)

Таблица 1. Методы сокрытия. Dragon 5.0

ОС целевой системы

Тип атаки

Описание

Linux Red Hat 7.2

Межсегментная

Послать сигнатуру атаки в пакете, содержащий флаг FIN. Целевая система обработает его и ответит, а IDS не будет обрабатывать.

Послать целевой системе произвольный запрос в виде потока TCP-фрагментов. В потоке должны содержаться одинаковые фрагменты. После этого послать сигнатуру атаки, разбитую на несколько ТСР-фрагментов - система ее не обнаружит.

Послать сигнатуру атаки в виде потока ТСР-фрагментов, отправленных в обратном порядке. IDS не обрабатывает такие такие фрагменты.

Внутрисегментная

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

Послать сигнатуру атаки в различных ТСР-фрагментах таким образом, чтобы перед фрагментом, содержащим часть сигнатуры, пришел фрагмент с такими же параметрами, но содержащим произвольные данные и неправильную контрольную сумму IP или направленный на неправильный МАС-адрес. Целевая система не будет рассматривать первый фрагмент, а IDS рассмотрит и оставит как правильный.

a) Прием пакетов, направленных на неправильный Ethernet-адрес.

b) Прием пакетов с неправильной контрольной суммой IP.

d) Отсутствие обработки данных, если они пришли в TCP-сегменте, с установленным флагом FIN.

e) Прием данных полностью, если они пришли в пакете с неправильным номером очереди. (Согласно спецификации протокола TCP, место полезной информации, передаваемой конкретным TCP-сегментом, строго определяется его номером очереди; в случае неправильного номера, целевая система "отрезала" лишние данные.)

f) Прием IP-фрагментов, направленных на неверный Ethernet-адрес.

g) Прием IP-фрагментов с неправильной контрольной суммой IP.

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

i) IDS не обрабатывает поток TCP-фрагментов, пришедших в обратном порядке.

j) IDS оставляет новые данные при посылке частично перекрывающихся TCP-фрагментов, тогда как операционная система оставляет старые.

Также интересны результаты работы IDS RealSecure 6.0, анализирующей трафик для Windows 2000.(Таблица 2)

Таблица 2. Методы сокрытия. eTrust ID 1.0

ОС целевой системы

Тип атаки

Описание

Межсегментная

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

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

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

Внутрисегментная

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

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

ѕ RealSecure 6.0 принимает пакеты, направленные на неправильный Ethernet-адрес.

ѕ IDS принимает пакеты с неправильной версией IP-протокола.

ѕ IDS принимает данные полностью в случае посылки их в TCP-сегменте с неправильным номером очереди, тогда как операционная система "отрезает" лишние данные.

ѕ IDS принимает IP-фрагменты, направленные на неправильный Ethernet-адрес.

ѕ IDS принимает IP-фрагменты с неправильной версией IP-протокола.

ѕ IDS принимает TCP-фрагменты, направленные на неверный Ethernet-адрес.

ѕ IDS принимает TCP-фрагменты с неправильной версией IP-протокола.

ѕ IDS не в состоянии обработать поток TCP-фрагментов в случае посылки их в произвольном порядке.

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

Это же относится и к обработке потока TCP-фрагментов, например Dragon 5.0 и RealSecure 6.0 были не в состоянии обработать некоторые случаи: Dragon 5.0 просто выходил из строя после получения повторяющихся TCP-фрагментов и не обрабатывал поток TCP-фрагментов, пришедших в обратном порядке; RealSecure 6.0 не смог обработать TCP-фрагменты, пришедшие в произвольном порядке. Получается, что для нарушения работы IDS можно просто послать сигнатуру атаки в различной последовательности TCP-фрагментов. Dragon 5.0 не рассматривал TCP-сегменты с установленным флагом FIN, даже если они несли полезную информацию.

Таблица 3. Методы сокрытия. Snort 1.8 for Win32

ОС целевой системы

Тип атаки

Описание

Межсегментная

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

Тот же метод с символами 0x0D 0x0A 0x0D 0x0A в начале. Аналогично версии 1.8.3 для Linux, однако надо посылать перекрывающееся TCP-фрагменты с нулевым смещением данных в TCP-заголовке

Windows NT, Windows 2000

Межсегментная

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

Подобные документы

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

    курсовая работа , добавлен 16.03.2015

    Классификация сетевых атак по уровню модели OSI, по типу, по местоположению злоумышленника и атакуемого объекта. Проблема безопасности IP-сетей. Угрозы и уязвимости беспроводных сетей. Классификация систем обнаружения атак IDS. Концепция XSpider.

    курсовая работа , добавлен 04.11.2014

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

    контрольная работа , добавлен 30.11.2015

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

    дипломная работа , добавлен 21.06.2011

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

    контрольная работа , добавлен 22.03.2012

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

    курсовая работа , добавлен 07.04.2015

    Исследование наиболее распространенных видов сетевых атак. Сетевая разведка. Характеристика способов защиты от сетевых атак с использованием специальных программ. Изучение преимуществ и недостатков сетевых экранов. Переполнение буфера. Вирусные программы.

    реферат , добавлен 23.12.2014

    Удобство и возможности системы предотвращения атак Snort, типы подключаемых модулей: препроцессоры, модули обнаружения, модули вывода. Методы обнаружения атак и цепи правил системы Snort. Ключевые понятия, принцип работы и встроенные действия iptables.

    контрольная работа , добавлен 17.01.2015

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

    дипломная работа , добавлен 05.06.2011

    Проблема безопасности операционных систем. Функции подсистемы безопасности. Идентификация пользователей, программные угрозы (атаки). Типы сетевых атак. Жизненный цикл разработки безопасных программных продуктов. Оценка атак на программное обеспечение.

12.12.2005 Алексей Марков, Сергей Миронов, Валентин Цирлов

Современная нормативная, методическая и инструментальная база выявления недекларированных возможностей программ не позволяет эффективно обеспечивать безопасность программных ресурсов. Данной проблемой занимаются испытательные лаборатории Минобороны, ФСБ и ФСТЭК России, однако большинство уязвимостей обнаруживаются не в соответствии с нормативными документами, а даже вопреки им. Мало того, имеется тенденция увеличения числа уязвимостей в программном коде.

Сегодняшняя нормативная, методическая и инструментальная база выявления недекларированных возможностей программ не позволяет эффективно обеспечивать безопасность программных ресурсов. Данной проблемой занимаются испытательные лаборатории Минобороны, ФСБ и ФСТЭК России, однако большинство уязвимостей обнаруживаются не в соответствии с нормативными документами, а порой даже вопреки им. Мало того, имеется тенденция увеличения числа уязвимостей в программном коде.

Проблемой защиты программ занимаются испытательные лаборатории Минобороны, ФСБ и ФСТЭК России, которые в своей работе опираются на Руководящий документ (РД) Гостехкомиссии России по контролю над недекларированными возможностями . Однако опыт выявления авторами более 20 закладок и тысяч некорректностей кода показал, что большинство из них обнаружены не только не в соответствии с указанным документом, но и порой вопреки ему. Существующая нормативная, методическая и инструментальная база выявления недекларированных возможностей в программном обеспечении не позволяет эффективно обеспечивать безопасность программ.

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

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

Сертификационные испытания

Ограничения Руководящего документа

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

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

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

Инструментальная база испытаний

Чтобы получить аттестат аккредитации ФСТЭК по выявлению недекларированных возможностей, испытательная лаборатория должна иметь сертифицированные инструментальные средства («АИСТ», EMU). Здесь возникают два вопроса.

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

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

Скажем, для анализа кода на языке Си рекомендуется программа «АИСТ-С» (непререкаемый «авторитет» в области анализа кода на наличие недекларированных возможностей). Однако, несмотря на ее очевидные достоинства, установлено, что она некорректно обрабатывает структуры объектно-ориентированных программ, например не анализирует конструктор и деструктор. Не анализируются и исходные тексты, подключаемые директивами #include - лишь проверяется исходный текст программы. Мало того, нормальная работа анализатора возможна, только если объем исходных текстов не превышает нескольких мегабайт: блок-схемы программ строятся некорректно уже для программ объемом более нескольких килобайт. Те же ограничения относятся к построению матрицы связей по информации, да и отчеты не в полной мере соответствуют требованиям РД по недекларированным возможностям. Но главное отставание от реалий дня состоит в том, что это средство вообще не имеет базы сигнатур и умеет анализировать лишь программы на языке Cи/C++.

Организационные проблемы сертификации

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

Способы выявления уязвимостей

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

Очевидно, что второй подход лишен недостатков избыточной структуризации всего программного обеспечения и «проклятья размерности» полномаршрутного тестирования. Поскольку число потенциально опасных операций, как правило, не превышает 5-10% объема программного обеспечения, в десять-двадцать раз снижается время «ручного» анализа исходного текста. В отношении статического и динамического анализа следует подчеркнуть, что результаты статического анализа по сложности интерпретации сопоставимы с исходными текстами, а динамический анализ дополнительно требует составления и реализации соответствующих тестов маршрутов. Таким образом, сигнатурно-эвристический анализ сокращает временные затраты на поиск недекларированных возможностей в десятки раз. Наш опыт показывает, что большинство выявленных на этапе сертификационных испытаний уязвимостей кода обнаружены благодаря использованию именно второго подхода.

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

Развитие нормативной базы возможно в рамках использования новых стандартов и руководящих документов по линии «Общих критериев».

Литература

  1. Руководящий документ. Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей. М.: Гостехкомиссия России, 1998.
  2. Калайда И.А. Недекларированные возможности в программном обеспечении средств защиты информации. Jet Info, 2000, № 8.
  3. Марков А.С., Щербина С.А. Испытания и контроль программных ресурсов. InformationSecurity, 2003, № 6.
  4. Дастин Э., Рэшке Д., Пол Д. Автоматизированное тестирование программного обеспечения: внедрение, управление, эксплуатация. М.: Лори, 2003.
  5. ГОСТ Р ИСО/МЭК 15408-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Части 1, 2, 3. М.: ИПК «Изд-во стандартов», 2002.
  6. Методическое руководство по оценке качества функционирования информационных систем. М.: Изд-во 3 ЦНИИ МО РФ, 2003.
  7. ГОСТ РВ 51719-2001. Испытания программной продукции. М.: ИПК «Изд-во стандартов», 2001.
  8. Руководящий документ. Безопасность информационных технологий. Критерии оценки безопасности информационных технологий. Части 1, 2, 3. - М.: Гостехкомиссия России, 2002.
  9. Скрытые каналы, // Jet Info, 2002, № 11.
  10. Хогланд Г., Мак-Гроу Г. Взлом программного обеспечения: анализ и использование кода. М.: Вильямс, 2005.

Алексей Марков ([email protected] , [email protected] ), Сергей Миронов, Валентин Цирлов - сотрудники Испытательного центра НПП «БИТ», (Москва).

Примеры выявленных программных закладок

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



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

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

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

Классификация уязвимостей

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

Источники возникновения уязвимостей

Часть уязвимостей закладывается ещё на этапе проектирования. В качестве примера можно привести сервис TELNET , в котором имя пользователя и пароль передаются по сети в открытом виде. Это явный недостаток, заложенный на этапе проектирования. Некоторые уязвимости подобного рода трудно назвать недостатками, скорее это особенности проектирования. Например, особенность сетей Ethernet - общая среда. передачи.

Другая часть уязвимостей возникает на этапе реализации (программирования). К таким уязвимостям относятся, например, ошибки программирования стека TCP/IP приводящие к отказу в обслуживании. Сюда следует отнести и ошибки при написании приложений, приводящие к переполнению буфера.

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

Классификация уязвимостей по уровню в инфраструктуре АС

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

К уровню сети относятся уязвимости сетевых протоколов - стека TCP/IP, протоколов NetBEUI , IPX / SPX .

Уровень операционной системы охватывает уязвимости Windows , UNIX , Novell и т. д., т.е. конкретной ОС.

На уровне баз данных находятся уязвимости конкретных СУБД - Oracle , MSSQL , Sybase . Этот уровень рассматривается отдельно, потому что базы данных, как правило, являются неотъемлемой частью любой компании.

К уровню приложений относятся уязвимости программного обеспечения WEB , SMTP серверов и т. п.

Классификация уязвимостей по степени риска

Этот вариант классификации достаточно условный, однако, если придерживаться взгляда компании Internet Security Systems , можно выделить три уровня риска:

Высокий уровень риска

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

Средний уровень риска

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

Низкий уровень риска

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

Информацию об известных обнаруженных уязвимостях можно найти на сайтах, таких как:

www.iss.net - компания Internet Security Systems (ISS); www.cert.org - координационный центр CERT;

www . sans . org - институт системного администрирования, сетевых технологий и защиты;

www . ciac . org - группа реагирования на инциденты в области компьютерной безопасности;

www . securityfocus . com - информация об обнаруженных уязвимостях с подробными пояснениями и группой новостей.

Примеры уязвимостей (база данных компании ISS ) Название: nt - getadmin - present

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

Уровень: ОС

Степень риска: высокая

Источник возникновения: ошибки реализации

Название : ip-fragment-reassembly-dos

Описание: посылка большого числа одинаковых фрагментов IP -датаграммы приводит к недоступности узла на время атаки

Уровень: сеть

Степень риска: средняя

Источник возникновения: ошибки реализации

Что такое CVE ?

Common Vulnerabilities and Exposures (CVE) - это список стандартных названий для общеизвестных уязвимостей. Основное назначение CVE - это согласование различных баз данных уязвимостей и инструментов, использующих такие базы данных. Например, одна и та же уязвимость может иметь различные названия в базе данных Internet Scanner и CyberCop Scanner . Появление CVE - это результат совместных усилий известных мировых лидеров в области информационной безопасности: институтов, производителей ПО и т.д. Поддержку CVE осуществляет MITRE Corporation (www . mitre . org).

Процесс получения индекса CVE (CVE entry) начинается с обнаружения уязвимости. Затем уязвимости присваивается статус кандидата CVE и соответствующий номер (CVE candidate number). После этого происходит обсуждение кандидатуры при помощи CVE Editorial Board и вынесение решения о получении или неполучении индекса CVE .

CVE кандидат

С кандидатом CVE ассоциируются номер, краткое описание и ссылки. Номер, также называемый именем, состоит из года и уникального индекса, например, CAN -1999-0067. После утверждения кандидатуры аббревиатура « CAN » заменяется на « CVE ».

CVE entry

После получения статуса CVE entry уязвимости присваиваются номер, краткое описание и ссылки, например, CVE -1999-0067. И затем она публикуется на сайте. Зная индекс CVE , можно быстро найти описание уязвимости и способы её устранения.

Примеры

CVE-1999-0005

Arbitrary command execution via IMAP buffer overflow in authenticate command.

Reference: CERT:CA-98.09.imapd Reference: SUN:00177. Reference: BID: 130 Reference: XF:imap-authenticate-bo

CVE-2000-0482

Check Point Firewall-1 allows remote attackers to cause a denial of service by sending a large number of malformed fragmented IP packets.

Reference: BUGTRAQ:20000605 FW-1 IP Fragmentation Vulnerability

Reference:CONFIRM:

http://www.checkpoint.com/techsupport/alerts/list_vun#IP_Fragmentation

Reference: BID: 1312

Reference: XF:fw1-packet-fragment-dos

Подробнее узнать о CVE и получить список CVE entry можно по адресу: http://cve .mitre .org /cve .

IDENTIFICATION OF INFORMATION SYSTEMS VULNERABILITIES

Sergei Konovalenko

postgraduate of Krasnodar higher military school,

Russia, Krasnodar

Igor Korolev

doctor of Engineering, Professor, Professor of the department of protected information technologies, Krasnodar higher military school,

Russia, Krasnodar

АННОТАЦИЯ

Проведена оценка существующих средств анализа защищенности информационных систем, на основе которой построены модели выявления, идентификации и оценки образов уязвимостей информационных систем. Определены основные характеристики (элементы), присущие образам существующих уязвимостей информационных систем.

ABSTRACT

An assessment of existing tools for analyzing information systems security was performed. On the basis of the achieved results the models of detection, identification and evaluation of information systems vulnerabilities images were built. The main characteristics (elements) inherent to the images of the existing information systems vulnerabilities were defined.

Ключевые слова: выявление; информационная система; идентификация; оценка; описание образа; уязвимость.

Keywords: detection; information system; identification; evaluation; description of the image; vulnerability.

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

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

Согласно ГОСТ Р 56545-2015, «уязвимость» – это недостаток (слабость) программного (программно-технического) средства или ИС в целом, который (которая) может быть использована для реализации угроз безопасности информации . «Информационная система» – это совокупность содержащейся в базах данных (далее по тексту – БД) информации и обеспечивающих ее обработку информационных технологий и технических средств .

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

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

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

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

Таблица 1.

Элементы различных типов образов уязвимостей ИС

Характеристики образа уязвимости

Элемент, присущий образу известной уязвимости

Элемент, присущий образу уязвимости нулевого дня

Элемент, присущий образу впервые выявленной уязвимости

Место обнаружения (выявления) уязвимости в ИС.

Способ обнаружения (выявления) уязвимости.

Наименование уязвимости.

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

  • уровень прикладного программного обеспечения (далее по тексту – ПО), отвечающий за взаимодействие с пользователем;
  • уровень системы управления базами данных (далее по тексту – СУБД), отвечающий за хранение и обработку данных ИС;
  • уровень операционной системы (далее по тексту – ОС), отвечающий за обслуживание СУБД и прикладного ПО;
  • сетевой уровень, отвечающий за взаимодействие узлов ИС.

Каждому из уровней ИС соотносят различные типы (классы) уязвимостей. Для выявления уязвимостей необходимо разрабатывать модели выявления, идентификации и оценки уязвимости.

Основными источниками возникновения уязвимостей ИС являются :

  • ошибки при разработке (проектировании) ИС (например, ошибки в ПО);
  • ошибки при реализации ИС (ошибки администратора ИС) (например, неправильная настройка или конфигурация ПО, не эффективная концепция политики безопасности и т. п.);
  • ошибки при использовании ИС (пользовательские ошибки) (например, слабые пароли, нарушение в политике безопасности и т. п.).

Для выявления, идентификации и оценки уязвимостей ИС, а также формирования отчетов и устранения (нейтрализации) уязвимостей, используются средства анализа защищенности сети (далее по тексту – САЗ) (сканеры безопасности (далее по тексту – СБ)), которые можно разделить на два типа :

  • сетевые САЗ (СБ) (осуществляют удаленный анализ состояний контролируемых хостов на сетевом уровне);
  • САЗ (СБ) уровня ОС (осуществляют локальный анализ состояний контролируемых хостов, порой требуется установка специального агента на контролируемых хостах).

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

Для систематизации работы специалиста в области обеспечения безопасности, контролируемой ИС и на основе проведенного анализа строится обобщенная модель выявления образов уязвимостей ИС (рисунок 1).

Рисунок 1. Обобщенная модель выявления образов уязвимостей ИС

Процесс выявления уязвимостей ИС строится посредствам выполнения пассивных проверок (сканирование – scan) и активных проверок (зондирование – probe) наличия уязвимостей контролируемой ИС.

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

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

Результаты сканирования и зондирования поступают в БД уязвимостей, в которой хранятся образы уязвимостей контролируемой ИС. На основании процедуры сравнения образа обнаруженной уязвимости с образами уязвимостей контролируемой ИС САЗ формирует отчет об отсутствии или наличии совпадений в образах уязвимостей (обнаружение уязвимостей), который сохраняется в БД уязвимостей.

Детализирует обобщенную модель выявления образов уязвимостей обобщенная модель идентификации и оценки образов уязвимостей ИС (рисунок 2).

Рисунок 2. Обобщенная модель идентификации и оценки образов уязвимостей ИС

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

Поводя итоги данной статьи, отмечаем, что специалист по обеспечению безопасности ИС обязан постоянно проводить работу по выявления уязвимостей в системе, четко представлять и понимать процессы, протекающие в САЗ, следить за обновлением (расширением) БД уязвимостей, своевременно устранять недостатки в системе, устанавливать соответствующие меры защиты и обновления на контролируемую ИС.

Список литературы:

  1. Астахов А.С. Анализ защищенности корпоративных автоматизированных сетей // Информационный бюллетень Jet Info. – 2002. – № 7 (110). / – [Электронный ресурс]. – Режим доступа: URL: http://www.jetinfo.ru
  2. Горбатов В.С., Мещеряков А.А. Сравнительный анализ средств контроля защищенности вычислительной сети // Безопасность информационных технологий. – 2013. – № 1. / – [Электронный ресурс]. – Режим доступа: URL: http://www.bit.mephi.ru
  3. ГОСТ Р 56545-2015 «Защита информации. Уязвимости информационных систем. Правила описания уязвимостей». – М.: Стандартинформ, 2015.
  4. ГОСТ Р 56546-2015 «Защита информации. Уязвимости информационных систем. Классификация уязвимостей информационных систем». – М.: Стандартинформ, 2015.
  5. Лукацкий А.В. Как работает сканер безопасности? / – [Электронный ресурс]. – Режим доступа: http://www.citforum.ru/security/internet/scaner.shtml (Дата обращения: 14.09.2016).
  6. Лукацкий А.В. Обнаружение атак. – СПб. : Издательство «БВХ», 2001. – 624 с.
  7. Руководство пользователя программного комплекса «Средство анализа защищенности «Сканер-ВС». НПЭШ.00606-01. ЗАО «НПО «Эшелон», 2011.
  8. Сканер безопасности XSPider. Руководство администратора / – [Электронный ресурс]. – Режим доступа: http://www.ptsecurity.ru (Дата обращения: 15.09.2016).
  9. Сканер безопасности MaxPatrol. Система контроля защищенности / – [Электронный ресурс]. – Режим доступа: http://www.ptsecurity.ru (Дата обращения: 16.09.2016).
  10. Стивен Норткат, Джуди Новак. Обнаружение нарушений безопасности в сетях. 3-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – С. 265–280.

Информационная безопасность. Лекция 14.

Выявление уязвимостей компьютерных сетей

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

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

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

Обнаруживать, блокировать и предотвращать атаки можно несколькими путями. Первый, и самый распространенный, способ - это обнаружение уже реализуемых атак. Этот способ применяется в "классических" системах обнаружения атак (например, RealSecure компании Internet Security Systems), межсетевых экранах и т.п. Однако, "недостаток" средств данного класса в том, что атаки могут быть реализованы повторно. Второй путь - предотвратить атаки еще до их реализации. Осуществляется это путем поиска уязвимостей, которые могут быть использованы для реализации атаки. И, наконец, третий путь - обнаружение уже совершенных атак и предотвращение их повторного осуществления. Таким образом, системы обнаружения атак могут быть классифицированы по этапам осуществления атаки (рис.1.):

    Системы, функционирующие на первом этапе осуществления атак и позволяющие обнаружить уязвимости информационной системы, используемые нарушителем для реализации атаки. Иначе средства этой категории называются системами анализа защищенности (security assessment systems) или сканерами безопасности (security scanners). Обычно системы анализа защищенности не принято относить к классу средств обнаружения атак, однако, если следовать описанным выше этапам осуществления атаки, то такое отнесение вполне логично.

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

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

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

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

    Application IDS (Intrusion Detection System), обнаруживающие атаки на конкретные приложения;

    OS IDS, обнаруживающие атаки на операционные системы;

    DBMS IDS, обнаруживающие атаки на системы управления базами данных.

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

Можно заметить, что это деление соответствует уровням информационной системы предприятия.

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

Системы контроля целостности

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

Обманные системы

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

    Сокрытие

    Камуфляж

    Дезинформация

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

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

Работа систем 2 и 3 их реализующих заключается в том, что эти системы эмулируют те или иные известные уязвимости, которых в реальности не существует. Использование средств (deception systems), реализующих камуфляж и дезинформацию, приводит к следующему:

1. Увеличение числа выполняемых нарушителем операций и действий. Так как заранее определить является ли обнаруженная нарушителем уязвимость истинной или нет, злоумышленнику приходится выполнять много дополнительных действий, чтобы выяснить это. И даже дополнительные действия не всегда помогают в этом. Например, попытка запустить программу подбора паролей (например, Crack для Unix или L0phtCrack(LC) для Windows) на сфальсифицированный и несуществующий в реальности файл, приведет к бесполезной трате времени без какого-либо видимого результата. Нападающий будет думать, что он не смог подобрать пароли, в то время как на самом деле программа "взлома" была просто обманута.

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

Например, в информационной системе используются от 5 до 10 зарезервированных портов (с номерами от 1 до 1024). К ним можно отнести порты, отвечающие за функционирование сервисов HTTP, FTP, SMTP, NNTP, NetBIOS, Echo, Telnet и т.д. Если обманные системы (например, RealSecure компании ISS) эмулируют использование еще 100 и более портов, то работа нападающего резко увеличивается и злоумышленник обнаружит не 5-10, а 100 открытых портов. При этом мало обнаружить открытый порт, надо еще попытаться использовать уязвимости, связанные с этим портом. И даже если нападающий автоматизирует эту работу путем использования соответствующих программных средств (Nmap, SATAN и т.д.), то число выполняемых им операций все равно существенно увеличивается, что приводит к быстрому снижению производительности его работы.

Средства анализа защищенности

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

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

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

Этапы жизненного цикла ИС

Проектирование ИС

Уязвимости проектирования

Реализация ИС

Уязвимости реализации

Эксплуатация ИС

Уязвимости конфигурации

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

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

Последняя причина возникновения уязвимостей - ошибки конфигурации программного или аппаратного обеспечения. К их числу можно отнести, например, доступный, но не используемый на узле сервис Telnet, использование "слабых" паролей или паролей менее 6 символов, учетные записи (accounts) и пароли, остановленные по умолчанию (например, SYSADM или DBSNMP в СУБД Oracle), и т.д. Обнаружить и исправить такие уязвимости проще всего.

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

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

Системы имитации атак с одинаковым успехом обнаруживают не только уязвимости реализации, но и уязвимости эксплуатации. Функционировать системы анализа защищенности, в частности системы поиска уязвимостей реализации и эксплуатации, могут на всех уровнях информационной инфраструктуры любой компании, то есть на уровне сети, операционной системы, СУБД и прикладного программного обеспечения. Наибольшее распространение получили средства анализа защищенности сетевых сервисов и протоколов. Связано это, в первую очередь, с универсальностью используемых протоколов. Изученность и повсеместное использование таких стеков протоколов, как TCP/IP и т.п. позволяют с высокой степенью эффективности проверять защищенность корпоративной сети, работающей в данном сетевом окружении, независимо от того, какое программное обеспечение функционирует на более высоких уровнях. Примером такой системы является Internet Scanner компании ISS. Вторыми по распространенности являются средства анализа защищенности операционных систем. Связано это также с универсальностью и распространенностью некоторых операционных систем (например, UNIX и Windows). Однако, из-за того, что каждый производитель вносит в операционную систему свои изменения (ярким примером является множество разновидностей ОС UNIX), средства анализа защищенности ОС анализируют в первую очередь параметры, характерные для всего семейства одной ОС. И лишь для некоторых систем анализируются специфичные для нее параметры. Примером такой системы является System Scanner компании ISS.

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

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

    для оценки уровня безопасности организации;

    для контроля эффективности настройки сетевого, системного и прикладного программно-аппаратного обеспечения;

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

    для тестирования и сертификации того или иного программно-аппаратного обеспечения.

Таблица 2. Средства анализа защищенности.

Название

Производитель

Примечание

Internet Scanner

Internet Security Systems

На уровне сети

Первая система, получившая сертификат ГТК. По системе существует авторизованное обучение в России.

Internet Security Systems

На уровне ОС

Database Scanner

Internet Security Systems

На уровне СУБД

Cisco Secure Scanner

На уровне сети

CyberCop Scanner

Network Associates

На уровне сети

WebTrends Security Analyzer

WebTrends Corporation

На уровне сети

Security Manager

На уровне ОС

На уровне сети, ОС, СУБД

Свободно распространяется

Проведению экспериментального исследования компьютерных систем с целью выявления уязвимостей ПК-27 [РБ... Основы построения защищенных компьютерных сетей Основы построения защищенных... блочные шифры на основе сети Фейстеля. Современные требования к...

  • Программа дисциплины Электроника и схемотехника для специальности 090301. 65 «Компьютерная безопасность»

    Программа дисциплины

    К проведению экспериментального исследования компьютерных систем с целью выявления уязвимостей (ПК-27); способность... обеспечиваемых (последующих) дисциплин 1 2 3 4 5 6 7 8 1. Сети и системы передачи информации + + + + 2. Техническая защита...

  • «Компьютерная лингвистика и интеллектуальные технологии» (1)

    Документ

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

  • Курсовой проект по дисциплине основы менеджмента Риски в деятельности предприятия

    Курсовой проект

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