МЕТОДЫБОРЬБЫСВИРУСАМИ
В этой главе описаны наибо-
лее эффективные методы
борьбы с вирусами, защиты
от проникновения и лечения.
Приведены алгоритмы необ-
ходимых действий при подо-
зрении на наличие вируса
в компьютере. Описаны меры
по предотвращению "эпиде-
мии" путем создания про-
граммы-блокировщика.
Рассмотрен пример создания
программы-антивируса.
Представлены исходные тек-
сты программ с подробными
комментариями.
В предыдущих главах состоялось знакомство с компьютерными вируса-
ми, поражающими 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!".