Библиографическое описание:

Усенко А. В. Использование криптографии с временным раскрытием для противодействия проактивным технологиям детектирования вредоносных программ // Молодой ученый. — 2012. — №2. — С. 66-70.

Введение

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

Криптография с временным раскрытием представляет собой совокупность методов, позволяющих зашифровать данные таким образом, чтобы обеспечить их расшифровку по истечении заранее определенного срока и исключить возможность досрочного раскрытия.

Задачи с временным замком были предложены в работе [1] как один из способов реализации криптографии с временным раскрытием. Под задачей с временным замком далее понимается вычислительная задача, которая:

  • Имеет решение, однозначно определяемое некоторым набором входных параметров;

  • Решение может быть получено вычислением значения некоторой функцииF от этих параметров;

  • Функция F должна быть такой, что невозможно ускорить ее вычисления посредством распараллеливания, т.е. процесс вычисления строго последователен.

Использование задач с временным замком для введения в заблуждение антивирусных анализаторов относительно безопасности исследуемого объекта предложено в работе [2], однако в ней не представлено убедительного доказательства того, что такой подход имеет какой-либо эффект в достижении обозначенной цели.

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

Использование задач с временным замком для противодействия проактивным технологиям детектирования вредоносных программ

Рассмотрим модификацию алгоритма создания задач с временным замком, предложенного в работе [1].

Пусть M –некоторое сообщение; через и обозначим, соответственно, шифрование сообщения M на ключе Kи расшифровку криптограммы на ключеKс использованием некоторой симметричной криптосистемы.

Пусть T – время, которое должен затратить получатель зашифрованного сообщения на расшифровку полученной криптограммы.

Тогда задача с временным замком строится в соответствии с алгоритмом:

    1. Сгенерировать составной модуль , где – случайные большие простые числа. Вычислить функцию Эйлера:

;

    1. Вычислить , где – число операций возведения в квадрат по модулю большого числа, которое может проделать получатель сообщения в среднем за одну секунду;

    2. Выбрать случайное , такое, что ,и вычислить ключ шифрования:

,

;

    1. Зашифровать сообщение :

.

Выход алгоритма – задача с временным замком.Все другие промежуточные параметры уничтожаются.

Получателю задачи с временным замком неизвестно разложение на множители числа . В связи с этимон должен затратить в среднем T секунд на вычисление ключа шифрования. Для этого нужно вычислить значение функции . Наиболее эффективный способ вычислить ее – это последовательное выполнение операций возведения в квадрат по модулю большого числа. Неизвестен способ распараллеливаниявычисления данной функции.

Таким образом, если имеется задача с временным замком, то получение исходного сообщения Mпроисходит в соответствии с алгоритмом:

      1. ;

      2. .

Использование задач с временным замком для противодействия проактивным технологиям детектирования можно рассмотреть на примере программы-инсталлятора, содержащей вредоносную полезную нагрузку, зашифрованную в соответствии с описанным выше алгоритмом, и осуществляющей функции по ее расшифровке и инсталляции в систему.

Пусть имеется вредоносная программа, которая содержится в базе знаний антивирусного программного обеспечения, что позволяет ему обнаруживать эту программу с использованием сигнатурных и, возможно, проактивных методов анализа. Эта программа будет выступать в качестве полезной нагрузки указанной выше программы-инсталлятора.

Если зашифровать вредоносный код, то метод сигнатурного анализа станет неприменим для его обнаружения. Однако, так как зашифрованный код расшифровывается перед исполнением, его можно обнаружить, эмулируя выполнение программы-инсталлятора. Детектирование вредоносной программы, основанное на эмуляции, может быть предотвращено, в частности, посредством превышения глубины анализа или же максимального времени работы эмулятора с программой. Для того чтобы превысить максимальное время работы эмулятора, будем использовать шифрование и расшифровку полезной нагрузки программы-инсталлятора в соответствии с вышеописанными алгоритмами.

Эксперимент: противодействие детектированию

