Построение онтологии сетевых атак
Классификация Ховарда
Таксономия атак разработана Ховардом (Howard) на основе анализа статистики инцидентов CERT с 1989 по 1995 год. Таксономическая схема Ховарда представлена на рис. 1.
Рис. 1.
Согласно таксономии Ховарда угрозой являются:
- хакеры — лица, вторгающиеся в компьютерные системы для получения доступа с целью вызова и утверждения своего статуса;
- шпионы — лица, вторгающиеся в компьютерные системы для получения информации, которая может быть использована в политических целях;
- террористы — лица, вторгающиеся в компьютерные системы для того, чтобы вызвать страх, который поможет им достигнуть политических целей;
- конкуренты — лица (пользователи одной компании), вторгающиеся в чужие компьютерные системы для получения финансовой выгоды для организации;
- криминал — профессиональные преступники, вторгающиеся в компьютерные системы для получения личной финансовой выгоды;
- вандалы — лица, вторгающиеся в компьютерные системы для причинения ущерба.
Средства проведения атак:
- пользовательские команды — атакующий вводит команды в командной строке или задает их с помощью графического интерфейса пользователя;
- скрипт или программа — атакующий разрабатывает (составляет) скрипты и (или) программы, инициируемые с помощью интерфейса пользователя для использования уязвимости;
- автономные агенты — атакующий инициализирует программу или фрагмент программы, которая функционирует независимо от пользователя, используя уязвимости;
- набор средств — атакующий использует пакет программ, который содержит скрипты, программы или автономные агенты для использования уязвимостей;
- распределенный набор средств — атакующий распределяет средства по множеству хостов, которые после некоторой задержки скоординированно атакуют целевой хост одновременно;
- перехват данных — в этом случае атакующий либо использует технические каналы утечки (например, электромагнитное излучение), либо перехватывает («слушает») трафик.
Получение доступа реализуется за счет использования:
- уязвимостей проекта, реализации или применения (конфигурирования);
- неавторизованного доступа или неавторизованного использования;
- процессов, работающих с файлами, данными при передаче, объектами или вызовами при передаче.
Результатами атак являются:
- модификация информации — любое неавторизованное изменение файлов, сохраняемых в компьютере, или изменение данных, передаваемых по сети;
- раскрытие информации — рассылка информации кому-либо, кто не авторизован для доступа к ней;
- кража службы — неавторизованное использование компьютера или сетевой службы без деградации службы для других пользователей;
- отказ в обслуживании — умышленная деградация или блокировка компьютера или сетевого ресурса.
Целями проведения атак являются:
- вызов, статус;
- политическая выгода;
- финансовая выгода;
- ущерб.
К достоинствам данной классификации можно отнести достаточно хорошую проработку категорий. Недостатки таксономии определяются ее целью — построением классификации для уже осуществленных атак. Позднее Ховард совместно с Лонгстафом (Longstaff) разработал уточненную таксономию, представленную на рис. 2.
Рис. 2.
Данная таксономия была разработана в 1998 г. для языка описания компьютерных инцидентов и является расширением предыдущей таксономии.
Представленные таксономии атак предназначены для описания произошедших атак и могут быть полезны при разработке систем обнаружения вторжений. В этой таксономии задачи и действия атакующего составляют событие, которое может быть обнаружено в атакуемой системе. Атака, согласно данной таксономии, помимо события включает в себя используемое средство, используемую уязвимость и полученный результат. Все элементы таксономии представляют собой инцидент.
Дальнейшим шагом в построении таксономии атак явились попытки построения онтологии атак.
Онтология (от древнегреческого онтос — сущее, логос — учение, понятие) — философский термин, определяющий учение о бытии. Это учение восходит к произведениям Аристотеля, Фомы Аквинского, Х.Вольфа, а в XX в. его развивал М.Хайдеггер. Он считал, что онтология возможна не иначе как герменевтика, т.е. как наука об интерпретации, осуществляемой в мысли и языке. Это положение прослеживается и в спецификациях Международной федерации по разработке интеллектуальных физических агентов (FIPA98 Specifications. Part 12. Ontology Service: http://www.cset.it/fipa/), где под онтологией понимается явное описание структуры некоторой проблемной области (темы). Подобное описание всегда опирается на определенную концепцию этой области, которая обычно задается в виде системы исходных объектов (понятий), отношений между ними и положений (аксиом). Само определение базовых понятий предметной области (агентов, процессов, атрибутов) вместе с основными отношениями между ними называется концептуализацией. Поэтому онтологию часто понимают как «спецификацию концептуализации» и даже считают синонимом «концептуальной модели предметной области» (точнее, набора сосуществующих концептуальных моделей). Онтологии представляют собой договоренности — соглашения о совместно используемых концептуализациях.
С одной стороны, в онтологических исследованиях изучаются вопросы происхождения знаний в конкретной предметной области и их конструирования из некоторых единиц. С другой стороны, эти исследования направлены на поддержку процессов коммуникации, предполагающих разделение знаний между агентами и их повторное использование.
В простейшем случае онтология определяется как некоторый общий словарь понятий, используемых в качестве строительных кирпичиков в системах обработки информации. Обычно онтология описывает иерархию понятий, связанных между собой отношениями категоризации. В частности, при взаимодействии агентов в сети Интернет онтология понимается как иерархия понятий и связей между ними вместе с системой ссылок на www-документы, привязанных к этим понятиям (связям).
Модель онтологии должна обеспечивать представление множества понятий в виде сетевой структуры, отображение достаточно богатого множества отношений, включающего в себя не только таксономические отношения, но и отношения, отражающие специфику предметной области, использование декларативных и процедурных интерпретаций и отношений.
Рассмотрим применение онтологии для построения классификации атак с точки зрения цели атаки. Высокоуровневое представление атак включает в себя следующие свойства:
· цель атаки,
· средство атаки,
· результат атаки
· и расположение источника атаки.
Согласно данному высокоуровневому представлению вторжение представляет собой некоторый ввод данных, который получен из некоторого местоположения, направлен на определенный системный компонент, использует некоторый метод и вызывает некоторое системное поведение (рис. 3).
Рис. 3.
Полная онтология атак в графической форме представлена на рис. 4. Рассмотрим характеристики и свойства данной онтологии.
1. Системный компонент, который является целью атаки:
- сетевой протокол (атака использует протоколы стека протоколов и не выходит за них);
- пространство ядра (процесс, выполняющийся как часть ОС, который или компилируется в ядро, или загружается модулем и используется в ядре);
- приложение (приложение, выполняющееся вне пространства ядра с привилегиями пользователя или root);
- другие (не указанные выше, например, принтеры, модемы).
2. Метод, используемый атакующим:
- ошибка проверки ввода, которая включает в себя: переполнение буфера, нарушение границ (процесс может читать или писать за разрешенное пространство адресов либо исчерпывает системный ресурс), неправильно сформированный ввод (процесс допускает синтаксически некорректный ввод, ненормальные поля или не имеет возможности корректировать ошибки);
- логический эксплойт, использующий уязвимость и ведущий к снижению производительности и (или) компрометации системы: исключительные условия (ошибки, вызванные отказом обработки исключительных условий, сгенерированных функциональным модулем или устройством), условие синхронизации (ошибки, возникающие во время временного промежутка между двумя операциями), ошибки сериализации в результате неправильных операций сериализации, атомные ошибки (ошибки, возникающие, когда частично модифицированные одним процессом данные уже используются другим процессом).
Рис. 4
3. Последствия — конечный результат атаки:
- отказ в обслуживании пользователей системы;
- пользовательский доступ (атакующий получает доступ к некоторым службам целевой системы);
- доступ с правами root (атакующий получает полное управление системой);
- потеря конфиденциальности (в результате атаки пользователь системы теряет конфиденциальность данных);
- другие (результат заключается в компрометации целостности или других нежелательных характеристиках).
4. Местоположение источника атаки — атакующий соединяется через сеть или находится на хосте:
- удаленное (атакующему нет необходимости «виртуально» находиться на цели);
- локальное (атакующему необходимо «виртуально» присутствовать на цели);
- удаленно-локально (атакующий на разных стадиях атаки может быть как удаленно, так и локально).