Выбрать главу

Так работают болгарские вирусы "Янки Дудль" - CE-2890R, играющий в 17.00 (по часам компьютера) известную одноименную мелодию, "Черный мститель" - СЕ1813R, уничтожающий через 16 копирований содержимое одного сектора винчестера, и многие другие (здесь и далее применяется классификация Н.Н.Безрукова: С - заражение СОМ-файлов; Е - заражение ЕХЕ-файлов; число - размер вируса в байтах; R - резидентность, то есть способность управлять компьютером даже после того, как запустившая его программа, отработав, покинула оперативную память). Исправить положение несложно. Для этого нужно найти и переместить обратно затертые команды начала, а затем отрезать от программы инородную часть.

По второй схеме самокопирование происходит на свободный участок, а в служебные таблицы вводится информация о том, что файл начинается именно там. (Система MS DOS позволяет хранить на дисках программы в "разрезанном" состоянии, "склеивая" их в оперативной памяти по записям в каталоге.) Так действует израильский вирус "Черная пятница" (CE-1813R), названный так потому, что по пятницам, приходящимся на 13-е число, уничтожает все содержимое винчестера. В этом случае достаточно найти истинное начало файла и внести соответствующую запись в служебные таблицы.

Малораспространенная третья схема реализована в "Лехайском вирусе" (C-346R), который через четыре цикла саморазмножения обнуляет 32 сектора винчестера, - он располагается в середине программы, на участке, зарезервированном под цифровые данные пользователя, но до работы пока свободном. Не все программы имеют такую структуру, поэтому у хакеров подобный прием не пользуется почетом.

И наконец, четвертая схема - вирус переписывает начало программы-жертвы, равное своему объему, в ее конец, а на освободившемся участке размещает собственное "дитя". Так поступает С-529 - во всем остальном, кстати, чистейший плагиат с "Черной пятницы" (подумать только, и вирусы воруют!). Для ликвидации достаточно проделать то же самое в обратном порядке.

В борьбе с вирусами распространено два подхода: лечение и профилактика.

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

В обоих случаях эффективность далека от 100%. Например, версия лечебной программы Д.Лозинского Aidstest, рассчитанная на 315 "творческих находок" хакеров, не заметит 316-ю, А во втором случае не всегда понятно, кто хочет сделать запись: вирус или запущенная оператором программа, поскольку в ходе любой работы на компьютере что-то постоянно сбрасывается на магнитный носитель, чтобы освободить оперативную память.

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

Разумеется, задача трудная, но кое-какие подходы уже определились. Например, в известном антивирусными разработками СП "Диалог" (в котором работает и Д.Лозинский) пытаются реализовать эти принципы в виде системной защиты AVSP (Anti Virus System Protect). Пока рано говорить о передаче компьютеру полного анализа обстановки. Интеллектуальную часть должен взять на себя очень грамотный оператор или, что еще лучше, программист-профессионал. Но согласитесь, найти таких все же проще, чем системщика, специализирующегося на вирусах. А программа AVSP выполнит рутинную работу: сравнит больной и здоровый файлы, выделит инородные команды, предложит варианты лечения (выбор которого сделает оператор). Пожалуй, самое главное - способность программы к самообучению. Достаточно показать ей, по каким критериям искать новый вирус и как справиться с ним (действия оператора запоминаются),- и все остальные файлы компьютер проверит автоматически, а больные излечит.