Warning: Parameter 1 to NP_SEO::event_PreItem() expected to be a reference, value given in /home/bh52645/public_html/fucktheplanet.ru/nucleus/libs/MANAGER.php on line 370

Поиск вирусов

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

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


Вирусы проявляют себя различными способами: проигрывают мелодии, выводят на экран посторонние картинки и надписи, имитируют аппаратные сбои, заставляя дрожать экран. Но, к сожалению, чаще всего вирусы специально себя не обнаруживают. К антивирусным программам прилагаются каталоги с описаниями вирусов (для AidsTest они хранятся в файле aidsvir.txt, для DrWeb - в файле virlist.web). Наиболее полным является гипертекстовый каталог avpve, входящий в состав антивирусного пакета Е. Касперского. В нем можно не только прочитать достаточно подробное описание любого вируса, но и понаблюдать его проявления.

От настоящих вирусов следует отличать так называемые "студенческие шутки", особенно широко распространенные на компьютерах ВУЗов и школ. Как правило, это резидентные программы, которые периодически производят напоминающие работу вирусов видео- и аудиоэффекты. В отличие от настоящих вирусов, эти программы не умеют размножаться. Наличие такого рода программ на "бухгалтерских" компьютерах маловероятно.

Не перегружая компьютер, запускаем (можно прямо с винчестера) антивирус, лучше всего DrWeb с ключом /hal. Вирус (если он есть) попытается немедленно заразить DrWeb. Последний достаточно надежно детектирует целостность своего кода и в случае чего выведет сообщение "Я заражен неизвестным вирусом!" Если так и произойдет, то наличие вируса в системе доказано. Внимательно смотрим на диагностические сообщения типа "Файл такой-то ВОЗМОЖНО заражен вирусом такого-то класса" (СОМ, EXE, TSR, BOOT, MACRO и т.п.). Подозрения на ВООТ-вирус в 99% бывают оправданы.

Однажды DrWeb 3.20 "ругался" на ВООТ-сектор дискеты, "вылеченной" AidsTest от вируса LzExe, поэтому антивирусным программам тоже не всегда можно доверять. Наличие большого количества файлов, предположительно зараженных вирусом одного и того же класса, с большой достоверностью указывает на присутствие в компьютере неизвестного вируса. Но могут быть и исключения - DrWeb версии 3.15 и ниже активно "ругался" на стандартные DOC-компоненты WinWord 2.0.

Кроме того, DrWeb определяет наличие в памяти компьютера неизвестных резидентных вирусов и Stealth-вирусов. Ошибки при их определении (в последних версиях антивируса) достаточно редки. Версия 3.15, не умеющая лечить вирус Kaczor, исправно заподозрила наличие агрессивного резидента в памяти. Версия же 3.18, умею- щая его лечить, в инфицированной системе вообще ничего не заметила, а детектировала и вылечила вирус лишь при загрузке с чистой дискеты. При этом нужно иметь в виду, что предупреждения типа "Странная дата файла", единичные подозрения на СОМ-, ЕХЕ-вирусы и прочее вряд ли могут быть расценены как бесспорное доказательство наличия вируса. MACRO-вирусы живут исключительно в Windows и никакого негативного влияния на DOS-программы оказать не могут, за исключением того случая, когда они что-либо стерли в Windows-сеансе.

Наконец, самый интересный случай - вирус явно не обнаружен, но подозрения на его наличие 'по-прежнему остаются. Достаточно подробно эту тему изложил Е. Касперский в своей книге "Компьютерные вирусы в MS-DOS", избранные фрагменты которой можно найти в гипертекстовом каталоге avpve того же автора. Остается только привести краткое изложение этих глав с уточнениями и замечаниями (может быть, весьма спорными).

