Научная статья на тему 'Реализация дискреционной модели с изолированным доступом в системе блокирования поведения'

Реализация дискреционной модели с изолированным доступом в системе блокирования поведения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
413
55
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Косолапов Ф. А., Макаревич О. Б., Пескова О. Ю., Чередниченко С. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Реализация дискреционной модели с изолированным доступом в системе блокирования поведения»

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

Используя пользовательские скрипты система позволяет не зависит от фиксированной базы уязвимостей и создавать более полные тесты для определения уязвимостей. Другая область применения программы - тестирование систем обнаружения атак. В настоящее время не существует стандартизированных средств, осуществляющих атакующие действия, которые можно было рекомендовать для проведения испытаний. Поскольку СОА становятся всё более совершенными и более интегрированными в систему, подход к их тестированию, основанный на посылке отдельных пакетов, содержащих сигнатуры атак, или на генерации псевдослучайного трафика, становится всё более бесполезным и не отражающим реальных возможностей тестируемых СОА. При проведении тестов нельзя использовать средства, генерирующие «случайный» трафик, поскольку трафик с такими характеристиками не встречается в реальной сети. Также нежелательно использовать средства, генерирующие отдельные пакеты, содержащие различные сигнатуры атак, и отправляющие их в сеть. Такой трафик лишь с большой натяжкой можно назвать трафиком, эмулирующим реальную атаку. Используя разработанный язык написания скриптов, можно разработать тесты, имитирующие реальный трафик, например, установку и поддержание соединения с атакуемым хостом, посылку пакетов, содержащих вредоносный трафик и завершение соединения. Также, используя возможность модуля перехвата и посылки пакетов сохранять перехваченные пакеты на жесткий диск, можно предложить другой сценарий тестирования. Необходимо перехватывать и сохранять весь трафик между тестируемыми хостами (входящий и исходящий), и, таким образом, собрать достаточное количество данных, характеризующих реальный трафик между атакующей и атакуемой сетями или машинами.

Данные должны быть разбиты на группы пакетов, представляющие собою завершенные сессии, т.е. установление соединения, передачу данных, завершение соединения. Такие наборы данных должны быть сохранены в отдельные файлы, с тем, чтобы в дальнейшем их можно было комбинировать друг с другом, представляя трафик различной интенсивности и эмулируя различные типы сетей (веб-сайт, файл-сервер, локальная сеть предприятия и др.). При накоплении достаточного объёма сохранённого трафика можно переходить к его подготовке для использования в тестировании возможностей СОА для обнаружения атак. В сохранённый «нормальный» трафик вводится трафик с заданными характеристиками, например, пакеты, перехваченные после запуска любого средства генерации атак. После этого модифицированный трафик используется в качестве входных данных для программы генерации сетевого трафика. Такие тесты наиболее похожи на реальный сетевой трафик и поэтому позволяют получить наиболее полное и правдивое представление о возможностях системы обнаружения атак.

Ф.А. Косолапов, О.Б. Макаревич, О.Ю. Пескова, С.В. Чередниченко

Россия, г. Таганрог, ТРТУ

РЕАЛИЗАЦИЯ ДИСКРЕЦИОННОЙ МОДЕЛИ С ИЗОЛИРОВАННЫМ ДОСТУПОМ В СИСТЕМЕ БЛОКИРОВАНИЯ ПОВЕДЕНИЯ

Введение

Уже более десяти лет ведется упорная борьба между создателями вирусов и разработчиками антивирусных программ. На свет выходят все новые и новые чер-

ви и вирусы. Их скорость размножения достигла просто колоссальных результатов, а их количество уже превышает сотни тысяч. Каждый день обнаруживается более 10 уязвимостей в программном обеспечении, и каждый год это число растет экспоненциальными темпами. Обнаружение уязвимостей подталкивает создателей вредоносных программ на разработку еще более опасных червей и вирусов. Единственное, чем могут ответить на это разработчики антивирусных программ, это пополнение своих баз данных сигнатур. Т.е. создатели вредоносного кода всегда имеют фору — они атакуют цели прежде, чем специалисты по защите от вирусов успевают проанализировать и нейтрализовать код. Даже если поставщики традиционного антивирусного ПО смогут выпускать обновления настолько быстро, что обеспечат защиту хотя бы девяти десятых своих клиентов, все равно одна десятая будет страдать от атак. Очевидно, что разработчики антивирусного программного обеспечения начинают проигрывать свою битву. По данным исследований ICSA Labs, вероятность какой-либо компании «подхватить» вирус увеличилась на 15%! Очевидно, что традиционные антивирусные средства не могут угнаться за новыми угрозами. Многие организации ищут другие возможности для ликвидации разрыва по времени между вирусной атакой и обновлением сигнатур. Одна из них — технология блокирования поведения. Она существует уже несколько лет, но лишь сейчас приобрела известность, предлагая то, что не под силу антивирусным решениям на базе сигнатур: защиту от неизвестного вредоносного кода в режиме реального времени.

