В области защиты информации выделяют три группы таксономий:
– Таксономии атак,,,,,.
– Таксономии уязвимостей,,.
– Таксономии инцидентов.
К проблеме классификации атак имеется несколько подходов. Классически атаки разделяют на категории в зависимости от производимого эффекта, :
– нарушение конфиденциальности информации;
– нарушение целостности информации;
– отказ в обслуживании (нарушение доступности информации).
Главным недостатком подобной классификации является слабая информативность (а, следовательно, и применимость), так как по информации о классе атаки практически невозможно получить информацию об ее особенностях. Однако, эффект атаки является важным ее свойством и данный параметр в том или ином виде применяется в ряде таксономий (,,).
Другим подходом к классификации является классификация уязвимостей аппаратного и программного обеспечения информационно—вычислительных и телекоммуникационных систем. Одним из первых исследований в этом направлении является работа Атанасио, Маркштейна и Филлипса. Частично деление по типу уязвимости было использовано Ховардом и Лонгстаффом. Далее этот подход получил продолжение, которое в результате предлагает исследователям достаточно подробную классификация уязвимостей. Однако данный подход является слишком узким и зачастую не отражает в должной мере специфику атаки, поэтому применяется, в основном, лишь для специальных классов задач (при тестировании программного обеспечения и др.).
Другим возможным вариантом классификации является деление на основе начального доступа, которым обладает атакующий. Примером подобного подхода является матрица Андерсона. В своей работе Джеймс Андерсон (James P. Anderson) предложил основу классификации как наличие или отсутствие возможности доступа, атакующего к вычислительной системе (ВС) или к ее компонентам. Таким образом, категория, к которой принадлежит атака, зависит от начальных привилегий атакующего. Таксономия Андерсона предлагает матрицу 2 на 2.
Из приведенной таблицы (таблица 1) можно сделать заключение, что все атаки разделяются на три категории. Ситуация, когда атакующий имеет право запуска или использования программы в отсутствии доступа к вычислительной системе, – невозможен.
Таблица 1 – Матрица таксономии Андерсона
Категория B подразделяется Андерсоном дополнительно на три подкатегории. Следовательно, полный список категорий атак имеет следующий вид:
– Внешнее вторжение
– Внутреннее вторжение
– Masquerader – ложный пользователь.
– Legitimate user – легальный пользователь.
– Clandestine user – скрытый пользователь.
– Злоупотребление полномочиями.
Главным отличием между ложным, легальным и скрытым пользователями заключается в том, что ложный пользователь маскируется под легального пользователя, и, с точки зрения вычислительной системы, неотличим от него. Скрытый пользователь ориентируется на работу с вычислительной системой, при которой он остается незамеченным для систем обнаружения вторжений.
Рассматривая развитие классификационных подходов во времени, можно заметить, что ряд исследователей старались абстрагироваться от свойств состава атак, с целью создания общего списка типов атак. Наиболее известны в данном направлении работы Ноймана и Паркера,,,. Аналогичную цель преследовал в своей работе Саймоном Хансмэном. Важным достоинством данного подхода является прикладная составляющая, так как в большинстве случаев информация о специфики атаки дает существенно больше, нежели знание каких—либо ее свойств. Однако недостатком данного подхода является наличие сильно пересекающихся категорий атак, а полнота классов зачастую недостижима.
В своей работе, П. Нойман и Д. Паркер представили 9 категорий способов вторжений (табл. 2).
Таблица 2 – Категории способов вторжения
На основе данных категорий П. Нойман разработал 26 видов атак (табл. 3)
Таблица 3 – Виды атак
В силу необходимости практической применимости таксономий, наиболее выгодными считаются комбинированные подходы, которые в некоторой степени реализуют все вышеописанные методы,,. Однако, способы комбинирования методов могут быть различны.
Один из способов комбинирования приводится в своей работе Саймон Хэнсмэн, – все анализируемые параметры разносятся отдельно и считаются попарно некоррелированными. Для достижения данной цели, автор использует концепцию «измерений», которая впервые была применена в работе Бишопа о классификации уязвимостей UNIX—систем.
Главную цель, которую преследовал Саймон Хэнсмэн, была разработка «прагматичной таксономии, которая полезна при ведении непрерывной работе над атаками». Первоначально производилась разработка таксономии древовидной структуры, подобно классификациям природного царства, – более общие категории находятся выше по высоте дерева, а нижние по высоте представляют более подробное описание категорий. Но на практике, в применении подобных классификационных схем имеется ряд неудобств. Во—первых, атаки зачастую несут смешанный характер. То есть складывается ситуация, при которой одна атака тесно зависит от другой или вложена в нее. Данная проблема, с одной стороны, решается путем введения межузловых ссылочных дуг между вершинами дерева, то есть при заполнении классификационной схемы образуется нагруженный граф. Однако это неизбежно сводится к беспорядку в структуре и сложностям при классификации. С другой стороны, возможно введение рекурсивных деревьев, где каждый лист дерева также является деревом. Но данное решение также сводится к беспорядочному росту структуры, и ограничению их применения. Во—вторых, атаки, в отличие от животных, не имеют обширного числа общих черт, вследствие чего имеют место сложности в формулировке классификационных групп верхних уровней. Действительно, у вредоносных программ типа «черви» или «вирусы» имеется достаточного много общих черт, однако непосредственных аналогий с атаками типа DoS (Denial of Service – отказ в обслуживании) и троянскими программами у них немного. Данная проблема ведет к разрастанию дерева на некоторое количество несвязанных между собой категорий, то есть до леса. Таким образом, древовидные классификации для практических задач.
Иной подход к созданию таксономий заключается в виде использования списочных структур. Таксономии, основанные на списочных структурах, представляются как совокупность списков категорий атак. С одной стороны, возможна организация общих классов категорий атак, с другой – возможно создание объемного количества списков, каждый из которых детально описывает уникальный класс категорий. Данные подходы также слабо применяются на практике, так как для первого случая организуются наборы крайне обобщенных категорий атак, а во—втором случае, детализация списков категорий бесконечна.
В предлагаемой Саймоном Хэнсмэном таксономии используется иной подход, основанный на концепции «измерений» Бишопа. Введение «измерений» позволяет комплексно рассматривать каждую атаку отдельно. В таксономии рассматривается четыре измерения для классификации атак:
1. Первое (базовое) измерение используется для категорирования атаки относительно классов атак на основе вектора атаки. Под вектором атаки понимается метод, с помощью которого атака достигает своей цели. При отсутствии подходящего вектора, атака классифицируется в ближайшую по смыслу категорию (табл. 4).
Таблица 4 —Значения вектора атак таксономии
Хэнсмэна по уровням детализации
2. Вторым измерением, атака классифицируется по цели атаки. Степень детализированности измерения достигается указанием конкретной версии продукта, например Linux Kernel 3.5.1rc—1, или же покрывается определенным классом возможных целей, например Linux Kernel (табл. 5).
Таблица 5 – Список целей атак таксономии
Хэнсмэна по уровням детализации
3. Третье измерение используется для описания уязвимостей и эксплоитов, которыми реализуется данная атака. Измерение представляется списоком номеров CVE (Common Vulnerabilities and Exposures) известных уязвимостей по классификации проекта CVE [12].
Идея проекта CVE была предложена Мэнном (Mann) и Кристли (Christley) [24] и предлагает унифицированный способ представления определений уязвимостей. На данный момент, проект является стандартом де—факто описания уязвимостей, и его применение является желательным в таксономиях прикладного направления.
Дополнительно, в таксономии Хэнсмэна предполагается ситуация, когда на момент классификации атаки не существует ее описания (CVE—номера) уязвимости. В этом случае, предлагается использовать общие классы категорий атак процессной таксономией компьютерных и сетевых атак Ховарда [13], – уязвимость в реализации (логические ошибки в текстах программ), уязвимость в проекте, уязвимость в конфигурации. В данной таксономии рассматривается в качестве центрального понятия инцидент – совокупность атакующего, атаки и цели атаки. Главным ее отличием является наличие структурных элементов: инцидентов и события, – совокупности действия и целевого объекта. Предусматривается возможность комбинирования событий. Таким образом, в инциденте возможно вложение последовательность атак. Полезным свойством таксономии Ховарда является возможность описания неатомарных (составных) атак и учет их сценариев проведения. Однако, как указывается в тезисах докторской диссертации Лауфа, процессная таксономия привносит двусмысленность при классификации атаки на практике, так как нарушается свойство взаимного исключения.
4. Четвертое измерение используется для классификации атаки по наличию и виду полезной нагрузки (payload) или реализуемого эффекта. В большинстве случаев, в результате своей работы, с атакой привносится дополнительный эффект. Например, «вирус», используемый для установки потайного входа (backdoor) очевидно остается «вирусом», но несет в качестве полезной нагрузки программу потайного входа.
В качестве классов категорий полезной нагрузки, Хэнсмэн выделяет:
– Полезная нагрузка первого измерения – собственно полезная нагрузка является атакой;
– Повреждение информации;
– Раскрытие информации;
– Кража сервиса (подмена сервиса);
– Subversion – полезная нагрузка предоставляет контроль над частью ресурсов цели и использует их в своих целях.
В 1995 году, Бишоп [10] предложил классификацию относительно уязвимостей для UNIX—систем. Отличительная особенность его работы заключается в создании принципиально новый схемы классификации. Шесть «осей координат» представляются компонентами [7], [10]:
– Природа уязвимости – описывается природа ошибки в категориях протекционного анализа;
– Время появления уязвимости;