Искусственный интеллект на страже

Искусственный интеллект на страже

Олег Зайцев

Применение самоорганизующихся карт для анализа инцидентов ИБ

Самоорганизующиеся карты

Самоорганизующиеся карты, или SOM (Self-Organizing Maps), являются разновидностью искусственных нейронных сетей, но обладают одним существенным отличием, связанным с методикой обучения. Обычные нейронные сети обучаются по методу «обучение с учителем», т.е. для их обучения требуется подготовка массива вида «вектор входных параметров» — «вектор выходных параметров». Для обучения самоорганизующихся карт применяется метод «обучение без учителя», т. е. результат обучения всецело зависит только от входных данных.

Наибольшую известность получили самоорганизующиеся карты Кохонена, работающие по алгоритмам, предложенным в 80-годах финским ученым Тейво Кохоненом. У самоорганизующихся карт есть ряд областей применения, наиболее важная с практической точки зрения — анализ данных с целью поиска закономерностей и проведения кластеризации данных. Анализ данных с помощью самоорганизующихся карт основан на том, что они позволяют представить множество объектов, заданных многомерным пространством (т.е. с количеством признаков более двух) в виде двумерных карт, причем близко расположенным в многомерном пространстве объектам соответствуют близко расположенные точки на плоской карте. Соответственно если имеется множество из сотен или тысяч объектов, каждый из которых описывается как минимум несколькими свойствами, то проанализировать это множество на наличие закономерностей и аномалий весьма сложно. Поэтому можно провести обучение самоорганизующейся карты и получить на выходе достаточно наглядные двумерные карты, которые несложно проанализировать визуально. Рассмотрим показательный практический пример, для чего вернемся к рассмотренной в прошлой статье задаче анализа трафика пользователей. Возьмем трафик пользователей за один день и охарактеризуем его следующими показателями:

1. Количество запросов за рабочий день;

2. Суммарный объем загруженной информации;

3. Суммарный объем видеоданных;

4. Суммарный объем аудиоданных;

5. Суммарный объем загруженных изображений.

Полученную выборку оперативно проанализировать нелегко, хотя можно, конечно, найти максимальные, минимальные и средние значения для каждого из показателей. Попробуем применить уже известную нам программу Deductor Lite (www.basearoup.ru). Она обладает способностью обучать и отображать самоорганизующиеся карты Кохонена.

Для построения карт Кохонена в пакете Deductor Lite необходимо импортировать данные, после чего вызвать мастер обработки данных и выбрать в нем позицию «Карта Кохонена». Вызванный мастер будет пошагово руководить процессом создания карты. По окончании процесса обучения следует отметить в мастере параметры, для которых необходимо построить и отобразить карты. После этого мастер завершит работу и можно будет приступить к анализу. При рассмотрении карты для параметра QUERY_COUNT (количество запросов) выявляется четко видимая закономерность—у большинства пользователей (визуально порядка 70-80%) количество запросов невелико—порядка 500-1500 за рабочий день. Далее имеются сравнительно небольшая группа пользователей, делающих 2-5 тыс. запросов, и всего одна точка (левый верхний угол, красный цвет), соответствующая аномально большому числу запросов —11 тыс. Итак, мы рассмотрели всего одну карту и уже получили массу информации, в частности обнаружили ярко выраженную аномалию (при этом мы помним—каждая точка на карте соответствует компьютеру).

Расследуем эту аномалию, для чего обратимся к остальным картам. На карте для QUERY_SIZE мы видим, что особой аномалии в объеме загруженной информации для этого ПК нет, поэтому переходим к картам для IMAGE_SIZE, VIDECLSIZE и AUDIO. SIZE.

На картах мы видим еще одну интересную закономерность—для AUDIO_SIZE имеется явная аномалия, и она соответствует нашему ПК с аномально большим количеством запросов. На карте для VIDECLSIZE ничего особо примечательно по данному ПК нет, а на карте IMAGE_SIZE видим еще одну зацепку—трафик изображений явно выше среднего. Итак, можно сделать промежуточный вывод—в сети появился пользователь, с компьютера которого идет аномально большое число запросов, причем он явный лидер по загрузке аудиоинформации и один из лидеров по картинкам. Далее остается произвести служебное расследование для установления причин возникновения аномалии—так как в нашем случае использовались реальные данные, то расследование показало, что пользователь действительно загружал картинки и МРЗ-файлы для решения задач, далеких от производственной необходимости. Однако вернемся к нашим картам—теперь объектом рассмотрения у нас будет карта QUERY_SIZE. Легко заметить, что на ней также видна явная аномалия в объеме загруженной информации — имеется группа из семи компьютеров, трафик которых на порядок превышает трафик остальных ПК. Причем один из них (он показан красным) выделяется на фоне этой группы. Анализируя остальные карты видим, что количество запросов для данного ПК не выделяется на общем фоне, равно как нет аномалий в области изображений, аудио и видео. Детальный анализ показал, что это машина специалиста по обслуживанию ПК, который загружал драйверы для ноутбука.