Реализация системы блокирования поведения

Основная идея предлагаемой системы блокирования поведения (Behaivor Blocking System) заключается в расширении стандартной модели защиты Windows 2000. Компания Microsoft, реализовала в Windows 2000 дискреционную модель с избирательным доступом. Эта модель позволяет защитить ресурсы одних пользователей от доступа к ним других, а также защитить системные ресурсы от доступа к ним пользователей. Хотя у администратора есть привилегия получить во владение любой ресурс в системе, в независимости от того, кому он принадлежит. Поэтому данная модель защиты отлично позволяет разграничить доступ к ресурсам системы между пользователями, но практически никак не спасает от злонамеренного кода. А особенно когда он запущен с привилегиями администратора.

Предлагаемая BBS расширяет стандартную модель защиты Windows 2000 до дескриционной модели с изолированным доступом. Основная идея такой системы - это описать соответствия между процессами (или группами процессов) и ресурсами (или группами ресурсов). Эти соответствия могут быть как однозначными, так и неоднозначными. Однозначное соответствие между ресурсом и процессом означают, что данный процесс может (или не может) обращаться к этому ресурсу. Такие правила, мы будем называть простыми или жесткими. Например: закеширо-ванные пароли Internet Explorer-a может считывать только сам Internet Explorer.

Неоднозначное соответствие между процессом и ресурсом будет зависеть от предыдущих операций выполненных этим процессом. Т.е. анализироваться будет не конкретный запрос, а вся цепочка действий, произведенных этим процессом с момента своего запуска. В одном случае процесс может получить доступ к ресурсу, а в другом - нет. Правила основанные на “поведении” процесса мы будем называть составными правилами. Например: характерной цепочкой для сетевого червя является: файл скачен с интернета, запущен, он обращается к адресной книге, затем рассылает письма множеству адресатов. Каждое из событий является вполне “безобидным”, а в комплексе они позволяют выявить стандартное поведение почтового червя. Для реализации такой модели защиты, в ядро операционной системы внедряются перехватчики вызовов системных функций, отвечающих за

доступ к различным видам ресурсов системы. Т.е. к файлам, реестру, сети и среде выполнения. Они должны будут перехватывать каждую операцию доступа к ресурсу, останавливать ее, и посылать запрос “анализатору обращений к ресурсам”. В свою очередь, анализатор разрешает или запрещает эту операцию указанному процессу, и посылает результат своего анализа блоку принятия решений. На основании настроек, тот выносит решение - блокировать запрос или нет.

Чтобы обеспечить надежность системы и гарантировать ее безопасность необходимо чтобы каждый процесс выполнял операции от своего лица, и не влезал в адресное пространства других процессов, с целью выполнить какие-либо системные функции не от своего имени. Контроль адресного пространства процессов является так же ключевой функцией предлагаемой системы. Только при соблюдении этого пункта, можно будет гарантировать, что дискриционная модель с изло-рованным доступом будет выполнять свои функции и обеспечит надежную и безопастную работу системы. Общая модель организации системы блокирования поведения приведена на рис. 1.

Модули системы блокирования поведения

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

Модуль защиты конфиденциальных или важных ресурсов программ или системы

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

Модуль защиты на основе нормального поведения

Каждому известному приложению присваивается определенная политика, описывающая, какие действия для приложения являются нормальными. Если приложение пытается выполнить действия не описанное в его политике, то оно блокируется. Например, если вдруг, графический редактор начал неожиданно рассылать группу писем по неизвестным адресам, то такое действие будет заблокиро-ванно (так как оно не является “нормальным” для данного типа приложений). Политики, описывающие действия стандартных приложений или класса приложений (например, графических, текстовых редакторов, почтовиков и т.д.), - называются “обертками приложений”. Они служат для обнаружения “троянских коней”, макровирусов, вирусов основанных на АсІ^еХ компонентах и различных скриптах, а так же против атак нарушения адресного пространства процессов.

Модуль защиты на основе сложных правил

