- •Безопасность
- •Аппаратное обеспечение
- •Программное обеспечение
- •Линии связи и сети
- •15.2. Защита
- •Защита памяти
- •Контроль доступа, ориентированный на пользователя
- •Контроль доступа, ориентированный на данные
- •15.3. Взломщики
- •Методы вторжения
- •Защита паролей
- •Уязвимость паролей
- •Контроль доступа
- •Стратегии выбора паролей
- •Выявление вторжений
- •15.4. Зловредное программное обеспечение
- •Зловредные программы
- •Логические бомбы
- •Троянские кони
- •Природа вирусов
- •Виды вирусов
- •Макровирусы
- •Подходы к борьбе с вирусами
- •Обобщенное дешифрование
- •Цифровая иммунная система
- •15.5. Системы с доверительными отношениями
- •Защита от троянских коней
- •15.6. Безопасность операционной системы windows 2000
- •15.7. Резюме, ключевые термины и контрольные вопросы
- •Контрольные вопросы
- •15.8. Рекомендуемая литература
- •Приложение. Шифрование
- •Стандартное шифрование
- •Стандарт шифрования данных
- •Тройной алгоритм шифрования данных
- •Улучшенный стандарт шифрования
- •Шифрование с открытым ключом
- •А.2. Архитектура протоколов tcp/ip
- •Уровни протокола tcp/ip
- •Приложения tcp/ip
- •Б.1. Мотивация
- •Б.З. Преимущества объектно-ориентированного подхода
- •Б.2. Объектно-ориентированные концепции
- •Структура объектов
- •Классы объектов
- •Наследование
- •Полиморфизм
- •Включение
- •Список литературы
Выявление вторжений
Даже самая лучшая система предотвращения вторжения рано или поздно будет взломана. Второй линией обороны от вторжений является их выявление, на чем в последние годы было сфокусировано внимание большого количества исследователей. Интерес к этой теме обусловлен несколькими причинами, включая следующие.
Если вторжение обнаружено достаточно быстро, взломщика можно идентифицировать и изгнать из системы, прежде чем он успеет причинить вред или дискредитировать данные. Чем раньше удастся обнаружить присутствие взломщика, тем меньше вреда он нанесет и тем быстрее можно будет восстановить систему.
Эффективная система обнаружения вторжений может служить сдерживающим средством, предотвращающим вторжения.
Обнаружение вторжений позволяет собирать информацию о методах вторжений, которую можно использовать для повышения надежности соответствующих средств.
Выявление вторжений основано на предположении, что поведение взломщика отличается от поведения законного пользователя, и эти отличия можно определить количественно. Конечно же, нельзя ожидать, что отличие в поведении будет полным; скорее, следует предположить наличие некоторой корреляции.
На рис. 15.6 в самых общих чертах представлен характер задачи, которая стоит перед разработчиком системы выявления вторжений. Несмотря на то что типичное поведение взломщика отличается от типичного поведения санкционированного пользователя, они имеют нечто общее. Таким образом, вольное толкование поведения взломщика, при котором будет отобрано больше злоумышленников, приведет к тому, что в эти сети попадутся ненастоящие взломщики, т.е. некоторые санкционированные пользователи будут идентифицированы как взломщики. С другой стороны, если попытаться ужесточить критерии отбора, наложив строгие рамки на интерпретацию поведения взломщика, это повысит риск упустить злоумышленника. Некоторые злоумышленники могут не попасть в эти рамки и не будут идентифицированы как взломщики.
Андерсон (Anderson) провел исследование [ANDE80], в котором было доказано, что можно с разумной степенью достоверности отличить имитатора от законного пользователя. Понаблюдав за поведением легальных пользователей некоторое время, можно установить определенные закономерности их поведения, а затем выявлять существенные отклонения от них. Андерсон предположил, что правонарушителя (санкционированного пользователя, который выполняет несанкционированные действия) обнаружить труднее, так как в этом случае различие между обычным и необычным поведением может быть незначительным. Таким образом исследователь пришел к выводу, что подобные нарушения почти не подлежат обнаружению, при котором только ведутся поиски необычного поведения. Тем не менее поведение правонарушителя подлежит обнаружению с помощью разумного определения класса условий, предполагающих несанкционированное поведение. Наконец, оказалось, что невозможно выявить тайного пользователя с помощью одних лишь автоматических методов. Результаты этих наблюдений, сделанных в 1980 году, остаются актуальными и сейчас.
В [PORR92] перечислены такие подходы к выявлению вторжений.
1. Выявление статистических отклонений. Этот подход включает в себя сбор в течение некоторого периода времени данных, связанных с поведением законных пользователей. Затем наблюдаемое поведение проходит обработку статистическими методами, в результате чего с высокой степенью достоверности удается выявить, является ли данный пользователь законным, исходя из его поведения.
Пороговое обнаружение. При этом подходе необходимо задать не зависящие от пользователя пороги частот различных событий.
Профильное обнаружение. Создается профиль поведения каждого пользователя, который служит для выявления изменений в поведении пользователей отдельных учетных записей.
2. Выявление на основе правил. Делается попытка установить набор правил, на основе которых можно было бы принимать решение, является ли данное поведение поведением взломщика.
Выявление отклонений. Правила составляются для того, чтобы выявить отклонения от предыдущих характеристик использования системы.
Идентификация проникновения. Подход, лежащий в основе экспертных систем, при котором осуществляется поиск подозрительного поведения.
Стержнем статистических подходов является попытка определить нормальное, или ожидаемое, поведение, в то время как подходы, основанные на правилах, пытаются задать надлежащее поведение.
Если говорить о перечисленных выше видах взломщиков, то выявление на основе статистических отклонений эффективно в отношении притворщиков, которые, скорее всего, не станут подражать стилю поведения пользователей тех учетных записей, которыми они завладели. С другой стороны, эти методы могут оказаться бессильными против правонарушителей. Для выявления атак такого рода могут быть полезными подходы, основанные на правилах, позволяющих распознавать события и их последовательности, которые при определенных обстоятельствах свидетельствуют о проникновении чужака. На практике может понадобиться использование в системе обоих подходов для эффективной борьбы против широкого спектра атак.
Основным инструментом выявления вторжений является запись данных аудита. Должно вестись некоторое протоколирование деятельности пользователей, которое используется системой для выявления вторжения. Оно выглядит следующим образом.
Записи аудита пользователей системы. Почти все многопользовательские операционные системы содержат в себе программные средства учета вычислительных ресурсов, собирающие информацию о деятельности пользователей. Преимущество использования этой информации заключается в отсутствии необходимости в наличии дополнительного набора программ. Недостаток же состоит в том, что в записях обычных пользователей может не содержаться нужная информация или она может иметь неудобный вид.
Записи аудита, предназначенные для выявления. Можно реализовать набор средств, которые будут генерировать записи аудита, содержащие только ту информацию, которая нужна системе выявления вторжений. Одним из преимуществ такого подхода является то, что его можно сделать независимым от производителя и переносимым на самые разные системы. Недостаток состоит в том, что этот подход предполагает дополнительные накладные рас ходы, связанные с добавлением пакетов учета использования ресурсов.
Хорошей демонстрацией предназначенных для выявления записей аудита является разработанный Дороти Деннинг (Dorothy Denning) [DENN87] пример. Каждая запись содержит такие поля.
Субъект. Инициаторы действий. Субъектом обычно является пользователь терминала, но может быть и процесс, работающий от имени пользователей или групп пользователей. Вся активность возникает как результат выполнения команд субъекта. Субъекты могут быть сгруппированы в различные классы доступа, для которых допустимо перекрытие,
Действие. Операция, которую субъект выполняет с объектом, например регистрация, чтение, операции ввода-вывода, запуск программ.
Объект. То, над чем выполняются действия. В качестве примеров можно привести файлы, программы, сообщения, записи, терминалы, принтеры и структуры, созданные пользователями или программами. В том случае, когда действие выполняется над субъектом, таким, как электронная почта, он рассматривается как объект. Объекты могут быть сгруппированы по типам. Степень детализации объектов может зависеть от их типа и от окружения. Например, аудит действий, выполняемых в базе данных, может выполняться на уровне базы данных как целого или на уровне отдельных записей.
Исключительная ситуация. Бели в ответ на действие возникла исключи тельная ситуация, то она указывается в этом поле.
Использование ресурсов. Список числовых параметров, с помощью которых измеряется использование определенного ресурса (например, количество распечатанных или выведенных на экран строк, количество записанных или прочитанных записей, процессорное время, использованные устройства ввода-вывода, время сеанса).
Временной штамп. Штамп с указанием времени и даты, указывающий, когда было выполнено действие.
Большинство выполняемых пользователями операций состоят из нескольких элементарных действий. Например, копирование файла включает в себя выполнение команды пользователя, в которой содержится проверка возможности доступа, предварительная настройка, чтение из одного файла и копирование в другой. Рассмотрим команду
COPY GAME.EXE TO <Library>GAME.EXE
введенную пользователем Smith, чтобы скопировать исполняемый файл GAME.EXE из текущего каталога в каталог <Library>. При этом могут быть сгенерированы такие записи:
Smith execute <Library>COPY.EXE 0 CPU = 00002 11058721678
Smith read <Smith>GAME.EXE 0 RECORDS = 0 11058721679
Smith execute <Library>COPY.EXE write-viol RECORDS = 0 11058721680
В данном случае копирование прерывается, так как Смиту не разрешено записывать в каталог <Library>.
Разложение операций пользователя на элементарные действия обладает тремя преимуществами.
Благодаря тому что объекты являются защищаемыми элементами системы, использование элементарных действий позволяет вести всесторонний аудит воздействий на объект. Таким образом, система может обнаружить попытки преодолеть контроль доступа (отмечая аномальный рост количества возникающих исключительных ситуаций). Система может также выявлять удавшиеся нарушения, отмечая необычные изменения в наборе доступных субъекту объектов.
Записи аудита, включающие в себя единственный объект и единственное действие, упрощают модель и ее реализацию.
Благодаря простой единообразной структуре предназначенных для выявления записей аудита появляется возможность сравнительно легко получить эту информацию, или по крайней мере ее часть, с помощью прямого переноса имеющихся в системе встроенных записей аудита в записи аудита, предназначенные для выявления вторжения.