Проанализировав аналогичным образом остальные карты, несложно обнаружить, что на каждой из них имеются аномалии, соответствующие вполне определенным ПК; при этом наиболее интересно изучение всех карт одновременно—для удобства выполнения данной операции при выделении точки на одной карте пакет Deductor Lite показывает ее и на остальных. Рассмотрим еще один практический пример — анализ трафика пользователей. Входной массив данных в этом случае будет формироваться снифером, анализирующим трафик пользователей ЛВС. Для упрощения задачи будем считать, что снифер фиксирует количество пакетов по различным протоколам в единицу времени, в частности количество:

1. DNS запросов —параметр в выборке имеет имя «DIMS»;

2. Пакетов по порту 25/ТСР (SMTP—отправка почты)—параметр «SMTP»;

3. Пакетов по порту 21/ТСР (РТР-протокол) —параметр «FTP»;

4. Пакетов по порту 80ДСР (http-прото-кол)—параметр «HTTP»;

5. Пакетов по порту3128ДСР (HTTP Proxy) — параметр «HTTP_PROXY»;

6. Пакетов по портам, используемым сетью Microsoft, — параметр «MS_NET».

В примере используем реальные данные, причем все ПК локальной сети работают с Интернетом через прокси-сервер. Итак, строим карту Кохонена в Deductor Lite, все параметры—по умолчанию, так как пример простой и особая настройка для него не требуется. Само обучение занимает считанные секунды, после чего можно приступить к анализу. На картах сразу видны интересные закономерности. Во-первых, хорошо видно, что подавляющее большинство компьютеров практически не выполняет DIMS-запросы — количество запросов в среднем 30-50 за рабочий день. Это вполне объяснимо, так как при работе в Интернете через прокси-сервер DNS-запросы с клиентских ПК не требуются.

Однако на карте видно, что есть небольшая зона (левый нижний угол на карте «DIMS»), соответствующая ПК с повышенной активностью запросов — более 15 тыс! Это настораживает. У «соседей» данный параметр также вызывает беспокойство — порядка 6 тыс. запросов у каждого. Для дальнейшего расследования поочередно выбираем каждого из трех «лидеров» по DIMS-за-просам и смотрим, что соответствует им на других картах. И тут же выясняется еще одна интересная закономерность — с этих компьютеров зафиксирована аномально высокая активность http-запросов и отправлено очень большое количество SMTP-пакетов. Причем на карте для SMTP хорошо видно, что все пользователи активно работают с электронной почтой, но их SMTP-трафик невелик (порядка 2-5 тыс. пакетов в день). Таким образом, можно сделать вывод — некоторые компьютеры в сети посылают аномально большое количество DIMS-запросов, для них фиксируется попытка работы по протоколу HTTP напрямую, в обход прокси-сервера, и главное—у них очень велик SMTP-трафик. Расследование показало, что это были ПК программистов, имеющих доступ в Интернет в обход прокси, зараженные троянскими программами класса Backdoor и Spambot. Однако на этом наше расследование не завершено — обратим внимание на карту для РТР-протокола. На ней видно, что основная масса ПК в сети не проявляет активности по протоколу РТР, однако имеется группа ПК, на которых этот протокол применяется. Никаких аномалий для этих ПК на других картах не видно. В данном случае исследование показало, что это рабочие места Web-дизайнеров и администраторов серверов. Далее рассмотрим карту для РОРЗ — на ней видно, что пользователи активно работают с почтой, но явных аномалий и закономерностей не видно. Наконец, последняя карта—активность в сети Microsoft. Тут опять видна ярко выраженная группа компьютеров, трафик которых резко отличается от трафика остальных ПК. Проведенное служебное расследование показало, что причина столь высокого трафика проста— перекачка по сети коллекции фильмов. Как легко заметить, все «кинолюбители» оказались на карте MS_IMET рядом и обнаружить их не составило никакого труда.

В заключение обсудим третий пример — в предыдущей статье мы рассматривали применение нейросети для классификации «пользователь»/«злоумышленник» на основании анализа различной информации, описывающей работу пользователя с базой данных. В частности, там фигурировали два основных параметра—V (загруженный из базы объем информации за единицу времени) и Т1 (признак обращения к представлению словаря данных ALLJABLES). Карта Кохонена для данного примера приведена на рисунке.

Это две наиболее показательные карты для параметров V и Т1. Несложно заметить на карте аномалию в объеме (карта V) и соответствующую ей аномалию на карте Т1. Эта точка на карте свидетельствует о действиях злоумышленника, состоящих в загрузке из базы данных информации при помощи специализированного ПО. Таким образом, как показывают рассмотренные примеры, карты Кохонена являются удобным инструментом для анализа данных с целью поиска аномалий и закономерностей. Карты могут выступать хорошим аргументом в служебном расследовании, так как записи в протоколе мало что говорят руководству, в то время как цветная карта Кохонена очень проста и наглядна.

Выводы

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

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

IT спец № 07 ИЮЛЬ 2007