Рефераты. Компьютерные вирусы и антивирусы

Некоторые детекторы (скажем ADinf фирмы "Диалог-Наука") умеют ловить "невидимые" вирусы, даже когда они активны. Для этого они читают  диск, не  используя вызовы DOS. Правда, этот метод работает не на всех дисководах.

Большинство программ-детекторов имеют функцию "доктора", т.е. они пытаются вернуть зараженные файлы или области диска в их исходное состояние. Те файлы, которые не удалось восстановить, как правило, делаются неработоспособными или удаляются.

Большинство программ-докторов умеют "лечить" только от некоторого  фиксированного набора вирусов, поэтому они быстро устаревают. Но некоторые программы могут обучаться не только способам обнаружения, но и способам лечения  новых  вирусов.   К таким программам относится AVSP фирмы "Диалог-МГУ".

ПРОГРАММЫ-РЕВИЗОРЫ имеют две стадии работы. Сначала они запоминают сведения о состоянии программ и системных областей дисков (загрузочного сектора и сектора с таблицей разбиения жесткого диска).  Предполагается, что в этот момент программы и системные области дисков не заражены. После этого с помощью программы-ревизора можно в любой момент сравнить состояние программ и системных областей  дисков  с исходным. О выявленных несоответствиях сообщается пользователю.

Чтобы проверка состояния программ и дисков проходила при каждой загрузке операционной системы, необходимо включить команду запуска  программы-ревизора в командный файл AUTOEXEC.BAT. Это позволяет обнаружить заражение компьютерным вирусом, когда он еще не успел нанести большого вреда. Более того, та же  программа-ревизор сможет найти поврежденные вирусом файлы.

Многие программы-ревизоры являются довольно "интеллектуальными" -  они  могут отличать изменения в файлах, вызванные, например, переходом к новой версии  программы, от изменений, вносимых вирусом, и не  поднимают ложной  тревоги.  Дело в том, что вирусы обычно изменяют файлы весьма  специфическим образом и производят одинаковые изменения в разных программных файлах. Понятно, что в нормальной ситуации такие изменения практически никогда не встречаются, поэтому программа-ревизор, зафиксировав факт таких изменений, может с уверенностью  сообщить, что  они вызваны именно вирусом.    

Другие программы часто используют различные полумеры – пытаются обнаружить вирус в оперативной памяти, требуют вызовы  из  первой  строки  файла AUTOEXEC.BAT, надеясь работать на "чистом" компьютере, и т.д. Увы, против некоторых "хитрых" вирусов все это бесполезно.

Для проверки того, не изменился ли  файл, некоторые  программы-ревизоры  проверяют длину файла. Но эта проверка недостаточна - некоторые вирусы не  изменяют длину зараженных файлов. Более надежная проверка - прочесть  весь  файл и вычислить его контрольную сумму. Изменить файл так, чтобы его контрольная сумма осталась прежней, практически невозможно.

В последнее время появились очень полезные гибриды ревизоров и докторов, т.е. ДОКТОРА-РЕВИЗОРЫ,- программы, которые не только обнаруживают изменения в файлах и системных областях дисков, но и могут в случае изменений автоматически вернуть их в исходное состояние. Такие программы могут быть гораздо более универсальными, чем программы-доктора, поскольку при лечении они используют заранее  сохраненную информацию о состоянии файлов и областей  дисков. Это  позволяет  им  вылечивать файлы даже от тех вирусов, которые не были созданы на момент написания программы.

Но они могут лечить не от всех вирусов, а только от  тех, которые  используют "стандартные", известные на момент написания программы, механизмы заражения файлов. 

Существуют также ПРОГРАММЫ-ФИЛЬТРЫ, которые располагаются резидентно в оперативной памяти компьютера и перехватывают те обращения  к  операционной  системе, которые используются вирусами для  размножения и нанесения  вреда, и сообщают  о них пользователя. Пользователь может разрешить или запретить выполнение соответствующей операции.

Некоторые программы-фильтры не "ловят" подозрительные  действия, а  проверяют вызываемые на выполнение программы, на наличие вирусов. Это  вызывает  замедление работы компьютера.

Однако преимущества использования программ-фильтров весьма  значительны – они позволяют обнаружить многие вирусы на самой ранней стадии, когда  вирус  еще  не успел размножиться и что-либо испортить. Тем самым можно свести убытки от вируса к минимуму.

ПРОГРАММЫ-ВАКЦИНЫ, или  ИММУНИЗАТОРЫ,  модифицируют  программы и диски  таким образом, что это не отражается на работе  программ,  но тот вирус,  от  которого производится вакцинация, считает эти программы  или  диски уже  зараженными. Эти программы крайне неэффективны.

 

Антивирусные программы