Цель эксперимента – продемонстрировать практическое применение рассмотренного способа противодействия детектированию вредоносных программ, основанного на методах криптографии с временным раскрытием.

При проведении эксперимента использовался онлайн-сервис «VirusTotal» (www.virustotal.com), предоставляющий сведения об исследовании присланного объекта различными антивирусными продуктами. На момент проведения эксперимента на сервисе«VirusTotal» были представлены 43 различных антивирусных продукта.

В рамках эксперимента были созданы следующие приложения:

        • Программа-инсталлятор, в одной из секций которой должна содержаться полезная нагрузка в виде набора данных, представляющего описанную выше задачу с временным замком. Это приложение выполняет функции по расшифровке полезной нагрузки и ее инсталляции в систему;

        • Приложение, генерирующее задачу с временным замком на основе выбранной вредоносной программы и внедряющее ее в программу-инсталляторв виде дополнительной секции данных.

Указанные приложения представляют собой исполнимые модули формата Portable Executable семейства операционных систем Windows, написанные на языке С++ и использующие интерфейсыWin32 API и библиотеку BigDigits, предоставляющую функционал арифметики многократной точности для работы с большими числами.

Программа-инсталлятор выполняет следующие шаги:

      1. Вычисляет ключ шифрования;

      2. Расшифровывает полезную нагрузку;

      3. Записывает полезную нагрузку на жесткий диск;

      4. Запускает записанный на шаге 3файл.

Основной характеристикой программы-инсталлятора является время, необходимое для вычисления ключа и расшифровки полезной нагрузки. Оно задается значением параметра для каждого отдельного экземпляра программы-инсталлятора. В качестве значений брались степени числа 2. В таблице 1 приводятся сведения о среднем времени, необходимом программе-инсталлятору для расшифровки полезной нагрузки в конкретной системе (ОС Windows XP Professional, процессор AMD Sempron 2200+ 1.5 GHz, 512 MB RAM), с округлением до миллисекунд.

Таблица 1

Среднее время, затрачиваемое программой-инсталлятором на расшифровку полезной нагрузки, мс

t

T,мс

0

1

1

9

235

7709

58214

235039


В качестве вредоносных программ были выбраны следующие, обнаруженные в «диком виде» (названия вредоносных программ приведены в соответствии с классификацией «Доктор Веб»[3], в скобках указаны их обозначения далее в работе):

    • Joke.Forgery.336 («joke»);

    • Trojan.Packed.365 («pack»);

    • Trojan.PWS.Gameff («troj1»);

    • Trojan.Eesdns («troj2»);

    • Win32.HLLW.Amorale («vir1»);

    • Win32.HLLP.Kvex («vir2»).

Все они в «диком виде» обнаруживаются большинством антивирусных продуктов, представленных на сервисе«VirusTotal»–от 31 до 37 продуктов из 43 представленных.

Для каждой из данных программ была создана выборка программ-инсталляторов, различающихся значением параметра. Использовались следующие значения этого параметра:, , , , , , .Были проведены две серии тестирований созданных выборок на сервисе «VirusTotal», с интервалом в несколько дней между сериями.

При анализе результатов необходимо учитывать следующее:

  • Результатом тестирования может быть точная классификация полезной нагрузки инсталлятора (пометки типа «dropped», «memscan» и др.), что означает, что полезная нагрузка была расшифрованаи «опознана» анализатором. Условно назовем такой результат «точной классификацией»;

  • Результатом тестирования может быть присвоение инсталлятору классификации подозрительного или вредоносного объекта на основе эвристических правил, которыми располагает антивирусный анализатор. Такой результат все же свидетельствует об успешном противодействии детектированию внедренной в инсталлятор вредоносной программы;

  • Результатом тестирования может быть признание исследуемого объекта безопасным и не содержащим вредоносного функционала. Такой результат означает успешное противодействие детектированию.

В таблицах2и 3 приведены результаты тестирований созданной выборки программ-инсталляторов на сервисе «VirusTotal».Условное значение«–» параметра tв таблицах 2 и 3 соответствует тестированию непосредственно полезной нагрузки, обнаруженной в «диком виде».

