1.
Компьютерные вирусы
и борьба с ними
Компьютерный
вирус - это специально
написанная небольшая
по размерам программа,
которая может "приписывать"
себя к другим программам (т.е. "заражать"
их), а также выполнять
нежелательные различные
действия на компьютере.
Программа, внутри которой
находится вирус, называется "зараженной".
Когда такая программа
начинает работу, то
сначала управление
получает вирус. Вирус
находит и "заражает"
другие программы, а
также выполняет какие-нибудь
вредные действия (например,
портит файлы или таблицу
размещения файлов на
диске, "засоряет"
оперативную память
и т.д.). Для маскировки
вируса действия по
заражению других программ
и нанесению вреда могут
выполняться не всегда,
а, скажем, при выполнении
определенных условий.
После того как вирус
выполнит нужные ему
действия, он передает
управление той программе,
в которой он находится,
и она работает также
как обычно. Тем самым
внешне работа зараженной
программы выглядит
так же, как и незараженной.
Многие
разновидности вирусов
устроены так, что при
запуске зараженной
программы вирус остается
резидентно, т.е. до перезагрузки DOS,
в памяти компьютера
и время от времени заражает
программы и выполняет
вредные действия на
компьютере.
Компьютерный
вирус может испортить,
т.е. изменить ненадлежащим
образом, любой файл
на имеющих в компьютере
дисках. Но некоторые
виды файлов вирус может "заразить".
Это означает, что вирус
может "внедриться"
в эти файлы, т.е. изменить
их так, что они будут
содержать вирус, который
при некоторых обстоятельствах
может начать свою работу.
Следует
заметить, что тексты
программ и документов,
информационные файлы
без данных, таблицы
табличных процессоров
и другие аналогичные
файлы не могут
быть заражены вирусом,
он может их только
испортить.
Проявление
наличия вируса в
работе с ПЭВМ
Все
действия вируса могут
выполняться достаточно
быстро и без выдачи
каких-либо сообщений,
поэтому пользователю
очень трудно заметить,
что в компьютере
происходит что-то необычное.
Пока
на компьютере заражено
относительно мало программ,
наличие вируса может
быть практически незаметно.
Однако по прошествии
некоторого времени
на компьютере начинает
твориться что-то странное,
например:
*
некоторые программы
перестают работать
или начинают работать
неправильно;
*
на экран выводятся
посторонние сообщения,
символы и т.д.;
*
работа на компьютере
существенно замедляется;
*
некоторые файлы
оказываются испорченными
и т.д.
К
этому моменту, как
правило, уже достаточно
много (или даже большинство)
программ являются зараженными
вирусом, а некоторые
файлы и диски -
испорченными. Более
того, зараженные программы
с одного компьютера
могли быть перенесены
с помощью дискет или
по локальной сети на
другие компьютеры.
Некоторые
виды вирусов ведут
себя еще более
коварно. Они вначале
незаметно заражают
большое число
программ или дисков,
а потом причиняют очень
серьезные повреждения,
например, формируют
весь жесткий диск на
компьютере. А бывают
вирусы, которые стараются
вести себя как можно
более незаметно, но
понемногу и постепенно
портят данные на жестком
диске компьютера.
Таким
образом, если не предпринимать
мер по защите от
вируса, то последствия
заражения компьютера
могут быть очень
серьезными.
1.1
В последнее время получили
распространение вирусы
нового типа - вирусы,
имеющие файловую систему
на диске. Эти вирусы
обычно называются DIR.
Такие вирусы прячут
свое тело в некоторый
участок диска (обычно -
в последний кластер
диска) и помечают его
в таблице размещения
файлов (FAT) как конец
файла.
"НЕВИДИМЫЕ"
вирусы. Многие резидентные
вирусы (и файловые,
и загрузочные) предотвращают
свое обнаружение тем,
что перехватывают обращения DOS (и
тем самым прикладных
программ) к зараженным
файлам и областям диска
и выдают их в исходном (незараженном)
виде. Разумеется, этот
эффект наблюдается
только на зараженном
компьютере - на "чистом"
компьютере изменения
в файлах и загрузочных
областях диска можно
легко обнаружить.
САМОМОДИФИЦИРУЮЩИЕСЯ
вирусы. Другой способ,
применяемый вирусами
для того, чтобы укрыться
от обнаружения, - модификация
своего тела. Многие
вирусы хранят большую
часть своего тела в
закодированном виде,
чтобы с помощью дизассемблеров
нельзя было разобраться
в механизме их работы.
Самомодифицирующиеся
вирусы используют этот
прием и часто меняют
параметры этой кодировки,
а кроме того, изменяют
и свою стартовую часть,
которая служит для
раскодировки остальных
команд вируса. Таким
образом, в теле подобного
вируса не имеется ни
одной постоянной цепочки
байтов, по которой можно
было бы идентифицировать
вирус. Это, естественно,
затрудняет нахождение
таких вирусов программами-детекторами.
"ТРОЯНСКИЙ
КОНЬ"
Способ "троянский
конь" состоит
в тайном введении
в чужую программу
таких команд, которые
позволяют осуществить
новые, не планировавшиеся
владельцем программы
функции, но одновременно
сохранять и прежнюю
работоспособность.
С помощью "троянского
коня" преступники,
например, отчисляют
на свой счет определенную
сумму с каждой операции.
Компьютерные
программные тексты
обычно чрезвычайно
сложны. Они состоят
из сотен тысяч, а
иногда и миллионов
команд. Поэтому "троянский
конь" из нескольких
десятков команд вряд
ли может быть обнаружен,
если, конечно, нет подозрений
относительно этого.
Но и в послед -- нем случае
экспертам-программистам
потребуется много дней
и недель, чтобы найти
его.
Интересен
случай использования "троянского
коня" одним американским
программистом. Он вставил
в программу компьютера
фирмы, где работал,
команды, не отчисляющие
деньги, а не выводящие
на печать для отчета
определенные поступления.
Эти суммы, особым образом
маркированные, "существовали"
только в системе. Вульгарным
образом, украв бланки,
он заполнял их с указанием
своей секретной маркировки
и получал эти деньги,
а соответствующие операции
по-прежнему не выводились
на печать и не могли
подвергнуться ревизии.
Есть
еще одна разновидность "троянского
коня". Ее особенность
состоит в том, что в
безобидно выглядящий
кусок программы вставляются
не команды, собственно
выполняющие "грязную"
работу, а команды, формирующие
эти команды и после
выполнения уничтожающие
их. В это случае, программисту,
пытающемуся найти "троянского
коня", необходимо
искать не его самого,
а команды, его формирующие.
Развивая эту идею, можно
представить себе команды,
которые создают команды
и т. д. (сколь угодно
большое число раз),
которые создают "троянского
коня".
В
США получила распространение
форма компьютерного
вандализма, при которой "троянский
конь" разрушает через
какой-то промежуток
времени все программы,
хранящиеся в памяти
машины. Во многих поступивших
в продажу компьютерах
оказалась "временная
бомба", которая "взрывается"
в самый неожиданный
момент, разрушая всю
библиотеку данных.
К
сожалению, очень
многие заказчики
прекрасно знают,
что после конфликтов
с предприятием-изготовителем
их программное обеспечение,
которое до сих
пор прекрасно
работало, вдруг начинало
вести себя самым
непредсказуемым образом
и наконец полностью
отказывало. Нетрудно
догадаться, что и копии
на магнитных лентах
или дисках, предусмотрительно
сделанные, положения
нисколько не спасали.
Оставался
один путь - идти с
повинной к разработчику.
1.2
Антивирусные программы
В
нашей стране, как
уже было сказано
выше, особую популярность
приобрели антивирусные
программы, совмещающие
в себе функции
детекторов и докторов.
Самой известной
из них является программа AIDSTEST
Д.Н. Лозинского. В
Украине практически
на каждом IBM-совместимом
персональном компьютере
есть одна из версий
этой программы. Одна
из последних версия
обнаруживает более 8000
вирусов.
Aidstest
для своего нормального
функционирования
требует, чтобы
в памяти не
было резидентных
антивирусов, блокирующих
запись в программные
файлы, поэтому их следует
выгрузить, либо, указав
опцию выгрузки самой
резидентной программе,
либо воспользоваться
соответствующей утилитой.
При
запуске Aidstest проверяет
себя оперативную
память на наличие
известных ему
вирусов и обезвреживает
их. При этом парализуются
только функции вируса,
связанные с размножением,
а другие побочные эффекты
могут оставаться. Поэтому
программа после окончания
обезвреживания вируса
в памяти выдает запрос
о перезагрузке. Следует
обязательно последовать
этому совету, если оператор
ПЭВМ не является системным
программистом, занимающимся
изучением свойств вирусов.
При чем следует перезагрузиться
кнопкой RESET, так как
при "теплой перезагрузке"
некоторые вирусы могут
сохраняться. Вдобавок,
лучше запустить машину
и Aidstest с защищённой
от записи дискеты, так
как при запуске с зараженного
диска вирус может записаться
в память резидентом
и препятствовать лечению.
Aidstest
тестирует свое
тело на наличие
известных вирусов,
а также по искажениям
в своем коде судит
о своем заражении неизвестным
вирусом. При этом возможны
случаи ложной тревоги,
например при сжатии
антивируса упаковщиком.
Программа не имеет
графического интерфейса,
и режимы ее работы задаются
с помощью ключей. Указав
путь, можно проверить
не весь диск, а отдельный
подкаталог.
DOCTOR WEB
В
последнее время
стремительно растет
популярность другой
антивирусной программы - Doctor Web. Dr.Web
так же, как и Aidstest
относится к классу
детекторов - докторов,
но в отличие от
последнего, имеет
так называемый "эвристический
анализатор" - алгоритм,
позволяющий обнаруживать
неизвестные вирусы. "Лечебная
паутина", как переводится
с английского название
программы, стала ответом
отечественных программистов
на нашествие самомодифицирующихся
вирусов-мутантов. Последние
при размножении модифицируют
свое тело так, что не
остается ни одной характерной
цепочки байт, присутствовавшей
в исходной версии вируса. Dr.Web
можно назвать антивирусом
нового поколения по
сравнению с Aidstest и его
аналогами.
Управление
режимами также как
и в Aidstest осуществляется
с помощью ключей. Пользователь
может указать программе,
тестировать как весь
диск, так и отдельные
подкаталоги или группы
файлов, либо же отказаться
от проверки дисков
и тестировать только
оперативную память.
Но,
конечно, главной особенностью "Лечебной
паутины" является
наличие эвристического
анализатора, который
подключается ключом /S.
Баланса между скоростью
и качеством можно добиться,
указав ключу уровень
эвристического анализа: 0 -
минимальный, 1 - оптимальный, 2 -
максимальный; при этом,
естественно, скорость
уменьшается пропорционально
увеличению качества.
К тому же Dr.Web позволяет
тестировать файлы,
вакцинированные CPAV,
а также упакованные
LZEXE, PKLITE, DIET.
Тестирование
винчестера Dr.Web-ом занимает
на много больше времени,
чем Aidstest-ом, поэтому
не каждый пользователь
может себе позволить
тратить столько времени
на ежедневную проверку
всего жесткого диска.
Таким пользователям
можно посоветовать
более тщательно (с опцией /S2)
проверять принесенные
извне дискеты. Если
информация на дискете
находится в архиве (а
в последнее время программы
и данные переносятся
с машины на машину только
в таком виде; даже фирмы-производители
программного обеспечения,
например Borland, пакуют
свою продукцию), следует
распаковать его в отдельный
каталог на жестком
диске и сразу же, не
откладывая, запустить
Dr.Web, задав ему в качестве
параметра вместо имени
диска полный путь к
этому подкаталогу.
И все же нужно хотя
бы раз в две недели
производить полную
проверку "винчестера"
на вирусы с заданием
максимального уровня
эвристического анализа.
Так
же как и в случае
с Aidstest при начальном
тестировании не стоит
разрешать программе
лечить файлы, в которых
она обнаружит вирус,
так как нельзя исключить,
что последовательность
байт, принятая в антивирусе
за шаблон может встретиться
в здоровой программе.
Microsoft Antivirus
В
состав современных
версий MS-DOS входит антивирусная
программа Microsoft Antivirus (MSAV).
Этот антивирус может
работать в режимах
детектора-доктора и
ревизора.
MSAV
имеет дружественный
интерфейс в стиле
MS-Windows, естественно,
поддерживается мышь.
Хорошо реализована
контекстная помощь:
подсказка есть практически
к любому пункту меню,
к любой ситуации. Универсально
реализован доступ к
пунктам меню: для этого
можно использовать
клавиши управления
курсором, ключевые
клавиши (F1-F9), клавиши,
соответствующие одной
из букв названия пункта,
а также мышь. Флажки
установок в пункте
меню Options можно устанавливать
как клавишей ПРОБЕЛ,
так и клавишей ENTER. Серьёзным
неудобством при использовании
программы является
то, что она сохраняет
таблицы с данными о
файлах не в одном файле,
а разбрасывает их по
всем директориям.
При
первой проверке MSAV
создает в каждой
директории, содержащей
исполнимые файлы, файлы CHKLIST.MS,
в которые записывает
информацию о размере,
дате, времени, атрибутах,
а также контрольную
сумму контролируемых
файлов. При последующих
проверках программа
будет сравнивать файлы
с информацией в CHKLIST.MS-файлах.
Если изменились размер
и дата, то программа
сообщит об этом пользователю
и запросит о дальнейших
действиях: обновить
информацию (Update), установить
дату и время в соответствие
с данными в CHKLIST.MS (Repair),
продолжить, не обращая
внимания на изменения
в данном файле (Continue),
прервать проверку (Stop).
Если изменилась контрольная
сумма, то MSAV выведет
такое же окно, только
вместо пункта Repair будет
пункт Delete (удалить),
так как программа не
может восстановить
содержимое файла. При
обнаружении вируса
в режиме Detect&Clean программа
удалит этот вирус. Проверку
диска в обоих режимах
можно приостановить,
либо полностью прервать,
нажав ESC (или F3) и ответив
на соответствующий
вопрос программы. Во
время сканирования
диска выводится информация
о проделанной работе:
процент обработанных
каталогов и процент
обработанных файлов
в текущем каталоге.
Эта информация выдается
также наглядно, в виде
цветной полоски, как
и при проверке памяти.
В конце проверки MSAV
выдает отчет в виде
таблицы, в которой сообщается
о количестве проверенных
жестких дисков и гибких
дисков, о количестве
проверенных, инфицированных
и вылеченных файлов.
Кроме того, выводится
время сканирования.