МЕТОДЫБОРЬБЫСВИРУСАМИ
В этой главе описаны наибо-
 лее эффективные методы
 борьбы с вирусами, защиты
 от проникновения и лечения.
 Приведены алгоритмы необ-
 ходимых действий при подо-
 зрении на наличие вируса
 в компьютере. Описаны меры
 по предотвращению "эпиде-
 мии" путем создания про-
 граммы-блокировщика.
Рассмотрен пример создания
 программы-антивируса.
 Представлены исходные тек-
 сты программ с подробными
 комментариями.
В предыдущих главах состоялось знакомство с компьютерными вируса-
 ми, поражающими Flash BIOS, документы текстового процессора
 Microsoft Word 6.0 for Windows, файлы разных операционных систем
 и прочие. Пришло время рассмотреть различные способы борьбы с ними.
Итак, что же такое антивирус? Сразу же развеем одну часто возникаю-
 щую иллюзию. Почему-то многие считают, что антивирус может обнару-
 жить любой вирус, то есть, запустив антивирусную программу или мони-
 тор, можно быть абсолютно уверенным в их надежности. Такая точка
 зрения не совсем верна. Дело в том, что антивирус - это тоже програм-
 ма, конечно, написанная профессионалом. Но эти программы способны
 распознавать и уничтожать только известные вирусы. То есть антивирус
 против конкретного вируса может быть написан только в том случае, ког-
 да у программиста есть в наличии хотя бы один экземпляр этого вируса.
 Вот и идет эта бесконечная война между авторами вирусов и антивиру-
 сов, правда, первых в нашей стране почему-то всегда больше, чем вторых.
 Но и у создателей антивирусов есть преимущество! Дело в том, что су-
 ществует большое количество вирусов, алгоритм которых практически
 скопирован с алгоритма других вирусов. Как правило, такие вариации
 создают непрофессиональные программисты, которые по каким-то причи-
 нам решили написать вирус. Для борьбы с такими "копиями" придума-
 но новое оружие - эвристические анализаторы. С их помощью антивирус
 способен находить подобные аналоги известных вирусов, сообщая
 пользователю, что у него, похоже, завелся вирус. Естественно, надежность
 эвристического анализатора не 100%, но все же его коэффициент полез-
 ного действия больше 0,5. Таким образом, в этой информационной вой-
 не, как, впрочем, и в любой другой, остаются сильнейшие. Вирусы, кото-
 рые не распознаются антивирусными детекторами, способны написать
 только наиболее опытные и квалифицированные программисты.
Таким образом, на 100% защититься от вирусов практически невозмож-
 но (подразумевается, что пользователь меняется дискетами с друзьями
 и играет в игры, а также получает информацию из других источников,
 например из сетей). Если же не вносить информацию в компьютер из-
 вне, заразиться вирусом невозможно - сам он не родится.
Итак, что же можно посоветовать, чтобы сталкиваться с вирусами как
 можно меньше или, по крайней мере, только сталкиваться, не допуская
 их на жесткий диск своего винчестера. В первую очередь - самые эле-
 ментарные правила "компьютерной гигиены": проверка дискет на нали-
 чие вируса самыми надежными антивирусными программами, такими,
например, как AVP или DrWeb. Очень хорошо, если на жестком диске
 установлен ревизор Adinf. Многие пользователи добавляют строку за-
 пуска ревизоров, антивирусов, антивирусных мониторов в конфигура-
 ционный файл AUTOEXEC.BAT - тоже весьма действенно.
Есть определенные способы борьбы и с загрузочными вирусами.
 В установках (SETUP) компьютера предусмотрена защита от записи
 в MBR. Когда запись начинается, BIOS сразу же ее останавливает
 и запрашивает подтверждение на разрешение записи. Естественно,
 следует запретить запись, а затем загрузится со своей, заранее подго-
 товленной, системной дискеты. У большинства компьютерных пользо-
 вателей такой дискеты нет - а надо бы завести. И это еще не все.
 Вирусы постоянно совершенствуются, и все их многообразие охватить,
 конечно, невозможно. Поэтому надо быть готовым, что рано или по-
 здно вирус все-таки попадет на жесткий диск, и встретить его нужно
 во всеоружии.
Стандартные программы защиты
В большинстве случаев вирус, заразивший компьютер, помогут обнару-
 жить уже разработанные программы-детекторы. Они проверяют, имеет-
 ся ли в файлах на указанном пользователем диске специфическая для
 данного вируса последовательность байт. При обнаружении вируса про-
 грамма выводит на экран соответствующее сообщение.
Стоит также заметить, что программы-детекторы не слишком универ-
 сальны, поскольку способны обнаружить только известные вирусы. Не-
 которым таким программам можно сообщить специальную последова-
 тельность байт, характерную для какого-то вируса, и они смогут
 обнаружить инфицированные им файлы - например, это умеет Notron
 AntiVirus или AVSP.
Программа Aidstest устарела и сейчас уже практически не использует-
 ся. Наиболее широкое распространение получили программы DrWeb
 и AVP. Благодаря своим новейшим детекторам, они могут обнаружить
 любые вирусы - как самые старые, так и только что появившиеся. Еще
 нужно упомянуть детектор Adinf. Эта антивирусная программа обнару-
 живает все вирусы, не изменяющие длину файлов, невидимые вирусы,
 и многие другие. Таким образом, эти три программы обеспечат мощней-
 шую защиту против вирусов. Кстати, на западе тоже предпочитают
 пользоваться российскими программами DrWeb и AVP.
