Для исследования были взяты такие метрики, как среднее количество строк кода на функцию, количество строк кода, цикломатическая сложность, ABC, метрика Чепинова и др. Для вычисления метрик было случайным образом отобрано около 200 вирусов и около 200 экземпляров легитимного ПО. Для вычисления метрик использовалась IDAPro 5.1, для автоматизации вычисления метрик использовался плагин IDAPython 2.5. Была собрана выборка. Из этих метрик можно сформировать 20 признаков для анализа данных. Была взята в качестве основного предположения гипотеза компактности, которая утверждает, что похожие объекты находятся рядом. Объекты выборки были спроецированы на плоскости М1, М2; М1, М3, ..., Mn, Mn. Результаты некоторых проекций представлены на рисунке.
Как можно видеть по графикам, разделяющую поверхность сразу построить нельзя, необходимо дальнейшее исследование и построение сложных моделей классификации.
Библиографические ссылки
1. Логозо Ф., Фандрич М. Об относительной полноте анализа исполняемого кода в сравнении с анализом исходного кода : исследование Microsoft. 2008. 15 с.
2. Shudrak M., Zolotarev V. The technique of dynamic binary analysis and its application in the information security sphere / IEEE EuroCon. 2013. С. 40-45.
3. Реймонд П. Л., Вестли В. Изучение метрик для определения читабельности кода. Специальный список ISSTA-2008. Лучшие работы. 2015. 14 с.
4. Ледовских И. Н. Метрики сложности кода : технический отчет. М. : Институт системного программирования РАН, 2012. 22 с.
5. Abran A., Hoboken N. Software Metrics and Software Metrology. Wiley-IEEE Computer Society Press, 2010. 348 p.
References
1. Logozzo F., Fahndrich M. On the Relative Completeness of Bytecode Analysis versus Source Code Analysis Microsoft Research. 2008. 15 p.
2. Shudrak M., Zolotarev V. The technique of dynamic binary analysis and its application in the information security sphere / IEEE EuroCon. 2013. С. 40-45.
3. Raymond P. L., Westley W. Learning a Metric for Code Readability. TSE special issue on the ISSTA-2008, best papers. 2015. 14 p.
4. Ledoivskikh I. N. Code complexity metrics: technical report. M. : Institute for system programming of RAS, 2012. 22 с.
5. Abran A., Hoboken N. Software Metrics and Software Metrology. Wiley-IEEE Computer Society Press. 2010. 348 p.
© Агеева Е. С., Прохоров А. И., 2015
УДК 004.7.056.53
СИСТЕМА ВЫНЕСЕНИЯ ВЕРДИКТОВ ПО ОТЧЕТАМ CUCKOO SANDBOX
Д. А. Бородавкин
АО «Информационные спутниковые системы» имени академика М. Ф. Решетнёва» Российская Федерация, 662972, г. Железногорск Красноярского края, ул. Ленина, 52
Е-mail: [email protected]
Описывается система автоматизированного вынесения вердиктов безопасности для файлов, прошедших исследование в системе Cuckoo Sandbox. Система функционирует на основе черных и белых списков, которые генерируются путем «обучения» на легитимных файлах. Система позволяет выделить попытки доставки неизвестных образцов вредоносного кода в потоке информации, поступающей из недостоверных источников (электронная почта, интернет-трафик и т. п.).
Ключевые слова: сетевые технологии, информационная безопасность, анализ вредоносного программного обеспечения,» песочницы».
SECURITY VERDICT DECISION SYSTEM FOR CUCKOO SANDBOX
D. A. Borodavkin
JSC "Academician M. F. Reshetnev "Information satellite systems" 52, Lenin Str., Zheleznogorsk, Krasnoyarsk region, 662972, Russian Federation Е-mail: [email protected]
The paper describes the automated system that returns security verdict to files that are analyzed with Cuckoo Sandbox, it acts with using black and white lists, which are generated from analysis reports on legitimate files. The aim of the system is to find unknown malware in data streams for untrusted sources (such as email or internet).
Keywords: computer networking, information security, malware analysis, sandbox.
Решетнеескцие чтения. 2015
Выявление случаев внедрения в сеть организаций неизвестного вредоносного программного обеспечения является столь же актуальной задачей, сколько и трудоемкой. Существует ряд подходов к решению данной задачи. Это, например, эвристические и поведенческие алгоритмы работы антивирусного программного обеспечения [1], методы организации упреждающих распространение вредоносного ПО сред внутри автоматизированных систем (замкнутые программные среды и др. [2]). Каждый из подходов обладает своими преимуществами и недостатками, а эффективная эшелонированная система защиты безусловно должна строиться с использованием совокупности методов.
В данной работе рассматривается метод выявления попыток доставки неизвестного вредоносного ПО на этапе прохождения данных через внешний контур информационной системы с использованием так называемых песочниц - систем анализа деятельности системы после запуска в ней исследуемого файла, и в частности, метод вынесения вердикта безопасности для файла, проанализированного в песочнице Cuckoo Sandbox.
Cuckoo Sandbox - одно из наиболее популярных решений по автоматизированному анализу вредоносного ПО, продукт с открытым исходным кодом [3]. Принимая на входе файл, Cuckoo Sandbox исполняет его в заданной операционной системе и генерирует отчет, содержащий информацию о действиях, произведенных после запуска файла в части сетевой активности, создания новых файлов, доступа к ключам реестра, создания объектов межпроцессного взаимодействия и т. п. Помимо выдачи информации о поведении системы в «сыром» виде, система ведет анализ сгенерированных данных, выдавая на выходе маркеры (сигнатуры), позволяющие аналитику принять решение о вредоносном характере файла. Cuckoo Sandbox используется в таком известном проекте, как Malwr [4].
Проблема использования Cuckoo Sandbox на потоке данных (например, потоке вложений электронной почты) заключается в том, что система не выдает окончательного вердикта по анализируемому файлу, а набор маркеров при анализе реальных данных, как правило, является непустым. Таким образом, аналитик ИБ, решающий задачу контроля входного потока данных, работает с неранжированным потоком отчетов (отчеты содержат тысячи строк текста, размер -до сотен мегабайт).
Для решения описанной проблемы разработан компонент Bird Brain, позволяющий ранжировать поток отчетов Cuckoo Sandbox и формулировать вердикт для каждого анализируемого файла. Вердикт выносится на основе фильтрации данных в отчетах с использованием черных и белых списков, которые формируются путем обучения на отчетах, сгенерированных на заведомо легитимных файлах различных форматов (ручной режим настройки фильтров также присутствует).
Кратко алгоритм анализа отчета и вынесения вердикта выглядит следующим образом:
1. Из отчета Cuckoo Sandbox извлекаются данные об операционной системе, в которой проводился анализ, типе анализируемого файла и иных атрибутах (срабатывания на VirusTotal [5], наличие PE-содержи-мого и др.).
2. Отчет Cuckoo Sandbox разбивается на части, соответствующие тому или иному типу записей о действиях системы (сетевая активность, созданные файлы, сигнатуры и т. п.). Назовем их секции.
3. Для каждой секции список записей о действиях системы проходит через глобальный белый список (отдельный для каждой секции), в результате чего отсеиваются записи, соответствующие легитимным действиям (например, обращения к серверам обновления ОС или создание временных файлов).
4. По аналогии, секция проходит через глобальный черный список. Однако черные списки по умолчанию не используются и применяются лишь для секций, где невозможно сформировать белый список.
5. Далее применяются локальный черный и белый списки, сформированные точечно для данной версии ОС и данного типа файла (например, отдельный список легитимных действий для открытия файлов формата .doc в Windows 7). Аналогично черные списки по умолчанию не используются.
6. Если для текущей секции остались неотфильт-рованные значения, устанавливается соответствующий флаг.
7. Итоговый вердикт выносится на основании совокупности установленных флагов и атрибутов. Например, для любых неисполняемых файлов наличие нелегитимых сетевых обращений результирует в вердикт «ALERT», а наличие PE-содержимого в файлах неизвестных форматов - «WARNING». Правила вынесения вердикта являются конфигурируемыми, всего используется три уровня опасности: помимо упомянутых «ALERT» и «WARNING» это вердикт «CLEAN».
8. Дополнительно введены два вердикта для известного вредоносного ПО (формируются на основе данных VirusTotal) - «KNOWN_VIRUS» и «AV_FAIL». Первый соответствует ситуации, когда анализируемый файл содержит вирус и опознается используемым в организации антивирусом, второй -ситуации, когда корпоративный антивирус угрозу не распознает.
9. При наличии нескольких отчетов Cuckoo Sandbox вердикты по ним обобщаются.
10. Генерируется общий отчет в формате XML, шдержащий данные по вынесенному вердикту (общему и для каждого отчета), и список действий системы, на основании которого вердикт был вынесен.
Наглядно схема работы компонента приведена на рисунке.
Модуль обучения представляет собой генератор локальных (привязанных к типу файла и версии ОС) белых списков, работающий по аналогии с модулем вынесения вердикта.
Таким образом, разработанный компонент позволяет повысить уровень автоматизации процесса выявления неизвестного вредоносного ПО и ранжировать выявленные инциденты при использовании Cuckoo
Sandbox для обработки потока данных и тем самым повысить эффективность персонала ИБ. Компонент применяется в тестовом режиме внутри промышленно эксплуатируемой системы защиты информации
АО «ИСС» (г. Железногорск). Благодаря наличию гибкой системы фильтров и механизма обучения, система может легко адаптироваться к изменениям в прикладном ПО и новым версиям ОС.
Схема работы компонента
Библиографические ссылки
1. Работа антивирусных программ [Электронный ресурс]. URL: http://it-sektor.ru/rabota-antivirusnyx-programm.html (дата обращения: 10.10.2015).
2. Замкнутая программная среда [Электронный ресурс]. URL: http://certsrv.ru/sn5help.ru/uf_restricted_ application_environment.htm (дата обращения: 10.10.2015).
3. Automated Malware Analysis - Cuckoo Sandbox [Электронный ресурс]. URL: http://cuckoosandbox.org/ (дата обращения: 10.10.2015).
4. Malwr - Malware Analysis by Cuckoo Sandbox [Электронный ресурс]. URL: https://malwr.com/ (дата обращения: 10.10.2015).
5. VirusTotal [Электронный ресурс]. URL: https:// www.virustotal.com/ (дата обращения: 10.10.2015).
References
1. How antiviruses works. Available at: http://it-sektor.ru/rabota-antivirusnyx-programm.html.
2. Isolated software environment. Available at: http://certsrv.ru/sn5help.ru/uf_restricted_application_envi ronment.htm.
3. Automated Malware Analysis - Cuckoo Sandbox. Available at: http://cuckoosandbox.org/.
4. Malwr - Malware Analysis by Cuckoo Sandbox. Available at: https://malwr.com/.
5. VirusTotal. Available at:https://www.virustotal. com/.
© Бородавкин Д. А., 2015
УДК 004.056.5
КОНФИДЕНЦИАЛЬНЫЙ КЛАСТЕРНЫЙ АНАЛИЗ МЕТОДОМ САМООРГАНИЗУЮЩИХСЯ КАРТ ПРИ ГОРИЗОНТАЛЬНОМ СЕКЦИОНИРОВАНИИ ДАННЫХ
А. В. Вашкевич, В. Г. Жуков
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31 Е-mail: [email protected], [email protected]
Две организации, занимающиеся одинаковой деятельностью (например, проектированием спутников), могут захотеть провести совместный анализ своих ноу-хау, при этом не раскрывая детали друг другу. Самоорганизующиеся карты позволяют провести подобный анализ и наглядно отобразить его результаты. Предложено решение, позволяющее безопасно строить такие самоорганизующиеся карты.
Ключевые слова: конфиденциальные многосторонние вычисления, кластерный анализ данных, самоорганизующиеся карты, горизонтальное секционирование данных.
PRIVACY-PRESERVING CLUSTERING VIA SELF-ORGANIZED MAP OVER HORIZONTALLY PARTITIONED DATA
A. V. Vashkevich, V. G. Zhukov
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation Е-mail: [email protected], [email protected]