УДК 519.6
ИСПОЛЬЗОВАНИЕ ЛАТЕНТНОГО СЕМАНТИЧЕСКОГО ИНДЕКСИРОВАНИЯ ДЛЯ ОПРЕДЕЛЕНИЯ СХОЖЕСТИ ОТЧЕТОВ О ПОВЕДЕНИИ ВРЕДОНОСНЫХ ПРОГРАММ
О.В. Есиков, С.С. Савватеев, Д.О. Есиков
Предложена математическая модель преобразования отчетов о поведении вредоносных программ в векторное пространство и использование латентного семантического индексирования для определения схожести отчетов о поведении вредоносных программ.
Ключевые слова: поведение вредоносных программ, векторное пространство, латентное семантическое индексирование.
Вредоносное программное обеспечение представляет собой одну из основных угроз в Интернете на сегодняшний день. Поток новых вредоносных программ (ВП), ежесуточно поступающих в лаборатории компаний, занимающихся разработкой антивирусного программного обеспечения, постоянно увеличивается. Соответственно растет потребность в автоматизированных методах для проверки ВП.
Для анализа исполняемых файлов существует ряд решений. В этих решениях используются статические и динамические методы анализа [2]. В решениях, использующих динамические методы, производится запуск программы в контролируемой среде и мониторинг системных вызовов, которые она осуществляет. Преимуществом этих методов является то, что они позволяют осуществлять наблюдение непосредственно за поведением программы, и при этом устойчивы к методам противодействия статическому анализу. Результатом работы системы динамического анализа исполняемых файлов является отчет о поведении анализируемого образца, содержащий информацию о выполняемых им действиях и отражающий результаты его воздействия на среду исполнения. В последнее время получили широкое распространение системы анализа вредоносных программ, так в сети Интернет в онлайн режиме доступны такие системы как Anubis [11], COMODO Automated Analysis System [12], ThreatAnalyzer (ранее называлась CWSandbox, затем GFI SandBox) [13], Xandora Online Binary Analyzer [14] и др., open source реализация - Cuckoo Sandbox [15].
Отчет о поведении программы, в неструктурированном виде представляет собой текстовый документ, следовательно, для группировки множества таких отчетов могут быть применены методы, применяемые в категоризации текстов. Для этого текстовый документ необходимо представить в виде математической модели. Наиболее часто используемой, благодаря простой структуре и возможности обрабатывать большие объемы инфор-
мации, является векторная модель представления (vector space model или bag of words model) [1,2]. Документ представляется, как вектор весов термов в m - мерном пространстве Xj = (W/i,..., W/m )T, где m - множество термов (признаков), которые встречаются во всем наборе документов, а
- вес i-го терма в j-м документе. Результатом отображения n отчетов о поведении в векторы является матрица, называемая терм-документ матрицей D = {xi,x2,...,xn }.
В качестве признака (терма) в категоризации текстовых документов используются слова (словоформы) или сочетания слов, а с учетом особенностей формы представления информации отчетах о поведении это могут быть системные вызовы или последовательности системных вызовов.
Наиболее простым способом является использование в качестве признака каждого отдельно взятого системного вызова, встречающегося в отчетах о поведении, однако, как показывает практика, в этом случае 95% признаков в выборке будут встречаться один или два раза, поскольку аргументы одних и тех же вызовов содержат переменные или даже случайные элементы. Это может быть обусловлено как проявлением поведенческого полиморфизма вредоносных программ (например, вредоносная программа при каждом запуске меняет имена создаваемых файлов и ключей реестра), так и особенностями работы операционной системы (например, идентификатор создаваемого процесса или потока). Для повышения качества анализа стандартной практикой является отбрасывание признаков, встречаемость которых менее заданного порога, в связи с этим, системные вызовы в исходном виде непригодны для использования в качестве термов. В связи с этим для представления аргументов системных вызовов применяются различные методы обобщения. Так, отчеты системы динамического анализа CWSandbox содержат уже обобщенные системные вызовы [3], а в некоторых случаях для обобщения разрабатывается специальный метаязык [4].
В категоризации текстовых документов при предобработке используется такой метод редуцирования количества термов, как стемминг [1]. Методы стемминга служат для выделения базовой формы слов - стеммов. Лингвистически стем - естественная группа слов с одинаковым (или очень схожим) значением. В результате отдельный терм будет соответствовать группе слов, вместо отдельного слова, что позволит существенно сократить размерность и уменьшить случайную зависимость между термами. Анализ системных вызовов, выполняемых вредоносной программой, показывает, что методы, схожие со стеммингом, можно применить для случайных частей параметров вызовов (рисунок 1).
Кроме того, каждому действию, выполняемому вредоносной программой соответствует один или несколько системных вызовов, поэтому в
качестве признаков целесообразно также использовать последовательности системных вызовов. Простым способом в данном случае будет формирование п-грамм (последовательностей из п системных вызовов) путем определения числа сочетаний вызовов по п с повторениями [4]. Однако размерность пространства в этом случае будет составлять тп, где т - размерность исходного пространства признаков, при этом большинство из них не будут представлять интереса. В таких условиях необходим способ фильтрации, для отбора «интересных» сочетаний из общего числа и-грамм.
Обобщенный параметр %SYSDIR%\exefile
Рис. 1. Обобщение имени создаваемого файла
В категоризации текстовых документов применяется несколько подходов к построению п-грамм[5]:
- синтаксический;
- статистический.
В ряде работ по категоризации текстов отмечались хорошие результаты, полученные с использованием статистических методов. Так, для генерации признаков на основе последовательностей слов различной длины в [6,7] использовались методы поиска частых шаблонов, которые применяются при поиске ассоциативных правил. Поиск частых шаблонов производился по алгоритму Apriori. Однако данный алгоритм не эффективен на больших наборах данных, поскольку требует многократного сканирования базы данных транзакций, а именно столько раз, сколько предметов содержит самый длинный предметный набор.
Более эффективными алгоритмами поиска часто встречающихся последовательностей являются Eclat и FP-growth (frequent pattern growth) [8, 9]. При использовании данных алгоритмов для отчетов о поведении вредоносных программ в качестве транзакций выступают сами отчеты, а в качестве элементов - системные вызовы. При этом осуществляется поиск часто встречающихся наборов элементов заданной длины в базе транзак-
ций, удовлетворяющих заданному значению поддержки. Полученные наборы будут использоваться в качестве и-грамм при отображении отчетов о поведении в векторное пространство.
Для взвешивания термов могут применяться различные схемы. Хорошие результаты позволяет достичь схема, вычисляющая энтропию [18]. В данной работе предлагается использовать указанную схему:
где wij - вес ¿-го терма _/-го документа, п - число документов в коллекции, tfij - частота встречаемости ¿-го терма в j-м документе, - глобальная
частота ¿-го терма (общее количество раз, которое терм встречается во всей коллекции).
Векторы, полученные в результате отображения отчетов о поведении, характеризуются большой размерностью, но при этом высокой разреженностью, в таком случае целесообразно сокращать размерность за счет устранения линейных зависимостей между измерениями. Широкое распространение получило латентное семантическое индексирование (ЬБ1), в основе которого лежит сингулярное разложение вещественной прямоугольной матрицы:
А = иЪУТ ,
где и - ортогональная матрица левых сингулярных векторов, Ъ - диаго-
Т
нальная матрица сингулярных значений матрицы А, V - транспонированная ортогональная матрица правых сингулярных векторов.
Уменьшение размерности достигается путем отбрасывания наименьших, за исключением первых нескольких сотен, сингулярных триплетов. Точное число сингулярных триплетов выбирается каждый раз индивидуально, «золотым стандартом» для ЬБ1 является от 200 до 500 [10]. Полученная матрица сокращенной размерности является аппроксимацией исходной матрицы, наилучшей для выбранной размерности [19]. Кроме того результаты разложения могут использоваться для отображения новых документов в латентное пространство (ЮМ^-т).
Метод реализации латентного семантического индексирования, предложенный в [20] позволяет осуществлять инкрементное вычисление разложения для документов, поступающих в потоковом режиме. Степень схожести документов вычисляется над векторами в пространстве сокращенной размерности на основе косинусной меры сходства:
x ■ • x
x і * x і
i j
similarity (x;, x j) =
Повышение эффективности вычисления степени схожести для новых документов по отношению к имеющимся, в [20] достигается за счет построения индекса, который может при необходимости обновляться.
Для экспериментальной оценки предложенного метода был взят публично доступный набор данных [16,17], состоящий из 33698 отчетов системы CWSandbox о поведении вредоносных программ. Для данных отчетов было произведено обобщение аргументов системных вызовов и они были отображены во взвешенное векторное пространство. Затем с использованием системы gensim [20] для полученной матрицы было вычислено SVD-разложение по 300 сингулярным векторам.
SHA-1 checksum_____________________________________________Malware class Similarity
0a1c6703707e8547e851d3b0892dc44ad82fab60 Basun 1
283e623e00ea38228e6efc64451c16088c4e8d2c Basun 1
fca87b202638148c95ff58c0182005eadbff26fa Basun 1
137a0b8c56eea9883ee54edfc95a36adbf647d1d Basun 1
82cf7d595289bbbb9d70408e053c3f994e78c6bc NothingFound 1
a6bc200790a5a1aefa9eb4919422f5731 d0777e3 NothingFound 1
0ac3626d3cd04961ad8cdb1e9e81c29a049fe569 Basun 1
0b84f71a54141 c9a04d2b7d26e94c40a8eccddf3 Basun 1
0bea1659f1614540a5e107a6e0f47d35fe1a560f Basun 1
0e519b213 7495de941716cae794acf189dcc4585 Basun 1
7b 1 af512ff3d1499b05dd6a3 afc681 de2444226c Basun 0.40504
25346c2eb959b6693ee605cf7cff8d3e1dc3974c PcClient 0.40492
1d15eeab3656f83475e17b23866c006d45f27647 Basun 0.4046
ec38617b43fd7 e9240d8066d5317 9ab6914b7 9dc Basun 0.4037
e132aaa535fecd507e6fb544cc25be837e017b48 VB 0.40361
74ff698a976dff5bab4b501141378d1acd275732 NothingFound 0.40353
05837883b284f650757300681e56b7bc41f04e1b Agent 0.40273
8743fd6a7a5043 e823423dff66efb41f30ecf14f OnLineGames 0.40255
207ebe3b7d6c75e122e1a7d2fc478039650b6c6a OnLineGames 0.40204
22c4930a302ef3d0788b53c8697ef3e35b346073 OnLineGames 0.40204
5165208db30881a1900e15adaa92445c6260a070 Vapsup 0.402
44e27d1bc513ddf849a879bff733dad00f63a763 Vapsup 0.402
1 f52b26cea32abd77844691d675a31 ad93088c85 TDSS 0.40145
Рис. 2. Ранжирование имеющихся ВП по степени схожести в результате запроса по представителю семейства «Базин»
Анализ запросов схожести новых отчетов о поведении к уже имеющимся показал хорошую точность (результаты ранжирования отчетов о поведении по степени схожести к одной из вредоносных программ семейства «Basun» отображены на рисунке 2). Образцы класса с меткой «NothingFound» в этом наборе данных относятся к тем исполняемым файлам, которые не были определены антивирусным сканером, но их степень схожести с ВП семейства «Basun», позволяет сделать вывод о схожем поведении.
Таким образом, в данной статье предложены методы преобразования отчетов о поведении вредоносных программ в векторное пространство и использование латентного семантического индексирования для определения схожести отчетов о поведении вредоносных программ. Использование данных методов позволяет сократить размерность пространства признаков и может использоваться как для определения меры схожести при кластеризации и классификации вредоносных программ, так и для быстрого поиска для новых образцов вредоносных программ в имеющейся базе схожих известных образцов на основе отчетов об их поведении.
Список литературы
1. F.Sebastiani. Machine Learning in Automated Text Categorization. Journal ACM Computing Surveys (CSUR). NY, USA: ACM New York, 2002. Volume 34 Issue 1.
2. G.Salton, C.Buckley. Term-weighting approaches in automatic text retrieval. Information Processing & Management, 1988. №24(5). С. 513-523.
3. C.Willems, T.Holz, F.Freiling. Toward Automated Dynamic Malware Analysis Using CWSandbox. IEEE Security and Privacy, 2007. Т5, №2. С.32-39.
4. P. Trinius, C. Willems, T. Holz, K. Rieck. A malware instruction set for behavior-based analysis. Berlin, Germany: German Informatics Society, 2010.
5. M.Caropreso,S.Matwin,F.Sebastiani. A learner-independent evaluation of the usefulness of statistical phrases for automated text categorization. Text databases & document management. PA, USA: IGI Publishing Hershey, 2001.
6. D.Mladenic, M.Grobelnik.Word Sequences as Features in Text-Learning. In Proceedings of the 17th Electrotechnical and Computer Science Conference (ERK98). Slovenija, 1998. С.145-148.
7. J.Furnkranz. A Study Using n-gram Features for Text Categorization. Wien, Austria, 1998.
8. C.Borgelt. An Implementation of the FP-growth Algorithm. Workshop Open Source Data Mining Software (OSDM'05). New York, USA: ACM Press, 2005.
9. C.Borgelt. Frequent item set mining. WIREs Data Mining Knowledge Discovery 2012, Volume 2.
10. R.Bradford. An empirical study of required dimensionality for large-scale latent semantic indexing applications. Proceedings of the 17th ACM conference on Information and knowledge management. New York, USA, 2008.
11. URL:http://anubis.iseclab.org (дата обращения 25.06.2012).
12. URL: http://camas.comodo.com (дата обращения 25.06.2012).
13. URL:http://www.threattracksecurity.com/resources/sandbox-malware-analysis.aspx (дата обращения 25.06.2012).
14. URL:http://www.xandora.net/upload/ (дата обращения 25.06.2012).
15. URL:http://www.cuckoosandbox.org/ (дата обращения 25.06.2012).
16. http://pi1 .informatik.uni-mannheim.de/malheur/
17. K.Rieck, P.Trinius, C.Willems, T.Holz: Automatic Analysis of Malware Behavior using Machine Learning // Journal of Computer Security. Amsterdam, The Netherlands: IOS Press, 2011. Volume 19 Issue 4. С. 639-668.
18. C.Borgelt. Prototype-based Classification and Clustering: Habilitation thesis. Magdeburg: Otto-von-Guericke-Universitat Magdeburg, 2005. 350 с.
19. M.Berry, S.Dumais, G.O'Brien. Using linear algebra for intelligent information retrieval // Journal SIAM Review archive, 1995. Volume 37 Issue 4.
20. R.Rehйfek, P.Sojka. Software Framework for Topic Modelling with Large Corpora. In Proceedings of LREC 2010 workshop New Challenges for NLP Frameworks. Valletta, Malta: University of Malta, 2010. C. 46-50.
Есиков Олег Витальевич, профессор, д-р техн. наук, eovmail@rambler.ru, Россия, Тула, Научно-исследовательский институт репрографии,
Савватеев Сергей Сергеевич, канд. техн. наук, s.savvateev@gmail.com, Россия, Тула, Тульский государственный университет,
Есиков Дмитрий Олегович, магистрант.,mcgeen4@gmail.com, Россия, Тула, Тульский государственный университет
USE LA TENT SEMANTIC INDEXING FOR A CERTAIN SIMILARITY REPORTS
MALICIOUS BEHA VIOR
O.V. Yesikov, S.S. Savvateev, D.O. Yesikov
A mathematical model of transformation of reports about the behavior of malware in a vector space and the use of latent semantic indexing to determine the similarity of reports about the behavior of malware.
Key words: the behavior of malware, a vector space, latent semantic indexing.
Yesikov Oleg Vitalevich., Professor, Doctor of Engineering. Science, eovmail@rambler.ru, Russia, Tula, Research Institute of reprographic,
Savvateev Sergey Sergeevich, candidate of technical science s.savvateev@gmail.com, Russia, Tula, Tula State University,
Yesikov Dmitry Olegovich, undergraduate, mcgeen4@gmail.com, Russia, Tula, Tula State University
УДК 007.3
МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ ОБЕСПЕЧЕНИЯ СОХРАННОСТИ ИНФОРМАЦИИ В СИСТЕМАХ ХРАНЕНИЯ И ОБРАБОТКИ ДАННЫХ
О.В. Есиков, Д.О. Есиков
Формализована математическая модель оптимизации состава технических средств обеспечения сохранности информации в системах хранения и обработки данных. Для повышения эффективности метода ветвей и границ при решении данной задачи предложено использование алгоритма предварительного определения порядка ветвления переменных на основе применения теории двойственности.
Ключевые слова: оптимизация состава технических средств, сохранность информации, метод ветвей и границ, алгоритм предварительного определения порядка ветвления переменных, теория двойственности.
Одним из направлений обеспечения устойчивости функционирования систем хранения и обработки данных (СХОД) является организация защиты данных, хранящихся на различных носителях и обеспечение их сохранности. Обеспечение сохранности информации производится путём применения специальных мер организации хранения, восстановления (регенерации) информации, специальных устройств резервирования. Качество обеспечения сохранности информации зависит от её целостности (точности, полноты) и готовности к постоянному использованию.
Обеспечение сохранности информации в системах хранения и обработки данных производится путём применения специальных мер организации хранения, восстановления (регенерации) информации, специальных устройств резервирования. Качество обеспечения сохранности информации зависит от её целостности (точности, полноты) и готовности к постоянному использованию[1, 2]. Наиболее простым способом обеспечения сохранности информации в СХОД является создание резервных хранилищ данных.
Резервные хранилища информации в СХОД по типу устройств резервирования делятся на [3]:
- хранилища на базе жестких дисков (КАГО-массивы);
110