УДК 004.056.57
МЕТОДИКА ВЫЯВЛЕНИЯ КРИПТОВЫМОГАТЕЛЕЙ НА ОСНОВЕ ОТЛИЧИЯ ИХ ПОВЕДЕНИЯ ОТ ШТАТНЫХ ПРОГРАММ
Д. В. Смирнов*, И. А. Лубкин
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
Е-mail: [email protected]
Изложен результат работы по разработке методики выявления криптовымогателей по характерному для них поведению. Данный результат может быть использован при проектировании системы защиты информации от криптовымогателей.
Ключевые слова: криптовымогатель, штатная программа, шаблон поведения программ.
THE METHODOLOGY OF DETECTING CRYPTO-RANSOMWARE ON THE BASIS OF THE BEHAVIORAL DIFFERENCE FROM AUTHORIZED SOFTWARE
D. V. Smirnov*, I. A. Lubkin
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation
Е-mail: [email protected]
This article presents the result of developing a technique of detecting crypto-ransomware according to its typical behavior. This result can be used in the designing a system for protecting information from crypto-ransomware.
Keywords: crypto-ransomware, authorized program, software's behavior pattern.
Вредоносные программы с целью вымогательства появились примерно в 2005 году [1]. С 2014 по 2016 годы резко возросла активность вредоносного программного обеспечения класса криптовымогателей (далее - ВПО КВ), согласно информации поставщика антивирусного программного обеспечения «Лаборатория Касперского»: «... количество атак шифровальщиков выросло за год в 5,5 раза: со 131 111 попыток заражения пользователей наших продуктов в 20142015 годах до 718 536 в 2015-2016-м» [2].
Несмотря на то, что в данный момент существует множество современных систем защиты от вредоносных программ, полноценная защита от криптовымогателей до сих пор не обеспечена [3]. Поэтому цель работы заключается в разработке макета системы блокирования криптовымогателей, основанной на специфике их работы (в части взаимодействия ВПО КВ с файловой системой, далее - ФС).
Для того чтобы блокировать ВПО КВ, необходимо отличать его от других образцов программного обеспечения по какому-либо признаку (в данной работе - по особенностям работы с файлами) или совокупности характерных признаков (шаблон поведения программы). Таким образом, задачами работы являются:
а) сбор и анализ данных о поведении образцов ПО различных классов (а именно, классов: ВПО КВ и штатного ПО, т. е. ПО, не производящего несанкционированного воздействия на информацию) для формирования шаблонов поведения классов ПО в целом;
б) разработка и апробация методики принятия решения об отнесении того или иного образца ПО к классу криптовымогателей.
Основу работы составляет следующая гипотеза: криптовымогатели и штатные программы в части работы с файлами имеет как общие черты, так и различия. Общие черты, главным обра-
Секция «Методы и средства зашиты информации»
зом, заключаются в том, что и ВПО КВ и штатное ПО может использовать одни и те же файловые операции (системные вызовы, направленные на взаимодействие с ФС). Различия состоят, в основном, в порядке использования операций и их аргументах. Причина таких различий кроется в разной природе криптовымогателей и штатного ПО: большинство штатных программ запускаются по инициативе пользователя и взаимодействуют с ним (исключение составляют системные службы и служебные программы), в то время как ВПО КВ запускается и работает самостоятельно (только на этапе вывода сообщения о заражении происходит намеренное уведомление пользователя). Это говорит о том, что криптовымогатели работают по своей запрограммированной модели поведения, а работа штатных программ в большинстве своем зависит от действий пользователя. По причине отличий поведения штатного ПО и ВПО КВ в части работы с файлами из рассмотрения исключены образцы криптовымогателей, которые шифруют разделы целиком (например, криптовымогатель «Petya», Trojan-Ransom.Win32.Petr по классификации «Лаборатории Касперского» [4]), так как криптовымогатели такого типа не производят массированную обработку файлов API-функциями, не требующими привилегий администратора, как это делают другие образцы ВПО КВ.
Для исследования были выбраны представители различных семейств криптовымогателей, для того чтобы изучить как можно большее количество отличающихся образцов ВПО КВ. Штатные программы выбирались так, чтобы изучить множества программ с различным назначением и спецификой для формирования репрезентативной выборки. Выбор программ произведен по одному или нескольким из следующих критериев:
- возможность работы с простыми текстовыми файлами;
- возможность работы с файлами определенного формата (например, .doc), содержащими
текст;
- возможность работы с медиафайлами;
- наличие у приложения расширений;
- возможность работы с файлами собственного формата;
- возможность сжатия или шифрования одного файла;
- возможность получения файлов по сети;
- возможность работы с файлами в режиме «только чтение»;
- возможность получения списка файлов в директории (как правило, за счет поиска).
Репрезентативность обеспечивается за счет добавления в выборку программ с отличающимся поведением и спецификой до тех пор, пока дальнейшее увеличение выборки существенно изменяет шаблон поведения класса ПО в целом.
Сбора информации производится следующим образом: образцы криптовымогателей и штатного ПО запускаются под учетной записью непривилегированного пользователя на тестовой системе, и действия с файловой системой и реестром журналирует программа «Process Monitor» из набора утилит Sysinternals. В журналы собирается информация о последовательности файловых операций и их аргументах для каждого образца ПО, затем в собранной информации ищутся шаблоны поведения каждого класса ПО в целом.
В результате анализа собранных данных о работе ВПО КВ и штатного ПО был составлен шаблон поведения криптовымогателей, который состоит из следующих действий:
1. Поиск файла операцией QueryDirectory с аргументом «*», «*.*» или «*.<расширение файла>».
2. Открытие одного из файлов (который будет называться исходным), полученных в ходе шага 1, на чтение и запись (или сначала на чтение, а потом на запись).
3. Чтение данных из исходного файла.
4. Запись данных в исходный файл, переименование или удаление исходного файла.
Методика выявления ВПО КВ состоит в том, чтобы каждый исследуемый образец ПО проверять на соответствие этому шаблону. Исходя из этого, для апробации данной методики можно проанализировать журнал работы образца ПО: если в нем присутствуют перечисленные действия, то его нужно считать образцом ВПО КВ. Данный процесс выявления криптовымогателей среди штатных программ был автоматизирован, т. е. разработано программное средство, на вход которого подается журнал взаимодействия анализируемого образца ПО, а на выходе выдается
ответ - является ли исследуемая программа криптовымогателем или нет. По итогам работы программного средства достигнуты следующие практические результаты: из 17 образцов ВПО КВ были распознаны все образцы (так называемая «ошибка второго рода» составила 0), а из 18 штатных программ 4 были приняты за ВПО КВ («ошибка первого рода» составила 0,22).
Однако применение этой методики для блокирования криптовымогателей на практике связано со следующей проблемой: один процесс выполняет шаг 1 и каким-либо способом межпроцессной коммуникации передает другому процессу информацию, полученную после шага 1. Второй процесс выполняет шаги 2-4. Эту проблему в дальнейшем развитии методики предполагается решить так: выделить несколько уровней подобия поведения какой-либо программы и криптовымогателя. Например:
1) критический уровень соответствует выполнению одним процессом всех действий шаблона поведения криптовымогателей, и процесс должен быть заблокирован;
2) высокий уровень соответствует выполнению одним процессом шагов 2-4, и если прописаны какие-либо правила реагирования средства защиты от криптовымогателей, то применить их (например, «запретить» или «разрешить» выполнение этих действий, исходя из пути к образу процесса и степени доверия средства защиты к нему), иначе запросить разрешение пользователя.
Найденные особенности будут использоваться в дальнейшем развитии работы. На основе полученных результатов апробации методики планируется разработать и протестировать программный макет средства блокирования криптовымогателей для ОС Windows.
Библиографические ссылки
1. Gazet A. Comparative analysis of various ransomware virii // J. Comput Virol. 2010. № 6.
2. Дрожжин А. История и эволюция программ-вымогателей в цифрах и фактах [Электронный ресурс]. URL: https://blog.kaspersky.ru/ransomware-blocker-to-cryptor/12301/ (дата обращения: 12.04.2017).
3. Молотов М. Вирус-шифровальщик. Большая статья [Электронный ресурс]. URL: https://habrahabr.ru/post/206830/ (дата обращения: 12.04.2017).
4. Snow J. Шифровальщик-вымогатель Petya ест жесткие диски [Электронный ресурс]. URL: https://blog.kaspersky.ru/petya-ransomware/11447/ (дата обращения: 04.04.2017).
© Смирнов Д. В., Лубкин И. А., 2017