Задача обнаружения вредоносных программ - одна из важнейших задач информационной безопасности. Она включает в себя идентификацию программ, как по исходному коду, так и по особенностям поведения во время их исполнения.
Большинство антивирусных программ являются сигнатурными и решают задачу обнаружения файлов, содержащих вредоносный код. У сигнатурных антивирусных программ есть ряд недостатков: медленная реакция на новую вредоносную программу, которой нет в сигнатурной базе; игнорирование изменения поведения процесса исполнения программы.
В отличие от сигнатурных антивирусных программ, система противодействия вредоносным программам CODA[3] анализирует поведение процессов, посредством построения и сравнения портретов процессов - наборов часто повторяющихся последовательностей системных вызовов, которые называются шаблонами. В рамках этого проекта на данный момент изучены следующие вопросы[4]:
• сбор последовательностей системных вызовов потоков всех процессов,
• построение портретов процессов по собранным последовательностям системных вызовов,
• идентификация процесса в реальном времени по набору портретов.
Также исследуется задача сравнения портретов, решение которой позволит выявлять дубликаты - различные портреты одного процесса, возникающие при обновлении базы портретов. В настоящее время разработан алгоритм[9], решающий эту задачу. Однако при сравнении портретов на результат влияет большое количество внешних факторов, связанных с конкретной эксплуатационной ситуацией: загруженность системы, входные данные, поведение пользователя и т.д.. Это снижает схожесть различных портретов одного и того же процесса.
Одним из возможных решений данной проблемы является кластерный анализ[6], который позволяет разделить портреты на компоненты, состоящие из схожих между собой шаблонов. Данный подход позволит производить покомпонентное сравнение, минимизируя тем самым влияние компонент, возникших вследствие особенностей эксплуатационной ситуации, во время которой портрет был записан.
Целью данной работы является исследование алгоритмами кластерного анализа проблемы влияния эксплуатационной ситуации, во время которой производился сбор системных вызовов, на эффективность сравнения портретов.
Для достижения этой цели были сформулированы следующие задачи:
1) выбрать и разработать несколько различных алгоритмов кластерного анализа для шаблонов портрета;
2) сравнить эффективность алгоритмов кластерного анализа и выбрать наиболее подходящий;
3) разработать алгоритм сравнения кластеризованных портретов;
4) сравнить эффективность разработанного алгоритма и алгоритма сравнения некластеризованных портретов.
В ходе данной работы были получены следующие результаты:
1) выбраны и разработаны 5 различных алгоритмов кластерного анализа для шаблонов портрета;
2) выбран наиболее эффективный алгоритм кластерного анализа FOREL;
3) разработан алгоритм сравнения кластеризованных портретов;
4) количество ложных неравенств портретов при работе алгоритма сравнения кластеризованных портретов понизилось на 71% относительно алгоритма сравнения некластеризованных портретов при полном отсутствии ложных равенств портретов;
5) данная работа была представлена на конференции СПИСОК 2016.
[1] Arthur David, Vassilvitskii Sergei. k-means++: the advantages of careful seeding // Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms. — 2007.
[2] Yang Yiling, Guan Xudong, You Jinyuan. CLOPE: A Fast and Effective Clustering Algorithm for Transactional Data.— 2002.— URL: http: //www.inf.ufrgs.br/~alvares/CMP259DCBD/clope.pdf (дата обращения: 09.05.2016).
[3] Баклановский М.В, Ханов А.Р. CODA - новая система компьютерной безопасности: обзор архитектуры системы // Материалы секции 22, XXXVIII Академические чтения по космонавтике. — 2014. — С. 649-650.
[4] Баклановский М.В, Ханов А.Р. Поведенческая идентификация программ. Моделирование и анализ информационных систем. // Моделирование и анализ информационных систем. Ярославль, Том 21, Номер 6. — 2014. — P. 120-130.
[5] Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы: Учебное пособие. — Москва: Физматлит, 2006.
[6] Дюран Б., Оделл П. Кластерный анализ.— Москва: Статистика, 1977.
[7] Загоруйко Н.Г. Прикладные методы анализа данных и знаний.— Новосибирск: ИМ СО РАН, 1999.-- С. 38-39.
[8] Линник Ю.В. Метод наименьших квадратов и основы математико-статистической теории обработки наблюдений. -- Москва: ФИЗ- МАТЛИТ, 1958.
[9] Лозов П.А. Метрика в пространстве портретов процессов. — 2015. — URL: http://se.math.spbu.ru/SE/YearlyProjects/spring-2015/ 371/371-Lozov-report.pdf (дата обращения: 09.05.2016).