Компьютерный вирус
Многие программы-детекторы (в том числе и Aidstest) не умеют обнаруживать заражение «невидимыми» вирусами, если такой вирус активен в памяти компьютера. Дело в том, что для чтения диска они используют функции DOS, а они перехватываются вирусом, который говорит, что все хорошо. Правда, Aidstest и другие детекторы пытаются выявить вирус путем просмотра оперативной памяти, но против некоторых «хитрых» вирусов это не помогает. Так что надежный диагноз программы-детекторы дают только при загрузке DOS с «чистой», защищенной от записи дискеты, при этом копия программы-детектора также должна быть запущена с этой дискеты.
Некоторые детекторы, скажем, ADinf фирмы «Диалог-Наука», умеют ловить «невидимые» вирусы, даже когда они активны. Для этого они читают диск, не используя вызовы DOS. Правда, этот метод работает не на всех дисководах.
Большинство программ-детекторов имеют функцию «доктора»,
Большинство программ-докторов умеют «лечить» только от некоторого фиксированного набора вирусов, поэтому они быстро устаревают. Но некоторые программы могут обучаться не только способам обнаружения, но и способам лечения новых вирусов.
К таким программам относится AVSP фирмы «Диалог-МГУ».
ПРОГРАММЫ-РЕВИЗОРЫ имеют две стадии работы. Сначала они запоминают сведения о состоянии программ и системных областей дисков (загрузочного сектора и сектора с таблицей разбиения жесткого диска). Предполагается, что в этот момент программы и системные области дисков не заражены. После этого с помощью программы-ревизора можно в любой момент сравнить состояние программ и системных областей дисков с исходным. О выявленных несоответствиях сообщается пользователю.
Чтобы проверка состояния программ и дисков проходила при каждой загрузке операционной системы, необходимо включить команду запуска программы-ревизора в командный файл AUTOEXEC. BAT. Это позволяет обнаружить заражение компьютерным вирусом, когда он еще не успел нанести большого вреда. Более того, та же программа-ревизор сможет найти поврежденные вирусом файлы.
Многие программы-ревизоры являются довольно «интеллектуальными» — они могут отличать изменения в файлах, вызванные, например, переходом к новой версии программы, от изменений, вносимых вирусом, и не поднимают ложной тревоги. Дело в том, что вирусы обычно изменяют файлы весьма специфическим образом и производят одинаковые изменения в разных программных файлах. Понятно, что в нормальной ситуации такие изменения практически никогда не встречаются, поэтому программа-ревизор, зафиксировав факт таких изменений, может с уверенностью сообщить, что они вызваны именно вирусом.
Следует заметить, что многие программы-ревизоры не умеют обнаруживать заражение «невидимыми» вирусами, если такой вирус активен в памяти компьютера. Но некоторые программы-ревизоры, например ADinf фирмы «Диалог-Наука», все же умеют делать это, не используя вызовы DOS для чтения диска (правда, они работают не на всех дисководах). Другие программы часто используют различные полумеры — пытаются обнаружить вирус в оперативной памяти, требуют вызовы из первой строки файла AUTOEXEC. BAT, надеясь работать на «чистом» компьютере,
Для проверки того, не изменился ли файл, некоторые программы-ревизоры проверяют длину файла. Но эта проверка недостаточна некоторые вирусы не изменяют длину зараженных файлов. Более надежная проверка прочесть весь файл и вычислить его контрольную сумму. Изменить файл так, чтобы его контрольная сумма осталась прежней, практически невозможно.
В последнее время появились очень полезные гибриды ревизоров и докторов,
ДОКТОРА-РЕВИЗОРЫ, — программы, которые не только обнаруживают изменения в файлах и системных областях дисков, но и могут в случае изменений автоматически вернуть их в исходное состояние. Такие программы могут быть гораздо более универсальными, чем программы-доктора, поскольку при лечении они используют заранее сохраненную информацию о состоянии файлов и областей дисков. Это позволяет им вылечивать файлы даже от тех вирусов, которые не были созданы на момент написания программы.
Но они могут лечить не от всех вирусов, а только от тех, которые используют «стандартные», известные на момент написания программы, механизмы заражения файлов.