Спонсор: Microsoft
Опубликован: 25.06.2010 | Доступ: свободный | Студентов: 1529 / 234 | Оценка: 4.32 / 4.18 | Длительность: 25:57:00
Лекция 16:

Анализ защищенности информационной системы на основе выявления уязвимостей и обнаружения вторжений

Эксплуатационные уязвимости конфигурации программного обеспечения

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

  • наличие слабых, не стойких к угадыванию паролей доступа к ресурсам ИС. При активизации этой уязвимости нарушитель может получить несанкционированный доступ к ИС путём взлома пароля при помощи метода полного перебора или подбора по словарю;
  • наличие в системе незаблокированных встроенных учётных записей пользователей, при помощи которых потенциальный нарушитель может собрать дополнительную информацию, необходимую для проведения атаки. Примерами таких учётных записей являются запись " Guest " в операционных системах или запись " Anonymous " в FTP -серверах;
  • неправильным образом установленные права доступа пользователей к информационным ресурсам ИС. В случае если в результате ошибки администратора пользователи, работающие с системой, имеют больше прав доступа, чем это необходимо для выполнения их функциональных обязанностей, то это может привести к несанкционированному использованию дополнительных полномочий для проведения атак. Например, если пользователи будут иметь права доступа на чтение содержимого исходных текстов серверных сценариев, выполняемых на стороне Web -сервера, то этим может воспользоваться потенциальный нарушитель для изучения алгоритмов работы механизмов защиты Web -приложений и поиска в них уязвимых мест;
  • наличие в ИС неиспользуемых, но потенциально опасных сетевых служб и программных компонентов. Так, например, большая часть сетевых серверных служб, таких как Web -серверы и серверы СУБД поставляются вместе с примерами программ, которые демонстрируют функциональные возможности этих продуктов. В некоторых случаях эти программы имеют высокий уровень привилегий в системе или содержат уязвимости, использование которых злоумышленником может привести к нарушению информационной безопасности системы. Примерами таких программ являются образцы CGI -модулей, которые поставляются вместе с Web -приложениями, а также примеры хранимых процедур в серверах СУБД.

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

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

Выявление уязвимостей типа " buffer overflow ", " SQL Injection " и " format string " возможно либо путём анализа исходных текстов потенциально уязвимой программы, либо при помощи поведения анализа безопасности уже работающей программы. Первый способ предполагает экспертный анализ исходных текстов программы с целью поиска и исправления ошибок, которые были допущены на этапе её разработки. В большинстве случае для устранения выявленных уязвимостей необходимо добавление новых функций, обеспечивающих проверку корректности входных данных, поступающих в программу. Так, например, для исправления уязвимостей типа " buffer overflow " необходимо добавить процедуру проверки, которая должна следить за тем, чтобы объём входных данных не превышал максимальный размер переменной, для которой они предназначаются. Исправление уязвимости " SQL Injection " возможно путём защиты от вставки символа "'", который в большинстве случаев и позволяет модифицировать исходный SQL -запрос. Для устранения уязвимостей типа " format string " необходимо использовать такой формат вызова функций, в котором форматирующая строка задаётся в явном виде разработчиком программы. Как правило, метод анализа исходных текстов отличается высокой трудоёмкостью и используется только в компаниях, которые занимаются разработкой ПО.

Второй метод выявления уязвимостей используется для анализа защищённости ПО, которое уже установлено и функционирует в ИС. Метод предполагает использование специализированных программных средств - так называемых сканеров безопасности или систем анализа защищённости. Эти средства позволяют обнаруживать уязвимости на основе активного и пассивного методов. При помощи пассивного метода осуществляется сбор информации о настройках ПО, присутствующего в ИС и на основе этих данных делается вывод о наличии или отсутствии в системе уязвимостей. Так, например, если будет выявлено наличие ОС без установленного модуля Service Pack, то это означает, что она подвержена ряду уязвимостей. Активные методы анализа защищённости приложений имитируют информационные атаки и затем на основе анализа результатов делается вывод о наличии уязвимостей в системе. Совместное использование пассивных и активных методов анализа защищённости приложений ИС позволяет выявить не только уязвимости " buffer overflow ", " SQL Injection " и " format string ", но и эксплуатационные уязвимости конфигурации ПО. Устранение уязвимост ей в этом случае возможно путём установки соответствующих модулей обновления ( service packs, hotfixes, patches и др.) или изменения настроек используемого ПО. Рассмотренные активные и пассивные методы наиболее часто используются для анализа защищённости ПО, на основе которых функционируют ИС организаций.

Что такое информационная атака?

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

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

Рис. 23.5. Жизненный цикл типовой атаки

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

  • информация о структуре и топологии ИС. Для получения информации этого типа нарушитель может воспользоваться стандартными утилитами типа " traceroute ", входящими в состав практически любой операционной системы (ОС). Эти утилиты позволяют сформировать список IP-адресов маршрутизаторов, через которые проходят пакеты от компьютера нарушителя до хоста, который выступает в роли объекта нападения. Злоумышленник также может получить необходимую ему информацию о структуре ИС путём обращения к DNS -серверу, на котором могут храниться данные о хостах ИС;
  • информация о типе ОС, установленной в ИС. Один из наиболее распространённых методов определения типа ОС основан на том факте, что разные системы по-разному реализуют требования стандартов RFC, в которых определены правила взаимодействия на основе различных сетевых протоколов. Таким образом, при формировании одних и тех же сетевых запросов разные ОС в ответ отправляют отличные друг от друга данные, на основе которых можно с большой долей вероятности определить характеристики используемой ОС. Данный метод также позволяет определить тип аппаратной платформы, на основе которой функционирует та или иная ОС;
  • информация о типе прикладных сервисов, присутствующих в ИС. Нарушитель может определить какие сетевые сервисы и прикладное ПО функционирует на хосте путём сканирования открытых портов и анализа заголовков ответов, полученных от этих служб;
  • информация о зарегистрированных пользователях ИС. Информация этого типа может быть получена злоумышленником из базы данных SNMP MIB, установленной на рабочих станциях и серверах ИС.

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

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

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

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

Мария Архипова
Мария Архипова
Роман Попов
Роман Попов

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