Итак, что же такое антивирус? Сразу же развеем одну часто возникающую иллюзию. Почему-то многие считают, что антивирус может обнаружить любой вирус, то есть, запустив антивирусную программу или монитор, можно быть абсолютно уверенным в их надежности. Такая точка зрения не совсем верна. Дело в том, что антивирус - это тоже программа, конечно, написанная профессионалом. Но эти программы способны распознавать и уничтожать только известные вирусы. То есть антивирус против конкретного вируса может быть написан только в том случае, когда у программиста есть в наличии хотя бы один экземпляр этого вируса. Вот и идет эта бесконечная война между авторами вирусов и антивирусов, правда, первых в нашей стране почему-то всегда больше, чем вторых. Но и у создателей антивирусов есть преимущество! Дело в том, что существует большое количество вирусов, алгоритм которых практически скопирован с алгоритма других вирусов. Как правило, такие вариации создают непрофессиональные программисты, которые по каким-то причинам решили написать вирус. Для борьбы с такими "копиями" придумано новое оружие - эвристические анализаторы. С их помощью антивирус способен находить подобные аналоги известных вирусов, сообщая пользователю, что у него, похоже, завелся вирус. Естественно, надежность эвристического анализатора не 100%, но все же его коэффициент полезного действия больше 0,5. Таким образом, в этой информационной войне, как, впрочем, и в любой другой, остаются сильнейшие. Вирусы, которые не распознаются антивирусными детекторами, способны написать только наиболее опытные и квалифицированные программисты.

Таким образом, на 100% защититься от вирусов практически невозможно (подразумевается, что пользователь меняется дискетами с друзьями и играет в игры, а также получает информацию из других источников, например из сетей). Если же не вносить информацию в компьютер извне, заразиться вирусом невозможно - сам он не родится.


AIDSTEST


В нашей стране, как уже было сказано  выше,  особую  популярность приобрели антивирусные программы, совмещающие в  себе  функции детекторов и докторов. Самой известной из них является программа AIDSTEST Д.Н. Лозинского. В Украине  практически  на  каждом IBM-совместимом персональном компьютере есть одна из версий этой программы. Одна из последних версия обнаруживает более 8000 вирусов.

Aidstest для  своего  нормального  функционирования  требует, чтобы в памяти не было резидентных антивирусов,  блокирующих  запись в программные файлы, поэтому их следует выгрузить, либо, указав опцию выгрузки самой резидентной программе, либо  воспользоваться соответствующей утилитой.

При запуске Aidstest проверяет себя оперативную память на наличие известных ему вирусов и обезвреживает их. При этом  парализуются только функции вируса, связанные с размножением, а  другие побочные эффекты могут оставаться. Поэтому программа после  окончания обезвреживания вируса в памяти выдает запрос о  перезагрузке. Следует обязательно последовать этому совету, если оператор ПЭВМ не является системным программистом, занимающимся изучением свойств вирусов. При чем следует перезагрузиться  кнопкой  RESET, так как при "теплой перезагрузке" некоторые вирусы  могут  сохраняться. Вдобавок,  лучше  запустить  машину  и  Aidstest  с  защищённой от записи дискеты, так как  при  запуске  с  зараженного диска вирус может записаться в память  резидентом  и  препятствовать лечению.

Aidstest тестирует свое тело на наличие известных вирусов,  а также по искажениям в своем коде судит о своем заражении неизвестным вирусом. При этом возможны случаи ложной  тревоги,  например  при сжатии антивируса упаковщиком. Программа не имеет графического интерфейса, и режимы ее  работы задаются с помощью ключей. Указав путь, можно проверить не весь диск, а отдельный подкаталог.

Как показала практика, самый оптимальный режим  для  ежедневной работы задается ключами /g (проверка всех файлов, а не только с расширением EXE,COM,SYS) и /s (медленная проверка). Увеличение времени при таких опциях практически не ощутимо, зато вероятность обнаружения на порядок выше.

При обычном тестировании не следует ставить ключ /f (исправление зараженных программ и стирание не  подлежащих  восстановлению), даже с ключом /q (выдавать запрос об удалении файла), поскольку любая программа, в том числе и антивирусная, не  застрахована  от  ошибок.  Ключ  /f  следует  использовать  тогда,  когда Aidstest, а также другие антивирусы указывают на наличие вируса в каком-либо файле. При этом следует перезапустить компьютер с  защищённой от записи дискеты, так как система может  быть  заражена резидентным вирусом, и тогда лечение будет неэффективным, а то и просто опасным. При обнаружении вируса в ценном файле следует переписать его на дискету, а ещё лучше - на электронный, диск и там попытаться вылечить с помощью указания Aidstest-у опции /f. Если попытка не увенчается успехом, то надо удалить все зараженные копии файла и проверить диск снова. Если в файле содержится  важная информация, которую стирать жалко, то можно заархивировать файл  и подождать выхода новой версии Aidstest  или  другого  антивируса, способной лечить этот тип вируса. Для  ускорения  процесса  можно направить зараженный файл в качестве образца Лозинскому.

Для создания в файле протокола работы программы Aidstest служит ключ /p. Протокол оказывается нужным,  когда пользователь не успевает просмотреть имена зараженных файлов. Для поддержки антивирусного программно - аппаратного комплекса Sheriff (далее будет рассмотрен подробнее), служит ключ /z.


DOCTOR WEB


В последнее время стремительно растет популярность другой антивирусной программы - Doctor Web. Dr.Web так же, как  и  Aidstest относится к классу детекторов - докторов, но в отличие от последнего, имеет так называемый "эвристический анализатор" -  алгоритм, позволяющий обнаруживать неизвестные вирусы. "Лечебная паутина", как переводится с английского название программы, стала ответом отечественных программистов на нашествие самомодифицирующихся вирусов-мутантов. Последние при размножении  модифицируют свое тело так, что не остается ни одной характерной цепочки байт,  присутствовавшей в исходной версии вируса. Dr.Web можно назвать антивирусом нового поколения по сравнению с Aidstest и его аналогами.

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.