Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2271.pdf
Скачиваний:
41
Добавлен:
07.01.2021
Размер:
4.82 Mб
Скачать

ПРИМЕНЕНИЕ МЕТОДОВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ПРОГНОЗИРОВАНИЯ УГРОЗ WEB-ПРИЛОЖЕНИЯМ

Гугняк Роман Борисович

студент группы 24П Омского государственного университета путей сообщения, г. Омск

E-mail: gugnyakroman@gmail.com

Мызникова Татьяна Александровна

СибАДИканд. техн. наук, доцент кафедры «Информационная безопасность» Омского государственного университета путей сообщения, г. Омск

E-mail: tmyzn@mail.ru

АННОТАЦИЯ

В статье рассматриваются возможности применения методов искусственного нтеллекта для прогнозирования угроз Интернет-приложениям. В работе выбран метод машинного обучения, отобраны признаки поведения пользователей на сайте построена система для классификации пользователей. Продемонстр рована ра ота реализованной программы и предложены способы улучшен я предложенной классификации.

Ключевые слова: Интернет-приложение, машинное обучение, информационная безопасность, угроза, Python.

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

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

Рассмотрим статистику о посещениях пользователей нтернет-ресурса. Необходимо на основе имеющихся данных отнести каждого пользователя к «хорошему» (человеку) или к «плохому» (роботу). Тем самым сведем задачу прогнозирования к задаче классификации.

В качестве исходной статистики использован стандартный лог-файл вебсервера Apache, записи которого имеют следующий вид:

%h%l%u%t"%r"%>s%b%{Referer}%{User-Agent},

(1)

16

где %h — IP-адрес клиента;

%l — идентификация клиента по RFC 1413; %u— имя пользователя в HTTP-авторизации; %t — время поступления запроса;

%r— строка запроса клиента, например "GET /xxx.gif HTTP/1.1"; % s— код ответа сервера клиенту;

%b — размер ответа клиенту в байтах;

СибВысокая частота ν говоритАоб аномальномДИповедении пользователя.

%{Referer}— адрес страницы, откуда пришел посетитель; %{User-Agent} — т п браузера посетителя.

Модели маш нного обучения принимают на вход некоторый вектор,

состоящий

з целых

вещественных чисел и описывающий пользователя. В

связи с эт м возн кает задача преобразования каждой строки лог-файла в такой

вектор. Знач т нео ход мо подо рать соответствующие признаки, которые

будут наиболее подро но описывать поведение пользователя на сайте.

Посещен е сайта пользователем можно рассматривать как случайную

величину.

Полную

нформацию о случайной величине содержит закон

распределен я, который рассматриваем в качестве первого признака. Закон

распределен я можно определять как за сутки, так и на интервале между

первым

последн м

запросом к серверу. Поэтому в работе используется

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

Вторым признаком предлагается частота встречаемости IP-адреса ν. В

данном случае ее можно определить по формуле:

 

v M ,

(2)

N

 

где M — число записей для данного IP-адреса;

 

N — общее число записей.

 

В качестве третьего рассматриваемого признака выберем среднее время между запросами. Однако оно не удовлетворяет условию масштабирования, поэтому введем величину, отражающую количество запросов, которое лежит в интервале [0,9∙tср;1,1∙tср]. Высокое значение данной метрики будет говорить о том, что время между запросами одно и то же, что является характерным признаком бота.

Четвертым рассматриваемым признаком является частота отсутствия реферера (в протоколе HTTP один из заголовков запроса клиента, от англ. referrer — отсылающий, направляющий). Реферер содержит URL источника запроса. Если перейти с одной страницы на другую, то реферер будет содержать адрес первой страницы. Если данное поле отсутствует, то это значит, что пользователь набрал адрес вручную, либо данный пользователь является роботом.

17

Далее добавим в набор признаков частоту ошибок 404 (пятый признак). Данный код ошибки возвращается в том случае, если страницы не существует. Высокая частота может сигнализировать о том, что данный IP-адрес − робот, так как перебирает заранее определенные адреса страниц.

При посещении Интернет-сайта сервер получает от клиента версию user agent и заносит его в лог-файл. User agent – это строка, передающая информацию об используемом программном обеспечении. Обычно это

СибАДИпростой менее склонен к перео учению. На основе выбранного метода реализована программа (файл-сценарий) классификации пользователей.

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

В качестве последнего признака выберем так называемую репутацию IPадреса, получ ть ее можно на Интернет-странице [1]. Для этого необходимо

отправить значен е IP-адреса.

Для выбора метода машинного обучения рассматривались несколько алгоритмов: метод л жайших соседей, деревья решений и метод опорных векторов. При этом спользовались различные наборы параметров. В результате сравнен я ра оты этих алгоритмов деревья решений и метод

ближайш х соседей показывают наилучшие и примерно одинаковые результаты. Поэтому вы ираем метод ближайших соседей, так как он более

Для демонстрации ра оты программы проанализированы пользователи сайта кинотеатра. В качестве источника статистики возьмем лог-файл запросов пользователей к сайту http://at-kino.ru за сутки. Результатом выполнения файласценария является добавление подозрительных IP-адресов в файл .htaccess (рисунок 1).

Рисунок 1. Результаты классификации

Несколько адресов были добавлены ошибочно в список заблокированных пользователей, что свидетельствует о наличии ошибок в модели. Поэтому было оценено качество модели с помощью математических методов [2]. В

библиотеке sklearn содержится функция metrics.classificationreport,

возвращающая полноту, точность и F-меру для каждого из классов, а также количество экземпляров каждого класса. Результаты ее выполнения для обученной модели представлены на рисунке 2, из них видно, что модель способна лучше обнаруживать и отличать класс «Human», чем класс «Robot».

18

Рисунок 2. Результаты функции metrics.classificationreport

СибАДИвыборки, что создает сложность предсказания результатов работы новые способы обхода СЗИ.

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

построить алгор тм на основе нескольких методов.

Применен е методов скусственного интеллекта уже на данном этапе

развития возможно при разра отке средств защиты информации (СЗИ). Но эффективность так х средств зависит от репрезентативности обучающей

Список л тературы:

1. Free GeoIP DB by Pentestit [Электронный ресурс] – Режим доступа: http://ip.pentestit.ru).

2. Метрики в задачах машинного обучения [Электронный ресурс] – Режим доступа: https://habr.com/company/ods/blog/328372/

19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]