История развития полиморфных вирусов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

История развития полиморфных вирусов



 

 Прототипом полиморфного вируса стал 1260 или V2PX. Он являлся демонстрационным компьютерным вирусом, написанным в 1989 году Марком Вашберном, который использовал форму полиморфного шифрования. Полученный из публикации дизассемблированного исходного кода Ральфа Бургера вируса Vienna, к 1260 было добавлено шифрование и изменение своей сигнатуры, сделав алгоритм дешифрования случайным. И 1260, и Vienna при выполнении заражают файлы.COM в текущем каталоге или каталоге PATH. Изменение аутентифицированного исполняемого файла обнаруживается большинством современных компьютерных операционных систем.

Первым полноценным представителем полиморфных вирусов стал «Chameleon» в начале 1990 года также созданным Марком Вашберном, однако проблема стала серьезней чуть позже – в апреле 1991 года была зарегистрирована эпидемия «Tequila». Идея полиморфных вирусов стала столь популярна, что дошло до создания генераторов полиморфных вирусных кодов – первым стал MtE. Кроме того, генератор позволял получать полиморфный вирус из обычного – путем присоединения к OBJ-файлу вируса файла полиморфного кода с идентичным расширением.

Фактически, с появлением генераторов для создания полиморфного вируса не требовалось знать код оригинального вируса – достаточно было просто «скормить» его генератору, и тот делал всю работу за начинающего хакера.

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

Генераторы полиморфных вирусов также совершенствовались – в середине девяностых это были MTE 0.90 (Mutation Engine), TPE (Trident Polymorphic Engine), четыре версии NED (Nuke Encryption Device) и DAME (Dark Angel's Multiple Encryptor).

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

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

 

Уровни полиморфизма

 

Исследователи обнаружили, что 93% всех вредоносных программ имеют полиморфную природу.

В классификации CARO полиморфные вирусы в зависимости от их сложности разделяют на несколько уровней.

Уровень 1. Вирусы первого уровня полиморфизма используют постоянные значения для разных расшифровщиков. Их можно обнаружить по некоторым постоянным участкам кода расшифровщика. Такие вирусы принято называть «не совсем полиморфными», или олигоморфными (oligomorphic).

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

Уровень 3. Вирусы, использующие в расшифровщике команды, не участвующие в расшифровании вирусного кода, или "команды-мусора", относят к третьему уровню полиморфизма. Это такие команды ассемблера, как NOP, MOV AX, AX, STI, CLD, CLI и т.д. Данные вирусы также можно определить с помощью некоторой сигнатуры, если произвести отсеивание всех «мусорных» команд.

Уровень 4. Вирусы четвертого уровня используют в расшифровщике взаимозаменяемые инструкции и "перемешанные" инструкции без изменения алгоритма расшифрования. Например, ассемблерная команда MOV AX,BX имеет взаимозаменяемые инструкции: PUSH BX - POP AX; XCHG AX,BX; MOV CX,BX - MOV AX,CX и т. д. Детектирование данных вирусов возможно с помощью некоторой перебираемой сигнатуры.

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

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

 



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 115; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.29.145 (0.004 с.)