иб. ибб. Информационная безопасность предполагает отсутствие угроз, направленных на
Скачать 3.29 Mb.
|
s 65527 target.com |
14:18:52 | .298431 130.92 | . 6. 97. 600 | > | server | login: | R |
1382726960: | 1382726960 (0) | win 4096 | | | | |
14:18:52 | .363877 130.92 | . 6.97. 601 | > | server | login: | R |
1382726961: | 1382726961 (0) | win 4096 | | | | |
14:18:52 | .416916 130.92 | . 6.97. 602 | > | server | login: | R |
1382726962: | 1382726962 (0) | win 4096 | | | | |
14:18:52 | .476873 130.92 | . 6.97. 603 | > | server | login: | R |
1382726963. | 1382726963 (0) | win 4096 | | | | |
Сервер теперь функционирует в обычном режиме, т.е. готов отвечать на запросы установления соединений.
Таким образом, для проведения атаки К. Митник использовал недостатки протокола TCP, которые были хорошо известны по публикациям, но не учитывались разработчиками систем.
Классификации удаленных атак
Для того чтобы защититься от атак, необходимо их изучать и классифицировать. Систематизация знаний об атаках помогает разработке мер и систем защиты от них. Поэтому специалисты в области информационной безопасности не прекращают попыток построения различных классификационных схем, которые в той или иной мере способствуют пониманию процессов, ведущих к проникновению в системы, и помогают разрабатывать меры защиты и реализовывать системы защиты. В качестве примеров построения таких классификационных схем рассмотрим списки терминов, списки категорий, матричные схемы, процессы Столингса, таксономические схемы Ховарда и онтологию сетевых атак.
Списки терминов
В качестве примера приведем часть списка наиболее часто употребляемых терминов, предложенного Козном (Fred Cohen):
backup theft | кража резервных копии |
combined attacks | комбинированные атаки |
computer viruses | компьютерные вирусы |
data aggregation | агрегирование данных |
e-mail overflow | переполнение почты |
e-mail spoofing | обман почты |
fictitious people | фиктивные люди |
human engineering | социальная инженерия |
illegal value insertion | вставка недопустимых значений |
infrastructure interference | помехи инфраструктуре |
infrastructure observation | наблюдение инфраструктуры |
input overflow | переполнение буфера при вводе |
login spoofing | обман регистрации |
network services attacks | атаки на сетевые службы |
packet insertion | вставка пакета |
packet watching | просмотр пакета |
password guessing | угадывание (подбор) пароля |
process bypassing | обход процесса |
protection limit poking | нарушение пределов защиты |
shoulder surfing | подсматривание через плечо |
time bombs | временные бомбы |
trojan horses» | троянские кони» |
Необходимо отметить, что данный подход не является таксономией, так как отдельные термины перекрываются, а отдельные атаки не включены в список.
Списки категорий
Списки категорий являются вариацией списка терминов, но содержат определения категорий. Примером может послужить список категорий, данный Чезвиком и Беллоуином (Cheswick and Bellovin). Они подразделяли атаки на следующие семь категорий:
1) кража паролей (stealing passwords) — методы получения паролей пользователей;
2) социальная инженерия (social engineering) — использование некоторых психологических приемов по отношению к пользователям для получения желаемой информации или информации ограниченного использования;
3) ошибки и потайные ходы (bugs and backdoors) — поиск состояния системы, не соответствующего спецификации, или перезапись компонент ПО скомпрометированными компонентами;
4) отказы аутентификации (authentication failures) — удаление механизмов, использующихся для аутентификации;
5) отказы протоколов (protocol failures) — протоколы сами по себе либо плохо спроектированы, либо плохо реализованы;
6) утечка информации (information leakage) — использование таких систем, как finger или DNS, для получения информации, необходимой администраторам для надлежащего функционирования сети, но используемой атакующим;
7) отказ в обслуживании (denial-of-service) — усилия для прекращения возможности пользователей пользоваться службами.
В данном подходе также существует перекрытие понятий, что потребовало применения списков внутри категорий.
Матричные схемы
Матричные схемы базируются на нескольких измерениях. Для двух измерений рассматриваются уязвимости и потенциальные нарушители. Матричный подход был реализован Ландвейром (Landwehr). Он представил таксономию уязвимостей (условий, которые могут привести к отказу в обслуживании или неавторизованному доступу), базирующуюся на трех измерениях: происхождение (genesis) — как уязвимости находят свою дорогу к программам; время внедрения (time of introduction) — в жизненном цикле ПО или аппаратуры и местоположение (location) — расположению в ПО или аппаратуре.
Данная таксономия нашла свое применение при разработке систем обнаружения вторжений.
Процессы
Столлингс (Stallings) разработал простейшую модель, представляющую классификацию угроз безопасности. Модель опирается на передачу информации между объектами. Столлингс определил четыре категории атак (рис. 6.3).
1. Прерывание потока — объект системы разрушен или стал недоступен.
2. Перехват потока — неавторизованный субъект (объект) получил доступ к объекту.
3. Модификация потока — неавторизованный субъект (объект) не только получил доступ к объекту, но и изменил его.
1 — прерывание потока; 2 — перехват потока; 3 — модификация потока; 4 — подделка потока; 5 — заполнение потока.
Рис. 6.3. Модель Столингса
4. Подделка потока — неавторизованный субъект (объект) вставил поддельный объект в систему.
Эту наглядную классификацию можно дополнить категорией атаки отказа в обслуживании (например, заполнение потока).
Классификация Ховарда
Таксономия атак разработана Ховардом (Howard) на основе анализа статистики инцидентов CERT с 1989 по 1995 год.
Согласно таксономии Ховарда угрозой являются:
хакеры — лица, вторгающиеся в компьютерные системы для получения доступа с целью вызова и утверждения своего статуса;
шпионы — лица, вторгающиеся в компьютерные системы для получения информации, которая может быть использована в политических целях;
террористы — лица, вторгающиеся в компьютерные системы для того, чтобы вызвать страх, который поможет им достигнуть политических целей;
конкуренты — лица (пользователи одной компании), вторгающиеся в чужие компьютерные системы для получения финансовой выгоды для организации;
криминал — профессиональные преступники, вторгающиеся в компьютерные системы для получения личной финансовой выгоды;
вандалы — лица, вторгающиеся в компьютерные системы для причинения ущерба.
Средства проведения атак:
пользовательские команды — атакующий вводит команды в командной строке или задает их с помощью графического интерфейса пользователя;
скрипт или программа — атакующий разрабатывает (составляет) скрипты и (или) программы, инициируемые с помощью интерфейса пользователя для использования уязвимости;
автономные агенты — атакующий инициализирует программу или фрагмент программы, которая функционирует независимо от пользователя, используя уязвимости;
набор средств — атакующий использует пакет программ, который содержит скрипты, программы или автономные агенты для использования уязвимостей;
распределенный набор средств — атакующий распределяет средства по множеству хостов, которые после некоторой задержки скоординированно атакуют целевой хост одновременно;
перехват данных — в этом случае атакующий либо перехватывает технические каналы утечки (например, через электромагнитное излучение), либо перехватывает («слушает») трафик.
Получение доступа реализуется за счет использования:
уязвимостей проекта, реализации или применения (конфигурирования);
неавторизованного доступа или неавторизованного использования;
процессов, работающих с файлами, данными при передаче, объектами или вызовами при передаче.
Результатами атак являются:
модификация информации — любое неавторизованное изменение файлов, сохраняемых в компьютере, или изменение данных, передаваемых по сети;
раскрытие информации — рассылка информации кому-либо, кто не авторизован для доступа к ней;
кража службы — неавторизованное использование компьютера или сетевой службы без деградации службы для других пользователей;
отказ в обслуживании — умышленная деградация или блокировка компьютера или сетевого ресурса.
Целями проведения атак являются:
вызов, статус;
политическая выгода;
финансовая выгода;
ущерб.
К достоинствам данной классификации можно отнести достаточно хорошую проработку категорий. Недостатки таксономии определяются ее целью — построением классификации для уже осуществленных атак. Позднее Ховард совместно с Лонгстафом (Longstaff) разработал уточненную таксономию.
Данная таксономия была разработана в 1998 г. для языка описания компьютерных инцидентов и является расширением предыдущей таксономии.
Представленные таксономии атак предназначены для описания произошедших атак и могут быть полезны при разработке систем обнаружения вторжений. В этой таксономии задачи и действия атакующего составляют событие, которое может быть обнаружено в атакуемой системе. Атака, согласно данной таксономии, помимо события включает в себя используемое средство, используемую уязвимость и полученный результат. Все элементы таксономии представляют собой инцидент.
Дальнейшим шагом в построении таксономии атак явились попытки построения онтологии атак.
Построение онтологии сетевых атак
Онтология (от древнегреческого онтос — сущее, логос — учение, понятие) — философский термин, определяющий учение о бытии. Это учение восходит к произведениям Аристотеля, Фомы Аквинского, Х.Вольфа, а в XX в. его развивал М.Хайдеггер. Он считал, что онтология возможна не иначе как герменевтика, т.е. как наука об интерпретации, осуществляемой в мысли и языке. Это положение прослеживается и в спецификациях Международной федерации по разработке интеллектуальных физических агентов (FIPA98 Specifications. Part 12. Ontology Service: http://www.cset.it/ fipa/), где под онтологией понимается явное описание структуры некоторой проблемной области (темы). Подобное описание всегда опирается на определенную концепцию этой области, которая обычно задается в виде системы исходных объектов (понятий), отношений между ними и положений (аксиом). Само определение базовых понятий предметной области (агентов, процессов, атрибутов) вместе с основными отношениями между ними называется концептуализацией. Поэтому онтологию часто понимают как «спецификацию концептуализации» и даже считают синонимом «концептуальной модели предметной области» (точнее, набора сосуществующих концептуальных моделей). Онтологии представляют собой договоренности — соглашения о совместно используемых концептуализациях.
С одной стороны, в онтологических исследованиях изучаются вопросы происхождения знаний в конкретной предметной области и их конструирования из некоторых единиц. С другой стороны, эти исследования направлены на поддержку процессов коммуникации, предполагающих разделение знаний между агентами и их повторное использование.
В простейшем случае онтология определяется как некоторый общий словарь понятий, используемых в качестве строительных кирпичиков в системах обработки информации. Обычно онтология описывает иерархию понятий, связанных между собой отношениями категоризации. В частности, при взаимодействии агентов в сети Интернет онтология понимается как иерархия понятий. Графическое представление онтологии атак) и связей между ними вместе с системой ссылок на www-документы, привязанных к этим понятиям (связям).
Модель онтологии должна обеспечивать представление множества понятий в виде сетевой структуры, отображение достаточно богатого множества отношений, включающего в себя не только таксономические отношения, но и отношения, отражающие спе- цифику предметной области, использование декларативных и про- цедурных интерпретаций и отношений. Под обобщенной формальной моделью онтологии понимается тройка:
ONT = {U, Im(R), F),
где U — множество понятий предметной области, |£7|*0; Im{R) — множество нечетких (взвешенных) отношений между понятиями предметной области, Im(R) = {W\ w: U" —> [0,1]}; F — конечное множество функций интерпретации (аксиоматизаций), заданных на понятиях и(или) отношениях онтологии, F= {/},/: Dn—> [0,1], D — область интерпретации.
Рассмотрим применение онтологии для построения классификации атак с точки зрения цели атаки. Высокоуровневое представление атак включает в себя следующие свойства: цель атаки, средство атаки, результат атаки и расположение источника атаки.
Согласно данному высокоуровневому представлению вторжение представляет собой некоторый ввод данных, который получен из некоторого местоположения, направлен на определенный системный компонент, использует некоторый метод и вызывает некоторое системное поведение.
Рассмотрим характеристики и свойства данной онтологии:
1. Системный компонент, который является целью атаки:
сетевой протокол (атака использует протоколы стека протоколов и не выходит за них);
пространство ядра (процесс, выполняющийся как часть ОС, который или компилируется в ядро, или загружается модулем и используется в ядре);
приложение (приложение, выполняющееся вне пространства ядра с привилегиями пользователя или root);
другие (не указанные выше, например, принтеры, модемы).
2. Метод, используемый атакующим:
ошибка проверки ввода, которая включает в себя: переполнение буфера, нарушение границ (процесс может читать или писать за разрешенное пространство адресов либо исчерпывает системный ресурс), неправильно сформированный ввод (процесс допускает синтаксически некорректный ввод, ненормальные поля или не имеет возможности корректировать ошибки);
логический эксплойт, использующий уязвимость и ведущий к снижению производительности и (или) компрометации системы: исключительные условия (ошибки, вызванные отказом обработки исключительных условий, сгенерированных функциональным модулем или устройством), условие синхронизации (ошибки, возникающие во время временного промежутка между двумя операциями), ошибки сериализации в результате неправильных операций сериализации, атомные ошибки (ошибки, возникающие, когда частично модифицированные одним процессом данные уже используются другим процессом).
3. Последствия — конечный результат атаки:
отказ в обслуживании пользователей системы;
пользовательский доступ (атакующий получает доступ к некоторым службам целевой системы);
доступ с правами* root (атакующий получает полное управление системой);
потеря конфиденциальности (в результате атаки пользователь системы теряет конфиденциальность данных);
другие (результат заключается в компрометации целостности или других нежелательных характеристиках).
4. Местоположение источника атаки — атакующий соединяется через сеть или находится на хосте:
удаленное (атакующему нет необходимости «виртуально» находиться на цели);
локальное (атакующему необходимо «виртуально» присутствовать на цели);
удаленно-локально (атакующий на разных стадиях атаки может быть как удаленно, так и локально).
Оценивание степени серьезности атак
Для оценки серьезности атак обычно принимаются простые показатели. Главной сложностью при определении показателя является присвоение значений каждой атаке. Как правило, такое назначение осуществляется экспертами, которые имеют достаточный опыт работы с соответствующими показателями. В качестве примера такого показателя рассмотрим параметр важности атаки, который используется в CERT и его обучающем центре. Данный показатель состоит из трех параметров:
простота (значения от 1 до 10; 10 — самый простой);
сложность (от 1 до 10; 1 — самый сложный);
доступность (от 1 до 10; 10 — самый доступный). Значение каждого показателя определяется как среднее арифметическое.
Всемирный центр анализа происшествий (GIAC — Global Incident Analysis Center) уже упоминавшегося института SANS для оценки атак использует показатель серьезности атаки. Общее представление об уровне серьезности атаки иллюстрируется следующей цепочкой (по нарастанию риска): ненаправленный неэффективный сценарный метод нападения (риска нет) -> разведывательное зондирование -> направленный метод нападения -> поражение не основной системы -> поражение основной системы (максимальный риск).
Оценка показателя серьезности атаки Р определятся следующими параметрами:
важность цели;
катастрофичность атаки;
контрмеры (системные и сетевые).
Для каждого параметра установлены оценочные шкалы, некоторые из них приведены в табл. 6.1.
Значение показателя серьезности атаки вычисляется по формуле:
P=(V+H)-(C1 + С2).
Значение каждого элемента выбирается по 5-балльной шкале, где 1 — минимальное значение, а 5 — максимальное. Максимальное значение степени тяжести последствий (наихудший вариант) равно 8, а минимальное (наилучший вариант) — равно -8. Отрицательные значения свидетельствуют о высокой надежности мер обеспечения безопасности.
Рассмотрим два примера вычисления параметра серьезности атаки.
1. Взлом Boink — приводит к отказу в обслуживании уязвимых хостов за счет использования фрагментации для исчерпания системных ресурсов.
Таблица 6.1.
07:26:40.754197 25.25.25.25.20 > protect-5:20: udp
Смещение фрагмента во втором пакете (32) меньше, чем размер полезных данных в первом пакете (36). Кроме того, размер данных первого пакета (36) не соответствует правилу фрагментации, согласно которому размер полезных данных всех фрагментов (кроме последнего) должен быть кратен 8. Значения параметров:
важность цели — 3 (нападению подвергается сервер системы);
катастрофичность атаки — 4 (полная блокировка сервера);
контрмеры системы — 1 (используется старая ОС);
контрмеры сети — 1 (нет межсетевого экрана). Степень тяжести последствий нарушения равно 5.
2. Взлом Teardrop — также приводит к отказу в обслуживании уязвимых хостов.
10:13:32.104203 25.25.25.25.53 > 192.168.1.3.53: %udp 28 (frag 242:3600+) (ttl 64) 10:13:32.104212 25.25.25.25 >
192.168.1.3: %(frag 242:4024) (ttl 64)
Механизм нарушения. На целевой хост направляются фрагментированные IP-дейтаграммы, причем второй фрагмент полностью помещается в первом.
Значения параметров:
важность цели — 2 (нападению подверглась рабочая станция Unix);
катастрофичность атаки — 1 (система защищена от взломов Teardrop);
контрмеры системы — 5 (ОС защищена от этого взлома);
контрмеры сети — 1 (нет межсетевого экрана). Степень тяжести последствий нарушения равно -3.
Контрольные вопросы:
1.Перечислите основные угрозы при сетевом взаимодействии.
2.Что понимается под удаленной сетевой атакой?
3.Перечислите основные типы сетевых атак и их особенности.
4.Что может выступать в качестве атакуемого программного средства?
5.Что понимается под уязвимостью и эксплойтом?
6.Какая взаимосвязь между атакой и сценарием атаки?
7.Каково главное отличие атаки от вторжения?
8.Перечислите основные шаги обобщенного сценария атаки.
9. Перечислите обстоятельства, обусловившие высокую скорость распространения червя Slammer.
10.Что может быть установлено на атакуемой системе в результате успешной атаки?
11.Каковы основное назначение и виды rootkits?
12. На чем основаны атаки, использующие фрагментирование пакетов?
13.Перечислите типы отдельных атак, использованных в атаке Митника.
14.Используя приведенные в главе примеры атак, дополните категории атак, введенные Столингсом.
15.Перечислите основные средства атак по классификации Ховарда.
16.Перечислите основные различия онтологии и таксономии.
17.Каковы возможные границы диапазона значений уровня серьезности атак по схеме оценки GIAC?