Компьютерные вирусы
nbsp; c) Конфликты между различными компонентами операционной системы и
прикладными программами. Особенно «вредоносными» являются дисковые
драйверы-обманщики, активно видоизменяющие (пусть и с благородными
целями) информацию, считываемую или записываемую на диск:
- дисковые кэш (SMARTDRV, NC_CASHE);- упаковщики дисков (DblSpace,
DrvSpace, Stacker);
- системы безопасности (антивирусные мониторы типа PROTECT, HDPROT,
ADM и прочие, системы разграничения доступа DISKMON, DISKREET).
Нередко сбоят устаревшие пристыковочные системы защиты от
несанкционированного копирования, типа NOTA или CERBERUS.
6. Наконец, самый интересный случай - вирус явно не обнаружен, но
подозрения на его наличие по-прежнему остаются. Достаточноподробно
эту тему изложил Е. Касперский в своей книге <Компью-терные вирусы в
MS-DOS>, избранные фрагменты которой можнонайти в гипертекстовом
каталоге avpve того же автора. Остаетсятолько привести краткое
изложение этих глав с уточнениями и замечаниями (может быть, весьма
спорными).
а) Обнаружение загрузочного вируса. Загружаемся с чистой дискетыи,
запустив DiskEditor, заглядываем в сектор 0/0/1 винчестера. Если
винчестер разделен (при помощи fdisk) на логические диски, то код
занимает приблизительно половину сектора и начинаетсяс байт FAh 33h C0h
(вместо 33h иногда может быть 2Вh). Заканчиваться код должен текстовыми
строками типа . В конце сектора размещаются
внешне разрозненные байты таблицы разделов. Нужно обратить внимание на
размещение активного раздела в таблице разделов. Если операционная
система расположена на диске С, а активен 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 обеспечивает
пошаговую трассировку кода,команда r отображает текущее содержимое
регистров. Чтобы ви-зуально распознать наличие вируса по коду, конечно,
необходимопределенный опыт. Вот на что надо обращать особое внимание:
- Наличие в начале программы последовательности команд подобного типа
крайне подозрительно:
Start:
call Metka
Metka: pop
- Наличие в начале файла строк типа , или
подразумевает обработку программы соответствующим упаковщиком;
если начало программы не содержит последовательности команд,
характерных для упаковщика, не исключен факт ее заражения.
&nb
| | скачать работу |
Компьютерные вирусы |