"Вячеслав Алексеев. Предохраняйтесь от вирусов (Help, TM N 01/93)" - читать интересную книгу автора

И наконец, четвертая схема - вирус переписывает начало программы-жертвы,
равное своему объему, в ее конец, а на освободившемся участке размещает
собственное "дитя". Так поступает С-529 - во всем остальном, кстати,
чистейший плагиат с "Черной пятницы" (подумать только, и вирусы воруют!).
Для ликвидации достаточно проделать то же самое в обратном порядке.
В борьбе с вирусами распространено два подхода: лечение и профилактика.
Основной метод лечения заключается в поиске антивирусной программой
знакомых специалисту комбинаций байтов, характеризующих определенную
инфекцию и запрограммированное ее удаление. Для профилактики же
используются программы, которые контролируют размеры файлов на винчестере и
перехватывают команды записи, постоянно запрашивая у оператора
подтверждение - действительно ли он хочет что-то записать, или это
старается вирус.
В обоих случаях эффективность далека от 100%. Например, версия лечебной
программы Д.Лозинского Aidstest, рассчитанная на 315 "творческих находок"
хакеров, не заметит 316-ю, А во втором случае не всегда понятно, кто хочет
сделать запись: вирус или запущенная оператором программа, поскольку в ходе
любой работы на компьютере что-то постоянно сбрасывается на магнитный
носитель, чтобы освободить оперативную память.
Вот если бы формализовать интеллектуальный труд вирусолога по анализу
структуры и повадок новых штаммов, созданию лечебных процедур, а затем
описать все это алгоритмическим языком, заодно включив и элементы
профилактики! Тогда компьютер научился бы самостоятельно предотвращать или
лечить любую заразу.
Разумеется, задача трудная, но коекакие подходы уже определились.
Например, в известном антивирусными разработками СП "Диалог" (в котором
работает и Д.Лозинский) пытаются реализовать эти принципы в виде системной
защиты AVSP (Anti Virus System Protect). Пока рано говорить о передаче
компьютеру полного анализа обстановки. Интеллектуальную часть должен взять
на себя очень грамотный оператор или, что еще лучше,
программист-профессионал. Но согласитесь, найти таких все же проще, чем
системщика, специализирующегося на вирусах. А программа AVSP выполнит
рутинную работу: сравнит больной и здоровый файлы, выделит инородные
команды, предложит варианты лечения (выбор которого сделает оператор).
Пожалуй, самое главное - способность программы к самообучению. Достаточно
показать ей, по каким критериям искать новый вирус и как справиться с ним
(действия оператора запоминаются),- и все остальные файлы компьютер
проверит автоматически, а больные излечит.
Конечно, новая разработка имеет недостатки. Представьте, что оператор
ошибся при манипуляциях (ведь с помощью AVSP в недра любой программы может
"залезть" каждый, считающий себя "специалистом"), а антивирус растиражирует
ошибку на весь винчестер (вместо одного будет испорчено большинство
файлов). К тому же пока не все типы вирусов можно удалить с ее помощью -
поиск и ликвидация бутовых инфекций основаны на иных принципах. Но сам
подход к задаче выглядит перспективнее, ведь при появлении нового штамма
единственное, что могут пообещать другие, скажем, тот же Д.Лозинский, это
лишь попытаться изготовить соответствующее "лекарство".
Может быть, не только в "Диалоге" думают над аналогичными задачами. Было
бы неплохо для общей пользы обменяться идеями. Интересно узнать и мнение
противоположной стороны - хакеров. А пока работа над универсальной защитой