ИСХОДНЫЕ ДАННЫЕ И ОБЩИЙ ПОДХОД К МАТЕМАТИЧЕСКОМУ МОДЕЛИРОВАНИЮ УГРОЗ БЕЗОПАСНОСТИ

Моделирование уязвимостей реализации и атак. Исходные данные для моделирования угроз безопасности

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

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

Наиболее широкое практическое использование нашли следующие способы классификации и количественной оценки критичности уязвимостей [ 181: схема классификации уязвимостей NIPC, шкала анализа уязвимостей SANS, система оценки критичности уязвимостей Microsoft, система оценки уязвимостей по стандарту PCI DSS, системы US—CERT, CVSS и nCircle. Они различаются учитываемыми при классификации уязвимостей параметрами и шкалами оценки актуальности уязвимостей.

В качестве примера рассмотрим CVSS (Общая система оценки уязвимости, Common Vulnerability Scoring System) [20]. Данная система предназначена для классификации уязвимостей по шкале критичности от 0 до 10:

  • • 0,0—3,9 — низкая степень;
  • • 4,0—6,9 — средняя степень;
  • • 7,0—9,9 — высокая степень;
  • • 10 — критическая степень.

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

Вектор доступа (Access Vector) определяет, как уязвимость может быть обнаружена и использована:

  • Local — злоумышленнику необходим физический доступ к компьютеру;
  • Adjacent Network — злоумышленнику необходим доступ к локальной сети;
  • Network — уязвимость может быть использована из сети Интернет.

Сложность доступа (Access Complexity) определяет, насколько сложно

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

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

Аутентификация (Authentication) определяет, сколько уровней аутентификации и авторизации должен пройти злоумышленник, прежде чем он получит возможность использовать уязвимость в системе:

  • Multiple — множественная аутентификация и авторизация;
  • Single — однократная авторизация;
  • None — отсутствие аутентификации и авторизации.

Влияние на конфиденциальность (Confidentiality Impact) определяет влияние успешной атаки с использованием уязвимости на конфиденциальность системы и данных:

  • None — отсутствие влияния;
  • Partial — злоумышленник получает доступ к ограниченному набору данных;
  • Complete — злоумышленник получает полный доступ ко всем данным.

Влияние на целостность (Integrity Impact) определяет влияние успешной атаки с использованием уязвимости на целостность данных и системы:

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

Влияние на доступность (Availability Impact) определяет влияние успешной атаки с использованием уязвимости на доступность системы:

  • None — отсутствие влияния;
  • Partial — частичная недоступность (падение производительности системы или ее частей, непродолжительные перерывы в доступности данных);
  • Complete — полная недоступность системы, отказ в обслуживании.

Из представленного описания видим, что классификация уязвимостей,

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

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

Замечание. Статистика по устранению уязвимостей реализации для различных ОС приведена в работе [18]. Например, критичные уязвимости в ОС Microsoft Windows, судя по данной статистике, в среднем устраняются за 22 дня.

Как отмечали, важными результатами моделирования уязвимостей является не только определение критичности выявляемых уязвимостей, но и оценка возможности их использования потенциальным нарушителем. Например, выявленные и исправленные за 2014 г. уязвимости уровня ядра ОС Microsoft Windows с указанием на то, каким образом они могут использоваться при реализации, сведены в табл. 4.1 [211.

Исправленные уязвимости для различных компонентов ОС Microsoft Windows

Таблица 4.1

Тип уязвимости

Число исправленных (2014 г.)

Повышение привилегий (Elevation of Privilege, ЕОР)

21

Обход системы безопасности (Security Feature Bypass, SFB)

5

Отказ в обслуживании (Denial of Service, DoS)

4

Удаленное исполнение кода (Remote Code Execution, RCE)

12

Раскрытие информации (Infomation Disclosure, ID)

3

11оддел ка (Tampering)

1

Всего

46

Рассмотрим атаку на повышение привилегий (Elevation of Privilege, EOF). Как видим (см. табл. 4.1), за 2014 г. было выявлено достаточно много уязвимостей, позволяющих осуществить атаку на повышение привилегий. Данная атака, например, может заключаться во внедрении в систему вредоносной программы с правами интерактивного пользователя и ее запуске с системными правами, возможном благодаря эксплуатации потенциальным нарушителем соответствующей уязвимости в системном средстве [18].

Однако уязвимости уровня ядра ОС сложны в практическом использовании, для реализации соответствующей атаки требуют разработки соответствующего эксплойта. Например, что касается атак на повышение привилегий, то за 2014 г. были созданы эксплойты к следующим трем уязвимостям: CVE-2014-6324, CVE-2014-4113, CVE-2014-0318. Акцентируем на этом вопросе внимание, поскольку далее будем использовать подобную статистику. На наличие эксплойтов влияет техническая сложность реализации или техническая реализуемость атаки на выявляемую уязвимость — для выявленной уязвимости уровня ядра не так просто написать эксплойт. Только часть из них используется на практике, что следует учитывать при моделировании.

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

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

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

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

Выводы

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

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

Как отмечали ранее, для защиты от атак, использующих возникающие уязвимости реализации, в СЗИ должна реализовываться процессная модель контроля доступа.

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

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

Замечание. Уязвимость здесь рассматривается в широком смысле слова. Это

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

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

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

  • 1. Сбор информации. На данном этапе выбирается цель нападения на ИС, собирается информация о ней (ОС, конфигурация, сервисы), идентифицируются наиболее уязвимые места атакуемой системы, воздействие на которые приводит к нужному результату, выбирается тип реализуемой атаки.
  • 2. Этап реализации атаки. На этом этапе нарушитель собственно осуществляет атаку, реализуя 11СД к ресурсам тех узлов ИС, по отношению к которым осуществляется атака. Если по характеру воздействия атака является активной [26], то данный этап сопровождается также реализацией тех целей, ради которых предпринималась атака. Результатом таких действий может являться нарушение конфиденциальности, целостности и доступности информации. Кроме того, на данном этапе может происходить скрытие источника и факта атаки, так называемое заметание следов. В случае пассивных атак [26] данный этап является этапом завершения атаки.
  • 3. Этап дальнейшего развития атаки — выполняются действия, которые направлены на продолжение атаки на ресурсы других узлов ИС.

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

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

Орграф атаки на ИС

Рис. 4.1. Орграф атаки на ИС

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

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

Для построения байесовского орграфа атаки следует «взвесить» вершины — инциденты, связанные с возникновением угроз Уг, г = 1,..., R, вероятностями возникновения инцидента Р ^ соответственно, г = 1, ..., R (см. рис. 4.1).

Используя данный орграф атаки и применив формулу для расчета условных вероятностей, можно определить вероятность осуществления атаки Рлу. Для орграфа, представленного на рис. 4.1:

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

Как правило, под инцидентом понимается реализация нарушителем угрозы, а вероятность этого события задается экспертным путем |9,11,14,16].

Для получения же количественных значений характеристик атаки с целью оценки ее критичности используется тот же подход, что и при моделировании уязвимостей реализации, — важнейшие метрики рассчитываются с использованием подхода Common Vulnerability Scoring System, т.е. экспертным путем на основе соотнесения с некоторой шкалой [10].

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

В качестве основных используются следующие метрики [10]:

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

Рассмотрим несколько примеров их определения. Размер ущерба, если

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

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

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

  • • высокий — DNS-сервср, корпоративный маршрутизатор, контроллер домена; серверы и рабочие станции, обрабатывающие критическую информацию;
  • • средний — web-, mail- и ftp-серверы, межсетевые экраны;
  • • низкий — персональные рабочие станции.

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

Задача же моделирования угроз безопасности совсем иная. Она предполагает моделирование случайного процесса возникновения и устранения в ИС угроз безопасности.

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

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

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

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >