Часть полного текста документа:МАСКИРОВКА ВИРУСОВ В этой главе рассказано, как может быть спрятан вирус. Описаны методы конструи- рования прямого обращения к DOS для "обмана" резиден- тных антивирусных монито- ров. Рассмотрены вирусы, заражающие Flash BIOS. Пред- ставлены исходные тексты программ с подробными ком- ментариями. Protected Mode - укрытие для вируса Персональные компьютеры год от года становятся все сложнее и слож- нее, используют все более высокие аппаратные и программные техноло- гии. Компьютерные вирусы тоже не отстают и пытаются приспособиться к новым условиям обитания. Так, вирусы научились заражать загрузоч- ные сектора дисков, файлы для операционных систем DOS, Windows, Windows 95, OS/2, Linux и даже документы Word, Excel, и MS-Office 97. Скрывая свое присутствие в системе, они стали невидимками, или стелс-вирусами. Они научились быть полиморфными для того, чтобы их распознавание стало еще более трудной задачей для разработчиков антивирусных средств. С появлением процессоров i386 вирусы стали использовать в своем коде 32-разрядные инструкции. В настоящее вре- мя полиморфные вирусы используют 32-разрядные расшифровывающие команды в своем декрипторе. Одним словом, вирусы хотят выжить и победить. Для этого они исполь- зуют все новые возможности, как программные, так и аппаратные. Но защищенный режим работы, появившийся вместе с процессором i286, до недавнего времени вирусам никак не удавалось "приручить". Вернее, были "пробы пера", но реального решения этой задачи они не дали. Загрузочный вирус PMBS, первым пытавшийся освоить защищенный ре- жим (1994 г.), не мог ужиться ни с одной программой или драйвером (EMM386, Windows, OS/2,...), которые также использовали в своей рабо- те защищенный режим. Вирусы Evolution.2761 и Evolution.2770 (тоже 1994 г.) использовали только часть мощного защищенного режима и толь- ко в то время, когда процессор работал в реальном режиме. Данные виру- сы заменяли реальную таблицу векторов прерываний на собственную. Но вот, похоже, проблема близка к разрешению: в России в "диком" виде обнаружен файловый вирус PM.Wanderer, использующий защи- щенный режим. Причем он более или менее корректно и стабильно вза- имодействует с другими программами и драйверами, также использую- щими защищенный режим. PM.Wanderer является резидентным полиморфным вирусом, использу- ющим защищенный режим процессоров i386-Pentium. Для установки своей резидентной копии в память и переключения в защищенный ре- жим процессора (Protected Mode) вирусом используется документиро- ванный интерфейс VCPI (Virtual Control Program Interface) драйвера расширенной памяти EMS (EMM386). При старте инфицированной программы вирусный полиморфный дек- риптор расшифровывает основное тело вируса и передает ему управле- ние. Далее основной вирусный код выделяет участок памяти в верхних адресах, копирует в него собственный код и передает ему управление. Затем он восстанавливает код инфицированного файла в программном сегменте (для ЕХЕ-файлов также производит настройку адресов пере- мещаемых элементов) и приступает к непосредственному внедрению в память своей резидентной копии. . В первую очередь вирус пытается вьыснить, установлен ли в системе драй- вер EMS. Если этот драйвер не установлен или вирусная резидентная ко- пия уже находится в памяти, вирус отдает управление программе-вирусо- носителю, заканчивая тем самым свою "жизнедеятельность" в системе. Если же "условия среды обитания" благоприятствуют, вирус выполня- ет ряд подготовительных операций для выделения памяти под свое тело и производит переключение процессора в защищенный режим работы с наивысшим уровнем привилегий - режим супервизора. ............ |