Обычные вирусы, заражающие файлы, обнаружить
достаточно легко. Для этого можно, например, записать длины всех выполнимых
файлов и периодически проверять их. Идентифицировать такие вирусы также очень
просто. Так как вирусы всегда дописывают к файлу одну и ту же
последовательность кода, антивирусные программы могут просматривать выполнимые
файлы и загрузочные секторы в поисках таких последовательностей. В большинстве
случаев антивирусная программа может не хранить в себе шаблоны всех известных
вирусов. Достаточно определенных характерных для данного вируса
последовательностей, которые называются сигнатурами.
Например, для вируса BAT.Batman характерной может служить следующая последовательность (подробное описание вируса BAT.Batman
смотри выше):
copy %0 b.com>nul
b.com
del b.com
Для вируса WinWord.Concept такой характерной
последовательностью может служить одна из следующих строк:
see if we're already installed
iWW6IInstance
WW6Infector
Многие загрузочные вирусы также легко могут быть
обнаружены простым просмотром загрузочных секторов жестких дисков компьютера и
дискет. Например, вирус Stoned, содержит строки "Your PC is now
Stoned!" и "LEGALISE MARIJUANA!".
Однако далеко не все вирусы ведут себя так грубо. Многие из
них маскируют свое присутствие, используя для этого различные приемы.
Вследствии естественного отбора антивирусными программами шанс выжить есть
только у вирусов, применяющих разнообразные методы маскировки.
Чтобы затруднить обнаружение, некоторые вирусы шифруют свой
код. Каждый раз, когда вирус заражает новую программу, он зашифровывает
собственный код, используя новый ключ. В результате два экземпляра такого
вируса могут значительно отличаться друг от друга, даже иметь разную длину.
Естественно, вирус может работать только в том случае, если
исполняемый код расшифрован. Когда запускается зараженная программа (или начинается
загрузка с зараженной загрузочной записи) и вирус получает управление, он
должен расшифровать свой код.
Процедура расшифровки не может сама быть зашифрована, в
противном случае она не сможет работать. Этим пользуются антивирусные
программы, использующие в качестве сигнатуры код процедуры расшифровки.
Тем не менее, авторы вирусов нашли выход из этой ситуации.
Для шифрования вирусов они стали использовать не только разные ключи, но и
разные процедуры шифрования. Два экземпляра таких вирусов не имеют ни одной
совпадающей последовательности кода. Такие вирусы, которые могут полностью
изменять свой код, получили название полиморфных. Наиболее известные из них - это Phantom-1, Natas,
OneHalf, SatanBug.
Первым полиморфным вирусом считают V2Px.1260. Он был создан
Марком Вашбурном (Mark Washburn) в качестве экспериментального вируса. На
настоящий момент существует огромное количество полиморфных вирусов. Вот только
несколько их названий: Basilisk.1639, CeCe.1994, CeCe.1998, CommanderBomber,
Dir-II.TheHndV, Flip.2153, Flip.2343, Flip.2365, Fly.1769, Holms.6161,
Invisible.2926, Invisible.3223, RDA.Fighter.5871, RDA.Fighter.5969,
RDA.Fighter.7408, RDA.Fighter.7802.
К сожалению, сегодня создавать полиморфные вирусы могут не
только программисты, обладающие высокой квалификацией. Существует несколько
готовых средств разработки таких вирусов. Они позволяют разрабатывать
полиморфные вирусы без понимания того, как последние устроены.
Первым таким средством создания полиморфных вирусов стал
Dark Angel MuTation Engine (иногда называется MtE или DAME), созданный
болгарским автором вирусов известным, как Dark Avenger.
В состав MuTation Engine входит объектный модуль, который необходимо подключить к создаваемому вирусу, подробная документация и
пример его использования. Благодаря MuTation Engine появилось много полиморфных
вирусов. Среди них MtE.CoffeeShop, MtE.Darkstar, MtE.Dedicated.
Вслед за MuTation Engine появились еще несколько средств
разработки полиморфных вирусов, имеющих различный уровень сложности и сервиса:
· AWME
(Anti WEB Mutation Engine)
· CLME
(Crazy Lord Mutation Engine)
· DSCE
(Dark Slayer Confusion Engine)
· GCAE
(Golden Cicada Abnormal Engine)
· NED
(NuKE Encryption Device)
· SMEG
(Simulated Metamorphic Encryption Generator)
· TPE
(TridenT Polymorphic Engine)
· VICE
(Virogen's Irregular Code Engine)
После появления очередного средства разработки
полиморфных вирусов некоторые авторы вирусов создавали на их основе собственные
вирусы.
Интересно, что AWME является отечественной разработкой и
создан в Казани. По нашим сведениям, AWME ориентирован на противодействие
антивирусной программе Doctor Web. Более подробно об этом можно прочитать в
разделе "Doctor Web”. AWME распространяется в виде исходного текста на языке
ассемблера.
Современные антивирусные средства, например Doctor
Web, умеют не только успешно идентифицировать полиморфные вирусы, но
также и удалять
их из зараженной программы.
Шифрование кода вируса значительно усложняет процесс его
исследования. Обычные программы не смогут дизассемблировать такой вирус. Тот,
кто отважится разобраться в зашифрованном вирусе, должен будет разбираться с
ним, выполняя код вируса команда за командой в пошаговом режиме отладчика.
Стелс-вирусы пытаются скрыть свое присутствие в компьютере.
Они имеют резидентный модуль, постоянно находящийся в оперативной памяти
компьютера. Этот модуль устанавливается в момент запуска зараженной программы
или при загрузке с диска, зараженного загрузочным вирусом.
Резидентный модуль вируса перехватывает обращения к дисковой
подсистеме компьютера. Если операционная система или другая программа считывают
файл зараженной программы, то вирус подставляет настоящий, незараженный, файл
программы. Для этого резидентный модуль вируса может временно удалять вирус из
зараженного файла. После окончания работы с файлом он заражается снова.
Примером стелс-вируса может служить Magdzie.1114. Это
файловый вирус, заражающий выполнимые файлы в формате EXE. При запуске
зараженной программы в оперативной памяти устанавливается вирусный резидентный
модуль, который перехватывает обращения к файловой системе компьютера. Если
операционная система запускает или открывает для чтения файл зараженной программы,
вирус временно удаляет из нее свой код. Обратное заражение происходит, когда
операционная система закрывает файл.
Вирус Magdzie проявляется, удаляя все файлы, название
которых начинается с CHKLIST. 27 мая вирус выводит на экран небольшой текст и
движущийся графический узор.
Загрузочные вирусы действуют по такой же схеме. Когда
какая-либо программа считывает данные из загрузочного сектора, они заменяются
настоящим содержимым загрузочного сектора.
В качестве загрузочного вируса, использующего для маскировки
стелс-технологию, можно привести вирус July29. Вирус распространяется, замещая
главную загрузочную запись на жестких дисках и загрузочную запись на дискетах.
Настоящие загрузочные секторы сохраняются. Когда программа пытается прочитать
или записать данные в главную загрузочную запись жесткого диска или загрузочную
запись дискеты, резидентный модуль вируса подставляет неинфицированный сектор.
Маскировка стелс-вирусов срабатывает только в том случае,
если в оперативной памяти компьютера находится резидентный модуль вируса. Когда
вы загружаете компьютер с системной дискеты, у вируса нет шансов получить
управление и поэтому стелс-механизм не работает.
Большинство антивирусных программ требует, чтобы для
проверки и лечения компьютера он был загружен с системной дискеты, на которой
нет вирусов. Такая дискета должна быть подготовлена заранее. Более подробно об
этой процедуре вы можете прочитать в разделе "Создание системной дискеты”.
Чтобы достичь еще большей неуязвимости вирусы могут
комбинировать различные методы маскировки. Так, многие вирусы комбинируют в
себе свойства полиморфных и стелс-вирусов.
К таким вирусам относятся вирусы серии OneHalf. Эти
вирусы не только скрывают свое присутствие, используя стелс-технологию,
они также
маскируются, полностью изменяя свой код при заражении очередного файла
или
загрузочного сектора.
Большинство вирусов не только размножаются, заражая
новые и новые компьютеры, они еще выполняют дополнительные действия или,
другими словами, спецэффекты, предусмотренные их автором.
У разных вирусов эти дополнительные действия могут быть
опасными или неопасными, бросающимися в глаза или скрытыми, трудно
обнаружимыми. Рассказать обо всех проявлениях вирусов невозможно, для этого
надо описать каждый вирус. Мы расскажем только о наиболее типичных и наиболее
интересных случаях.
Даже те вирусы, которые не совершают явных разрушительных
действий, могут представлять опасность из-за ошибок, допущенных авторами
вирусов
Большую и самую опасную группу составляют вирусы,
выполняющие разрушение программного обеспечения компьютера и файлов данных,
записанных на его дисках.
Вирусы могут стирать файлы с жесткого диска, записывать
мусор в отдельные секторы диска. Действие таких вирусов часто проявляется в
разрушении файловой системы компьютера. Отдельные вирусы способны полностью
уничтожить всю информацию на жестких дисках компьютера и дискетах, выполнив
операцию форматирования.
Действие других вирусов менее бросается в глаза, и от этого
они становятся еще опасней. Эти вирусы могут незаметно изменять данные в
случайным образом выбранных файлах. Вы можете долгое время не замечать эти
изменения, пока они не приведут к серьезным последствиям.
Интересный и опасный случай представляют вирусы, которые
изменяют программную среду компьютера таким образом, что становятся ее
неотъемлемой частью. Подобные вирусы очень сложно удалить. Если файлы,
зараженные этими вирусами, просто удалить или восстановить с резервных копий,
то система вообще может перестать работать.
В качестве примера можно привести файлово-загрузочный
резидентный вирус OneHalf. Проникая в компьютер, вирус заражает главную
загрузочную запись. Во время загрузки компьютера вирус постепенно шифрует
секторы жесткого диска, начиная с самых последних. Когда резидентный модуль
вируса находится в памяти, он контролирует все обращения к зашифрованным
секторам и расшифровывает их, так что все программное обеспечение компьютера работает
нормально. Если OneHalf просто удалить из оперативной памяти и загрузочного
сектора, то станет невозможно правильно прочитать информацию, записанную в
зашифрованных секторах диска.
Когда вирус зашифрует половину жесткого диска, он отображает
на экране надпись:
Dis is one half.
Press any key to continue ...
После этого вирус ожидает, когда пользователь нажмет
на какую-либо клавишу и продолжает свою работу. Для некоторых версий вируса
отображаемая им надпись может несколько отличаться от приведенной нами.
Вирус OneHalf использует различные механизмы для своей
маскировки. Он является стелс-вирусом и использует при распространении
полиморфные алгоритмы. Обнаружение и удаление вируса OneHalf - достаточно
сложная задача. Далеко не все антивирусные программы, которые определяют этот
вирус могут его удалить. Например, антивирусная программа Norton Antivirus for Windows
95 версии 4.0 только обнаруживает OneHalf. Чтобы его удалить, пользователь
должен вызвать специальную службу.
По итогам работы антивирусной скорой помощи АО "ДиалогНаука”
вирус OneHalf занимает одно из первых мест по распространенности. Это связано с
тем, что многие популярные антивирусные программы, например AIDSTEST, не
обнаруживают этот вирус. Тем не менее, вы можете удалить OneHalf при помощи антивирусной
программы Doctor Web. Эта программа позволяет обнаружить и полностью освободить
компьютер от многочисленных вариантов вируса OneHalf. Doctor Web аккуратно
расшифровывает все участки жесткого диска, зашифрованные вирусом. Операция
расшифровки может занять значительное время, в зависимости от того, насколько
много секторов диска вирус успел зашифровать.
Могут ли вирусы вызывать аппаратные повреждения компьютера?
На момент написания книги точной информации о таких вирусах не было. Сведения о
вирусах, которые могут перепрограммировать видеоадаптер таким образом, чтобы он
выжег люминофор на экране монитора, и вирусах, которые вводят в резонанс
головки жесткого диска, достоверно не подтверждены.
Тем не менее, существуют вирусы, которые могут основательно
вывести компьютер из строя. Многие компьютерные вирусы стирают или портят
содержимое энергонезависимой CMOS-памяти компьютера. В результате чего
компьютер перестает загружаться.
Отдельные вирусы используют еще более изощренный метод - они
устанавливают в CMOS-памяти пароль для загрузки системы. При этом блокируется
как загрузка компьютера, так и доступ к программе Setup. Убрать такой пароль
можно, на время отключив питание энергонезависимой памяти. Для этого необходимо
открыть корпус компьютера и переставить перемычки на системной плате.
Существуют системные платы (например Enterprise-II), на которых CMOS-память и питающий их аккумулятор
расположены внутри одной микросхемы. Сбросить такую CMOS-память, отключив
питание, невозможно. После того как вирус установит свой пароль, вам остается
только угадать его или отправить системную плату на завод-изготовитель (либо
просто купить новую системную плату).
В 1994 году в печати появилось сообщение о новом
компьютерном вирусе, который может убить пользователя компьютера. Вирус якобы
использует прием, давно известный в рекламной сфере: если человек смотрит кино
и каждый двадцать пятый кадр заменяется другим изображением, то он
подсознательно воспринимает изображение, не осознавая этого. Действуя на
подсознание таким образом, можно склонить человека к определенным действиям.
Вирус заменяет некоторые кадры изображения на экране
компьютера. Изображение, которое вирус передает подсознанию пользователя,
вызывает у последнего повышение давления и, возможно, смерть.
Мы не станем останавливаться на медицинских и
психологических аспектах этого вопроса - этим должны заниматься медики и
психологи. От себя заметим, что до настоящего момента достоверной информации о
вирусе-убийце нет. В принципе, уровень современной компьютерной техники
позволяет менять изображение на мониторе с достаточной частотой - до сорока
кадров в секунду. И, возможно, скоро ваше здоровье действительно будет напрямую
связано со "здоровьем” компьютера.
Многие вирусы содержат в себе логические бомбы. До
определенного момента такой вирус никак себя не проявляет. Когда
наступит время,
логическая бомба срабатывает и вирус выполняет скрытую в нем функцию.
Самые известные вирусы, срабатывающие по достижении
определенного времени - Michelangelo и Jerusalem. Вирус Michelangelo уничтожает
информацию с диска, используемого для загрузки 6 марта, в день рождения
Микеланджело. Вирус Jerusalem или Черная пятница удаляет файлы всех программ,
запускаемых в пятницу тринадцатого числа.
Неопасный резидентный вирус. С пяти
до шести часов утра вирус пытается соединится через модем с удаленным
абонентом. Содержит строку "Armagedon the GREEK"
Много вирусов не выполняют деструктивных действий, а
содержат своего рода шутки - забавные видео- или аудио-эффекты. Такие вирусы
могут отображать на экране монитора разнообразные надписи, проигрывать на
встроенном динамике компьютера простенькие мелодии и т. д. Тем не менее,
большинство вирусов не содержат в себе абсолютно ничего интересного, кроме
факта, что кому-то не лень было тратить свое время на такую ерунду.
Абсолютно безопасных вирусов небывает. Даже если они не
выполняют явных разрушительных действий, в них могут содержаться ошибки,
вызывающие неправильную работу операционной системы и пользовательских
программ. Кроме того, внедряясь в программы, вирусы нарушают авторские права
программистов.
В любом случае, если компьютер стал вести себя странно,
следует сразу прекратить работу и проверить его на заражение вирусами.
Возможно, быстрое обнаружение вируса не позволит ему нанести значительный
ущерб.
Долгое время мало кто подозревал, что
компьютерные
вирусы могут распространяться, заражая текстовые файлы документов.
Пользователи свободно обменивались документами, подготовленными в
различных текстовых
редакторах, не опасаясь, что вместе с ними на компьютер проникнет вирус.
Однако летом 1995 г. появился первый такой вирус. Этот
вирус, получивший название WinWord.Concept, распространяется, заражая файлы
документов в формате текстового процессора Microsoft Word for Windows версии
6.0 и 7.0.
С первого взгляда такое сообщение кажется фантастическим,
так как вирус должен содержать выполняемые команды, а в документе обычно
хранится только текст и его шрифтовое оформление. Не все пользователи, даже
проработав в среде Microsoft Word for Windows несколько лет, знают, что вместе
с документом могут храниться макрокоманды, созданные с использованием
специального языка программирования WordBasic. Эти макрокоманды фактически
являются самыми настоящими программами.
Вирус WinWord.Concept никак не маскирует свое присутствие. Наоборот, он создан таким образом, чтобы облегчить свое
обнаружение и анализ. Макрокоманды вируса WinWord.Concept не закрыты от чтения
и их очень легко проанализировать. Мы получили этот вирус в АО "ДиалогНаука” и
самостоятельно провели такой анализ. Вирус состоит из пяти макрокоманд, общий
объем которых составляет примерно 110 строк на языке WordBasic. В добавок к
этому автор вируса снабдил его комментариями.
Когда пользователь открывает зараженный файл документа,
Microsoft Word for Windows автоматически выполняет содержащуюся в нем
макрокоманду AutoOpen. Эта макрокоманда принадлежит вирусу. Она просматривает
названия всех макрокоманд, определенных в файле стилей NORMAL.DOT. Если среди
них обнаружена макрокоманда PayLoad, считается, что файл стилей уже заражен.
Если присутствует макрокоманда FileSaveAs, вирус также не будет
устанавливаться. Видимо автор посчитал, что в этом случае нужно слишком много
возиться.
Если просмотрен весь список макрокоманд и среди них не
обнаружены ни макрокоманды PayLoad, ни FileSaveAs, вирус копирует в файл стилей
NORMAL.DOT макрокоманды PayLoad, FileSaveAs, AAAZFS и AAAZAO.
После копирования макрокоманд вирус добавляет в файл
конфигурации WINWORD6.INI текстового процессора параметр WW6I:
WW6I=1
В конце выполнения вирусной макрокоманды AutoOpen
вирус отображает на экране временную диалоговую панель. На этом установка
вируса считается оконченной и вы увидите в окне редактирования текстового
процессора открытый документ.
Заражение документов происходит, когда пользователь
сохраняет их при помощи команды "Save As". В этом случае выполняется
макрокоманда вируса FileSaveAs. Она отображает на экране обычную диалоговую
панель "Save As".
Пользователь вводит в этой диалоговой панели имя файла
документа, под которым он будет сохранен. Заметим, что обычно документ
сохраняется в формате "Word Document” (формат указывается в поле "Save File as
Type”). В принципе, документ можно сохранить и в других форматах, например, в
обычном текстовом формате или в формате RIF (Rich-Text Format).
Если пользователь сохраняет документ в формате документов
текстового процессора Microsoft Word for Windows (формат "Word Document”),
тогда вирус изменяет формат сохраняемого документа. Вместо того чтобы сохранить
документ в формате документов текстового процессора Microsoft Word for Windows,
он сохраняет его в формате файла стилей, предварительно записав в него
макрокоманды AutoOpen, AAAZAO, AAAZFS и PayLoad.
Таким образом, WinWord.Concept незаметно изменяет формат
документа, сохраняя его на диске как файл стилей. Внешне такой файл практически
не отличается от обыкновенного файла документа. Он также имеет расширение DOC,
а при загрузке в текстовый процессор вы увидите набранный вами текст.
Никаких дополнительный действий вирус WinWord.Concept не
выполняет. В макрокоманду PayLoad, которая могла быть использована для этого,
автор включил только один комментарий:
Sub MAIN
REM That’s enough to prove my point
End Sub
Но за счет того, что зараженный документ сохраняется в
формате файла стилей, текстовый процессор не позволит вам сохранить его в
другом формате. Когда вы выберете из меню File строку Save As, на экране
появится диалоговая панель Save As, но поле выбора типа документа - "Save File
as Type” будет показано серым цветом и недоступно для изменения.
Вы легко можете проверить, заражен ли текстовый процессор
Microsoft Word for Windows вирусом WinWord.Concept даже без специальных программ.
Самый простой способ основан на том, что активный вирус записывает в файл
конфигурации WINWORD6.INI параметр WW6I.
Файл WINWORD6.INI располагается в каталоге Windows и вы
можете просмотреть его в любом текстовом редакторе, например в редакторе
Notepad, входящем в состав Windows.
Запустите приложение Notepad. Если файл WINWORD6.INI имеет
большой размер и вам трудно его просматривать, выберите из меню Search строку
Find. На экране откроется диалоговая панель Find. Введите в поле Find What
текст WW6I, который надо найти и нажмите кнопку Find Next. Если в файле
обнаружится параметр WW6I, скорее всего, ваш компьютер заражен вирусом
WinWord.Concept.
Другой способ обнаружения вируса предполагает, что вы
запустили текстовый процессор Microsoft Word for Windows. Выберите из меню
Tools строку Macro. На экране появится диалоговая панель Macro (рис. 1.10). Из списка Macros Available In выберите строку All
Active Templates. Обратите внимание на список макрокоманд Macro Name. Если в нем находятся строки
AAAZAO, AAAZFS, AutoOpen, FileSaveAs, PayLoad, текстовый процессор инфицирован
вирусом WinWord.Concept.
Рис. 1.10. Диалоговая панель "Macro"
И еще один способ самостоятельного обнаружения вируса
основан на том, что зараженные файлы документов или стилей содержат в себе
несколько незашифрованных текстовых строк:
see if we're already installed
iWW6IInstance
WW6Infector
AAAZFS
AAAZAO
That's enough to prove my point
Эти строки можно обнаружить с помощью любой программы
просмотра файлов в формате ASCII. Например, с помощью встроенной программы
просмотра оболочки Norton Commander.
Просмотр вручную всех файлов на всех дисках компьютера
займет много времени. Чтобы ускорить этот процесс, удобно воспользоваться
специальными программами поиска. Очень удобно приложение Find File, входящее в
состав Microsoft Office.
Запустите приложение Find File и откройте диалоговую панель
Search. Вирус WinWord.Concept может располагаться в файлах *.DOC, *.DOT, *.BAK.
Поэтому укажите эти имена в поле File Name. Затем нажмите кнопку Advanced
Search. На экране появится диалоговая панель Advanced Search. Нажмите на
закладку Location и пользуясь органами управления этой панели, сформируйте
список каталогов, в которых будет проводится поиск. Мы рекомендуем внести в этот
список корневые каталоги всех логических дисков компьютера.
Затем нажмите на закладку Summary и введите в поле
Containing Text текст для поиска. В качестве текста можно воспользоваться
предложением "That's enough to prove my point”, текст которого взят из вируса.
Убедитесь, что поиск будет выполняться по всем файлам. Для этого поля Title,
Autor, Keywords и Subject должны остаться незаполненными. Убедитесь также, что
в процессе поиска будут просмотрены все файлы вне зависимости от времени их
создания. Для этого нажмите закладку Timestamp.
Нажмите кнопку OK. Вы вернетесь в диалоговую панель Search.
Чтобы начать поиск, нажмите кнопку OK. Приложение Find File просмотрит все
файлы документов и стилей. После окончания поиска оно составит список имен
файлов, в которых было обнаружено искомое предложение и которые, вероятно,
инфицированы вирусом WinWord.Concept.
Практически сразу после появления вируса
WinWord.Concept был обнаружен еще один вирус подобного вида
WinWord.Nuclear. Этот вирус использует точно такую же технологию
распространения, что и вирус
WinWord.Concept.
Вирус WinWord.Nuclear уже далеко не такой безобидный, как
WinWord.Concept. Когда пользователь направляет свой документ на печать, то
вирус с вероятностью 1/12 добавляет в конце файла собственную
фразу:
And finally I would like to say:
STOP ALL FRENCH NUCLEAR TESTING IN THE PACIFIC!
В переводе на русский язык она звучит следующим
образом:
И в конце я хотел бы сказать:
ОСТАНОВИТЕ ВСЕ ФРАНЦУЗСКИЕ ИСПЫТАНИЯ ЯДЕРНОГО ОРУЖИЯ В ТИХОМ ОКЕАНЕ!
Если фраза добавится в конце черновой распечатки, это
только полбеды, но в случае, когда распечатанный документ отправляется адресату
непросмотренным, можно представить себе удивление последнего. Такая ситуация
может возникнуть, если к компьютеру подключен факс-модем и вместо печати
документа на принтере он отправляется удаленному абоненту в качестве
факсимильного сообщения.
Достаточно странно, что вирус, написанный пацифистом, пятого
апреля пытается удалить основные файлы операционной системы - IO.SYS, MSDOS.SYS
и COMMAND.COM. Но из-за ошибок автора вируса и особенностей текстового
процессора эта попытка не удается.
Вирус WinWord.Nuclear заражает не только файлы документов и
стилей. Что удивительно, WinWord.Nuclear может заразить обыкновенные выполнимые
файлы в формате COM и EXE. Он также может заразить EXE-файлы, предназначенные
для операционной системы Windows.
Для заражения выполнимых файлов используется оригинальный
способ. Вирус запускает программу DEBUG, передавая ей в качестве параметра
ранее сформированный им файл PH33R.SCR.
Программа DEBUG - это простой отладчик, который входит в
состав дистрибутива MS-DOS и копируется на жесткий диск компьютера во время
установки операционной системы, поэтому он присутствует практически на всех
компьютерах. В числе прочего DEBUG позволяет просмотреть и изменить содержимое
оперативной памяти, запустить программу и т. д.
Мы уже рассказали вам о вирусах в макрокомандах текстового
процессора Microsoft Word for Windows. Вирусы, использующие подобные пути
распространения, существуют не только в Microsoft Word for Windows.
Когда мы уже заканчивали писать эту книгу, поступили сообщения
о появлении еще трех вирусов, предназначенных для текстового процессора
Microsoft Word for Windows - WinWord.Colours, WinWord.DMV и WinWord.Hot
В качестве примера можно привести вирус WinMacro.Weider,
распространяющийся в среде редактора электронных таблиц Excel. Этот пакет имеет
встроенные средства создания макрокоманд, сходные с языком WordBasic текстового
процессора Microsoft Word for Windows.
Появление подобных вирусов возможно и в других приложениях
Windows. На наш взгляд, единственной возможностью обезопасить себя от таких
новинок является постоянное обновление ваших антивирусных программ и
внимательное изучение публикаций по антивирусной тематике.
Вирус WinWord.Concept, а также другие аналогичные вирусы
можно назвать кросс-платформными. Компьютер с любой архитектурой, а не только
совместимый с IBM PC, на котором установлен текстовый процессор Microsoft Word
for Windows, может быть заражен таким вирусом.
Текстовый процессор Microsoft Word for Windows позволяет
запретить автоматическое выполнение макрокоманд. Для этого можно
воспользоваться одним из перечисленных ниже способов:
w При запуске
Microsoft Word for Windows из приложения Program Manager держите нажатой
клавишу <Shift>
w Укажите Microsoft
Word for Windows дополнительный параметр /m (WINWORD.EXE /m).
w Когда вы
открываете документ для редактирования, держите нажатой клавишу <Shift>.
Естественно, использование этих средств вызывает некоторые
неудобства, а в некоторых случаях может привести к нежелательным последствиям
(будет запрещено автоматическое выполнение всех макрокоманд, даже тех которые
нужны). Кроме того, есть сведения, что эти приемы срабатывают не во всех
случаях.
Вместо этого вы можете сами полностью блокировать автоматическое
выполнение макрокоманд. Для этого следует определить макрокоманду с именем
AutoExec. Эта макрокоманда будет автоматически вызываться при каждом запуске
текстового процессора.
Выберите из меню Tools строку Macro. На экране появится
диалоговая панель Macro. Наберите в поле Macro Name строку AutoExec и нажмите
кнопку Create. Появится окно текстового редактора, содержащее заготовку
макрокоманды AutoExec:
Sub MAIN
End Sub
Вставьте между этими двумя строками команду
DisableAutoMacros:
Sub MAIN
DisableAutoMacros
End Sub
Завершите работу текстового процессора, отвечая
утвердительно на предложение записать новую макрокоманду в файл NORMAL.DOT и
предложение сохранить сам файл NORMAL.DOT. Если вы работаете в русской версии
текстового процессора Microsoft Word for Windows, этот метод также можно
использовать с учетом русских названий меню и диалоговых панелей.
К сожалению, запрещение автоматического выполнения
макрокоманд не позволяет обнаружить и обезвредить уже существующие вирусы, но
дальнейшая их деятельность в среде Microsoft Word for Windows будет
остановлена.
Несмотря на то, что выполнимые файлы Windows, которые вы можете запускать, также имеют расширение EXE, формат этих файлов значительно отличается от выполнимых файлов
операционной системы MS-DOS. Новый
формат выполнимых файлов получил название Microsoft New Executable (NewEXE) или
Windows Executable. Мы будем называть эти файлы выполнимыми файлами в формате
Windows. Обычные вирусы не в состоянии правильно внедриться в такие файлы и
зараженная программа становиться неработоспособной.
Однако, несмотря на то что Windows установлена на
большинстве персональных компьютеров, старые вирусы не вымерли. В первую
очередь это произошло из-за того, что работа в среде Windows совсем не означает отказа от программного обеспечения MS-DOS. Существует достаточно много
нужных программ, предназначенных для работы в MS-DOS. В первую очередь это небольшие утилиты -
программы-архиваторы, программы для копирования дискет - и, конечно же,
огромное количество всевозможных игр. Естественно, все это программное
обеспечение используется и будет использоваться еще очень долго.
Но даже полный отказ от программ MS-DOS не снимет угрозу распространения вирусов. Во-первых,
остается возможность заражения загрузочных секторов жестких дисков и дискет.
Во-вторых, внимание писателей вирусов рано или поздно переключиться на Windows и появятся новые типы вирусов, способных
функционировать и распространяться в новой среде. Подтверждением этому стали
вирусы, заражающие выполнимые файлы Windows, и вирусы,
заражающие документы, подготовленные в текстовом процессоре Microsoft Word for Windows. В
начале 1996 года, практически сразу после появления Microsoft Windows 95, появилось сообщение о
первом вирусе, разработанном специально для этой операционной системы. Этот
вирус получил название BOZA.
Вирусы MS-DOS для Windows
Обычный выполнимый файл Windows
может служить отличной средой для распространения вирусов. Если вы запускаете
выполнимый файл операционной системы Microsoft Windows из
командной строки MS-DOS, он
сообщает, что его необходимо запускать из Windows:
This program requires Microsoft Windows.
или
This program cannot be run in DOS mode.
Иногда вместо этого сообщения может отображаться
какая-нибудь другая информация или выполняться иные действия. Например,
некоторые приложения Windows, запущенные из среды MS-DOS, пытаются загрузить Windows.
Авторы вирусов не упустили возможность внедрить вирус в этот
участок кода. Вирус Grog.Bog.233 выполняет поиск выполнимых файлов Windows и заражает их, добавляя команды вируса в код,
выполняемый при запуске файла в среде MS-DOS. Если запустить такой файл в MS-DOS, то он сначала выводит на экран предупреждающее
сообщение, а затем управление передается вирусу.
Неопасный нерезидентный полиморфный
вирус. В пятницу 13 числа выводит сообщение "This program requires
Microsoft Windows.", после чего заканчивает выполнение инфицированной
программы. Данный вирус был создан Black Baron для демонстрации использования
его полиморфного генератора SMEG версии 0.3
Конечно, вирус Grog.Bog.233 трудно назвать настоящим
вирусом, созданным для работы в операционной системе Windows.
В конечном итоге он работает только при запуске зараженного файла в MS-DOS. Более того, в операционной
системе Windows 95 этот вирус будет работать, только
если вы завершите графическую оболочку Windows, оставив
компьютер работать в режиме командной строки.
Данный класс вирусов на сегодня, пожалуй, один из самых
немногочисленных. Возможно, это связано с тем, что люди, способные написать
такие вирусы, имеют слишком высокую квалификацию, чтобы бесцельно тратить свое
время.
В качестве примера вирусов для Windows
мы рассмотрим вирусы Win.Vir14 (другие названия - WinVir
или WVir), Win.Twitch (Twitch), Win.CyberTech, Win.Vik и Win.Lamer.
Вирус Win.Vir14 заражает выполнимые EXE-файлы
в формате операционной системы Windows. Выполнимые
файлы MS-DOS не
заражаются. Когда пользователь запускает зараженное приложение, управление
сразу получает вирус. Он просматривает файлы текущего каталога и заражает
выполнимые файлы Windows. Вирус дописывает свой код к
заражаемым файлам и увеличивает их размер.
Затем вирус восстанавливает запущенный файл, удаляя из него
код вируса. После этого приложение завершается и управление сразу возвращается
операционной системе. Сама зараженная программа не выполняется. Если
пользователь попробует запустить это приложение еще раз, оно будет работать как
обычно.
Внутри кода вируса содержатся две текстовые строки:
Virus_for_Windows v1.4
MK92
Вирус Win.Twitch значительно
более сложный, чем WinVir. Когда пользователь запускает
зараженный файл Windows, вирус оставляет в оперативной
памяти компьютера работающий модуль, а затем выполняет настоящее приложение.
Модуль, оставленный в памяти, вызывает периодическое подергивание изображения
на экране монитора.
Из всех известных на сегодня вирусов Windows,
наиболее опасен вирус Win.CyberTech. После запуска на компьютере программы,
зараженной вирусом Win.CyberTech, он изменяет ядро операционной системы -
модуль KERNEL. В зависимости от версии Windows и режима, в котором она
работает, заражаются файлы KRNL386.EXE или KRNL286.EXE.
Вирус перехватывает функцию WinExec, которая
используется для запуска приложений Windows и заражает
все запускаемые приложения.
После заражения очередного приложения, вирус определяет
текущую дату и проверяет несколько условий:
Сегодня число между 29-м апреля и 1-м мая
Сегодня пятница и число от 1-го до 13-го
Сегодня число между 26-м и 31-м декабря
Сегодня 6-е марта и год после 1994
Если хотя бы одно из этих условий выполняется, вирус
отображает на экране небольшую диалоговую панель с единственной кнопкой OK. Когда пользователь нажмет кнопку, вирус начинает
разрушать данные, записанные на жестком диске компьютера.
Вирус Win.Lamer - первый из известных нам вирусов Windows, который применяет для маскировки полиморфный
механизм. Заражая очередное приложение, Win.Lamer изменяет свой код, чтобы
затруднить антивирусным программам свое обнаружение.
В последнее время все большую популярность получает
операционная система OS/2, разработанная известной фирмой IBM. С выходом
в свет новой, полностью 32-разрядной мультизадачной версии этой
операционной системы IBM OS/2
Warp, многие пользователи стали устанавливать ее на своих компьютерах.
На момент написания книги было известно всего несколько
вирусов, предназначенных специально для операционной системы OS/2 - OS2Vir1, OS2.First,
OS2.Jiskefet, OS2.Rexx.
Описание вируса OS2Vir1, которое мы обнаружили в справочной
системе IBM AntiVirus, с трудом позволяет назвать его настоящим вирусом.
Способность OS2Vir1 к распространению ограничивается заражением EXE файлов,
расположенных в текущем каталоге. Заражая выполнимый файл, OS2Vir1 записывает
свой код в начало файла-жертвы, не сохраняя оригинальный код программы. Поэтому
зараженная программа оказывается неработоспособной. Трудно предположить, что
вирус, использующий такую технологию заражения, получит сколько-нибудь широкое
распространение.
Вирусы OS2.First, OS2.Jiskefet, OS2.Rexx несколько сложнее.
Они могут распространяться, сохраняя у заражаемых программ способность
нормально работать. Все три известных нам вируса - OS2.First, OS2.Jiskefet и
OS2.Rexx используют вызовы операционной системы DOS.
Поэтому их нельзя назвать вирусами, полностью разработанными для операционной
системы OS/2.
Нет, мы не ошиблись, и это не типографская
опечатка. В этом разделе речь действительно пойдет об автоматизированных
средствах разработки вирусов. На сегодня в мире насчитывается больше
десятка таких
средств. С их помощью создание нового вируса становится не сложнее, чем
создание нового документа в текстовом редакторе. Используя
автоматизированные
средства разработки вирусов, любой пользователь может создать
собственный вирус
буквально за пару минут.
Самые простые средства разработки работают в пакетном режиме
- все настройки выполняются через обыкновенный текстовый файл. Результатом их
работы является файл с исходным текстом вируса, написанного на языке ассемблера.
Из этого "полуфабриката” легко получить готовый вирус, воспользовавшись
транслятором с языка ассемблера.
Надо отметить, что исходный текст вируса может служить
хорошим пособием для будущих писателей вирусов. Тем более, что обычно вместе со
средствами разработки вирусов поставляется полная документация.
Более сложные автоматизированные средства разработки вирусов
имеют продуманную диалоговую оболочку со множеством вложенных меню.
Вот только несколько названий автоматизированных средств
разработки вирусов:
· The
Virus Construction Set (VCS)
· The
Virus Creation Laboratory (VCL)
· The
Phalcon/Skism Mass Prodused Code generator (PS-MPC)
· The
Instant Virus Production kit (IVP)
· The
Second Generation in Virus Creation (G2)
Источник: http://www.frolov-lib.ru/books/step/v05/ch1.htm |