44597 (663503), страница 3
Текст из файла (страница 3)
Некоторые загрузочные вирусы практически сразу можно обнаружить по наличию различных текстовых строк (например, вирус «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-каталоге присутствуют «чужие» файлы.
-
Excel версий 5 и 7: наличие в Книге (Book) лишних и скрытых Листов (Sheets).
Для проверки системы на предмет наличия вируса можно использовать пункт меню Tools/Macro. Если обнаружены «чужие макросы», то они могут принадлежать вирусу. Однако этот метод не работает в случае стелс-вирусов, которые запрещают работу этого пункта меню, что, в свою очередь, является достаточным основанием считать систему зараженной.
Многие вирусы имеют ошибки или некорректно работают в различных версиях Word/Excel, в результате чего Word/Excel выдают сообщения об ошибке, например:
WordBasic Err = номер ошибки
Если такое сообщение появляется при редактировании нового документа или таблицы и при этом заведомо не используются какие-либо пользовательские макросы, то это также может служить признаком заражения системы.
Сигналом о вирусе являются и изменения в файлах и системной конфигурации Word, Excel и Windows. Многие вирусы тем или иным образом меняют пункты меню Tools/Options — разрешают или запрещают функции «Prompt to Save Normal Template», «Allow Fast Save», «Virus Protection». Некоторые вирусы устанавливают на файлы пароль при их заражении. Большое количество вирусов создает новые секции и/или опции в файле конфигурации Windows (WIN.INI).
Естественно, что к проявлениям вируса относятся такие очевидные факты, как появление сообщений или диалогов с достаточно странным содержанием или на языке, не совпадающем с языком установленной версии Word/Excel.
Одним из основных методов борьбы с вирусами является, как и в медицине, своевременная профилактика. Компьютерная профилактика предполагает соблюдение небольшого числа правил, которое позволяет значительно снизить вероятность заражения вирусом и потери каких-либо данных.
Для того чтобы определить основные правила компьютерной гигиены, необходимо выяснить основные пути проникновения вируса в компьютер и компьютерные сети
Откуда берутся вирусы?
Основным источником вирусов на сегодняшний день является глобальная сеть Internet. Наибольшее число заражений вирусом происходит при обмене письмами в форматах Word/Office97. Пользователь зараженного макро-вирусом редактора, сам того не подозревая, рассылает зараженные письма адресатам, которые в свою очередь отправляют новые зараженные письма и т.д.
Предположим, что пользователь ведет переписку с пятью адресатами, каждый из которых также переписывается с пятью адресатами. После посылки зараженного письма все пять компьютеров, получившие его, оказываются зараженными. Затем с каждого вновь зараженного компьютера отправляется еще пять писем. Одно уходит назад на уже зараженный компьютер, а четыре — новым адресатам.
Таким образом, на втором уровне рассылки заражено уже 1+5+20=26 компьютеров. Если адресаты сети обмениваются письмами раз в день, то к концу рабочей недели (за 5 дней) зараженными окажутся как минимум 1+5+20+80+320=426 компьютеров. Нетрудно подсчитать, что за 10 дней зараженными оказываются более ста тысяч компьютеров! Причем каждый день их количество будет учетверяться.
Описанный случай распространения вируса является наиболее часто регистрируемым антивирусными компаниями. Нередки случаи, когда зараженный файл-документ или таблица Excel по причине недосмотра попадает в списки рассылки коммерческой информации какой-либо крупной компании. В этом случае страдают не пять, а сотни или даже тысячи абонентов таких рассылок, которые затем разошлют зараженные файлы десяткам тысячам своих абонентов.
Электронные конференции, файл-серверы ftp и BBS
Файл-серверы «общего пользования» и электронные конференции также служат одним из основных источников распространения вирусов. Практически каждую неделю приходит сообщение о том, что какой-либо пользователь заразил свой компьютер вирусом, который был снят с BBS, ftp-сервера или из какой-либо электронной конференции.
При этом часто зараженные файлы «закладываются» автором вируса на несколько BBS/ftp или рассылаются по нескольким конференциям одновременно, и эти файлы маскируются под новые версии какого-либо программного обеспечения (иногда — под новые версии антивирусов).
В случае массовой рассылки вируса по файл-серверам ftp/BBS пораженными практически одновременно могут оказаться тысячи компьютеров, однако в большинстве случаев «закладываются» DOS- или Windows-вирусы, скорость распространения которых в современных условиях значительно ниже, чем макро-вирусов. По этой причине подобные инциденты практически никогда не кончаются массовыми эпидемиями, чего нельзя сказать про макро-вирусы.
Локальные сети
Третий путь «быстрого заражения» — локальные сети. Если не принимать необходимых мер защиты, то зараженная рабочая станция при входе в сеть заражает один или несколько служебных файлов на сервере (в случае Novell NetWare — LOGIN.COM)
На следующий день пользователи при входе в сеть запускают зараженные файлы
Вместо служебного файла LOGIN.COM может также выступать различное программное обеспечение, установленное на сервере, стандартные документы-шаблоны или Excel-таблицы, применяемые в фирме, и т.д.
Пиратское программное обеспечение
Нелегальные копии программного обеспечения, как это было всегда, являются одной из основных «зон риска». Часто пиратские копии на дискетах и даже на CD-дисках содержат файлы, зараженные самыми разнообразными типами вирусов.
Персональные компьютеры «общего пользования»
Опасность представляют также компьютеры, установленные в учебных заведениях. Если один из студентов принес на своих дискетах вирус и заразил какой-либо учебный компьютер, то очередную «заразу» получат и дискеты всех остальных студентов, работающих на этом компьютере.
То же относится и к домашним компьютерам, если на них работает более одного человека. Нередки ситуации, когда сын-студент (или дочь), работая на многопользовательском компьютере в институте, перетаскивают оттуда вирус на домашний компьютер, в результате чего вирус попадает в компьютерную сеть фирмы папы или мамы.
Ремонтные службы
Достаточно редко, но до сих пор вполне реально заражение компьютера вирусом при его ремонте или профилактическом осмотре. Ремонтники — тоже люди, и некоторым из них свойственно наплевательское отношение к элементарным правилам компьютерной безопасности. Однажды забыв закрыть защиту от записи на одном из своих флоппи-дисков, такой «маэстро» довольно быстро разнесет заразу по машинам своей клиентуры и скорее всего потеряет ее (клиентуру).
Несколько практических советов
Правило первое
Крайне осторожно относитесь к программам и документам Word/Excel, которые получаете из глобальных сетей. Перед тем, как запустить файл на выполнение или открыть документ/таблицу, обязательно проверьте их на наличие вирусов.
Используйте специализированные антивирусы — для проверки «на-лету» всех файлов, приходящих по электронной почте (и по Internet в целом). К сожалению, на сегодняшний день мне неизвестны антивирусы, которые достаточно надежно ловят вирусы в приходящих из Internet файлах, но не исключено, что такие антивирусы появятся в ближайшем будущем.
Правило второе - защита локальных сетей
Для уменьшения риска заразить файл на сервере администраторам сетей следует активно использовать стандартные возможности защиты сети: ограничение прав пользователей; установку атрибутов «только на чтение» или даже «только на запуск» для всех выполняемых файлов (к сожалению, это не всегда оказывается возможным) и т.д.
Используйте специализированные антивирусы, проверяющие «на лету» файлы, к которым идет обращение. Если это по какой-либо причине невозможно, регулярно проверяйте сервер обычными антивирусными программами.
Значительно уменьшается риск заражения компьютерной сети при использовании бездисковых рабочих станций.
Желательно также перед тем, как запустить новое программное обеспечение, попробовать его на тестовом компьютере, не подключенном к общей сети.
Правило третье
Лучше покупать дистрибутивные копии программного обеспечения у официальных продавцов, чем бесплатно или почти бесплатно копировать их из других источников или покупать пиратские копии. При этом значительно снижается вероятность заражения, хотя известны случаи покупки инфицированных дистрибутивов.














