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

Борьба за выживание

Эдайн Гхэллах

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


Способы защиты от антивирусов

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

Основные принципы

На распространение вируса требуется какое-то время. На написание “лечилки” для вируса также нужно время. Причем, чем меньше первое время и больше второе, тем лучше (для вирусописателей, конечно). На этом основываются все приемы защиты. Существует множество видов защит вирусов, но оптимальной стопроцентной защиты не существует, и вообще, сколько вирусописателей – столько и мнений на этот счет. Я постараюсь выделить самые основные виды и как-то их классифицировать.

Защита может быть двух видов: активная и пассивная. К пассивной защите можно отнести принципы сложности и незаметности. К активной – различные механизмы обновления через Сеть. Также активным способом являются приемы защиты от отладчиков и дизассемблеров, которые будут рассмотрены в конце статьи. Есть еще одна классификация защит - по этапам. Время жизни вируса можно условно разделить на следующие этапы:

Распространение вируса.

Попадание в антивирусную контору.

Выпуск антивируса.

Защита принципиально отличается на каждом этапе.

Распространение вируса

Главное правило выживания на этом этапе – незаметность. Многие вирусописатели любят вставлять в свои творения красочные эффекты, картинки, надписи, а иногда просто деструктивные функции. Они не понимают, что этим укорачивают им жизнь. Необходимо применять различные способы сокрытия вируса в системе, если он резидентен. Иногда очень эффективны простые ограничения на заражаемые системы: установлен SoftIce – не заражать, установлен AVP – не заражать и т.д. Конечно, так многие компьютеры просто не будут заражены. Но зато и вирус почти наверняка не будет обнаружен. Еще лучше сделать такие ограничения временными. К примеру, проходит месяц, вирус заразил большое количество машин, но лишь простых пользователей, не беспокоящихся о безопасности, потом все ограничения снимаются, и вирус начинает полноценно размножаться, но уже не с одной машины, как в начале, а с нескольких тысяч.

Этап второй – попадание в антивирусную контору

Рано или поздно вирус будет обнаружен, и какой-нибудь особо “умный” пользователь отошлет его антивируснику. Теперь игра идет на минуты, чем дольше антивирусник разбирается в алгоритме вируса, тем больше и больше распространяется вирус. Главный принцип защиты на этом этапе – сложность. Простейший вирус будет определен с помощью эвристического анализа еще на первом этапе. Хороший полиморфный вирус потребует нескольких часов работы специалистов из антивирусной конторы. Анализ сложного пермутируещего вируса может занять несколько дней.

Этап третий – выпуск антивируса

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