Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Борьба с компьютерными вирусами

араженную дискету (или ее файл-образ) в случае загрузочного вируса. Каким
образом обнаруживаются зараженные файлы/диски, будет рассказано ниже.
Не забывайте перед использованием антивирусных программ и утилит загрузить
компьютер с резервной копии DOS, расположенной на заведомо чистой от
вирусов и защищенной от записи дискете, и в дальнейшем использовать
программы только с дискет. Это необходимо для того, чтобы застраховаться от
резидентного вируса, так как он может блокировать работу программ или
использовать их работу для инфицирования проверяемых файлов/дисков. Более
того, существует большое количество вирусов, уничтожающих данные на диске,
если они «подозревают», что их код может быть обнаружен. Конечно же, это
требование никак не относится к макро-вирусам и к дискам, размеченным одним
из новых форматов (NTFS, HPFS), — после загрузки DOS такой винчестер
окажется недоступным для DOS-программ.
Если в компьютере обнаружены следы деятельности вируса, но видимых
изменений в файлах и системных секторах дисков не наблюдается, то вполне
возможно, что компьютер поражен одним из «стелс»-вирусов. В этом случае
необходимо загрузить DOS с заведомо чистой от вирусов дискеты, содержащей
резервную копию DOS, и действовать, как и при поражении нерезидентным
вирусом. Однако иногда это нежелательно, а в ряде случаев невозможно
(известны, например, случаи покупки новых компьютеров, зараженных вирусом).
Тогда придется обнаружить и нейтрализовать резидентную часть вируса,
выполненную по технологии «стелс». Возникает вопрос: где в памяти и как
искать вирус или его резидентную часть? Существует несколько способов
инфицирования памяти.
Обнаружение резидентного Windows-вируса является крайне сложной задачей.
Вирус, находясь в среде Windows как приложение или VxD-двайвер, практически
невидим, поскольку одновременно активны несколько десятков приложений и
VxD, и вирус по внешним признакам от них ничем не отличается. Для того,
чтобы обнаружить программу-вирус в списках активных приложений и VxD,
необходимо досконально разбираться во «внутренностях» Windows и иметь
полное представление о драйверах и приложениях, установленных на данном
компьютере.
Поэтому единственный приемлемый способ поймать резидентный Windows-вирус -
загрузить DOS и проверить запускаемые файлы Windows методами, описанными
выше.
                     Обнаружение отдельных групп вирусов