Таблица 2

Отношение числа точных классификаций, присвоенных исследуемой программе, к общему числу присвоенных классификаций (в первой серии тестирований)

t

Полезная нагрузка программы-инсталлятора

«joke»

«pack»

«troj1»

«troj2»

«vir1»

«vir2»

32/32

35/35

37/37

36/36

31/31

31/31

5/5

5/7

4/5

5/7

5/6

4/5

5/5

5/7

4/5

5/7

5/6

4/5

4/4

5/6

3/4

5/6

5/5

3/4

0/0

0/1

0/1

0/1

0/0

0/1

0/0

0/1

0/1

0/1

0/0

0/1

0/0

0/1

0/1

0/1

0/0

0/1

0/0

0/1

0/1

0/1

0/0

0/1

Таблица 3

Отношение числа точных классификаций, присвоенных исследуемой программе, к общему числу присвоенных классификаций (во второй серии тестирований)

t

Полезная нагрузка программы-инсталлятора

«joke»

«pack»

«troj1»

«troj2»

«vir1»

«vir2»

32/32

35/35

37/37

36/36

31/31

31/31

5/20

5/19

5/13

5/22

5/16

4/15

5/19

5/21

5/13

5/23

5/15

5/16

4/17

5/17

5/12

5/20

5/14

4/14

0/3

0/6

0/5

0/8

0/1

0/6

0/3

0/4

0/4

0/7

0/1

0/6

0/3

0/5

0/5

0/7

0/2

0/4

0/4

0/4

0/4

0/4

0/1

0/4


На рисунках 1 и 2 представлены снимки экрана с результатами тестирований на сервисе «VirusTotal» инсталляторов с различными значениями параметра t, содержащих в качестве полезной нагрузки объект «vir1».Результаты получены в рамках первой серии тестирований.

Рис. 1. Тестирование программы-инсталлятора с

Полученные результаты свидетельствуют о практической эффективности предложенного подхода и возможности его использования для противодействия проактивным технологиям детектирования вредоносных программ. Использование такого способа «обмана» антивирусного программного обеспечения может позволить злоумышленникам:

              • Упростить транспортировку известных вредоносных программ в глобальной сети в случае, когда промежуточные узлы сети используют антивирусную проверку хранимого или пересылаемого контента;

              • Увеличить окно возможностей новой неизвестной вредоносной программы, т.е. период, на протяжении которого она может осуществлять вредоносную активность и отсутствовать в базах знаний антивирусных продуктов;

              • Разработать новые векторы атак на вычислительные системы, в которых не используются средства комплексной защиты от несанкционированного доступа к ресурсам системы.

Необходимо отметить, что встречаются сообщения об использовании методов криптографии с временным раскрытием в реализациях конкретных вредоносных программ, в частности, использование задач с временным замком упоминается в докладе [4].

Рис. 2. Тестирование программы-инсталлятора с

Заключение

В данной работе была продемонстрирована возможность применения методов криптографии с временным раскрытием для эффективного противодействия проактивным технологиям детектирования вредоносных программ. Приведен простой способ превышения глубины анализа исследуемого приложения, позволяющий снизить «процент детектируемости» известных вредоносных программ.


Литература:

  1. Rivest R. L., Shamir A., Wagner D. A. Time-Lock Puzzles and Timed-Release Crypto // Massachusetts Institute of Technology. Cambridge, MA, USA. 1996. 9 p.

  2. Ebringer T. Anti-Emulation Through Time-Lock Puzzles // Second International CARO Workshop. Hoofddorp, Netherlands, 2008. 10 p.

  3. Классификация именований вирусов по «Доктор Веб» [Электронный ресурс]. –Режим доступа: http://vms.drweb.com/classification/

  4. Baumgartner K. AntiRE en Masse Investigating Ferrie’s Documented AntiUnpacking Tricks in the World’s Worst Mal-Families // Virus Bulletin. 2009.


Обсуждение

Социальные комментарии Cackle