Электронная библиотека

Xakep

Xakep

Рубрика: ВИРЬтуальность

Xakep, номер #013, стр. 013-064-3


Полиморфики

Кодируют свое тело таким образом, чтобы после каждого запуска ни один его участок не остался прежним. Существует несколько уровней действия полиморфных (от греческого - много форм) алгоритмов. Различаются они количеством и "какчеством". Например, могут просто переставлять различные процедуры вируса (permutating), а могут - заменять команды процессора эквивалентными, т.е.:

моv ax, bx

заменить на

push ax

pop bx

И здесь уже важен количественный показатель - сколько и каких команд способен обработать полиморфик и из скольких команд он сам состоит (то есть возможно ли сделать так, чтобы он сам по себе переписывал?).

Резидентные

Terminate and Stay Resident - DOS`овский термин жив до сих пор. Такие вирусы остаются после вызова "хозяина" в оперативной памяти и заражают все, что шевелится - т.е. все, что запускает юзер. Обычно прячутся, либо отрезая кусок от оперативки (загрузочные в основном поступают именно так), либо маркируют выделенный участок памяти (MCB - Memory Control Block) как используемый DOS, либо прячутся в environment или свободных участках памяти очень маленького размера - такие, с определенной долей уверенности можно сказать, будут не заняты очень долгое время. Чтобы вирус был достаточно незаметен, его размер должен быть соответствующим, т.е. не превышать 2-3 килобайт. Именно по этой причине почти все резидентные вирусы написаны на ассемблере.

Stealth

Разновидность резидентных вирусов. Разместив все мягкие части своего жирного тела в оперативной памяти, вирус перехватывает прерывание DOS и при открытии файлов проверяет их. Если файл уже заражен - вирус его лечит, таким образом, если антивирус или юзер откроют файл для чтения/записи, они не узнают, что за паразит в нем поселился... и поселился ли вообще. Ну а если файл "свеженький" - само собой, нельзя терять шанс его проинфектить.

Террористы

Эти не имеют каких-то отличительных качеств реализации кода, однако я выделил их в отдельную группы по определенной причине - они стали очень популярны среди вирмейкеров в последнее время. Такие вирусы содержат "процедуры деструктивного назначения", однако винты не просто форматятся, а юзеру после заражения предлагается, например, сыграть в рулетку на данные его дисков. Выиграл - файл твой, не выиграл - прощайся с бухгалтерским отчетом за месяц, за которым сидел всю ночь. Зверство, правда? Хехехе. Некоторые вирусы предлагают совершить определенные действия, иначе... "сам понимаешь, работа такая..."

Трояны (Trojans)

Могут иметь способности любых других типов вирусов. Отличительная черта - в коде вируса есть участок, который совершает определенные действия (крадет что-нибудь и отсылает по почте или уничтожает определенные данные). Некоторые вирмейкеры называют такие вирусы "боевыми". Это связано, например, с тем, что начать заражение можно откуда угодно, и когда необходимые действия будут выполнены, источник заражения найти будет очень трудно. Кроме того, троян может просто висеть где-нить в background`е и писать тихо логи того, что делает юзер, и отсылать под конец рабочего дня своему создателю. Промышленный шпионаж, одним словом...

Назад на стр. 013-064-2  Содержание  Вперед на стр. 013-064-4