Спасаясь от вирусов, создайте мощную защиту против них. Установите
 на своем диске AVP, DrWeb и Adinf. Каждая программа хороша по-сво-
 ему - пусть защита будет многоуровневой. Все эти программы можно
 вписать в файл AUTOEXEC.BAT, тогда при загрузке компьютера про-
 верка на заражение вирусом будет проводиться автоматически.
Всегда проверяйте файлы, попадающие на ваш компьютер. Любой из
 них может быть заражен вирусом, это нужно помнить. Никогда не по-
 зволяйте посторонним работать на вашем компьютере - именно они
 чаще всего приносят вирусы. Особое внимание следует уделять играм -
 чаще всего вирусы распространяются именно так. Новые игры и про-
 граммы всегда нужно проверять на вирус.
Поиск вируса
Когда во время работы компьютер начинает вести себя как-то необыч-
 но, первая мысль, приходящая на ум любому пользователю - уж не ви-
 рус ли это. В такой ситуации важно правильно оценить свои подозре-
 ния и сделать выводы.
Как правило, человек, обладающий некоторым опытом и владеющий со-
 ответствующим программным инструментарием, справляется с этой зада-
 чей без особых затруднений. Наиболее сложная ситуация - когда дей-
 ствовать приходится в "полевых" условиях, например, на чужой машине.
Типичный вариант: стандартная PC (286, 386...Pentium), как минимум
 1Мбайт ОЗУ, как минимум 400Мбайт HDD; возможно наличие прин-
 тера, звуковой карты, CDD и прочей периферии. Программное обеспе-
 чение: Windows 95, возможно Windows 3.1x, но работают все равно под
 DOS. Джентльменский набор: Norton Commander 3.0-5.0, Norton Utility
 6.0-8.0, свежие антивирусы: AidsTest и DrWeb, русификаторы, архивато-
 ры, резидентные программы и прочее. В качестве обязательного усло-
 вия - наличие заведомо "чистой" защищенной от записи загрузочной
 дискеты, содержащей (хотя бы в урезанном виде) вышеупомянутый
 комплект программ.
Итак, по мнению хозяина компьютер ведет себя странно. Например,
 программы, которые раньше работали правильно, начинают сбоить или
 вообще перестают запускаться, компьютер периодически "виснет", эк-
 ран и динамик воспроизводят необычные видео- и аудиоэффекты. Что
 будем делать?
1. Усаживаем перед собой хозяина компьютера и подробно расспраши-
 ваем его о событиях, предшествующих возникновению сбоев. Выяс-
 нить нужно следующее.
Кем и как используется машина? Если сотрудники или хозяин час-
 то приносят мелкие игрушки, гороскопы, устанавливают и стирают
 различные бухгалтерские программы, то вероятность наличия виру-
 са в машине весьма высока. Крупные игрушки, которые с трудом
 умещаются даже в упакованном виде в коробку дискет, переносятся
 с машины на машину редко. При этом они, чаще всего, тщательно
 проверяются на наличие вирусов.
а) Когда впервые замечены симптомы вируса? Некоторые вирусы
 любят приурочивать свою деятельность к определенной дате или
 времени: 1 мая, 7 ноября, 13-е число, пятница, пять часов вечера,
 а также 6 марта, 15 ноября, 11-я минута каждого часа.
б) Не связаны ли изменения в работе компьютера с первым запус-
 ком какой-либо программы? Если да, то эта программа - первая
 в очереди на "медкомиссию".
в) Не связано ли появление симптомов заражения с распаковкой
 какого-либо старого архива и запуском программ из него? Неко-
 торые современные антивирусы (AVP, DrWeb) умеют проверять
 архивы наиболее популярных форматов. Но ведь изредка еще
 встречаются архивы .ice, .arc, .zoo, .bsa, .uc2, .ha, .pak, .chz, .eli
 и прочие - их антивирусы диагностировать не могут.
г) Не имеет ли хозяин (хозяйка) компьютера привычку оставлять
 дискеты в дисководе при перезагрузке? Загрузочный вирус мо-
 жет годами жить на дискете, никак себя не проявляя.
2. В присутствии хозяина (хозяйки) включаем компьютер. Вниматель-
 но следим за процессом загрузки. Сначала запускается программа
 POST, записанная в ПЗУ BIOS. Она тестирует память, тестирует и
 инициализирует прочие компоненты компьютера и завершается ко-
 ротким одиночным гудком. Если "вирус" проявляет себя уже на
 этом этапе - он здесь ни при чем. Теоретически вирус может суще-
 ствовать и в BIOS: предполагается, что первые вирусы на террито-
 рию СССР "приехали" внутри болгарских ПЗУ (современные ПЗУ
 часто не являются "постоянными запоминающими устройствами",
 они предусматривают возможность перезаписи BIOS).
3. В присутствии хозяина (хозяйки) пытаемся вызвать необычное по-
 ведение компьютера.
а) Идеально, если вирус (если это действительно он) самостоятель-
 но извещает всех о своем присутствии, например, выводит на эк-
 ран сообщение типа "I am VIRUS!".