а) Обнаружение загрузочного вируса. Загружаемся с чистой дискеты и, запустив DiskEditor, заглядываем в сектор 0/0/1 винчестера. Если винчестер разделен (при помощи fdisk) на логические диски, то код занимает приблизительно половину сектора и начинается с байт FAh 33h COh (вместо 33h иногда может быть 2Bh). Заканчиваться код должен текстовыми строками типа "Missing operating system". В конце сектора размещаются внешне разрозненные байты таблицы разделов. Нужно обратить внимание на размещение активного раздела в таблице разделов. Если операционная система расположена на диске С, а активен 2, 3 или 4 раздел, то вирус мог изменить точку старта, сам разместившись в начале другого логического диска (заодно нужно посмотреть и там). Но также это может говорить о наличии на машине нескольких операционных систем и какого-либо boot-менеджера, обеспечивающего выборочную загрузку. Проверяем всю нулевую дорожку. Если она чистая, то есть ее сектора содержат только байт-заполнитель, все в порядке. Наличие мусора, копий сектора 0/0/1 и прочего может говорить о присутствии загрузочного вируса. Впрочем, антивирусы при лечении загрузочных вирусов лишь "обезглавливают" противника (восстанавливают исходное значение сектора 0/0/1), оставляя тело "догнивать" на нулевой дорожке. Проверяем boot-сектор MS-DOS, он обычно расположен в секторе в 0/1/1. Его внешний вид для сравнения можно найти как в вышеупомянутой книге Е. Касперского, так и на любой "чистой" машине. Итак, если вирус обнаружен, при помощи DiskEditor переписываем в файл зараженный объект: MBR 0/0/1 (а лучше всю нулевую дорожку), boot 0/1/1 и все остальное. Желательно отправить этот комплект вирусологам. Копию, при желании, оставляем себе - для опытов.

б) Обнаружение файлового вируса. Нерезидентные файловые вирусы специально не скрывают своего наличия в системе. Поэтому основным признаком заражения файла является увеличение его длины, которое легко заметить даже в инфицированной операционной системе. Резидентные вирусы могут скрывать изменение длины файла (да и вообще наличие своего кода внутри файла-жертвы), если они написаны по Stealth-технологии. Но при загрузке с "чистой" дискеты это можно увидеть. Некоторые вирусы не изменяют длину заражаемых программ, используя "пустые" участки внутри файла программы или кластерный "хвост" файла, расположенный после последнего заполненного сектора. В этом случае основной признак заражения - изменение контрольной суммы байт файла. Это легко обнаруживают антивирусы-инспектора типа Adinf. В качестве крайней меры можно рассматривать прямое изучение кода программ, подозрительных с точки зрения наличия в них вируса. Одно из лучших программных средств для оперативного изучения кода вирусов - программа HackerView (hiew.exe by SEN). Но, поскольку "по умолчанию" компьютер чужой, hiew, td, softice, ida и подобных программ на нем может просто не оказаться. Зато стандартный отладчик debug присутствует точно. Загружаем подозреваемую на наличие вируса программу (в чистой операционной системе) в память при помощи команды debug <имя_программы>. Команда и позволяет дизассемблировать фрагмент кода, команда d - просмотреть его в шестнадцатеричном формате, команда g <адрес> запускает программу на выполнение с остановом в указан- ной точке, команда t обеспечивает пошаговую трассировку кода, команда г отображает текущее содержимое регистров. Вот на что надо обращать особое внимание:
- Наличие в начале программы последовательности команд подобного типа крайне подозрительно: Start: call Metka Metka: pop
- Наличие в начале файла строк типа "PkLite", "Ь291"или "diet" подразумевает обработку программы соответствующим упаковщиком; если начало программы не содержит последовательности команд, характерных для упаковщика, не исключен факт ее заражения.
- Программы, написанные на языках высокого уровня, часто содержат в своем начале сегмент кода, затем сегмент данных. Наличие еще одного сегмента кода, располагающегося в конце файла программы, весьма подозрительно.
- Подозрение вызывают расположенные в начале программы, написанной на языке высокого уровня, фрагменты видоизменения собственного кода, вызовы DOS- или BIOS-прерываний и прочее. Желательно визуально помнить характерные начала программ, скомпилированных в той или иной системе программирования (например, начала программ, написанных на Turbo Pascal, содержат большое количество дальних вызовов подпрограмм call xxxx:xxxx).
- Наконец, о наличии вируса могут свидетельствовать "посторонние" строки типа "Eddie lives." внутри файла.

Комментарии

Нет комментариев. Вы можете быть первым!

Оставить комментарий


Warning: Parameter 1 to NP_Captcha::event_FormExtra() expected to be a reference, value given in /home/bh52645/public_html/fucktheplanet.ru/nucleus/libs/MANAGER.php on line 370