Уязвимости интернет-сервисов
Понятие, признаки и принципы действия, а также существующие методы обнаружения уязвимостей веб-приложений. Использование значений операций для более точного обнаружения отклонений в поведении. Используемые приемы: Хотеллинга, EWMA, нейросетевой.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 13.02.2014 |
Размер файла | 147,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
1. Определения и основные понятия
В данном разделе определяются основные понятия и термины, используемые в данной работе.
Ключевыми понятиями являются веб-приложение и поведение веб-приложения.
Под веб-приложением понимается приложение, с которым пользователь взаимодействует при помощи браузера. Само приложение при этом работает в составе веб-сервера и осуществляет взаимодействие с пользователем путём получения HTTP-запросов от браузера пользователя (ввод) и генерации веб-страниц (вывод) [17].
Объект окружения - это любая внешняя по отношению к веб-приложению сущность, предоставляющая набор операций, которые могут быть осуществлены веб-приложением над данным объектом окружения. В качестве примеров объектов окружения могут быть приведены ресурсы операционной системы, почтовый сервис, СУБД.
Операция - любое действие, которое может быть осуществлено над объектом окружения веб-приложением. Например, для объекта окружения «СУБД» операциями являются операторы языка SQL, для объекта окружения «почтовый сервис» - функции отправки сообщений.
Значение операции - это отображение результатов операции во множество вещественных чисел. Семантика отображения определяется для каждой конкретной операции. Например, для операций «SELECT» или «INSERT» объекта окружения «СУБД» значением данных операций может являться количество затронутых строк в базе данных; для операций «чтение из файла» или «запись в файл» объекта окружения «ресурсы операционной системы» значением операции может являться количество прочитанных или записанных байт соответственно. Очевидно, не для каждой операции значение операции может быть иметь смысл. Например, для операции «выбор базы данных» объекта окружения «СУБД». В этом случае в качестве значения операции может быть выбрана некоторая константа.
Логическая схема веб-сервера представлена на рисунке.
Логическая схема веб-сервера
В схеме, изображённой на рисунке:
· Веб-сервер - приложение, выполняющее функции веб-сервера, например, Apache HTTP Server или Microsoft Internet Information Services (IIS).
· Технология поддержки веб-приложения - набор программных компонент, формирующих среду для выполнения веб-приложений, созданных при помощи данной технологии. В качестве примера можно привести такие распространённые технологии, как PHP и ASP.NET.
· Веб-приложение - приложение, созданное при помощи некоторой технологии создания веб-приложений, несущее в себе логику, заложенную разработчиком. Например, для технологии поддержки веб-приложений PHP веб-приложение может представлять собой набор файлов, содержащих сценарии на языке PHP.
В общем случае, взаимодействие пользователя с веб-приложением происходит по следующей схеме [17, 22]:
1. В браузере пользователя происходит некоторое событие, порождающее HTTP-запрос к веб-приложению - таковым может являться переход по ссылке, нажатие на кнопку отправки данных формы на сервер, срабатывание скрипта на стороне клиента и т.п.
2. Порождённый HTTP-запрос принимается и обрабатывается веб-сервером. Определяется, какому веб-приложению адресован запрос и какие компоненты отвечают за выполнение веб-приложения. Происходит запуск необходимых компонент и передача данных HTTP-запроса.
3. В сформированной запущенными компонентами рабочей среде производится запуск веб-приложения.
4. В ходе обработки данных, полученных из HTTP-запроса, веб-приложение совершает определённые действия в рамках логики, заложенной разработчиком. Часть этих действий, возможно, представляет собой запросы на выполнение операций к объектам окружения.
5. Веб-приложение генерирует вывод, который передаётся компонентами технологии поддержки веб-приложения веб-серверу. Веб-сервер отправляет вывод клиенту в виде HTTP-ответа.
Основываясь на данной схеме и терминах, введённых выше, можно определить поведение веб-приложения как взаимодействие веб-приложения с объектами окружения в ответ на HTTP-запросы от браузера пользователя.
Под уязвимостью будет пониматься тот или иной недостаток в программной системе, из-за которого становится возможным нежелательное воздействие на нее злоумышленников или вирусов. В частности, уязвимость может позволить злоумышленнику заставить веб-приложение выполнить одну или несколько операций над объектами окружения, не предусмотренные логикой, заложенной разработчиком.
2. Метод обнаружения уязвимостей веб-приложений
В данном разделе описывается предлагаемый метод обнаружения уязвимостей веб-приложений на основе контроля поведения веб-приложения.
Применение метода
Как было отмечено во Введении, существующие средства обнаружения уязвимостей используют методы белого и чёрного ящика. В первом случае производится анализ исходных коды и / или файлов конфигурации веб-приложения. Выявляются участки кода, потенциально содержащие уязвимость или небезопасные параметры конфигурации [12]. Во втором случае осуществляется поиск уязвимостей «извне» - веб-приложению отсылаются HTTP-запросы и анализируются ответы. При этом встают задачи выявления структуры веб-приложения, определения типа сервера и построения тестового набора HTTP-запросов и последующего анализа HTTP-ответов [14]. Но данные средства не осуществляют контроль поведения веб-приложения в смысле, определённом в Разделе 3, в то время как необнаруженные уязвимости могут проявиться именно в обращении к объектам окружения. Предлагаемый метод обнаружения уязвимостей предполагает сравнение поступающего HTTP-трафика со внутренней работой веб-приложения. Метод предназначен для обнаружения уязвимостей, приводящих к недопустимым с точки зрения профиля нормального поведения операциям веб-приложения над объектами окружения и / или изменению значений допустимых операций.
Метод предназначен для обнаружения уязвимостей произвольного числа веб-приложений. Предполагается осуществление контроля поведения для всех веб-приложений, информация о поведении которых может быть доступна инструментальному средству, реализующему метод. Для каждого веб-приложения составляется профиль нормального поведения. Текущее поведение сравнивается с описанным в профиле нормального поведения и в случае отклонения фиксируется аномалия и предполагается уязвимость. Предполагается хранение профилей нормального поведения в виде файлов или записей базы данных для обеспечения возможности совместного использования профилей несколькими средствами обнаружения уязвимостей, построенными на базе общего метода. Такая схема хранения профилей также позволяет параллельно производить процессы построения профилей нормального поведения и обнаружения уязвимостей на основе сформированных профилей.
Описание метода
В основе метода лежит идея анализа связей между наборами параметров, поступающих в веб-приложение через HTTP-запросы, и операциями над объектами окружения, совершаемыми веб-приложениями в ответ на данные запросы. Метод предполагает функционирование реализующего его средства в двух режимах - в режиме обучения и в режиме обнаружения уязвимостей. При работе средства в любом из режимов формируется трасса веб-приложения (трасса) - последовательность записей трассы, описывающих поступившие в HTTP-запросах наборы параметров и наборы совершённых веб-приложением операций над объектами окружения в ответ на запросы. Каждому набору HTTP-параметров соответствует набор совершённых в ходе обработки HTTP-запроса операций над объектами окружения.
В зависимости от реализации, трасса может формироваться для отложенного по времени анализа и для анализа в режиме реального времени. В первом варианте трасса веб-приложения может представлять собой набор записей трассы, сохранённых в виде файла или в базе данных. Во втором варианте записи трассы веб-приложения могут поступать для анализа в режиме реального времени. Для работы самого метода выбор способа формирования трассы не является существенным.
Режим обучения предназначен для автоматического построения профилей нормального поведения веб-приложений. В режиме обучения веб-приложение используется легитимным пользователем строго по назначению. На этапе обучения трасса анализируется, и в результате анализа формируется профиль нормального поведения веб-приложения. В нём фиксируются наборы HTTP-параметров и соответствующие наборы операций. Таким образом, профиль несёт в себе информацию об ожидаемых (или допустимых) операциях в ответ на каждый набор HTTP-параметров. Подробнее алгоритм построения профиля нормального поведения описывается в Подразделе 6.4.3.
Очевидно, для построения максимально подробного и адекватного профиля нормального поведения, функционирование веб-приложения в режиме обучения должно охватывать возможно большее количество вариантов использования. При этом также встаёт традиционная для включающих в себя этап обучения методов обнаружения аномалий проблема «чистоты» учебного периода - необходимо оградить веб-приложение от возможного использования злоумышленниками, так как иначе в профиле нормального поведения в качестве допустимых будут зафиксированы действия, потенциально таковыми не являющиеся [4, 6].
В режиме обнаружения уязвимостей происходит анализ фактических действий веб-приложения в ответ на поступающие HTTP-запросы. Ищется профиль нормального поведения для данного веб-приложения, содержащий информацию о допустимых операциях для текущего набора HTTP-параметров. Проверяется наличие в наборе фактически совершённых операций элементов, не входящих во множество допустимых операций. Если такие операции были совершены - предполагается уязвимость. Подробнее алгоритм обнаружения аномалий описывается в Подразделе 6.4.4.
Использование значений операций для более точного обнаружения отклонений в поведении
Описанный метод, по сути, анализирует поведение веб-приложения на предмет совершения недопустимых относительно профиля нормального поведения операций. Однако, в ряде случаев такого анализа может оказаться недостаточно. Операция может быть допустима с точки зрения профиля нормального поведения, в то время как характер самой операции, если в качестве такового рассматривать значение операции, может измениться, что не будет обнаружено.
Можно привести следующий пример. Уязвимость в файле modules.php распространённого веб-приложения CMS PHP-Nuke v 7.5 позволяет провести атаку типа класса SQL injection [3]. При атаках этого класса злоумышленник заставляет веб-приложение выдать СУБД изменённый или модифицированный запрос. Атаки класса SQL injection являются как распространёнными, так и особенно опасными в связи с тем, что могут потенциально приводить к потере всех данных в базе данных. Не менее опасными представляются кража или подмена данных в базе данных. Уязвимости, позволяющие проведение атак класса SQL injection, обычно связаны с недостаточной проверкой и очисткой вводимых пользователем данных при динамическом формировании SQL-запроса с использованием этих данных.
Уязвимость позволяет получить список всех пользователей системы. Исходный запрос используется для получения информации о используемой пользовательской записи. Атака реализуется следующим образом:
1-й POST-параметр: name=Your_Account
2-й POST-параметр: op=userinfo
3-й POST-параметр: username=' OR username LIKE `%'; -
Результирующий SQL-запрос:
SELECT uname FROM nuke_session WHERE uname='' OR username LIKE `%'; -'
Таким образом, с точки зрения описанного метода в ходе атаки веб-приложение совершит допустимую операцию «SELECT» над объектом окружения «сервер MySQL». Аномалия будет заключаться в изменении значения операции. При обычном функционировании значение данной операции будет равно 1, в то время как в результате проведения атаки значение операции будет равно количеству строк в таблице nuke_session.
Можно привести также следующий пример уязвимости, приводящий к атаке класса SQL injection [3]. В ходе выполнения скрипта выполняется запрос, показывающий пользователю список его кредитных карт. В результате атаки злоумышленник может получить список кредитных карт интересующего его пользователя. Атака реализуется следующим образом:
1-й POST-параметр: user=Bob
2-й POST-параметр: card_type=' OR user='Alice
Результирующий SQL-запрос:
SELECT card_id FROM creditcards WHERE user='Bob' AND type= `' OR user='Alice'
Таким образом, с точки зрения описанного метода в ходе атаки веб-приложение совершит допустимую операцию «SELECT» над объектом окружения «сервер MySQL». Аномалия будет заключаться в изменении значения операции. При обычном функционировании значение данной операции будет равно количеству кредитных карт пользователя Bob, информация о которых содержится в таблице creditcards, в то время как в результате проведения атаки значение операции будет равно совокупному количеству кредитных карт пользователей Bob и Alice.
Ряд авторов [4, 6, 8] описывает и обосновывает целесообразность использования математических моделей для обнаружения аномалий в значениях случайных величин, порождаемых некоторым процессом, в частности, для задачи информационной безопасности. В рассматриваемом случае предлагается анализ значений операций при помощи некоторого математического метода обнаружения аномалий. В следующем разделе проводится сравнительный анализ математических методов обнаружения аномалий и выбирается один метод для дальнейшей реализации в модуле обнаружения аномалий.
Отклонения в поведении с точки зрения метода
Таким образом, с точки зрения описываемого метода, возможны два класса аномалий:
· Аномалии, связанные с обнаружением недопустимых операций.
· Аномалии, связанные со значениями операций.
Первый класс аномалий, как было сказано выше, может быть связан с наличием в записи трассы операции, не входящей в набор допустимых операций для данного набора HTTP-параметров, что определяется профилем нормального поведения.
Второй класс аномалий связан со значениями операций, которые являются допустимыми с точки зрения профиля нормального поведения. Этот тип аномалий выявляется при помощи математического метода, выбору которого посвящён следующий раздел.
При обнаружении аномалии, относящейся к любому из этих классов, выдвигается предположение об уязвимости, так как выполнение веб-приложением операций, неожиданных и недопустимых с точки зрения профиля нормального поведения, может быть связано с действиями злоумышленника - а это согласуется с определением уязвимости, приведённым в Разделе 3. Аномалии, связанные со значениями операций, также могут быть результатом воздействия злоумышленника на веб-приложение при помощи некоторой уязвимости, как показано в Подразделе 4.3.
Сравнение наборов HTTP-параметров
Необходимо дополнительно рассмотреть вопрос о сравнении наборов HTTP-параметров.
Параметры могут быть переданы в веб-приложение методами GET и POST [22, 23], определёнными в стандарте протокола HTTP. При использовании метода GET параметры передаются в URL-адресе вида
http:// <адрес приложения>? параметр1=значение1&параметр2=значение2
Так как длина URL ограничена, метод GET применим для передачи данных небольшого объёма. Cогласно стандарту HTTP [23], запросы типа GET считаются идемпотентными - многократное повторение одного и того же запроса GET должно приводить к одинаковым результатам (при условии, что сам ресурс не изменился за время между запросами). Это позволяет кэшировать ответы на запросы GET. В качестве примера можно привести поисковую систему Google.com - она принимает поисковый запрос в URL-строке.
При использовании метода POST данные посылаются внутри самого HTTP-запроса. При этом ограничение на длину данных, передаваемых методом POST, определяется конфигурацией самого веб-сервера. Метод POST используется для передачи данных большого объёма (данные из форм, файлы и т.п.). В отличие от метода GET, метод POST не считается идемпотентным, то есть многократное повторение одних и тех же запросов POST может возвращать разные результаты. Примером может служить отправка сообщения на форум. Сообщение может иметь большую длину и при каждой отправке одного и того же сообщения будет появляться новая копия сообщения на странице соответствующей темы.
Таким образом, методом POST в основном передаются данные большой длины [22], в основном из форм, в то время как данные, переданные методом GET (то есть, URL, содержащий набор параметров), используются в основном для навигации - URL с заданными параметрами может быть передан для перехода на нужную страницу. Разработчиками веб-приложений часто используется комбинированный подход - GET параметры используются для уточнения действия, а POST параметры содержат данные, которые предстоит обработать [22].
В качестве примера, иллюстрирующего такой подход, можно привести популярные веб-приложения, созданные при помощи технологии PHP - систему управления контентом Drupal (текущая версия - 5.1) [27] и систему управления форумом Invision Power Board (текущая версия - 2.2) [28].
В системе управления контентом Drupal вся работа ведётся через файл index.php, расположенный в папке приложения, в котором, по мере необходимости, подключаются дополнительные модули и библиотеки. Специальный GET-параметр q используется для указания действия или адреса страницы и присутствует в URL-адресе всегда, за исключением случая, когда идёт обращение по базовому адресу веб-приложения. В этом случае параметр q считается неопределённым, что соответствует главной странице сайта под управлением Drupal. К примеру, при заданном значении параметра q=admin/build/modules система выводит список модулей в виде формы с флажками. Можно выбрать модули, которые должны быть подключены и по нажатию кнопки отправки данных система сохранит конфигурацию и проинсталлирует выбранные модули. При этом данные формы будут переданы по URL-адресу, содержащему то же значение параметра q=admin/build/modules, но среди POST-данных будет присутствовать скрытый (типа hidden) параметр формы form_id со значеием «system_modules», что будет являться указанием системе сохранить параметры конфигурации, переданные из формы. Аналогично реализованы остальные функции системы: параметр q используется для указания действия, а POST-данные содержат данные для обработки.
В системе управления форумом Invision Power Board используется схожая схема работы. Все действия осуществляются через файл index.php. Действия и дополнительные данные для обработки указываются как в GET, так и в POST-параметрах. К примеру, GET-параметр showforum=8 в URL-адресе является командой отображения страницы со списком тем форума с соответсвующим идентификатором в базе данных; GET-параметр showtopic=12 - команда отображения страницы со списком сообщений на тему с соответствующим идендификатором в базе данных. При добавлении сообщения данные отсылаются методом POST, в числе которых присутствует скрытый (hidden) параметр act со значением «Post», что и является для системы командой на обработку остальных данных и добавление сообщения.
Таким образом, можно сделать следующий вывод. GET-параметры во многих случаях используются как своеобразные «указатели» действия или для навигации, поэтому разные значения одного и того же GET-параметра могут приводить к логически разным действия веб-приложения (как в случае GET-параметра q системы управления контентом Drupal). POST-параметры содержат данные для обработки и, за исключением служебных, вроде скрытого параметра act системы управления форумом Invision Power Board, рассмотренного выше, как правило не управляют логикой работы веб-приложения - разные значения POST-параметров будут обрабатываться в рамках одной и той же логики. Из этого следует, что GET-параметры логично сравнивать на точное совпадение по значению, а POST-параметры - на совпадение типов. Однако, в ряде случаев для отдельных параметров возможны исключения или особые условия при сравнении. Набор типов и их семантика определяется реализацией; подробнее об используемом наборе типов и задании исключений и особых условий при сравнении рассказывается в Подразделе 6.2.2 и Подразделе 6.4.2.
Таким образом, далее будет считаться, что два набора HTTP-параметров совпадают, если:
а) количество и набор GET-параметров совпадают, значения соответствующих GET-параметров совпадают;
б) количество и набор POST-параметров совпадают, типы соответствующих POST-параметров совпадают;
в) HTTP-параметры, для которых оговорены особые правила сравнения, совпадают согласно правилам сравнения.
3. Выбор методов обнаружения аномалий
В данном разделе приводятся описания четырёх математических методов обнаружения аномалий. Далее проводится сравнительный анализ и выбирается один метод. Выбранный метод будет использован в разрабатываемом модуле для обнаружения аномалий в значениях операций, поэтому после описания каждого метода приводится вариант использования метода в терминах решаемой задачи.
Рассмотренные методы были выбраны из следующих соображений:
· каждый метод является представителем класса методов;
· каждый метод часто упоминается в статьях, посвящённых задаче обнаружения аномалий.
В данном разделе и далее термины «модель обнаружения аномалий» и «метод обнаружения аномалий» будут считаться равнозначными и взаимозаменяемыми. Также равнозначными будут считаться понятия «этап обучения» и «этап построения профилей нормального поведения».
Метод Хотеллинга (тест Хотеллинга)
Метод Хотеллинга представляет собой многомерный статистический метод обнаружения аномалий [4].
Пусть Xi = (Xi1, Xi2, …, Xip)' - значения p параметров процесса или системы в определённый момент времени i. Предполагается, что при нормальном функционировании процесса анализируемое множество векторов X обладает нормальным распределением с вектором математических ожиданий м и ковариационной матрицей У. Для образца данных размера n вектор математических ожиданий X и ковариационная матрица S обычно рассчитываются следующим образом:
Значение теста Хотеллинга T2 для наблюдения Xi рассчитывается следующим образом:
Большое значение T2 означает большое отклонение значений наблюдения Xi от математических ожиданий анализируемой совокупности наблюдений.
Обычно неизвестно, каким распределением обладает множество значений каждой такой переменной, а значит, выдвигать предположение о том, что оно является нормальным, нельзя. Однако, если p случайных величин независимы и p достаточно большое (примерно больше 30), то T2 имеет распределение близкое к нормальному в соответствии с Центральной Предельной Теоремой вне зависимости от того, какими распределениями обладают множества значений каждой из p рассматриваемых случайных переменных. Используя набор значений T2, можно получить значения дисперсии и математического ожидания путём приближения математического ожидания и дисперсии . Предельные значения для обнаружения потери контроля над процессом обычно ставятся равными 3у и определяют диапазон . по выходу значения T2 за который подаётся сигнал об аномалии.
Сигнал о потере контроля над процессом на основе теста T2 может быть вызван сдвигом математического ожидания, потерей связи между переменными или комбинацией обеих ситуаций. В ситуации «сдвиг математического ожидания» одна или более из p переменных выходят из-под контроля. В ситуации «потеря взаимодействия переменных», взаимодействие между двумя или более из p переменных начинает отличаться от описанного в ковариационной матрице.
Хотя тест T2 обнаруживает оба вида ситуаций, тем не менее, он является более чувствительным к потере взаимодействия переменных, так как тест T2 в значительной степени зависит от взаимодействия переменных, описанного в ковариационной матрице.
Процесс автоматического построения профиля нормального поведения для теста Хотеллинга происходит следующим образом. Берётся набор учебных данных, каждый элемент которого представляет собой вектор значений параметров системы в конкретный момент времени. Для каждого параметра рассчитывается математическое ожидание, таким образом формируется вектор математических ожиданий X, который фиксируется в профиле. Далее рассчитывается и фиксируется в профиле ковариационная матрица S. Затем высчитывается математическое ожидание теста Хотеллинга и дисперсия , после чего высчитывается и фиксируется в профиле контрольный диапазон . После фиксации границ контрольного диапазона можно начинать анализ поступающих данных на предмет обнаружения аномалий-то есть выхода значения теста T2 за пределы контрольного диапазона.
В контексте предложенного метода обнаружения уязвимостей метод может быть использован следующим образом.
Размерность вектора ставится равной количеству всех операций над всеми объектами окружения. На этапе построения профилей нормального поведения в результате каждого HTTP-запроса формируется вектор, в котором значение каждой компоненты соответствует значению соответствующей операции. Вектора группируются по наборам HTTP-параметров, т.е. каждому набору HTTP-параметров соответствует набор векторов - записей трассы, полученных для данного набора HTTP-параметров за время обучения. Для каждого набора векторов по общей схеме высчитываются вектор математических ожиданий X, а затем математическое ожидание теста Хотеллинга и дисперсия . Далее фиксируется контрольный диапазон, и построение профиля нормального поведения для данного набора HTTP-параметров можно считать завершённым.
В режиме обнаружения аномалий открывается окно наблюдения некоторого размера. Алгоритм пересчёта значения теста Хотеллинга для каждого набора HTTP-параметров, присутствующего в окне наблюдения, запускается при поступлении каждой новой записи в трассу, т.е. при поступлении каждого нового HTTP-запроса и, соответственно, нового вектора значений операций, полученных в ходе обработки запроса. При выходе значения теста Хотеллинга для некоторого набора HTTP-параметров за пределы контрольного диапазона, зафиксированного в профиле нормального поведения для данного набора параметров, фиксируется аномалия.
Метод EWMA (Exponentially Weighted Moving Average)
В основе метода EWMA лежит экспоненциальное сглаживание первого порядка [20, 21]:
где 0<л?1 - константа сглаживания.
В роли начального значения может быть взято математическое ожидание по предварительным данным, т.е.
z0 =
Если раскрыть zi-1, получается:
Рекурсивно, для zi-j, j=2, 3, …, t получается:
уязвимость приложение нейросетевой интернет
Вес элемента уменьшается геометрически, с ростом порядкового номера. Сумма весов стремится к 1, так как:
Если, к примеру, л=0.2, то вес, назначенный текущему элементу, равен 0.2, а веса, назначенные предыдущим элементам, равны 0.04, 0.128, 0.1024 и так далее.
Изменение веса образца в ходе работы EWMA
Контрольные пределы для EWMA рассчитываются следующим образом (ВКП - верхний контрольный предел, НКП - нижний контрольный предел):
Где у2 - дисперсия, а мx - математическое ожидание случайной величины xi.
В этих формулах L является шириной контрольного диапазона.
На практике часто используемыми значениями константы сглаживания являются л=0.05, л=0.10 и л=0.25. При меньших значениях л на значение статистики zi влияет большее количество значений xi, при больших - меньшее, что позволяет параметризовать формулу расчёта zi (5.2.1) для учёта краткосрочных или долгосрочных тенденций.
В общем случае формирование профиля нормального поведения производится следующим образом.
Получается набор учебных данных. Далее высчитывается математическое ожидание для анализируемой случайной величины, оно принимается в качестве начального значения статистики z0 (согласно формуле (5.2.2)). Затем по формуле (5.2.1) для каждого i-го значения случайной величины из тестового набора рассчитывается значение статистики zi. После этого высчитывается дисперсия для xi и контрольные пределы по формулам (5.2.3) и (5.2.4). Полученные данные сохраняются в профиле нормального поведения.
В режиме обнаружения аномалий поступающие значения используются для пересчёта статистики zi. Получаемые значения zi сравниваются с контрольными пределами, зафиксированными в профиле нормального поведения. В случае, если очередное значение выходит за контрольные пределы - фиксируется аномалия.
В контексте предложенного метода обнаружения уязвимостей метод может быть использован следующим образом.
Рассматриваемый статистический метод является одномерным, следовательно, статистика будет высчитываться для каждой операции из набора операций по её значению.
На этапе построения профилей нормального поведения наборы значений операций группируются по наборам HTTP-параметров. Далее, для каждой допустимой операции каждого набора HTTP-параметров по общей схеме, приведённой выше, высчитываются контрольные пределы и сохраняются в профиле нормального поведения.
В режиме обнаружения аномалий поступающие значения операций используются для расчёта значения статистики по формуле (5.2.1), статистика считается для каждой допустимой операции каждого набора HTTP-параметров. При выходе значения статистики за контрольные пределы, указанные в профиле нормального поведения - фиксируется аномалия и предполагается уязвимость в веб-приложении, которому поступил запрос.
Метод цепей Маркова
Определение [26]: Маркова цепь - марковский процесс с дискретным временем, заданный в измеримом пространстве.
Стохастический процесс в дискретные моменты времени показывает, как меняется значение случайной переменной в данные моменты времени. Пусть Xt - некоторая случайная переменная, представляющая состояние системы в момент времени t, где t=0, 1, …Стационарная цепь Маркова - это стохастический процесс с дискретным временем, для которого предполагается следующее:
· распределение вероятности нахождения системы в некотором состоянии в момент времени t+1 зависит от состояния в момент времени t и не зависит от состояний, в которых находилась система в моменты времени, предшествующих моменту t;
· переход из состояния в момент времени t в состояние момента времени t+1 является мгновенным.
Обозначим через pij вероятность того, что система находится в состоянии j в момент времени t+1 и в состоянии i в момент времени t [8]. Если множество возможных состояний системы конечно (1, 2, …, s), то стационарная цепь Маркова может быть определена матрицей вероятностей переходов
и вектором начального распределения вероятностей: Q = (q1 q2 … qs), где qi - вероятность нахождения системы в состоянии i в момент времени 0 и .
Вероятность появления последовательности состояний X1, X2, …, XT в моменты времени 1, 2, …, T в контексте цепной модели Маркова рассчитывается следующим образом:
Матрица вероятностей переходов и вектор начального распределения вероятностей могут быть построены путём анализа состояний системы в предыдущие моменты времени. Если имеется набор наблюдений за состояниями системы X0, X1, …, XN-1 в моменты времени 0, 1, …, N-1, то компоненты матрицы вероятностей переходов и вектора начального распределения вероятностей рассчитываются следующим образом:
где
Nij - количество наблюдаемых пар состояний Xt и Xt+1, равных i и j соответственно.
Nj. - количество наблюдаемых пар состояний Xt и Xt+1, где первое равно i любым из 1, 2, …, s.
Nj - количество состояний Xt, равных i
N - общее количество наблюдений.
Для анализа открывается окно наблюдения размера N - берутся N последних событий до настоящего момента времени t Et-(N-1)=t-N+1, …, Et.
Каждому событию сопоставляется тип из конечного множества типов событий. Далее анализируется получившаяся последовательность состояний - типов событий Xt-N, …, Xt (Xi - тип события Ei).
Вероятность принадлежности данной последовательности состояний нормальному поведению системы определяется по следующей формуле:
Последовательность аномальных действий будет иметь меньшую вероятность (меньшую поддержку модели).
Испытания на реальных системах показали, что между значениями минимальной вероятности нормального поведения системы и максимальной вероятности действий злоумышленников был достаточно большой пробел, который можно считать порогом для принятия решения о нормальности поведения.
В контексте предложенного метода обнаружения уязвимостей метод может быть использован следующим образом.
На этапе построения профилей нормального поведения для каждого набора HTTP-параметров поступающие значения операций формируют последовательность состояний (последовательность формируется в соответствии с хронологическим порядком поступления значений операций), то есть - каждое значение считается состоянием. Далее рассчитываются матрица вероятностей переходов и вектор начального распределения вероятностей и фиксируются в профиле нормального поведения.
В режиме обнаружения аномалий для каждого набора HTTP-параметров открывается окно наблюдения, охватывающее последовательность значений операций, поступающих для данного набора HTTP-параметров. На основе извлечённых из профиля нормального поведения матрицы вероятностей переходов и вектора начального распределения вероятностей по формуле (5.3.2) пересчитывается общая вероятность последовательности значений операций, зафиксированной в текущий момент времени в окне наблюдения. При падении вероятности ниже контрольного предела - фиксируется аномалия и предполагается уязвимость в веб-приложении, которому поступил запрос.
Нейросетевой метод
Нейросетевой метод обнаружения аномалий рассматривается на примере экспериментальной системы обнаружения аномалий NNID (Neural Network Intrusion Detection) [25].
В основе метода лежит нейросеть с количеством слоёв от трёх до пяти. Входы используются для подачи входных данных, значения на выходах анализируются для обнаружения аномалий.
В контексте предложенного метода обнаружения уязвимостей данная модель может быть использована следующим образом.
Количество входов нейросети делается равным сумме количества всех возможных GET и POST параметров и количества всех операций над всеми объектами окружения. Количество выходов устанавливается равным количеству веб-приложений. В режиме обнаружения аномалий на входы нейросети, соответствующие GET и POST параметрам подаются: 1, если данный параметр присутствовал в HTTP-запросе, и 0, если не присутствовал. На входы, соответствующие операциям над объектами окружения, подаются соответствующие значения операций. Значение на выходах варьируется от 0 до 1 с шагом 0.1. Считается, что значение на некотором выходе большее 0.5 однозначно идентифицирует веб-приложение, которому может принадлежать такая комбинация HTTP-параметров и значений операций. Если более чем на одном выходе обнаружено значение большее 0.5, или ни на одном выходе нет значения большего 0.5 - фиксируется аномалия и предполагается уязвимость в веб-приложении, которому поступил запрос.
На этапе построения профиля нормального поведения проводится настройка весов нейросети при помощи некоторого автоматического алгоритма обучения, например при помощи алгоритма с обратным распространением. На входы нейросети подаётся очередная комбинация, характеризующая набор HTTP-параметров и набор значений операций, полученных в ходе обработки данного HTTP-запроса. Значение выхода, соответствующий запрашиваемому веб-приложению, устанавливается в 1, после чего алгоритмом обучения производится настройка весов. Полученная конфигурация сети сохраняется в профиле нормального поведения.
Сравнительный анализ методов обнаружения аномалий и обоснование выбора метода
Исходя из контекста решаемой задачи, для сравнительного анализа рассмотренных математических моделей обнаружения аномалий можно выбрать следующие критерии.
1. Нечувствительность метода к ненормальности распределения анализируемой случайной величины.
О распределении значений каждой операции априори никаких предположений сделать нельзя. При этом, необходимо отметить тот факт, что значительная часть статистических моделей является чувствительной к виду распределения значений случайной величины и для корректной работы требует нормального или близкого к нормальному распределения.
Из рассмотренных методов данному критерию удовлетворяют:
· метод EWMA - корректная работа метода при распределениях, не являющихся близкими к нормальному, подтверждается в [21];
· метод цепей Маркова - сам метод основан на анализе вероятностей переходов и не зависит собственно от распределения значений анализируемой случайной величины;
· нейросетевой метод - в основе метода лежит нейросеть, для корректной работы которой априори не требуется нормальное распределение.
Как было подчёркнуто в описании метода Хотеллинга [4], для корректной работы метода при многомерном распределении параметров, не являющимся близким к нормальному, требуется достаточно большое количество анализируемых параметров (то есть, достаточно большая размерность вектора значений) - примерно 30 и более. Но о количестве анализируемых параметров заранее ничего сказать нельзя и, следовательно, нельзя гарантировать корректную работу метода при произвольном виде многомерного распределения значений. Следовательно, относительно метода Хотеллинга в общем случае нельзя сказать, что он удовлетворяет обозначенному критерию.
Корректная работа метода при произвольном количестве параметров
Как было отмечено выше, заранее о количестве анализируемых параметров ничего сказать нельзя. При этом, для корректной работы многомерных статистических методов количество параметров может играть важную роль. В частности, как было сказано выше, для корректной работы метода Хотеллинга в условиях произвольного многомерного распределения параметров требуется достаточно большое количество анализируемых параметров. Следовательно, метод Хотеллинга данному критерию в общем случае не удовлетворяет.
Остальные методы данному критерию удовлетворяют:
· метод EWMA - метод является одномерным статистическим, так что общее количество анализируемых параметров не влияет на корректность работы метода;
· метод цепей Маркова - метод является одномерным стохастическим, так что общее количество анализируемых параметров не влияет на корректность работы метода;
· нейросетевой метод - в основе метода лежит нейросеть, конфигурация которой может быть произвольной, так что общее количество анализируемых параметров не влияет на корректность работы метода.
Локальность переобучения
Возможны две основные ситуации, требующие перезапуск этапа обучения и переформирование профилей нормального поведения:
а) в сфере контроля модуля обнаружения аномалий появляется новое веб-приложение, для которого профили нормального поведения ещё не сформированы;
б) в веб-приложения, для которых профили нормального поведения уже сформированы, вносятся изменения. Например, в составе веб-приложения отдельные библиотеки меняются на обновлённые и исправленные.
За данным критерием стоит следующая идея. В обоих ситуациях крайне нежелателен полный останов модуля обнаружения уязвимостей для переформирования всех профилей нормального поведения. Желательно провести формирование или переформирование профилей только для тех веб-приложений, которые были добавлены или изменены, при этом работа модуля с остальными профилями нормального поведения была бы продолжена.
Из рассмотренных методов данному критерию удовлетворяют:
· метод Хотеллинга - достаточно провести этап обучения для нового или изменённого веб-приложения, с заменой уже существующих для разных наборов HTTP-параметров профилей нормального поведения значений операций;
· метод EWMA - достаточно провести этап обучения для нового или изменённого веб-приложения, с заменой уже существующих для разных наборов HTTP-параметров профилей нормального поведения значений операций;
· метод цепей Маркова - достаточно провести этап обучения для нового или изменённого веб-приложения, с заменой уже существующих для разных наборов HTTP-параметров профилей нормального поведения значений операций.
Данному критерию не удовлетворяет нейросетевой метод, так как количество выходов нейросети равно количеству веб-приложений. В первой ситуации при добавлении нового веб-приложения появляется дополнительный выход, следовательно - меняется конфигурация сети, что в обязательном порядке приведёт к необходимости перезапуска этапа обучения и перенастройке сети. Во втором случае конфигурация сети не меняется, но меняется поведение изменившегося веб-приложения. А так как обучение нейросети проводится для всей совокупности веб-приложений, потребуется перезапуск этапа обучения и перенастройка сети.
Анализ значений, а не последовательности их появления
Недостатком статистических методов считается нечувствительность к аномалиям в последовательности событий. Существует ряд методов, которые предназначены для обнаружения аномалий именно в последовательности событий, например - метод упреждающего генерирования шаблонов (Predictive Pattern Generation) [6] и описанный выше метод цепей Маркова. По сути, такие методы предполагают переход системы из состояния в состояние в зависимости от поступающих значений и на этапе обучения определяют вероятности переходов. Отправной точкой служит предположение о том, что множество состояний системы конечно, иначе возникают проблемы с определением момента завершения этапа обучения, так как система будет продолжать переходить в новые состояния. Реализация методов этого класса основывается на анализе последовательности значений из конечного множества значений. Примером может служить последовательность системных вызовов операционной системы. Однако в рассматриваемой задаче анализируемые последовательности содержат значения операций, и о конечности множества их значений априори ничего сказать нельзя. Поэтому анализ самих значений, а не последовательности их появлений, представляется более перспективным в контексте данной задачи.
Таким образом, данному критерию не удовлетворяет метод цепей Маркова. Для рассматриваемой задачи применение метода цепей Маркова представляется проблематичным, так как, как было показано в Подразделе 5.3, в качестве типов событий предполагается использовать значения операций. Множество значений операций может быть сколь угодно большим, в то время как размерность матрицы вероятностей переходов и, следовательно, сложность расчёта значений её элементов, зависит от количества элементов множества.
Из рассмотренных методов следующие методы анализируют значения случайных величин, а не последовательность появления этих значений:
· метод Хотеллинга - в основе лежит многомерный статистический метод, на результаты работы которого влияют сами значения, а не их последовательность;
· метод EWMA - в основе лежит одномерный статистический метод, на результаты работы которого влияют сами значения, а не их последовательность;
· нейросетевой метод - в основе метода лежит нейросеть, на результаты работы которой влияют сами значения, а не их последовательность.
Таким образом, с учётом сравнения методов по приведённым критериям, наиболее подходящим методом для обнаружения аномалий в значениях операций из рассмотренных является метод EWMA.
Размещено на Allbest.ru
...Подобные документы
Разработка инструментального средства для обнаружения уязвимостей веб-приложений на основе контроля поведения с функцией автоматического построения профилей нормального поведения. Основные методы обнаружения аномалий, анализ возможности их применения.
курсовая работа [865,8 K], добавлен 02.02.2015Концепция адаптивного управления безопасностью. Средства анализа защищенности сетевых протоколов и сервисов. Компоненты и архитектура IDS. Классификация систем обнаружения атак. Поиск уязвимостей в современных системах IDS. Методы реагирования на атаки.
курсовая работа [488,5 K], добавлен 13.12.2011Обобщенная модель процесса обнаружения атак. Обоснование и выбор контролируемых параметров и программного обеспечения для разработки системы обнаружения атак. Основные угрозы и уязвимые места. Использование системы обнаружения атак в коммутируемых сетях.
дипломная работа [7,7 M], добавлен 21.06.2011Методы обнаружения атак на сетевом и системном уровнях. Административные методы защиты от различных видов удаленных атак. Уведомления о взломе. Ответные действия после вторжения. Рекомендации по сохранению информации и контроль над ней в сети Internet.
курсовая работа [36,0 K], добавлен 21.01.2011Классификация сетевых атак по уровню модели OSI, по типу, по местоположению злоумышленника и атакуемого объекта. Проблема безопасности IP-сетей. Угрозы и уязвимости беспроводных сетей. Классификация систем обнаружения атак IDS. Концепция XSpider.
курсовая работа [508,3 K], добавлен 04.11.2014Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Система анализа защищенности Internet Scanner как средство решения одного из важных аспектов управления сетевой безопасностью - обнаружения уязвимостей. Ее принцип действия, достоинства и недостатки, особенности функционирования в информационных сетях.
контрольная работа [1,1 M], добавлен 22.03.2012Анализ инцидентов информационной безопасности. Структура и классификация систем обнаружения вторжений. Разработка и описание сетей Петри, моделирующих СОВ. Расчет времени реакции на атакующее воздействие. Верификация динамической модели обнаружения атак.
дипломная работа [885,3 K], добавлен 17.07.2016Удобство и возможности системы предотвращения атак Snort, типы подключаемых модулей: препроцессоры, модули обнаружения, модули вывода. Методы обнаружения атак и цепи правил системы Snort. Ключевые понятия, принцип работы и встроенные действия iptables.
контрольная работа [513,3 K], добавлен 17.01.2015Словесный, графический, табличный, программный способы представления алгоритма. Основные конструкции в любом алгоритмическом языке. Теория обнаружения, различения и оценивания сигналов. Радиолокационные системы обнаружения. Система распознавания образов.
презентация [4,8 M], добавлен 09.06.2015Общие сведения о системах обнаружения вторжений и их назначение. Ключевые принципы функционирования и архитектура СОВ Snort. Моделирование и конфигурирование корпоративной сети и вторжений для проверки работоспособности системы обнаружения вторжений.
дипломная работа [4,1 M], добавлен 20.10.2011Назначение и типы роботов-андроидов. Функции обнаружения объектов в робототехнике; машинное, электромагнитное зрение, датчики препятствий на ИК лучах. Разработка концептуально-функциональной модели робота типа "шагающий" с функцией обнаружения объекта.
курсовая работа [3,0 M], добавлен 20.12.2012Описание функциональных возможностей технологии Data Mining как процессов обнаружения неизвестных данных. Изучение систем вывода ассоциативных правил и механизмов нейросетевых алгоритмов. Описание алгоритмов кластеризации и сфер применения Data Mining.
контрольная работа [208,4 K], добавлен 14.06.2013Применение антивирусов для эффективного обнаружения вирусов на компьютере и их обезвреживания. Признаки заражения вирусами. Явные проявления троянских программ: изменение настроек браузера, всплывающие сообщения, несанкционированный дозвон в Интернет.
лабораторная работа [2,0 M], добавлен 13.09.2013Принципы информационной безопасности. Демаскирующие признаки сигналов, их классификация и разновидности: аналоговые и дискретные. Классификационные признаки технических каналов утечки информации. Способы защиты и обнаружения демаскирующих признаков.
курсовая работа [483,9 K], добавлен 16.04.2014Интернет-мессенджеры как современные коммуникационные центры. Характеристика программ, мобильных приложений, веб-сервисов для мгновенного обмена сообщениями. Типы и рынок мессенджеров; реализация голосовой и видеосвязи, обмен файлами, веб-конференции.
статья [16,0 K], добавлен 18.04.2016Библиографический поиск в сети Интернет, его принципы и используемые методы. Приемы патентного поиска научно-практических разработок по теме своей научной работы, составление соответствующего отчета. Инженерное творчество в подготовке специалистов.
практическая работа [33,9 K], добавлен 14.04.2014Описание основных уязвимостей технологии передачи информации Wi-Fi: атаки, угрозы криптозащиты, анонимность. Принципы и методы обеспечения безопасности беспроводных сетей. Технологии целостности и конфиденциальности передаваемых через сеть данных.
контрольная работа [539,3 K], добавлен 25.12.2014Облачные технологии в бизнес-процессах. Модели использования бизнес-приложений в качестве интернет-сервисов. Практика применения облачных технологий. Приложения, созданные на основе Windows Azure. Создание систем и офисных приложений по запросу.
реферат [25,3 K], добавлен 16.06.2013Рассмотрение понятия сетевых технологий как совокупности программных, аппаратных и организационных средств; принципы их организации и функционирования. Маршрутизация и доменная система имен в Интернет. Характеристика популярных сервисов Интернет.
презентация [198,8 K], добавлен 15.07.2014