Описывает поведение (последовательность простых действий) обычно присущее вирусам, “троянским коням” и червям. Изучая поведение различных вредоносных программ, можно выделить стандартные цепочки действий, присущих только им. Например: пользователь скачивает программу с интернета, запускает

ее, программа делает свое окно невидимым, считывает какую-то информацию с файлов или реестра и передает что то по сети - это поведение присущее обычно “троянским коням”. Составные правила помогают описать сложные действия, производимые вредоносным кодом, и позволяют избежать большого колличества ложных тревог, обычно присущие системам такого класса. Каждый процесс имеет вектор, который описывает, какие из простых событий уже выполнены процессом. Когда вектор процесса будет соответствовать любому из сложных правил, считается, что для данного процесса выполнилось сложное правило и процесс блокируется. Примерами простых событий, из которых будет состоять матрица сложных правил, могут быть: файл скачен с интернета; использование сокетов для передачи информации по сети; ожидание входящих сообщений; добавление аккаунта нового пользователя; открытие share ресурсов; создание невидимого окна;

Модуль защиты на основе конфиденциальных ресурсов пользователя

Пользовательские конфиденциальные ресурсы - это файлы созданные пользователем, которые по его мнению являются важными или секретными. Предлагаемая система следит за ними и предотвращает попытки несанкционированного доступа к ним, со стороны других приложений. Это позволяет избежать кражи конфиденциальной информации с компьютера различным видам вирусов, червей и троянских коней. С помощью этого модуля защиты пользователь может сам выбрать файлы, которые должна защищать данная система, и указать, каким из приложений можно обращаться к этим файлам. Установив такие правила пользователь может быть уверен, что никакое другое приложение, кроме указанных, не получит доступ к его конфиденциальным ресурсам.

Приложение

Вызов системной функции

Контроль

адресного

пространства

процесса

Перехватчик обращений

Реестра Файлов Сети

Нарушение

адресного

пространства

процесса

БД простых правил

- Пользователь

- Процесс

- Ресурс

- Тип доступа

БД составных правил

Анализатор обращений к ресурсам

- Запретить

- Разрешить

- Спросить пользователя

Log файл

- Настройки Админ администратора

- Принятие решений

Запретить

доступ

Рис.1 Общая модель организации системы блокирования поведения

Вывод

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

Работа поддержана грантом РФФИ № 03-07-90075.

М. В. Аникеев И. Д. Сидоров

Россия, г. Таганрог, ТРТУ

ОБНАРУЖЕНИЕ АНОМАЛЬНОГО ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЯ В

ОПЕРАЦИОННОЙ СИСТЕМЕ WINDOWS НА ОСНОВЕ АНАЛИЗА РАБОТЫ С ПРИЛОЖЕНИЯМИ

Традиционно системы обнаружения вторжений (атак) подразделяются на системы обнаружения злоупотреблений и системы обнаружения аномалий [1]. К злоупотреблениям относятся известные атаки, которые используют известные уязвимости системы. Аномалии означают любую необычную деятельность, которая потенциально может указывать на атаку. Если наблюдаемая деятельность пользователя не соответствует ожидаемому режиму работы, то говорят, что имеет место аномалия. Основной проблемой при проектировании систем обнаружения аномалий является определение, какое поведение пользователя можно считать обычным, а какое содержит признаки аномалий. Необычное, но санкционированное использование иногда может рассматриваться как аномальное, что ведёт к росту числа ложных срабатываний. С другой стороны, если проектировать систему, основываясь на известных примерах аномального поведения, система будет неспособна обнаруживать нестандартные атаки. Одним из распространённых подходов к решению этой проблемы является создание профилей стандартного поведения индивидуальных пользователей в конкретной системе вместо создания единого профиля санкционированного поведения многих пользователей. При этом поведение характерное для одного из пользователей может считаться необычным для другого и наоборот. Поскольку такие профили трудно формализовать, предлагается их создавать на основе примеров нормальной работы того или иного пользователя. В качестве средства представления профилей были выбраны нейронные сети, благодаря их способности обучаться на примерах. В ряде работ по обнаружению аномалий [2, 3, 4] в качестве информативных признаков режима работы пользователя были выбраны характеристики использования различных команд оболочки операционной системы. Поскольку для работы в операционных системах семейства Windows использование командной оболочки крайне нетипично, такой подход становится неприемлемым. В Windows аналогом работы с командной оболочкой можно считать запуск и завершение приложений, а также переход от одного активного приложения к другому. В данной статье рассматривается система обнару-

i Надоели баннеры? Вы всегда можете отключить рекламу.