Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #35, ОКТЯБРЬ 2003 г.

А ты написал свой стелс?

Касатенко Иван aka SkyWriter

Спецвыпуск Xakep, номер #035, стр. 035-050-1


(sky@linkin-park.ru)

Стелс-технологии в вирусах

Зачем нужны стелс-технологии

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

Как же с этим бороться? Существует множество способов, причем придумывать их начали с самого момента появления антивирусов, способных искать заразу по сигнатурам. Хорошо известны такие технологии скрытия вирусного кода, как полиморфизм (в различных его формах), применение стелс-технологий. В этой статье мы рассмотрим стелс-технологии.

Что же это такое? Ну, начнем с перевода слова "стелс": by stealth - украдкой, втихомолку, тайком. Действительно, это слово в полной мере отражает суть дела, т.к. задача стелс-вируса состоит именно в том, чтобы скрыть свое присутствие в компьютере от операционной системы и всего ПО, которое использует ее функции для доступа к файлам, списку процессов и т.п.

Стелс дедушки-фронтовика

Итак, с чего все началось. Первые стелс-вирусы появились давно, когда Microsoft был маленьким, а компьютеры большими. Многие использовали тогда получающий распространение MS-DOS. В нем обживалась и зараза. Сначала простейшая, а потом все более и более совершенная. Но насколько бы ни была она совершенна, ее всегда обнаруживал антивирус. Вирусописатели перепробовали все: кодирование вирусов, изменение кода дополнением "пустых" инструкций, вроде NOP или последовательных PUSH/POP - со временем такие приемы переставали действовать.

Вот тут-то и пришло время задуматься о скрытии присутствия вирусов в ПК. Действительно, все гениальное просто: зачем изобретать хитрейшую систему мутации вируса, если можно просто сделать так, чтобы никто не знал, что этот вирус в компе есть?!

Дело оставалось за малым: придумать и реализовать скрывающую вирусный код систему. Недолго размышлял над этой задачей всеобщий гений VX-сцены. В короткие сроки появились первые стелс-вирусы.

Что они делали? Сначала они были элементарны: перехватывали системное прерывание MS-DOS 21h и на вызовы чтения/записи файлов подставляли незараженные программы. Так антивирусы впервые оказались жестоко обмануты, однако ненадолго, до тех пор, пока не научились читать файлы посредством BIOS.

И вот началась "гонка вооружений", кто кого обманет: вирусы перехватывали BIOS, антивирусы использовали порты В/В, вирусы блокировали подобные инструкции и т.д.

Интересно, чем это кончилось? Время стелс-вирусов ушло с появлением "сверхзащищенной" ОС Microsoft Windows.

Настоящая ситуация

Ушло, но навсегда ли? Признаться, я мало слышал о вирусах под Win16. Видимо, их мало писали, то ли потому, что в Windows 3.xx было и так достаточно глюков, то ли потому, что вирьмейкеры не оправились еще от удара Microsoft. Неясно.

Содержание  Вперед на стр. 035-050-2