Обнаружение загрузочного вируса
В загрузочных секторах дисков расположены, как правило, небольшие
программы, назначение которых состоит в определении размеров и границ
логических дисков (для MBR винчестера) или загрузке операционной системы
(для boot-сектора).
В начале следует прочитать содержимое сектора, подозрительного на наличие
вируса. Для этой цели удобно использовать DISKEDIT из «Нортоновских утилит»
или AVPUTIL из профессионального комплекта AVP.
Некоторые загрузочные вирусы практически сразу можно обнаружить по наличию
различных текстовых строк (например, вирус «Stoned» содержит строки: «Your
PC is now Stoned!», «LEGALISE MARIJUANA!»). Некоторые вирусы, поражающие
boot-секторы дисков, наоборот, определяются по отсутствию строк, которые
обязательно должны присутствовать в boot-секторе. К таким строкам относятся
имена системных файлов (например, строка «IO SYSMSDOS SYS») и строки
сообщений об ошибках. Отсутствие или изменение строки-заголовка boot-
сектора (строка, содержащая номер версии DOS или название фирмы-
производителя программного обеспечения, например, «MSDOS5.0» или
«MSWIN4.0») также может служить сигналом о заражении вирусом, если на
компьютере не установлена Windows95/NT — эти системы по неизвестной мне
причине записывают в заголовок загрузочных секторов дискет случайные строки
текста.
Стандартный загрузчик MS-DOS, расположенный в MBR, занимает меньше половины
сектора, и многие вирусы, поражающие MBR винчестера, довольно просто
заметить по увеличению длины кода, расположенного в секторе MBR.
Однако существуют вирусы, которые внедряются в загрузчик без изменения его
текстовых строк и с минимальными изменениями кода загрузчика. Для того
чтобы обнаружить такой вирус, в большинстве случаев достаточно
отформатировать дискету на заведомо незараженном компьютере, сохранить в
виде файла ее boot-сектор, затем некоторое время использовать ее на
зараженном компьютере (записать/прочитать несколько файлов), а после этого
на незараженном компьютере сравнить ее boot-сектор с оригинальным. Если в
коде загрузочного сектора произошли изменения — вирус пойман.
Существуют также вирусы, использующие более сложные приемы заражения,
например, изменяющие при инфицировании MBR всего 3 байта Disk Partition
Table, соответствующие адресу активного загрузочного сектора. Для
идентификации такого вируса придется провести более детальное исследование
кодов загрузочного сектора вплоть до полного анализа алгоритма работы его
кода.
Приведенные рассуждения основываются на том, что стандартные загрузчики
(программы, записываемые операционной системой в загрузочные сектора)
реализуют стандартные алгоритмы загрузки операционной системы и оформляются
в соответствии с ее стандартами. Если же диски отформатированы утилитами,
не входящими в состав DOS (например, Disk Manager), то для обнаружения в
них вируса следует проанализировать алгоритм работы и оформление
загрузчиков, создаваемых такой утилитой.
Обнаружение файлового вируса
Как отмечалось, вирусы делятся на резидентные и нерезидентные.
Встречавшиеся до сих пор резидентные вирусы отличались гораздо большим
коварством и изощренностью, чем нерезидентные. Поэтому для начала
рассмотрим простейший случай — поражение компьютера неизвестным
нерезидентным вирусом. Такой вирус активизируется при запуске какой-либо
зараженной программы, совершает все, что ему положено, передает управление
программе-носителю и в дальнейшем (в отличие от резидентных вирусов) не
будет мешать ее работе. Для обнаружения такого вируса необходимо сравнить
длины файлов на винчестере и в дистрибутивных копиях (упоминание о важности
хранения таких копий уже стало банальностью). Если это не поможет, то
следует побайтно сравнить дистрибутивные копии с используемыми программами.
В настоящее время разработано достаточно много утилит такого сравнения
файлов, самая простейшая из них (утилита COMP) содержится в DOS.
Можно также просмотреть дамп выполняемых файлов. В некоторых случаях можно
сразу обнаружить присутствие вируса по наличию в его коде текстовых строк.
Многие вирусы, например, содержат строки: «.COM», «*.COM», «.EXE», «*.EXE»,
«*.*», «MZ», «COMMAND» и т.д. Эти строки часто встречаются в начале или в
конце зараженных файлов.
Существует и еще один способ визуального определения зараженного вирусом
DOS-файла. Он основан на том, что выполняемые файлы, исходный текст которых
написан на языке высокого уровня, имеют вполне определенную структуру. В
случае Borland или Microsoft C/C++ сегмент кода программы находится в
начале файла, а сразу за ним — сегмент данных, причем в начале этого
сегмента стоит строка-копирайт фирмы-изготовителя компилятора. Если в дампе
такого файла за сегментом данных следует еще один участок кода, то вполне
вероятно, что файл заражен вирусом.
То же справедливо и для большинства вирусов, заражающих файлы Windows и
OS/2. В выполняемых файлах этих ОС стандартным является размещение
сегментов в следующем порядке: сегмент(ы) кода, за которыми следуют
сегменты данных. Если за сегментом данных идет еще один сегмент кода, это
также может служить сигналом о присутствии вируса.
Пользователям, знакомым с языком Ассемблер, можно попробовать разобраться в
кодах подозрительных программ. Для быстрого просмотра лучше всего подходит
HIEW (Hacker's View) или AVPUTIL. Для более подробного изучения потребуется
дизассемблер — Sourcer или IDA.
Рекомендуется запустить одну из резидентных антивирусных программ-
блокировщиков и следить за ее сообщениями о «подозрительных» действиях
программ (запись в COM- или EXE-файлы, запись на диск по абсолютному адресу
и т.п.). Существуют блокировщики, которые не только перехватывают такие
действия, но и сообщают адрес, откуда поступил «подозрительный» вызов (к
таким блокировщикам относится AVPTSR). Обнаружив подобное сообщение,
следует выяснить, от какой программы оно пришло, и проанализировать ее коды
при помощи резидентного дизассемблера (например, AVPUTIL.COM). При анализе
кодов программ, резидентно находящихся в памяти, большую помощь часто
оказывает трассирование прерываний 13h и 21h.
Следует отметить, что резидентные DOS-блокировщики часто оказываются
бессильны, если работа ведется в DOS-окне под Windows95/NT, поскольку
Windows95/NT позволяют вирусу работать «в обход» блокировщика (как,
впрочем, и всех остальных резидентных программ). DOS-длокировщики также
неспособны остановить распространение Windows-вирусов.
Рассмотренные выше методы обнаружения файловых и загрузочных вирусов
подходят для большинства как резидентных, так и нерезидентных вирусов.
Однако эти методы не срабатывают, если вирус выполнен по технологии
«стелс», что делает бесполезным использование большинства резидентных
блокировщиков, утилит сравнения файлов и чтения секторов.
Обнаружение макро-вируса
Характерными проявлениями макро-вирусов являются:
Word: невозможность конвертирования зараженного документа Word в другой
формат.
Word: зараженные файлы имеют формат Template (шаблон), поскольку при
заражении Word-вирусы конвертируют файлы из формата Word Document в
Template.
только Word 6: невозможность записи документа в другой каталог/на другой
диск по команде «Save As».
Excel/Word: в STARTUP-каталоге присутствуют «чужие»
12345След.
скачать работу

Борьба с компьютерными вирусами

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