Пятница, 2024-03-29, 7:44 AM
//port-denis.ucoz.ru/
Приветствую Вас Гость | RSS
Главная страница Энциклопедия по компьютерным вирусам !!! - Страница 2 - Форум Регистрация Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: Auburn_Xaker  
Форум » Разные Темы » Вирусы » Энциклопедия по компьютерным вирусам !!! (Энциклопедия по компьютерным вирусам !!! описания борьба)
Энциклопедия по компьютерным вирусам !!!
port-denisDate: Понедельник, 2006-07-17, 12:27 PM | Message # 31
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.4. Анатомия компьютерного вируса

Наиболее распространенными типами компьютерных вирусов в MS DOS
являются файловые нерезидентные, файловые резидентные и бутовые
вирусы. Многие из пользователей имеют ограниченный опыт работы с
МS DOS. В то же время, для понимания функционирования файловых ви-
русов и средств защиты от них важно понимать структуру файловой
системы и прерываний MS DOS. Поэтому в приложении 6 приводится
краткий обзор структуры файловой системы MS DOS, в приложении 7 -
структуры исполняемых файлов и некоторых управляющих блоков, а в
приложениях 8 и 9 у сведения о прерываниях. Более подробные сведе-
ния можно получить в учебниках по языку ассемблера [Скенлон89], в
электронном справочнике TECHHELP, а также книгах П.Нортона [Нор-
тон90] и Жордена. Разбор анатомии компьютерных вирусов начнем с
анализа структуры нерезидентного файлового вируса, как простейшей
разновидности этого класса системных программ.
Структурно компьютерный вирус можно представить состоящим из
двух частей: головы и хвоста. Головой называется часть вируса,
которая первой получает управление. Хвост вируса - это части виру-
са, расположенные отдельно от головы. В простейшем случае вирус
может состоять из одной головы, и действительно файловые вирусы
обычно так и устроены. Такие вирусы будем называть несегментиро-
ванными. В отличие от них сегментированные вирусы имеют располага-
ющийся отдельно хвост и в какой-то мере аналогичны оверлейным фай-
лам. Примером сегментированных вирусов являются бутовые вирусы,
хотя возможна реализация сегментированных файловых вирусов.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:27 PM | Message # 32
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.4.1. Структура файлового нерезидентного вируса

Файловые вирусы являются наиболее распространенной разновид-
ностью компьютерных вирусов. Принципиально они заражают любой тип
исполняемых файлов, существующих в MS DOS: COM, EXE, OVL и т.д.
Однако основными объектами заражения являются файлы типа COM и
файлы типа EXE. Некоторые сведения о структуре этих файлов приве-
дены в прил. 6. Наиболее просто осуществляется заражение COM-фай-
лов, которые представляют собой почти точную копию участка памяти
с загруженной программой. Единственная требуемая настройка при за-
грузке COM-файлов состоит в загрузке сегментных регистров значени-
ями, соответствующими месту загрузки программы. Значительная часть
COM-файлов начинается с команды перехода, обходящей содержащие в
начале программы данные.
При заражении COM-файлов вирус запоминает в своем теле первые
три или больше байтов программы и вместо них записывает переход на
начало собственного кода. Так поступает большинство файловых виру-
сов, заражающих COM-файлы, но не все. Дело в том, что при дописы-
вании тела вируса в конец заражаемого файла весь код вируса должен
быть написан специальным образом, обычно называемым позиционно-не-
зависимым программированием: при выполнении программы все ссылки
должны адресоваться через соответствующее смещение, которое обычно
хранится в одном из регистров.
Некоторые вирусы используют более примитивный подход: вместо до-
писывания своего тела в конец заражаемого COM-файла они перемещают
туда первые несколько блоков программы, а сами записываются на
место освободившихся блоков. Так, например, поступает вирус RCE-
1813. В этом случае только программа восстановления исходного со-
стояния программы должна быть позиционно-независимой или она долж-
на размещаться где-то в фиксированных адресах памяти, используя
какой-то неиспользуемый ее участок.
Простейший нерезидентный компьютерный вирус, заражающий COM-
файлы в текущем каталоге и дописывающий свое тело в конец файла,
можно представить в виде следующей неформальной спецификации.
Шаг 1: Восстановить первые три байта программы. Три байта
зараженной программы, сохраненные в теле вируса, пересылаются на
свое старое место.
Шаг 2: Проверить среду. Проверить версию операционной системы.
Если не подходящая, то перейти к шагу 11.
Шаг 3: Найти очередную жертву(ы). Найти в текущем каталоге оче-
редной файл типа COM. При неудаче перейти к шагу 11.
Шаг 4: Проверить зараженность потенциальной жертвы. Считать об-
ласть, позволяющую установить, заражен ли уже данный файл вирусом
или нет. Проверить содержимое этой области. Если файл уже заражен,
то перейти к шагу 3, иначе перейти к шагу 5.
Шаг 5: Проверить, подходит ли жертва для заражения. Если длина
файла + длина вируса больше 64К, перейти к шагу 3, иначе перейти к
шагу 6.
Шаг 6: Снять атрибут READ ONLY, запомнить дату создания програм-
мы. Снять указанный атрибут и запомнить в своем теле дату создания
программы.
Шаг 7: Обеспечить передачу управления вирусу. Считать первые три
байта зараженной программы и записать их в своем теле. Сформиро-
вать команду перехода на байт, следующий за концом программы, и
записать соответствующие три байта в начало заражаемой программы.
При неудаче перейти к шагу 11, иначе перейти к шагу 8.
Шаг 8: Дописать тело вируса в конец заражаемой программы. Пере-
двинуть указатель файла в конец программы и установить режим доза-
писи. Переписать свое тело в конец заражаемой программы. При неу-
даче перейти к шагу 11, иначе перейти к шагу 9.
Шаг 9: Восстановить дату создания зараженной программы. Записать
в элемент каталога, соответствующий заражаемой программе, дату,
сохраненную в теле вируса.
Шаг 10: Восстановить атрибут READ ONLY. Присвоить заражаемому
файлу атрибуты, установленные у файла до заражения и сохраненные в
теле вируса. При неудаче перейти к шагу 11, иначе перейти к шагу
10.
Шаг 11: Выход. Восстановить содержимое регистров и передать уп-
равление программе-вирусоносителю.
Как видно из приведенной схемы, данный вирус распространяется не
мгновенно по всей файловой системе, а постепенно, по мере зараже-
ния файлов в текущем каталоге. Поэтому от момента появления в фай-
ловой системе первого зараженного файла до заражения всех файлов в
каталоге должно пройти некоторое время, зависящее от интенсивности
использования зараженной программы.
Наиболее уязвимыми с точки зрения блокирования размножения виру-
са являются шаг 6 (попытка снятия атрибута READ ONLY), шаги 7,8 у
запись в файл, содержащий исполняемую программу, и шаг 9 у уста-
новка даты создания файла, отличающейся от текущей. Для блокирова-
ния этих шагов обычно используются различные резидентные программы
(см. ниже). Кроме того, если на шаге 4 вирус использует для марки-
ровки зараженных файлов легко воспроизводимый признак (например,
простановку в поле даты значения 62 секунды у излюбленный признак
для файловых вирусов), можно блокировать его распространение, при-
своив этот признак всем заражаемым данным вирусом файлам. Этот
прием используется так называемыми программами-вакцинами (см. ни-
же).
Вставка тела вируса при заражении может выполняться не только в
хвост. Код вируса может имплантироваться в начало, конец или сере-
дину файла.
1) Вставка в начало файла. В этом случае первые блоки (или все
тело) заражаемой программы обычно переписываются в конец, поэтому
до передачи управления зараженной программе вирус должен предвари-
тельно переписать эти блоки (или все тело) на первоначальное мес-
то, заменив ими собственный код. С этой целью вирус должен переме-
стить свое тело или хотя бы соответствующую часть своего кода та-
ким образом, чтобы она не была затерта в процессе операции переза-
писи. Некоторые примитивные вирусы, записываясь в начало заражае-
мого файла, не сохраняют его содержимого. При этом, естественно,
зараженный файл уничтожается, а вирус, получив управление, должен
как- то замаскировать тот факт, что вызываемая программа является
неработоспособной. Для этой цели иногда используется какое-нибудь
подходящее сообщение об ошибке.
2) Вставка в конец файла. При этом необходимо обеспечить переда-
чу управления коду вируса до начала работы зараженной программы.
Для файлов типа COM это обеспечивается заменой нескольких первых
байтов программы (обычно трех в соответствии с размером кода ко-
манды перехода микропроцессора 8088/8086) на команду перехода к
началу вируса (инсталлятору). При этом сами первые байты обяза-
тельно должны быть сохранены где-то в теле вируса, что обеспечива-
ет возможность их восстановления (операция поиска этих трех байтов
является составной частью работы любого фага). Когда инсталлятор
вируса получает управление, то обычно в начале своей работы он
восстанавливает измененные вирусом байты в первоначальном виде.
3) Вставка в середину файла. Этот способ заражения файла встре-
чается редко. Во-первых, этот способ используется узкоспециализи-
рованными вирусами, поражающими определенный класс программ, осо-
бенности структуры которого заранее известны, например, только
файл СOMMAND.COM. Примером такого вируса может служить вирус RC-
346 (Lehigh). Во-вторых, и это гораздо более частый случай, встав-
ка в середину возможна для обычных вирусов, цепляющихся к концу
EXE-файл, если в заголовке этого файла неправильно указана его
длина, т.е. часть файла используется в качестве буфера или
неявного оверлея, как например, в головном модуле системы FOXBASE.
В этом случае вирус считает, что файл имеет длину, указанную в за-
головке, и записывает свой код в область буфера или оверлея. При
этом он оказывается в середине действительно занимаемого данной
программой файла. В-третьих, файл может быть заражен несколькими
вирусами, однотипно заражающими файл (обычно дописывающими свой
код в конец файла). В этом случае, вирус первым заразивший данный
файл, оттесняется к середине файла последующими вирусами. Являясь
сравнительно редкими, указанные случаи довольно часто не учитыва-
ются создателями антивирусных программ, в частности, детекторов и
фагов, которые увлекаясь оптимизацией времени выполнения своих
программ, принимают неправильные допущения о расположении кода ви-
руса в теле зараженной программы. В результате файл может быть не
детектирован как зараженный или вылечен неправильно.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:27 PM | Message # 33
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.4.2. Структура файлового резидентного вируса

Для понимания функционирования файлового вируса необходимо неко-
торое знакомство с системой прерываний компьютера типа IBM PC. Ми-
нимальные необходимые сведения приводятся в приложениях 8 и 9.
Файловые резидентные вирусы, помимо отдельных файлов, заражают,
если так можно выразиться, и память компьютера. Предельно упрощая,
память компьютера можно рассматривать как еще один файл, который
можно заражать, дописываясь в голову, т.е. в область младших ад-
ресов свободного участка памяти, в хвост, т.е. в область старших
адресов свободного участка памяти и наконец, в середину, т.е. в
область адресов, уже используемых операционной системой или какой-
нибудь программой (старшие адреса вектора прерываний, буфера и
т.д.).
Вместе с тем, структура резидентного вируса существенно отлича-
ется от структуры нерезидентного вируса. Резидентный вирус можно
представлять как состоящий из двух относительно независимых час-
тей: инсталлятора и модуля обработки прерываний. Последний, в свою
очередь, состоит из ряда программ обработки. Несколько упрощая,
можно считать, что на каждое перехватываемое прерывание приходится
своя программа обработки.
Инсталлятор получает управление при выполнении зараженной про-
граммы и играет роль своеобразной ракеты-носителя, запускающей ви-
рус на орбиту, т.е. в оперативную память. Он отрабатывает один
раз у после запуска зараженной программы и его целесообразно рас-
сматривать как специализированный файловый вирус, заражающий опе-
ративную память и, возможно, обычные файлы. В последнем случае ин-
сталлятор можно рассматривать как доработанный для заражения опе-
ративной памяти файловый вирус. Структуру инсталлятора можно упро-
щенно представить следующим образом:
Шаг 1: Проверить версию MS DOS
Шаг 2: Восстановить измененные байты зараженной программы.
Шаг 3: Проверить зараженность оперативной памяти. Если память
заражена, то передать управление программе-вирусоносителю, иначе
перейти к шагу 4.
Шаг 4: Закрепиться в оперативной памяти. Переписать свое тело в
заданный участок оперативной памяти и выполнить некоторые действия
по закреплению этого участка за собой.
Шаг 5: Перехватить требуемые прерывания. Заменить адреса в соот-
ветствующих элементах вектора прерываний на адреса своих программ
обработки.
Шаг 6: Передать управление зараженной программе.
Приведем некоторые пояснения к упрощенной схеме инсталлятора
файлового вируса. На шаге 3 инсталлятор, подобно обычному файлово-
му вирусу, каким-то образом определяет зараженность оперативной
памяти. Эта проверка может выполняться самыми разнообразными спо-
собами. Одним из наиболее распространенных является введение неко-
торого нового прерывания или функции существующего прерывания. Ин-
сталлятор выдает это прерывание, и получаемый ответ, например 5555
в регистре AX, играет роль сигнала память заражена и память еще
не заражена, своеобразный аналог 62 секунд для нерезидентных фай-
ловых вирусов. Второй способ состоит в сканировании памяти и по-
иске сигнатуры, характерной для данного вируса. Поиск может начи-
наться с определенной, характерной точки, например, с адреса пере-
хватываемого вирусом прерывания (обычно 21). Могут быть использо-
ваны и другие способы или их комбинация.
Если проверка показала, что память еще не заражена, то на шаге 4
вирус выполняет ее заражение. Как уже указывалось, заражение может
производиться как путем записывания тела вируса на участок свобод-
ной памяти, так и вписыванием тела в уже используемый участок. В
первом случае вирус должен обеспечить резервирование этой памяти,
чтобы она не была затерта другими программами. Простейшие вирусы
выполняют это с помощью функций 21-31 или 27 MS DOS. Такие вирусы
видны при просмотре списка резидентных программ утилитами типа
MAP, MEMANAL и т.д. Более сложный способ предполагает манипуляцию
с цепочкой блоков MCB (см. прил.7): вирус сам создает дополнитель-
ный блок MCB для захваченного участка памяти.
После закрепления в оперативной памяти инсталлятор выполняет так
называемый перехват прерываний у обеспечение передачи управления
модулям вируса, обрабатывающим соответствующие прерывания. Это мо-
жет делаться в лоб, т.е. путем использования соответствующих
функций MS DOS или с черного хода у нестандартным способом,
обеспечивающим, в общем случае, более высокую степень маскировки.
При любом способе конечный эффект состоит в том, что при возникно-
вении определенного прерывания вирусу будет передаваться управле-
ние. При этом вирус может содержать дополнительный механизм, обес-
печивающий то, что он будет получать управление всегда первым. Та-
кие резидентные вирусы будем называть всплывающими. Всплытие помо-
гает вирусу обходить простейшие программы-сторожа, основанные на
перехвате тех же прерываний, поскольку они будут получать управле-
ние после вируса. Этот способ использует, в частности, вирус RCE-
1800 (Эдди). Отсюда следует, что анализ списка резидентных про-
грамм и объема памяти, сообщаемого MS DOS, является весьма полез-
ным диагностическим приемом, применимым как при анализе многих ре-
зидентных файловых вирусов, так и при анализе бутовых вирусов. Су-
ществует целый ряд программ, выдающих список резидентных программ.
Автор рекомендует использовать для этой цели программу RELEASE,
которая являясь резидентной, не только позволяет получить этот
список в любой момент, но дает возможность снять ненужные резиден-
тные программы. Сведения об объеме оперативной памяти (установлен-
ной и свободной) проще всего получить с помощью программы CHKDSK,
вxодящей в MS DOS (она также выдает очень важные сведения об объе-
ме памяти, занятой сбойными кластерами, и количестве скрытых фай-
лов), хотя имеется целый ряд других программ с аналогичными функ-
циями (SMAP, MEMANAL, MEMSTAT и др). В случае наличия опасности
заражения вирусом полезно включить вызов CHKDSK в файл
AUTOEXEC.BAT, а за ним поместить строку с данными, которые получе-
ны при загрузке на незараженной системе, например:

c:\dos\chkdsk
echo ПРОВЕРЬТЕ СООТВЕТСТВИЕ ПОЛУЧЕННЫХ ЗНАЧЕНИЙ ЭТАЛОННЫМ !
echo 188416 in 8 hidden, 61440 in bad, 655360 totalmem, pause
515424 free memory

Функционирование резидентного файлового вируса можно представить
как две стадии: стадию инсталляции и стадию слежения. При запуске
зараженной программы управление получает инсталлятор, который
обеспечивает закрепление вируса в оперативной памяти, перехват
требуемых прерываний и, возможно, маскировку (с целью затруднить
свое обнаружение среди резидентных программ). Эта фаза работы ре-
зидентного вируса получила название фазы инсталляции. В дальнейшем
каждый раз при возникновении одного из перехваченных вирусом пре-
рываний управление получает один из модулей обработки соответству-
ющего прерывания. При этом вирус может анализировать поступивший
запрос и, в зависимости от его вида, выполнять те или иные дейст-
вия. Например, загрузка программы в оперативную память и ее выпол-
нение в MS DOS реализованы с помощью прерывания 21-2B. Если вирус
перехватывает это прерывание, то он может определить имя файла, из
которого выполняется загрузка, и заразить программу в этом файле.
Следует также отметить, что способ поиска жертвы у резидентных
вирусов существенно отличается от способа, используемого нерези-
дентными вирусами. Нерезидентные вирусы получают управление после
загрузки в память зараженной программы, а затем ищут файл-жертву,
используя параметры PATH, СOMSPEC или другую информацию о располо-
жении выполняемых программ. Если жертва найдена, то она заражает-
ся, а затем управление возвращается зараженной программе. Резиден-
тные вирусы реагируют на определенные прерывания. Получив управле-
ние после перехваченного прерывания, они выполняют соответствующие
действия. Как уже указывалось, обычно резидентные файловые вирусы
выполняют заражение запускаемых программ (по прерыванию 21-4B),
однако наиболее инфицирующие из резидентных вирусов заражают файлы
при их открытии или чтении. Например, вирус RCE-1800, кроме ука-
занных действий перехватывает и прерывания по чтению, заражая, в
частности, оба файла, копируемые командой COPY, если хотя бы один
из них имеет расширение ЕХЕ или СОМ.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:28 PM | Message # 34
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.4.3. Структура бутового вируса

Бутовые вирусы являются весьма специализированной разновидностью
резидентных файловых вирусов. Упрощенно бутовый вирус можно пред-
ставить себе как специализированный резидентный вирус, который за-
ражает единственный файл у загрузочный сектор гибкого или жест-
кого диска. Четкой границы между резидентными файловыми вирусами и
бутовыми вирусами не существует: в последнее время появились гиб-
риды, сочетающие заражение файлов с заражением бутсектора винче-
стера. Это подчеркивает близость основных принципов организации
этих двух типов вирусов.
Этот тип вирусов распространяется, инфицируя дискеты, причем как
загружаемые (т.е. содержащие копию MS DOS), так и незагружаемые
(т.е. содержащие любую информацию). Заражение незагружаемых дискет
связано с определенным психологическим расчетом, который, к сожа-
лению, слишком часто оправдывается: при перезагрузке MS DOS поль-
зователи обычно забывают проверить, вставлена ли дискета в диско-
вод A, и часто перезагрузка выполняется с вставленной в указанный
дисковод дискетой, с которой вирус и попадает на винчестер.
Инфицированная дискета всегда содержит часть кода вируса в бут-
секторе, поэтому бутовые вирусы легко обнаружить. При просмотре
бутсектора дискеты на незараженном компьютере легко видеть измене-
ния загрузчика (дамп стандартного бутсектора приведен в прил.6).
Структура стандартного загрузчика лишь незначительно меняется от
версии к версии MS DOS, поэтому изменения легко выявить визуально
(особенно первых трех байтов, содержащих команду JMP на начало
загрузчика) или с помощью подходящей программы (Scan, Aidstest и
др.). Такая проверка должна обязательно проводиться для всех по-
ступающих дискет.
Как уже указывалось, файловые вирусы обычно состоят из одного
сегмента. Впрочем, первую команду JMP, подставляемую большинством
файловых вирусов, дописывающих свое тело в конец COM-файла, можно
рассматривать как вырожденный сегмент. Бутовый вирус всегда состо-
ит из нескольких сегментов. Обычно таких сегментов два и мы будем
называть их головой и хвостом.
Положение головы бутового вируса на дискете определено однознач-
но: она всегда расположена в бутсекторе и занимает ровно сектор.
На винчестере ситуация немного сложнее: голова бутового вируса мо-
жет располагаться в одном из его двух бутсекторов - главном (MBR -
Master Boot Record, расположенный по абсолютному дисковому адресу
0/0/1) или бутсекторе логического диска С, обычно занимающего пер-
вый сектор соответствующего логического диска. Для наиболее рас-
пространенных 40 M винчестеров это обычно абсолютный сектор 18
(при 17 секторах на трек его адрес равен 1/0/1).
Хвост бутового вируса может располагаться в разных местах, на-
пример: кластерах, отмеченных на диске как сбойные и тем самым ис-
ключенных из дальнейшего распределения (псевдосбойные кластеры);
последних физических секторах дискеты или винчестера, поскольку
они обычно всегда свободны (например, 40/39/8 для обычных 360К ди-
скет); в неиспользуемых блоках FAT, главного каталога или одного
из подкаталогов; дополнительных дорожках дискеты или винчестера
(41 и последующие дорожки для 360К дискет).
В любом случае хвост вируса должен содержать копию оригинального
бутсектора, и если она хранится не в закодированном виде, то поло-
жение хвоста в большинстве случаев можно определить глобальным
контекстным поиском по дискете или винчестеру (исключением являет-
ся случай использования для хвоста дополнительных дорожек на дис-
кете или винчестере). В минимальном варианте хвост может состоять
только из одного сектора с оригинальным бутсектором.
Для всех бутовых вирусов механизм заражения однотипен. Когда MS
DOS загружается с зараженного диска, бутовый вирус получает управ-
ление и сначала копирует себя в старшие адреса памяти. Затем он
уменьшает размер памяти, заменяя значение вектора прерываний A2h с
тем, чтобы защитить резидентную часть вируса, и 13h с тем, чтобы
перехватывать обращения к диску. Таким образом, при любом обраще-
нии к диску управление получает обработчик этого прерывания, со-
ставляющий основную часть тела вируса. После этих действий вирус
запускает стандартный системный загрузчик, который загружает
IBMBIO.COM и IBMDOS.COM (или IO.SYS и MSDOS.SYS), т.е. происходит
стандартная загрузка системы.
Получив управление по прерыванию по чтению, вирус анализирует,
относится ли оно к дискете или к винчестеру. Если это прерывание
относится к дискете, то сначала вирус проверяет, заражена уже дан-
ная дискета или нет. Для этой цели считывается бутсектор и прове-
ряется его содержимое. Если дискета еще не заражена, то вирус за-
ражает дискету, а затем обрабатывает команду READ. В случае, если
дискета уже заражена, вирус сразу переходит к обработке команды
READ; так же он поступает в случае, если дискета защищена от запи-
си.
Что касается места, в котором бутовый вирус прячет свой хвост,
то как было отмечено выше, оно различается от вируса к вирусу.
Наиболее часто бутовые вирусы размещают свой хвост в свободном
кластере(ах), который помечается как сбойный. Последнее необходимо
для того, чтобы занятый вирусом кластер(ы) не был использован MS
DOS при создании нового файла и вместе с тем является неплохим ме-
тодом маскировки, поскольку пользователи обычно плохо представляют
структуру диска и не следят за количеством сбойных кластеров на
нем.
Еще раз подчеркнем, что бутовые вирусы инфицируют любые дискеты,
а не только системные. Как уже указывалось, это связано с тем, что
с несистемной дискеты также может выполняться попытка загрузки MS
DOS. Чаще всего такая ситуация возникает после зависания операци-
онной системы. Если при перезагрузке инфицированная дискета ока-
жется в готовом дисководе А, то естественно, загрузка будет сна-
чала выполняться с нее. В этом случае программа начальной загрузки
считывает зараженный ВООТ и передает ему управление. Вирус загру-
жает себя в оперативную память и имитирует сообщение, выдаваемое в
этом случае стандартным загрузчиком:

Non system disk

При этом, если пользователь откроет дисковод с дискетой и нажмет
клавишу Enter (Ввод), то вирус останется в памяти, заразит винче-
стер и в дальнейшем будет заражать все вставляемые дискеты, к ко-
торым производится хотя бы одно обращение (достаточно команды
DIR). Все бутовые вирусы перехватывают 13 прерывание (см. прил. 8)
и поэтому обычно конфликтуют с драйверами, поддерживающими нестан-
дартные форматы (например, 720 K). В лучшем случае при этом проис-
ходит зависание системы или выдача сообщения о делении на нуль. В
худшем случае операционная система остается работоспособной, на
дискету что-то пишется, но потом ничего прочитать с нее нельзя.
Особое внимание стоит обратить на тот факт, что некоторые бутовые
вирусы перехватывают прерывание с клавиатуры и могут пережить в
оперативной памяти мягкую перезагрузку (т.е. перезагрузку с по-
мощью нажатия клавиш Ctrl-Alt-Del). Из выявленных в CCCР вирусов к
этому типу относится вирус WM-1F (Joshy).
Как уже отмечалось, голова бутового вируса всегда находится в
бутсекторе и для контроля дискет на зараженность можно просто про-
смотреть содержимое бутсектора. В целом даже это не является необ-
ходимым. Поскольку подавляющее большинство дискет не является за-
гружаемыми, можно профилактически разрушать содержимое бутсектора
таких дискет. В частности, там можно хранить информацию о времени
и источнике получения дискеты или какие-то указания по ее исполь-
зованию. Достаточно разрушить первые три байта бутсектора, чтобы
нейтрализовать любой бутовый вирус. Это можно сделать с помощью
программ Norton Utilitis, PC Tools и DEBUG. Для профилактического
разрушения бутсектора можно использовать специальную утилиту, на-
пример, DEBOOT В.Пономаренко.
Следует отметить, что число известных чисто бутовых вирусов на-
много меньше, чем файловых и, кроме того, скорость их размножения
ниже (число дискет заведомо меньше, чем количество файлов на них).
В целом, заражение чистым бутовым вирусом является признаком
беспечности и недостаточной квалификации пользователя в значитель-
но большей степени, чем заражение файловым вирусом. При соблюдении
приведенных выше несложных рекомендаций его можно полностью исклю-
чить.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:28 PM | Message # 35
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.5. Панацеи не существует
(общая классификация средств защиты)

Специалист подобен флюсу,
полнота его одностороння
Козьма Прутков

Операционная система MS DOS, отличающаяся практически полным от-
сутствием защиты от несанкционированных действий, облегчает разра-
ботку компьютерных вирусов. Однако важно понимать, что компьютер-
ные вирусы не являются программами, использующими ошибки или недо-
статки конкретной операционной системы. Для обеспечения своего
функционирования вирусу достаточно лишь нескольких вполне обычных
операций, используемых большинством нормальных программ. Поэтому
принципиально не может существовать универсальный метод, защищаю-
щий операционную систему от распространения любого вируса. Тем не
менее, можно существенно затруднить задачу создания вируса, приме-
няя специальные методы как в самой операционной системе, так и ис-
пользуя дополнительные резидентные и нерезидентные средства защи-
ты.
Простейшим средством защиты от вируса является программа, позво-
ляющая составить список зараженных программ. Мы будем называть та-
кую программу детектором. В качестве детектора могут использовать-
ся и имеющиеся программы, способные выполнять поиск строки в файле
или, желательно, в файлах на заданном диске или каталоге. Детектор
может быть и резидентным. В этом случае после загрузки программы
он проверяет ее на зараженность и, только если вирус не обнаружен,
передает ей управление.
Вторым и наиболее распространенным средством защиты от вирусов
являются так называемые фаги у программы, выкусывающие вирус из
зараженной программы и тем самым восстанавливающие ее в виде,
близком к первоначальному. Операция выкусывания не всегда бывает
успешной. Фаги также могут быть резидентными, однако из-за значи-
тельного объема резидентные фаги встречаются редко.
Третьим видом антивирусных программ являются резидентные про-
граммы, контролирующие подозрительные действия запускаемых про-
грамм и блокирующие их либо молча, либо выдавая сообщение поль-
зователю, который может разрешить действие или запретить (в по-
следнем случае программа, предпринявшая опасное действие, может
закончиться аварийно). Будем называть такие программы сторожами.
При этом дисковые драйверы, обеспечивающие возможность сегментации
винчестера и присваивания отдельным разделам статуса READ ONLY,
можно рассматривать как специальную разновидность сторожей.
Четвертый тип у это программы-ревизоры, которые подсчитывают
контрольные суммы и другие параметры файлов и сравнивают их с эта-
лонными. Последние обычно хранятся в отдельном файле. Этот вид
контроля представляется наиболее надежным, т.к. при отсутствии в
оперативной памяти резидентного компьютерного вируса позволяет вы-
явить все измененные программы независимо от причины, вызвавшей
эти изменения. Подобно остальным типам программ ревизоры могут
быть резидентными. Последние загружают в память программу, подсчи-
тывают ее контрольную сумму и, если она совпадает с записанной в
специальном поле файла или элемента каталога данного файла, то пе-
редают ей управление. В противном случае выдается предупреждающее
сообщение, и выполнение программы блокируется. Следует отметить,
что если записать зараженную программу в файловую систему, все ос-
тальные файлы которой систематически контролируются ревизором, то
наличие вируса может быть выявлено по заражению других программ
для большинства, но не для всех типов вирусов. Поэтому очень важ-
но, чтобы в момент запуска программы-ревизора было достоверно из-
вестно, что в оперативной памяти нет резидентного вируса. Этого
можно достичь, загрузившись с эталонной, защищенной от записи, ди-
скеты или разместив все компоненты операционной системы в разделе
винчестера, имеющего статус READ ONLY. Более подробно вопросы при-
менения антивирусных средств рассмотрены в главе 10.
И, наконец, наиболее изощренным типом антивирусных программ яв-
ляются так называемые вакцины. Подобно естественным вакцинам они
изменяют среду функционирования вируса таким образом, что он теря-
ет способность к размножению. Вакцины могут быть пассивные или ак-
тивные.
Пассивная вакцина представляет собой пакетную программу, которая
за один вызов обрабатывает специальным образом файл или все файлы
на диске либо в каталоге. Обычно при такой обработке проставляется
признак, который вирус использует для того, чтобы отличить зара-
женные программы от незараженных. Например, некоторые вирусы допи-
сывают в конец зараженных файлов определенную строку (скажем,
MsDos). Если искусственно дописать в конец всех программ эту
строку, то такие программы не будут заражаться вирусом, поскольку
он будет считать, что они уже заражены. Обработанная таким образом
программа является вакцинированной против данного вируса, причем
операция вакцинации является обратимой: когда опасность заражения
будет ликвидирована, строку можно из файла удалить. Другие вирусы
проставляют в поле даты заражаемых программ значение секунд, рав-
ное 62 (MS DOS допускает запись такого явно нереального значения).
Вакцина может проставить этот признак у всех выполняемых программ,
которые тем самым будут защищены от заражения данным типом вируса.
В этом случае вакцинирование является необратимым в том смысле,

что восстановить первоначальное значение секунд не удастся, хотя
они, конечно, могут быть сброшены.
Активные вакцины являются резидентными программами, действие ко-
торых обычно основано на имитации присутствия вируса в оперативной
памяти. Поэтому они обычно применяются против резидентных вирусов.
Если такая вакцина находится в памяти, то когда при запуске зара-
женной программы вирус проверяет, находится ли уже в оперативной
памяти его копия, вакцина имитирует наличие копии. В этом случае
вирус просто передает управление программе-хозяину, и его инстал-
ляция не происходит. Простейшие вакцины представляют собой выде-
ленный и слегка модифицированный (лишенный способности к размноже-
нию) вирус. Поэтому они могут быть оперативно изготовлены, быст-
рее, чем программы-фаги. Более сложные вакцины (поливакцины) ими-
тируют наличие в оперативной памяти нескольких вирусов.
Конечно, приведенный список не исчерпывает всего многообразия
антивирусных программ, хотя и охватывают основные их разновидно-
сти. Каждая из антивирусных программ подобна узкому специалисту в
определенной области, поэтому оптимальной тактикой является комп-
лексное применение нескольких типов антивирусных средств. Более
подробно вопросы применения антивирусных средств рассмотрены в
главе 10. Список отечественных антивирусных средств, распространя-
емых бесплатно и опубликованных в бюллетене СОФТПАНОРАМА, приведен
в прил. 5.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:29 PM | Message # 36
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.6. Жизненный цикл компьютерных вирусов

Где начало того конца,
которым оканчивается начало ?
Козьма Прутков

Следует различать два основных действия (фазы), выполняемые ком-
пьютерным вирусом: размножение и проявление. Размножение обычно
является первым и обязательным действием вируса при получении им
управления. Фаза проявления, на которой выполняются несанкциониро-
ванные действия, может чередоваться с размножением, начинаться
через определенный (инкубационный) период или при сочетании неко-
торых условий. Она может заключаться в изощренных визуальных или
звуковых эффектах, включать или исключительно состоять из нанесе-
ния повреждений файловой системе. Повреждения могут быть массиро-
ванными, когда например, стирается FAT и другие системные блоки,
или наоборот, распределенными, когда довольно часто выполняются
небольшие, трудно обнаруживаемые повреждения. У ряда вирусов фаза
проявления отсутствует, т.е. помимо размножения они никаких несан-
кционированных действий не выполняют. В то же время, любой вирус
обладает рядом побочных эффектов, которые не были предусмотрены
при создании вируса, но которые фактически относятся к его прояв-
лениям. Наиболее частым побочным эффектом является зависание опе-
рационной системы или потеря работоспособности некоторых (чаще
всего резидентных) программ. Другим важным побочным эффектом явля-
ется появление некоторых необъяснимых сообщений операционной
системы. Например, если при попытке запуска программы с защищенной
дискеты появлется хорошо знакомое любому пользователю MS DOS со-
общение Abort, Retry..., то это должно настораживать.
Наряду с указанными действиями, вирус может обладать определен-
ной латентной фазой, в течение которой никаких действий по своему
размножению или проявлению не предпринимается. Латентная фаза мо-
жет быть обусловлена определенным временным периодом (например,
определенным месяцем или годом), конфигурацией (например, вирус
может активизироваться только при попадании на винчестер) или ап-
паратными особенностями (например, только на клонах IBM PC).

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


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:29 PM | Message # 37
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.7. Среда обитания вирусов

Как уже указывалось выше, структурно компьютерный вирус можно
представить состоящим из двух частей: головы и хвоста.
Поскольку голова вируса так или иначе должна получить управле-
ние, среда обитания головы компьютерного вируса может распола-
гаться только в прямо или косвенно исполняемых программах. Не сле-
дует бояться, что вирус может быть перенесен через файл данных.
Применительно к MS DOS для получения управления вирус должен
встроить свою голову в: загрузочные модули, такие как СOM-файлы,
EXE-файлы, оверлейные фазы сегментированных программ (это наиболее
распространенный случай и соответствующий тип вирусов будем назы-
вать файловыми); бутсектор (этот случай также встречается доста-
точно часто и соответствующие вирусы будем называть бутовыми);
таблицу разделов винчестера (Partition Table), в начале которой
содержится так называемый Master Boot (фактически это частный слу-
чай предыдущего и такая стратегия заражения может использоваться
только применительно к винчестеру, т.е. комбинироваться с предыду-
щей); драйвер; объектный модуль; библиотеку компилятора; BAT-
файл; исходный текст программы на алгоритмическом языке (в расчете
на его компиляцию); промежуточный код некоторого достаточно рас-
пространенного интерпретируемого языка, например dBASE или
CLIPPER. Поэтому необходим постоянный контроль за целостностью ин-
формации, содержащейся в элементах перечисленных типов. Проще все-
го этот контроль выполнять с помощью специальной программы-ревизо-
ра.
Что касается места, где вирус может расположить свою голову, то
для существующих вирусов характерны следующие: область стека неко-
торой системной программы (RC-0-346); начало, конец или середина
исполняемого файла; бутсектор; MBR.
Поскольку хвост вируса не должен получать управление непосредст-
венно, количество мест его расположения существенно больше и здесь
многое зависит от изобретательности автора вируса. Сегментация в
настоящее время характерна только для бутовых вирусов, и примени-
тельно к ним можно отметить следующие варианты расположения
хвоста: один или группа кластеров, помеченных как сбойные (самый
распространенный вариант); неиспользуемые блоки нулевой дорожки
винчестере после MBR; неиспользуемые блоки системных таблиц, таких
как FAT, главный каталог или один из подкаталогов и т.д.; специ-
ально созданный файл с атрибутами HIDDEN и/или SYSTEM; хвосты
последних, заполненных частично, кластеров имеющихся файлов (на-
пример, системных); дополнительные дорожки на дискете или винче-
стере (например, 40 и более старшие дорожки дискеты).
Для файловых вирусов сегментация может использоваться для разме-
щения хвоста в неиспользуемых секторах последнего кластера файла,
однако такой способ в настоящее время применяется только в вирусе
RC-0-512 и, как оказалось, обладает существенными недостатками. В
частности, команда COPY MS DOS не копирует информацию из неисполь-
зуемых секторов последнего кластера. В результате при копировании
зараженного файла хвост вируса теряется и скопированная программа
становится неработоспособной.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:29 PM | Message # 38
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.8. Симптомы заражения

Если на клетке слона прочтешь над-
письбуйвол, не верь глазам своим
Козьма Прутков

Существуют определенные признаки, указывающие на поражение про-
граммы или диска вирусами. Помимо очевидных, связанных с демонст-
рационным эффектом, характерным для данного вируса, к ним можно
отнести следующие: изменение длины командного процессора
(COMMAND.COM); выдача сообщений типа WRITE PROTECT ERROR при чте-
нии информации, при загрузке программ с защищенных от записи дис-
кет; изменение длины и/или даты создания программы (их рекоменду-
ется просматривать с помощью Norton Commander или другой оболочки,
непосредственно интерпретирующей содержимое каталогов); программа
выполняется медленнее, чем обычно; возрастание времени загрузки,
зацикливание при загрузке; необъяснимые обращения к дискетам или
файлам на защищенных разделах винчестра; потеря работоспособности
некоторых резидентных программ или драйверов; аварийное завершение
ранее нормально функционировавших программ; необъяснимые зависания
или перезагрузки системы; уменьшение объема системной памяти или
свободной памяти после загрузки. Резкое уменьшение доступной дис-
ковой памяти, хотя файлы не добавлялись и не удалялись; появление
новых сбойных кластеров, дополнительных скрытых файлов или других
изменений файловой системы (выявляются запуском CHKDSK или другой
подходящей утилиты);
Конечно, приведенные признаки носят эвристический характер и мо-
гут наблюдаться на здоровых компьютерах по причинам, совершенно
не связанным с вирусами. Тем не менее, появление каких-то аномалий
должно сразу настораживать пользователя. Если после перезагрузки с
защищенной дискеты некоторые из этих признаков исчезают, то есть
смысл провести более или менее полное тестирование с помощью про-
граммы ревизора (только не при загруженной с винчестера и возможно
зараженной операционной системе), а также визуально сравнить со-
держимое бутсектора и таблицы разделов с эталонными. Полезно также
просмотреть дамп программы (с помощью Norton Commander, PC Shell
или другой подходящей утилиты). Если в конце программы имеются по-
дозрительные текстовые строки или, наоборот, нет ни одной тексто-
вой строки, то такая программа заслуживает дополнительного иссле-
дования.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:30 PM | Message # 39
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.9. Вызываемые вирусами эффекты

Однажды мои соседи обнаружили
у себя в квартире странные явле-
ния: каждую ночь что-то упорно
шелестело в мусорном ведре, и
каждое утро отходы обнаруживались
в самых не подходящих местах.
Стали исчезать картошка, лук...
Крысы! - мелькнула догадка.
Газета Красная Пресня,
апрель 1990 г.

Как уже указывалось, компьютерные вирусы являются одной из раз-
новидностей компьютерного вандализма. Вызываемые вирусами эффекты
могут быть классифицированы по следующим основным категориям:
1) отказ в выполнении той или иной функции (например, блокирова-
ние вирусом RС-1701 загрузки программы с защищенной от записи дис-
кеты);
2) выполнение действий, не предусмотренных программой (например,
изменение данных в каком-то файле);
3) разрушение отдельных файлов, управляющих блоков или всей фай-
ловой системы в целом (форматирование диска, удаление файла и
т.д.);
4) выдача ложных, раздражающих или отвлекающих сообщений
(например, Скажи бебе или Non system disk);
5) создание звуковых или визуальных эффектов (например, падение
букв в вирусе RС-1701, замедление выполнения программ в вирусе
RСЕ-1813, проигрывание мелодии в RCE-1805, движущийся на экране
ромбик в Bx1-1C и т.д.);
5) инициирование ошибок или сбоев в программе или операционной
системе (например, переполнение стека), перезагрузка или зависание
MS DOS;
6) блокирование доступа к системным ресурсам (разрастание зара-
женных файлов за счет их многократного повторного заражения, не-
возможность передать зараженной программе параметры, замедление
работы компьютера путем выполнения холостого цикла из нескольких
команд при каждом прерывании таймера);
7) имитация сбоев аппаратуры (перевод части кластеров в псевдо-
сбойные на дискете или винчестере, зависание ЭВМ через некоторое
время после перезагрузки операционной системы и т.д.);
8) ускорение износа оборудования или попытки его порчи.
Наносимый вирусами ущерб может иметь катастрофический характер
(например, уничтожение винчестера) в сочетании с длительным инку-
бационным периодом или, наоборот, вирус может наносить мелкие,
трудно обнаруживаемые повреждения данных, выполняемые достаточно
часто. Последние гораздо труднее обнаружить и поэтому, в отличие
от распространенного мнения, они намного опаснее массированного
разрушения данных.
Наиболее уязвимой частью файловой системы DOS является FAT (таб-
лица размещения файлов). Если FAT разрушен, то DOS не в состоянии
определить местонахождение того или иного файла, хотя сами файлы
не повреждены. Вирус может также выполнять форматизацию некоторых
участков диска, содержащих системные данные. Поэтому необходимо
достаточно часто дублировать управляющие данные файловой системы
на другой, заранее известный участок диска или дискету. Для этой
цели, в частности, можно использовать Norton Utilities, а также
Mirror из пакета PC Shell.
На компьютерах типа АТ данные о конфигурации системы (тип уста-
новленного винчестера и др.) хранятся в небольшой энергонезависи-
мой памяти (CMOS). Уничтожение содержимого CMOS-памяти приводит к
невозможности загрузиться с винчестера. Восстановление CMOS требу-
ет знания подробных технических данных о винчестере. Поэтому этот
тип памяти также является потенциальным объектом атаки вируса.
Как уже отмечалось, наиболее опасны как раз не катастрофические
повреждения винчестера или дискет (при адекватном архивировании
это означает максимум потерю одного дня работы), а мелкие, неза-
метные изменения файлов данных. В частности, известен вирус, кото-
рый ищет файлы типа DBF, и найдя внутри файла числовое поле, меня-
ет местами две рядом стоящие цифры.
По степени разрушительности вирусы можно условно разделить на
два типа: иллюзионисты (RC-1701, RCE-1805, RСE-2885, Bx1-1C) и
вандалы (C-648, RСE-1800, Dx3-E9, RC-496). Основным приоритетом
при конструировании иллюзионистов является демонстрация какого-
нибудь экзотического звукового (например, вирусы RCE-1805, RCE-
2885) или визуального эффекта типа бегающего шарика (например, ви-
рус Bx1-1C), осыпающихся букв (вирус RC-1701) и т.д. В качестве
основного приоритета пpи констpуиpовании вандалов является обес-
печение как можно более скрытого размножения, с тем чтобы фазе
разрушения (детонации), уничтожающей и зараженный файл (дискету) с
данным экземпляром вируса (при разрушении таблицы FAT, форматиза-

ции и других подобных действиях), предшествовало определенное чис-
ло незамеченных размножений.
При этом наблюдается интересная взаимосвязь, на которую обратил
внимание автора Л.И.Обухов: если вирус демонстрирует нетривиальный
визуальный или звуковой эффект, то скорее всего он не выполняет
массированного разрушения данных. Поэтому, если неизвестный вирус
демонстрирует какой-то изощренный эффект, то повышаются шансы на
то, что он не выполняет массированных разрушений файловой системы.
Психологически, примитивный вандализм типа разрушения файлов или
форматирования диска, наверное, в большей степени присущ примитив-
ным личностям, страдающим комплексом неполноценности, но неспособ-
ным на конструктивную деятельность. Ведь давно замечено, что ло-
мать у не строить: хотя написание вируса в современных условия
нельзя называть конструктивной деятельностью, все же встроить в
вирус программу разрушения FAT значительно проще, чем программу
падения букв на экране дисплея


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:30 PM | Message # 40
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.10. Повторное заражение

Сожрали с аппетитом ядовитый порошок
Четыре неразлучных таракана и сверчок
Из популярной песни 60-х годов

Компьютерные вирусы бессмертны и могут неограниченное время
храниться в различного рода архивах. Даже полностью уничтоженные
вирусы могут сохраниться в каком-нибудь архивном файле и случайно
или умышленно реанимироваться через много месяцев или даже лет
после их первоначального обнаружения и уничтожения. Из этого сле-
дует важный вывод, что после первого обнаружения и уничтожения ви-
руса следует ожидать повторных заражений. Таким образом, после по-
явления определенного вируса необходимы специальные меры по пред-
отвращению повторных заражений. Здесь можно двигаться в двух на-
правлениях: во-первых, постараться найти первоисточник заражения,
и во-вторых, разработать или установить программы, затрудняющие
(сторожа) или делающие невозможным (вакцины) размножение вируса.
Опасность повторного заражения особенно велика, если дезинфекция
проведена наспех, без тщательной проверки всего объема используе-
мых программ и имеющихся архивов, а также если доступ к компьютеру
имеют случайные или неквалифицированные пользователи. Как уже от-
мечалось выше, особую опасность в этом смысле представляют собой
любители компьютерных игр.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:31 PM | Message # 41
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.11. Вирусофобия и попытки ее эксплуатации

Трусоват был Ваня бедный
А.С.Пушкин

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

самых примитивных (Я все сделал(а), а потом пришел вирус и все
уничтожил), до вполне квалифицированных.
Далеко не все повреждения файловой системы, отказы винчестера
или оборудования вызываются вирусами. Например, некоторые типы
винчестеров имеют довольно низкую надежность и сыпятся без вся-
кого вмешательства вирусов. Имеются компьютеры, которые можно
загрузить, только дав им прогреться в течении получаса. Автору
приходилось работать на дефектном венгерском дисководе ПЭВМ ЕС
1840, который не только фрезеровал дискеты, но и при записи иногда
стирал FAT. Причем восстановить поврежденный FAT при помощи изве-
стной утилиты Norton Disk Doctor не удавалось. Общеизвестно, что
многие отечественные компьютеры и без всяких вирусов регулярно за-
висают.
В то же время имеется тенденция атрибутировать любое повреждение
данных присутствием вируса. Это по сути один из вариантов мании
(вирусомания), которая подобно печально известной шпиономании
(шпионы под каждой кроватью) имеет социально-психологическую
этиологию. Первыми пользу из вирусомании научились извлекать
электронщики: если компьютер барахлит, а им лень разбираться, то в
ход пускается неотразимый аргумент: Это у вас какой-то вирус.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:31 PM | Message # 42
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.12. О возможности повреждения оборудования

компьютерными вирусами
То тарелками пугают...
В.Высоцкий

Одним из проявлений вирусофобии следует считать слухи о вирусах,
повреждающих оборудование. Вопрос о возможности повреждения обору-
дования автору задавали практически на каждой прочитанной им лек-
ции. Дейcтвительно, хотя большинство повреждений, наносимых виру-
сом, относятся к данным, возможны также повреждения оборудования.
Например, можно повредить участок люминофора (выжечь пятно) на
монохроматическом мониторе, используя особенности схемы управле-
ния. Однако для цветного монитора это сделать невозможно. Ходят
упорные слухи о каких-то коварных вирусах, якобы вводящих в резо-
нанс головки винчестера. К сожалению эти слухи проникают и в
околовирусные публикации [Основский90].
Такая мифотворческая тенденция наверно возникает в связи с лю-
бым малоизученным и потенциально опасным явлением. Следует учиты-
вать также благоприятный для такого рода слухов социальный фон:
сейчас в обществе оживился интерес ко всякого рода магии и чудо-
творцам. Некоторые из них ухитряются даже заговаривать воду по
телевизору. По сравнению с водой, заговоренной по телевизору, ви-
рус, прожигающий дыру в экране или даже в клавиатуре, выглядит
предельно правдоподобно. Более того, автор не видит причин, почему
многие из классических русских сказок нельзя было бы модернизиро-
вать, сделав одним из персонажей злой компьютерный вирус и соот-
ветствующим образом приспособив сюжетную канву. Со временем, когда
компьютеры появятся во многих семьях, такие сказки, возможно, бу-
дут интереснее ребенку, чем традиционные варианты с Бабой Ягой,
Кощеем Бессмертным и добрым молодцем.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:32 PM | Message # 43
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
2.13. Легенды о полезных вирусах

Как часто мы промахиваемся
еще при выборе цели!

Виктор Власов

Идея о том, что подобное излечивается подобным, распространен-
ная среди средневековых знахарей, периодически реанимируется при-
менительно к компьютерным вирусам. Она принимает несколько основ-
ных форм, которые мы разберем последовательно.
Первой по распространенности является идея создания вируса-за-
щитника у вирусоподобной программы защиты. Следует отметить, что
эта идея использования для борьбы c вирусом другого вируса носится
в воздухе с момента появления первых вирусов, т.е. примерно с 1984
года (см. главу 1). Исторически, первые фаги создавались именно
как вирусы, охотящиеся на тот или иной вирус. Ничего хорошего из
этого не получилось. Опыт показал, что распространение вируса-
охотника существенно медленнее, чем вируса, за которым охотятся, и
эффективность такой погони невелика.
Эта идея весьма неудачна и в других своих модификациях. Напри-
мер, часто предлагается вариант вируса-контролера, который при
заражении программы подсчитывает и запоминает ее контрольную сум-
му. Тогда при запуске зараженной программы вирус подсчитывал бы
контрольную сумму файла, из которого она была считана, и при
несовпадении сигнализировал бы о заражении. Вообще говоря, отсут-
ствие подобной проверки у это серьезный дефект MS DOS, и исправ-
лять его стоит именно на уровне операционной системы. Однако то-
тальное заражение вирусом-контролером неизбежно ведет к потере
работоспособности части программ. Кроме того, заражение всех про-
грамм таким контролирующим вирусом неизбежно приведет к увеличе-
нию размеров программ, причем заметному, поскольку каждой исполня-
емой программе придется сделать прививку. Если на диске 20M хра-
нится, скажем, 1000 программ и размер прививки составляет 1024
байта, то получается, что в среднем теряется мегабайт дискового
пространства. Реально, учитывая квантование дискового пространства
по кластерам, эти потери могут оказаться и больше, в особенности,
если на диске записано много программ, близких к размеру кластера.
Кроме того, процесс поиска очередной жертвы не так прост, и бу-
дет занимать некоторое время, замедляя загрузку программы. Поэтому
закрывать эту дыру предпочтительнее с помощью маленькой резиден-
тной программы, перехватывающей прерывание 21-4B. Возможно, пере-
хват следует выполнить сплайсингом, т.е. врезкой команды JMP в
оригинальный обработчик этой команды с тем, чтобы исключить воз-
можность того, что вирус предварительно перехватит 21 прерывание.
Кстати, перехватить 21 прерывание вирусу можно просто не дать, как
бы он не старался (на этой идее основаны сторожа CHECK21 и SBM у
см. прил.5). Получив управление, эта заплатка должна проверять
контрольную сумму. Для COM-файлов достаточно проверить первый
блок, а для EXE-файлов у заголовок и блок, куда передается управ-
ление. При этом для COM-файлов контрольную сумму можно хранить в
неиспользуемых байтах оглавления, а для EXE у в соответствующем
поле заголовка. Метод подсчета контрольной суммы должен быть пара-
метризуемым. Кстати, аналогичным способом можно закрыть другую
дыру в MS DOS, связанную с тем, что снятие атрибута READ ONLY не
требует подтверждения оператора. При этом можно предусмотреть воз-
можность отключения выдачи запроса с помощью специального, задава-
емого пользователем, пароля.
Другой идеей, связанной с поисками полезных применений компью-
терных вирусов, является автоматическое преобразование программы в
какую-то более приемлемую форму. Наиболее часто при этом предлага-
ется автоматическое сжатие программы. Действительно, имеется ряд
программ, выполняющих сжатие EXE-файлов, наиболее удачной среди
которых является LZEXE, которая обеспечивает экономию порядка 30%
на каждом EXE-файле при очень высокой скорости распаковки (практи-
чески не увеличивая время загрузки). Идее применить для этой цели
вирус уже более 15 лет и она высказывалась еще Ф.Коэном для обос-
нования своих работ. Теоретически здесь вроде бы все чисто. Ви-
рус, заражая программы, свертывает их с помощью какого-то метода,
а при запуске развертывает. Однако с практической точки зрения эта
идея не выдерживает никакой критики. Дело в том, что включаемый в
сжатые программы распаковщик должен иметь минимальную длину (600
байтов для LZEXE), что в случае вируса обеспечить невозможно. Бо-
лее правильным подходом к реализации идеи сжатия информации на
диске, если уж добиваться тотального ее осуществления, является
написание специального дискового драйвера, который во-первых, не
включается в сжатую программу, а во-вторых, может сжимать не толь-
ко исполняемые файлы, а и все файлы, помеченные определенным атри-
бутом. Кстати, такие драйверы были реализованы и успешно применя-
ются. Однако широкое их распространение сдерживает тот факт, что
достигаемый эффект составляет порядка 20%, т.е. невелик и не ком-
пенсирует все возникающие при этом сложности и неудобства. Есть
все основания предполагать, что для вируса сжатия общий эффект
будет отрицательным, поскольку на каждой программе вирус должен
экономить не менее 12-16К (размер одного кластера, скажем, 4К +
собственный размер вируса, который для этого довольно сложного ви-
руса вряд ли составит меньше 8К), что для программ, меньших 64K,
т.е. для всех COM-файлов, практически нереально. Кроме того, если
не прибегать к каким-то ухищрениям, то вирусу придется хранить в
сжатой программе и достаточно объемную программу упаковки, которая
там совершенно не нужна, но которую нельзя выкинуть, т.к. иначе
вирус теряет способность к размножению. Ну и наконец, поскольку
часть программ при сжатии теряет работоспособность, то неясно как
предохранить такие программы от заражения.
Конечно, не исключены и какие-то другие возможные приложения
полезного вируса, однако такая форма коммуникации программ дол-
жна учитываться уже при разработке операционной системы, а экспе-
риментирование должно быть ограничено лабораторными экспериментами
на новых операционных системах. Возможно, что вирусоподобные
программы окажутся полезными в каких-то узких областях системного
программирования. Нельзя бросаться в запретительство только по-
тому, что в MS DOS вирусы создают серьезные проблемы. В то же
время автор убежден, что безвредных вирусов для MS DOS, как и для
любой операционной системы, ориентированной на широкий круг поль-
зователей, принципиально не существует. По определению, процесс
размножения вируса неконтролируем (иначе это, строго говоря, не
вирус). Если операционная система широко используется, то она не-
избежно будет мигрировать с одного компьютера на другой, попадая
туда, где ее совсем не ждали. А возникающая в ряде организаций при
обнаружении нового вируса паника зачастую наносит больший ущерб,
чем сам вирус, парализуя работу на несколько дней. Как бы ни была
прививка тщательно написанной, неизбежно окажется, что она вызыва-
ет потерю работоспособности части программ, какие-то тонкие взаи-
модействия с другими резидентными программами. В общем, пользова-
телей ожидают приключения. А ведь лекарство не должно быть опас-
нее, чем болезнь.
Принципиальной проблемой любой реализации полезного вируса яв-
ляется его переносимость. В силу своей природы вирусы сильно зави-
сят от версии операционной системы у значительно больше, чем обыч-
ные программы. Опыт показал, если зараженная вирусом программа ра-
ботоспособна в версии 3.3, то это совсем не означает, что она ока-
жется работоспособной в версии 4.0 или даже в версии 3.3 с
нестандартным командным процессором. В особенности плохо дело об-
стоит с резидентными программами, которые часто после заражения
теряют работоспособность. А ведь развитие операционной системы мо-
жет продолжаться десятилетиями. Получается, что при получении но-
вой версии операционной системы все программы нужно срочно лечить,
затем доставать новый штамм и заражать повторно. В общем, вопросов
здесь явно больше, чем ответов.
И, наконец, последний аргумент в пользу ограничения эксперимен-
тов по созданию полезных вирусов специализированными операцион-
ными системами связан с тем, что по определению полезный вирус
будет распространяться свободно. Тем самым, доступность механизма
размножения (центральной части любого вируса), делает его обще-
доступной базой для совсем небезобидных экспериментов. В частнос-
ти, он легко может быть модифицирован злоумышленником в троянскую
программу, которая, скажем, защищая от некоторых вирусов, сама пе-
риодически стирает FAT.
Накопленный автором опыт изучения вирусов позволяет сделать вы-
вод о том, что в существующих вариантах любой вирус является опас-
ной программой, неизбежно вызывающей побочные эффекты. Последние
связаны либо с повреждением заражаемых программ, либо с нарушением
функционирования операционной системы. Если сравнивать переноси-
мость вирусов с переносимостью резидентных программ, то обычно ви-
русы в большей степени зависят от версии операционной системы. При
размножении в среде отличной от естественной (например, более
поздняя версия операционной системы или нестандартный командный
процессор) вирусы, как правило, вызывают дополнительные побочные
эффекты вплоть до зависания операционной системы. Учитывая выска-
занные доводы трудно не прийти к мнению о том, что безвредных
вирусов не существует, а эксперименты по их созданию для MS DOS
связаны со значительным риском выпустить джинна из бутылки.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:32 PM | Message # 44
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
3. КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ

Я никаким насекомым не радуюсь,
потому что я их боюсь,у призналась Алиса. у
т Но я могу вам сказать, как их зовут.
А они, конечно, идут, когда их зовут?
у небрежно заметил Комар.
Нет, кажется, не идут.
Тогда зачем же их звать, если они не идут?
Им это ни к чему, а нам все-таки нужно.
Иначе зачем вообще знать, как что называется
Льюис Керрол

Cерьезность и долговременный характер проблемы защиты от компью-
терных вирусов уже практически ни у кого не вызывают сомнений. По-
этому необходимо организовать оперативный обмен информацией по
данной проблеме и наладить взаимодействие работающих в этой обла-
сти специалистов. Это, в свою очередь, требует решения ряда подза-
дач, одной из которых является выработка стандартной классификации
компьютерных вирусов.
Стандартная классификация существенно облегчает накопление и
распространение знаний в любой области, и компьютерные вирусы не
являются исключением. Применительно к компьютерной вирусологии она
помогает решению такой важной задачи, как однозначное определение
типа обнаруженного вируса. При этом должен использоваться ограни-
ченный набор сравнительно простых и непротиворечивых признаков, не
требующих проведения глубокого анализа зараженных программ и эле-
ментов операционной системы. Существующие в настоящее время клас-
сификации, как правило, основаны на кличках у распространенных
среди программистов названиях, отражающих то или иное свойство ви-
руса. Анализируя имеющиеся неформальные названия, можно выявить
четыре основные тенденции их образования. Первая основана на ука-
зании места обнаружения или разработки вируса (Lehigh, Jerusalem,
Vienna, Alameda), вторая у на содержащихся в теле вируса текстовых
строках (Vacsina, Eddie, Dark Avenger, Disk Killer, sUMsDos),
третья у на вызываемом вирусом эффекте (Time Bomb, DOS-62,
Cascade, Black Fridaу) и наконец, четвертая у на длине тела вируса
или на приращении длины файла при заражении (524, 648, 1800, 2000
и т.д.). При этом один и тот же вирус может иметь множество
названий, и новое название, использованное разработчиком той или
иной антивирусной программы, далеко не всегда соответствует новому
вирусу.
Для широко известных вирусов перечень названий напоминает список
имен арабского шейха. Например, автор встречал более десяти назва-
ний вируса, обнаруженного в декабре 1987 года в Иерусалимском уни-
верситете (RСE-1813 по предлагаемой ниже классификации), среди ко-
торых три: Israeli virus (Израильский), Jerusalem (Иерусалим) и
PLO (ООП) у относятся к первому типу, два названия (sUMsDos и
sU) у ко второму типу, и, наконец, еще четыре: Black Hole (Черная
дыра), Black Friday (Черная пятница), Friday 13 (Тринадцатая пят-
ница) и Вирус замедления у к третьему типу (данный вирус выреза-
ет в левом углу экрана черную дыру, удаляет все запускаемые файлы
по пятницам, пришедшимся на 13 число и, кроме того, примерно через
20 мин. после запуска зараженной программы искусственно замедляет
работу компьютера в несколько сотен раз).
Конечно же, такое многообразие названий создает определенные за-
труднения, особенно если учитывать, что данный вирус имеет не-
сколько отличающихся по деталям функционирования штаммов. Поэтому
необходим какой-то выход из создавшейся ситуации. На определенном
этапе среди разработчиков антивирусных средств наблюдалась стихий-
ная тенденция к использованию в качестве основных названий, приме-
няемых известным зарубежным полидетектором SCAN (фирма McAfee
Associates, США); однако он, естественно, запаздывает с классифи-
кацией болгарских вирусов, не говоря уже о вирусах отечественного
изготовления. Поэтому набор обнаруживаемых им вирусов не соответ-
ствует советским условиям, а используемые строки для контекстного
поиска (сигнатуры) часто неудачны (например, дают много ложных
срабатываний). При этом для ранних версий SCAN неоднократно наблю-
дались случаи, когда наиболее актуальные для нас вирусы могут
классифицироваться неверно (как это было с подгруппой Vacsine
группы ТР-вирусов) или попадали в две группы сразу (например,
Vacsine и Yankee Doodle). В последнем случае создавалось ложное
впечатление о том, что файл заражен двумя вирусами сразу. Кроме
того, недавно появился другой достаточно мощный полидетектор
TNTVIRUS (фирма CARMEL Software Engineering), в котором в ряде
случаев используются другие названия. Не исключено, что будет тре-
тий, четвертый и т.д. Поэтому необходим какой-то менее субъектив-
ный и учитывающий нашу информационную изолированность (отсутствие
сетей, слабое развитие и низкое качество телефонной связи) подход.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:33 PM | Message # 45
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
3.1. Принцип построения классификации

По мнению автора, основным требованием к приемлемой для всех
классификации является ее объективность, т.е. классификация должна
основываться на фиксированном наборе непротиворечиво измеряемых
или наблюдаемых признаков. В идеальном случае эти признаки должны
быть выбраны так, чтобы, скажем, два разработчика антивирусных
средств, независимо работающих в Киеве и Москве, использовали одно
и то же название для одинаковых вирусов и разные названия для раз-
ных вирусов. Это обеспечивало бы быстрое выявление новых штаммов
вирусов и новых, еще не исследованных, разновидностей. Очевидно,
что объективная классификация существенно облегчает систематиза-
цию, распространение и накопление знаний, а также выбор программ-
ных средств для борьбы с тем или иным вирусом.
Однако важно не только наличие классификации как таковой, а и
принятие ее в качестве стандартной. Уже сейчас отсутствие стандар-
тной классификации приводит к ряду нежелательных эффектов. Во-пер-
вых, у разработчиков наблюдается тенденция по-своему называть об-
наруженный или сравнительно малораспространенный вирус, а в даль-
нейшем продолжать использовать собственное название (см., напри-
мер, документацию к полифагу Aidstest Д.Н.Лозинского). В результа-
те получается, что каждый разработчик антивирусных средств исполь-
зует в определенной степени свою уникальную классификацию. Поэтому
для пользователей, столкнувшихся с вирусом, необнаруживаемым тем
или иным детектором или полифагом, часто неясно, относится ли он к
какой-то разновидности (один основной тип вируса обычно представ-
лен рядом штаммов со сходными, но не идентичными свойствами) уже
известного вируса, что дает возможность в значительной степени
предсказать его свойства, или это совершенно новый, еще не иссле-
дованный, вирус. Во-вторых, у самих пользователей наблюдается тен-
денция аппроксимировать общее количество вирусов общим количеством
названий, используемых в имеющемся у них наборе средств защиты и
прежде всего программ-фагов (т.е. программ, выкусывающих тело
вируса из зараженной программы, там самым восстанавливая ее в ра-
ботоспособном и близком к первоначальному состоянии). Такая апп-
роксимация приводит к существенной переоценке общего количества
имеющихся компьютерных вирусов, однако человек быстро рационали-
зирует этот факт путем разбиения одного реального вируса на не-
сколько виртуальных, приписывая каждому свой набор признаков.
Так, автору приходилось сталкиваться с самодельной классифика-
цией, в которую вирусы С-648 и RСE-1813 входили в двух ипостасях
каждый, причем второй ипостаси вируса С-648 приписывались черты
вируса RСE-1813 (замедление работы компьютера).
В процессе чтения лекций и проведения семинаров по данной про-
блеме автором была выработана схема классификации, включающая три
основных элемента: код вируса (несколько напоминающий схему клас-
сификации транзисторов); дескриптор вируса (формализованный список
основных свойств); сигнатуру вируса (строка для контекстного по-
иска данного вируса в зараженной программе).
Классификационный код вируса. В предлагаемой схеме каждому виру-
су присваивается код, состоящий из буквенного префикса,
количественной характеристики и факультативного буквенного суффик-
са. Например, в коде RCE-1813c RСE у префикс, 1813 у корень (ха-
рактеристика), а c у суффикс.
Главным требованием к классификационному коду вируса является
возможность определения большинства входящих в него свойств на не-
зараженном компьютере. Выполнение каких-либо действий по исследо-
ванию вируса на зараженном компьютере является наиболее распрост-
раненной и одновременно наиболее грубой ошибкой, которую допускают
неопытные пользователи. Следует подчеркнуть, что любые действия на
компьютере, зараженном неизвестным вирусом, сопряжены с определен-
ным риском вызвать срабатывание троянской компоненты вируса. Кроме
того, резидентный вирус с целью маскировки может перехватывать за-
просы и искажать выдаваемую информацию. В настоящий момент изве-
стен ряд вирусов, обладающих указанным свойством. Например, группа
файловых вирусов, известная под названием TP-вирусов, начиная с
вируса TP-34 (члены этой группы имеют номера, хранящиеся в пред-
последнем байте вируса в 16-ричном виде) обладает интересным свой-
ством: при попытке трассировать зараженную программу резидентный
вирус выполняет выкусывание вируса из программы, подсовывая
отладчику уже излеченную программу. Аналогично бутовые вирусы,
входящие в группу пакистанских (Brain, Ashar), при попытке про-
смотреть бутсектор на зараженном компьютере подсовывают пользо-
вателю оригинальный бутсектор, сохраненный вирусом в одном из сек-
торов, помеченных как дефектный (и, тем самым, исключенным из рас-
пределения под файлы).
Префикс характеризует место расположения головы вируса и состоит
из букв и цифр, начинаясь с прописной буквы. В соответствии с этим
будем различать следующие типы вирусов (будем рассматривать только
реально существующие типы, а не все принципиально возможные):
1) файловые (голова вируса располагается в COM-, EXE-файлах и
оверлеях у символы С, Е в префиксе. При этом дополнительную букву,
отражающую заражение оверлеев в префикс вводить не будем, чтобы
избежать его переусложнения, а вынесем в дескриптор);
2) бутовые (голова вируса располагается в бутсекторе или блоке
MBR у символы B,D или M в префиксе);
3) пакетные (голова вируса расположена в пакетном файле, т.е.
представляет собой строку или программу на языке управления зада-
ниями операционной системы у префикс J). Отметим, что наряду с чи-
стыми вирусами, использующими одну среду, в настоящее время появи-
лись гибридные у сочетающие свойства файловых и бутовых вирусов.
Характеристика вируса представляет собой количественно измеряе-
мое свойство вируса, допускающее простое определение и отличающее-
ся для большинства типов вирусов. Например, для файловых вирусов в
качестве характеристики может использоваться величина приращения
длины файлов при заражении, хотя здесь имеются определенные труд-
ности.
Суффикс используется, когда два разных вируса или два штамма од-
ного и того же вируса имеют одинаковый префикс и характеристику. В
этом случае для того, чтобы получить уникальные коды, будем ис-
пользовать в качестве суффикса латинскую букву. Например, в коде
RС-1704f буква f означает штамм-f.
Дескриптор вируса. Конечно, предложенный код вируса не охватыва-
ет, да и не может охватывать основные свойства вируса. В то же
время систематизация свойств вирусов представляет значительный ин-
терес как для разработчиков антивирусных программ, так и их поль-
зователей, поскольку позволяет интегрировать разнородные факты,
относящиеся к поведению того или иного вируса в систему, тем самым
облегчая их запоминание и сопоставление. Поэтому автором в каче-
стве второго элемента классификации предлагается так называемый
дескриптор.
Дескриптор представляет собой систематизацию основных характери-
стик вируса в закодированном виде. Кодировка состоит из групп сим-
волов, начинающихся с заглавной латинской буквы, за которой следу-
ют строчные латинские буквы или цифры. При этом заглавная латин-
ская буква определяет вид характеристики, а следующие за ней ма-
ленькие буквы или цифры у значение характеристики для конкретного
вируса. Например, в дескрипторе Хab Yc Zdmt имеются три свойст-
ва: Х у со значением аb, Y у со значением c, и Z у со значе-
нием dmt.
Сигнатура вируса. Поскольку подавляющее большинство известных в
настоящее время вирусов допускают детектирование с помощью контек-
стного поиска, одной из важных задач классификации является со-
ставление списка строк для контекстного поиска (сигнатур). Знание
сигнатур позволяет проверять поступающее программное обеспечение
на их наличие, тем самым существенно повышая степень защищенности
ЭВМ. Стандартизация сигнатур особенно важна, когда вирус имеет
много штаммов, поскольку формальные схемы, подобные описанным выше
классификационному коду и дескриптору, обладают тем недостатком,
что некоторые штаммы будут неразличимы в заданном пространстве
признаков. В то же время сравнительно легко обеспечить уникаль-
ность сигнатуры, по крайней мере вирусов, известных в СССР, хотя
возможно создание вируса не имеющего ни одной сигнатуры, т.е. ко-
торый нельзя найти с помощью контекстного поиска.
Хотя в дальнейшем в качестве сигнатур используются только тек-
стовые строки, для них применимы и регулярные выражения. Последние
существенно устойчивее к некоторым мутациям и, кроме того, при
меньшей длине обеспечивают лучшее качество распознавания (меньшее
количество ложных срабатываний). Все это делает их предпочтитель-
нее простых текстовых строк. Версию приводимых ниже таблиц с сиг-
натурами из регулярных выражений автор надеется опубликовать не-
сколько позднее.
Очевидно, что сигнатура, соответствующая участку, содержащему
команды, надежнее сигнатуры участка, содержащего данные, например,
текстовые строки (последние могут быть модифицированы). Поэтому
выбор сигнатуры целесообразно выполнять на основе анализа дизас-
семблированного кода вируса. Длина сигнатуры не должна быть слиш-
ком большой, поскольку длинную сигнатуру труднее правильно набить
вручную. В то же время при недостаточной длине или выборе нехарак-
терных участков кода сигнатура будет вызывать много ложных сраба-
тываний, что весьма нежелательно. Правильная сигнатура не должна
содержаться ни в одной из наиболее распространенных в MS DOS сис-
темных программ, включая, конечно, сами компоненты MS DOS. Таким
образом, для выбора отвечающей указанным требованиям сигнатуры не-
обходим ряд экспериментов, а сами сигнатуры могут являться предме-
том сравнения и анализа.
В настоящее время имеется ряд программ, обеспечивающих детекти-
рование вирусов путем поиска в файлах соответствующих строк и ис-
пользуемые в них сигнатуры естественно принять за основу. Наи-
большую ценность представляют строки, используемые в известном за-
рубежном детекторе SCAN фирмы McAfee Associates (США), поскольку
новые версии этого детектора появляются регулярно и охватывают
практически все вирусы, появляющиеся за рубежом. Из других зару-
бежных детекторов следует отметить VIRSCAN фирмы IBM и TNTVIRUS
фирмы CARMEL (Израиль). Для определенности назовем строку, исполь-
зуемую SCAN, М-сигнатурой, строку, используемую VIRSCAN, у I-сиг-
натурой, а строку, используемую TNTVIRUS, у С-сигнатурой. В то же
время необходимо отметить, что сигнатуры для ряда вирусов, распро-
страняющихся в нашей стране, таких как RCE-1600 (Voronez у Воро-
неж), C-1024 (Bebe у Бебе) и др. в существующих версиях этих про-
грамм отсутствуют, а сигнатуры для болгарских вирусов часто неу-
дачны. В таких случаях в статье используются выбранные автором
сигнатуры, которые обозначены буквой B (B-сигнатуры) или так назы-
ваемые J-сигнатуры. Последние представляют собой начальные байты
кода вируса (т.е. первые исполняемые команды тела вируса). Опыт
показывает, что они достаточно специфичны и в большинстве случаев
позволяют отличать один вирус от другого. При этом для файловых
вирусов, дописывающих свое тело в конец файла, будем считать, что
J-сигнатура начинается с байта, на который передает управление ко-
манда JMP. Кроме того, в теле некоторых вирусов встречаются харак-
терные текстовые строки. Такие строки будем называть T-сигнатурами
и использовать как вспомогательные.
Следует отметить, что контекстный поиск может использоваться не
только для поиска зараженных вирусом программ, но и для поиска
программ и файлов, уничтоженных или поврежденных вирусом. Напри-
мер, вирус С-648 при определенных значениях таймера вместо зараже-
ния программы уничтожает ее, записывая в первые 5 байтов строку,
соответствующую переходу на подпрограмму перезагрузки BIOS. Для
поиска уничтоженных вирусом программ можно использовать строку
EAF0FF00F0. Аналогично вирус RCE-1800 уничтожает сектора на вин-
честере, записывая в первые байты сообщение Eddie livesт
somewhere in time. По этому сообщению с помощью Norton Utilities
или PC Tools можно выявить все пораженные сектора и определить, к
каким файлам они относятся.
При наличии сигнатуры проверку зараженности файлов вирусом дан-
ного типа удобно выполнять, используя специальные программы, из
которых, по мнению автора, наиболее удачной является программа VL
(см. прил.5), позволяющая проводить поиск в каталоге или заданных
его ветвях. В случае обнаружения зараженных программ целесообразно
дополнительно проконтролировать результаты с помощью Norton
Utilities (NU) или PCTools, которые всегда под рукой (для просмот-
ра всех файлов можно использовать режим глобального поиска по дис-
ку).


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:34 PM | Message # 46
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
3.2. Классификация файловых вирусов

Файловые вирусы являются наиболее распространенным типом компью-
терных вирусов; они составляют примерно 80% от общего числа компь-
ютерных вирусов, известных для компьютеров, совместимых с IBM PC.
Этот класс компьютерных вирусов обладает весьма высокой инфицирую-
щей способностью. При отсутствии противодействия они вызывают на-
стоящие эпидемии. Так, например, произошло с вирусом RCE-1813, из-
вестным также под названиями Jerusalem (Иерусалим), Black Friday
(Черная пятница) и др. Классификационная таблица файловых вирусов,
обнаруженных в СССР, приведена в прил.1.
Группы файловых вирусов. Большинство распространенныx файловыx
вирусoв имеют штаммы, незначительно отличающиеся от базовой вер-
сии. Поэтому можно говорить о группах файловых вирусов и, соответ-
ственно, групповых дескрипторах и групповых сигнатурах. В настоя-
щее время можно выделить следующие группы файловых вирусов.
1) Венская группа. Первым представителем этой группы был вирус
С-648, обнаруженный в Вене примерно в 1987 г. Его дизассемблиро-
ванный код был опубликован и распространялся в виде файла на дис-
кетах с соответствующими антивирусными программами, поэтому попыт-
ки его модификации наиболее многочисленны.

2) Группа CASCADE. Первым представителем этой группы был вирус
RС-1701, обнаруженный примерно в середине 1988 г.
3) Иерусалимская группа. Первым представителем этой группы был
вирус RCE-1813, обнаруженный в Иерусалимском университете в конце
1987 г. Данная группа имеет значительное число штаммов (более де-
сятка).
4) Группа TP-вирусов (эти вирусы, вероятно, разработаны в Болга-
рии; большинство представителей этой группы имеют характерный
хвост длиной четыре байта, в котором за двумя первыми байтами
(F4FAh) следует байт с 16-ричным значением версии вируса (как уже
указывалось, этот байт является предпоследним байтом в зараженной
программе). В свою очередь, эта группа разбивается на три подгруп-
пы у VACSINE (TP-4, TP-5, TP-16), музыкальной перезагрузки
(TP-24, TP-25) и самоедов (TP-34 и старше). Две последние под-
группы часто называют Yankee Doodlе (Янки дудль), поскольку они
при определенных условиях проигрывают мелодию Yankee Doodlе Dandy.
Данная группа имеет наибольшее количество штаммов у порядка двух
десятков (не все номера версий соответствуют реальным вирусам).
5) Группа Avenger. Представители этой группы обладают более вы-
сокой инфицирующей способностью по сравнению с предыдущими
группами, поскольку заражают файлы не только при выполнении, но и
при открытии и чтении. Один из представителей этой группы периоди-
чески уничтожает сектора на винчестере, записывая в них текстовое
сообщение.
6) Голландская группа (Datacrime). Представители этой группы ак-
тивизируются 12 октября текущего года и уничтожают первые 8 секто-
ров логических дисков A, B, C и D.
7) Исландская группа (Icelandic).
Следует отметить, что две из упомянутых выше групп вирусов пока,
по-видимому, не попали в нашу страну (группа Datacrime и исланд-
ская группа). Кроме того, в настоящее время на базе некоторых ви-
русов начинают образовываться новые группы. Фактически это проис-
ходит с каждым вирусом, получившим значительное распространение.
Классификационный код файлового вируса. Как уже указывалось,
файловые вирусы можно разделить на резидентные и нерезидентные,
что во многом определяет поведение вируса и, прежде всего, его ин-
фицирующую способность (резидентные вирусы обладают существенно
более высокой инфицирующей способностью, чем нерезидентные). Поэ-
тому код резидентных вирусов будем начинать с префикса R, например
RC-1701.
Префикс. Помимо символа R, классификационный код файлового виру-
са может включать символы С и Е или их сочетания. Как уже указыва-
лось, символы С и E определяют типы файлов, заражаемых данным ви-
русом. Например, если резидентный вирус заражает COM- и EXE-
файлы, то его классификационный код будет иметь префикс RCE.
Количественная характеристика. К непосредственно наблюдаемым
объективным свойствам файловых вирусов прежде всего относится при-
ращение длины файлов при заражении. Это приращение, обусловленное
наличием вируса, можно использовать для определения его типа.
Здесь есть две основные проблемы. Во-первых, величина приращения
может варьироваться в зависимости от длины заражаемого файла (мно-
гие вирусы при дописывании своего кода в конец заражаемого файла
выравнивают свое тело на ближайший адрес, кратный 16, т.е. на гра-
ницу параграфа). Во-вторых, величина приращения может не совпадать
для COM-файлов и EXE-файлов. Поэтому в качестве количественной ха-
рактеристики необходимо использовать нормированное приращение, оп-
ределяемое по следующим правилам.
1) Для вирусов с префиксом С и CE (RC, RCE) характеристика клас-
сификационного кода принимается равной минимальному приращению
длины зараженного COM (для вирусов типа С и CE) или EXE (для виру-
сов типа Е) файла.
2) Для вирусов, не изменяющих длины файла, указывается ноль, а
через тире действительная длина тела вируса, например RC-0-346.
3) Для вирусов, маскирующих увеличение длины файла на зараженной
машине к характеристике, определенной по правилам п.1, слева до-
бавляется незначащий ноль (например, RCE-02000).
Отметим, что предложенный в п.1 подход позволяет исключить влия-
ние выравнивания на границу параграфа для вирусов, выравнивающих
свое тело указанным способом. Кроме того, для вирусов, изменяющих
приращение случайным образом, например, путем подгонки его до ве-
личины, кратной 51, минимальное приращение также позволяет исклю-
чить влияние вставляемых байтов (этот случай можно рассматривать
как разновидность выравнивания). И наконец, для вирусов, много-
кратно заражающих один и тот же файл, использование минимального
приращения позволяет исключить влияние многократного заражения.
Для определения указанной характеристики не требуется проведение
экспериментов по заражению файлов с такой длиной. Ее достаточно
просто определить, сопоставив приращения длин двух или более зара-
женных файлов типа COM. Чаще всего файловые вирусы заражают коман-
дный процессор MS DOS (файл COMMAND.COM) и программы, вызываемые в
файле AUTOEXEC.BAT. При анализе нескольких зараженных файлов воз-
можны два наиболее типичных (хотя и не единственно возможных) слу-
чая.
Если приращения длин двух или более зараженных файлов совпадают,
а остатки от деления длин исходных файлов на 16 отличны друг от
друга, то скорее всего вирус не выполняет выравнивание своего кода
на границу параграфа и полученное приращение является характери-
стикой данного вируса. Если приращения отличны, то скорее всего
вирус выполняет выравнивание своего тела на границу параграфа, и
характеристику L данного вируса можно получить по формуле L = D у
(16уmod(LEN,16)), т.е. путем вычитания из полученного приращения
(D) дополнения (до 16) остатка от деления исходной длины файла на
16. Например, файл COMMAND.COM, который файловые вирусы обычно по-
ражают в числе первых, в наиболее распространенной в настоящее
время версии MS DOS 3.3 обычно имеет длину 25307. При этом
mod(25307,16)=11, т.е. остаток от деления 25307 на 16 равен 11 .
Очевидно, что дополнение до 16 равно 5 и для выравнивания на гра-
ницу параграфа требуется вставка пяти дополнительных байт. В этом
случае характеристика вируса будет на 5 меньше, чем приращение
длины файла COMMAND.COM. Достоинством принятого подхода является
то, что, за редким исключением (например, вирус RCE-1813), опреде-
ленная таким образом числовая характеристика совпадает с длиной
кода вируса.
В качестве количественной характеристики классификационного кода
могут применяться и другие параметры. На них стоит кратко остано-
виться, поскольку использованные в них подходы будут безусловно
открываться и переоткрываться другими авторами. По-видимому, наи-
более распространенными можно считать следующие два подхода.
1) Использование в качестве количественной характеристики длины
кода вируса, определенной по константе, содержащейся во фрагменте,
который обеспечивает дописывание кода вируса в заражаемый файл
(эту константу можно сравнительно легко определить, анализируя ди-
зассемблированный код вируса). Такая характеристика является объ-
ективной, поэтому ее часто используют разработчики антивирусных
программ, достаточно хорошо владеющие языком ассемблера. Однако
определенная таким образом характеристика в ряде случаев не совпа-
дает с наблюдаемым значением приращения длин файлов, что снижает
ее ценность с точки зрения использования при попытке классификации
пользователем, не владеющим языком ассемблера, нового, еще неизве-
стного ему вируса. Hапример, для упомянутого выше иерусалимского
вируса длина кода вируса составляет 1808 байт, а приращение длины
при заражении файлов типа СОМ у 1813 байтов, что объясняется до-
полнительным дописыванием в конец зараженного файла типа COM пяти-
байтовой константы MsDos (используется как признак зараженности
файла).

2) Использование в качестве количественной характеристики прира-
щения длины какого-то конкретного файла, полученного в результате
его заражения. В ранних редакциях данной работы автор использовал
этот подход, причем в качестве эталонного был выбран файл
COMMAND.COM версии 3.3 MS DOS. Этот действительно удобный подход
утратил свою привлекательность с появлением ряда вирусов, не
заражающих командный процессор, а также распространением версии
4.0 MS DOS, в которой длина файла COMMAND.COM составляет 37637.
Суффикс. Возможны случаи, когда два разных вируса или два штамма
одного и того же вируса имеют одинаковые префикс и характеристику.
В этом случае, для того, чтобы получить уникальные классификацион-
ные коды вирусов будем использовать в качестве суффикса одну бук-
ву. Например, в коде RС-1704f буква f означает штамм-f. При этом
буква G резервируется за так называемыми группами вирусов о ко-
торых сказано выше.
Дескриптор файлового вируса. Используемые характеристики вирусов
приведены в прил.1. Для файловых вирусов, неизвестных в СССР
(прил.3), информация комбинировалась из различных источников и
возможно содержит ошибки.
Сигнатура файлового вируса. Как уже указывалось, для сигнатур
целесообразно использовать шестнадцатиричные строки, соответствую-
щие характерным последовательностям команд в теле вируса. Располо-
жение сигнатур в прил.1 подчиняется правилу: если сигнатура M вхо-
дит в сигнатуру V, то она приводится после сигнатуры V. Как уже
указывалось в предыдущей части, сигнатуры T существуют не для всех
файловых вирусов. Одной из наиболее удобных сигнатур для файловых
вирусов являются J-сигнатуры. Их можно очень быстро определить с
помощью любого отладчика (DEBUG, Turbo Debugger, AFD и т.д.).
Пользователи, не умеющие работать с отладчиками, могут использо-
вать для определения J-сигнатур программу, входящую в пакет VL
(см. прил.5).
Следует отметить, что контекстный поиск можно использовать не
только для поиска зараженных вирусом программ, но и для поиска
программ и файлов, уничтоженных или поврежденных вирусом. Напри-
мер, вирус С-648 при определенных значениях таймера вместо зараже-
ния программы уничтожает ее, записывая в первые 5 байтов строку,
соответствующую переходу на подпрограмму перезагрузки BIOS. Для
поиска уничтоженных вирусом программ можно использовать строку
EAF0FF00F0. Аналогично вирус RCE-1800 уничтожает сектора на вин-
честере, записывая в первые байты сообщение Eddie lives ...
somewhere in time. По этому сообщению с помощью Norton Utilities
или PC Tools можно выявить все пораженные сектора и определить, к
каким файлам они относятся.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:34 PM | Message # 47
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
3.3. Классификация бутовых вирусов

Как и для файловых вирусов, будем выделять группы бутовых виру-
сов, а для каждого отдельного вируса у классификационный код, де-
скриптор и сигнатуры.
Группы бутовых вирусов. Большинство распространенныx бутовых ви-
русoв имеют штаммы, которые можно объединить в группы. В настоящее
время можно выделить следующие группы бутовых вирусов:
1) итальянская (первым представителем вирусов этой группы был
вирус, Bx1-1C, появившийся примерно в конце 1987 г.);
2) пакистанская (в нее входят вирусы Brain, Ashar; первым пред-
ставителем этой группы был вирус Dx3-E9 (Brain-86), разработанный
в 1986 г. в Лахоре (Пакистан));
3) новозеландская (родоначальником которой был вирус M-05 у
Stoned);
4) индийская (включающая большую группу вирусов, из которых в
СССР обнаружен один у Joshy).
Классификационный код бутового вируса состоит из префикса и
количественной характеристики.
Префикс. Поскольку все бутовые вирусы являются резидентными, ис-
пользование символа R в префиксе их классификационного кода неце-
лесообразно. Наиболее важным свойством бутовых вирусов, сопостави-
мым по значению с резидентностью файловых вирусов, является
спосoбность некоторых бутовых вирусов сохраняться в памяти после
мягкой пeрезагрузки путем нажатия последовательности клавиш
Ctrl-Alt-Del. Это свойство мы будем обозначать буквой W (survive
Warm reboot) в префиксе. Все бутовые вирусы заражают дискеты, од-
нако некоторые из них заражают винчестер, а другие нет. Вирусы,
инфицирующие только дискеты (Brain, Den Zuk) будем обозначать пре-
фиксом D.
При заражении бутсектора возможны два случая: заражение бутсек-
тора раздела С винчестера (префикс cool и заражение MBR у исполняе-
мой части таблицы разделов (префикс M). Поскольку одним из наибо-
лее распространенных случаев расположения хвоста бутового вируса
является его расположение в псевдосбойных кластерах (что легко оп-
ределить, просмотрев их содержимое с помощью Norton Utilities), то
для таких вирусов в суффикс будем включать букву х, за которой
следует количество этих кластеров, например Bx1.
Количественная характеристика бутового вируса. Выбор количест-
венной характеристики для бутовых вирусов имеет определенную спе-
цифику: если для файловых вирусов наиболее характерным признаком
заражения является увеличение длины файла, то для бутовых вирусов
аналогичную роль играет уменьшение размеров оперативной памяти,
доступной для MS DOS. Однако, как указывалось выше, важным требо-
ванием к выбору свойств вируса, используемых для классификации,
является возможность их определения на незараженной машине. Объем
оперативной памяти, сообщаемый MS DOS, этому критерию не отвечает.
Количество блоков памяти, используемых бутовым вирусом, этому кри-
терию не отвечает, поэтому от этой характеристики пришлось отка-
заться. Было решено использовать другую доступную для обозрения
характеристику бутового вируса у содержимое зараженного бутсектора
(точнее первых его байтов). Вместе с тем, анализ объема памяти,
сообщаемого MS DOS, является очень полезным диагностическим при-
емом, и при подозрении на заражение тем или иным вирусом, вызов
программы CHKDSK, сообщающей это значение (а также ряд других по-
лезных сведений, включая объем памяти, занятый на диске сбойными
кластерами), целесообразно вставлять в файл AUTOEXEC.BAT.
В качестве характеристики выбрано значение второго байта зара-
женного бутсектора, поскольку его содержимое различно для извест-
ных автору бутовых вирусов. В то же время содержимое этого байта
записывается в 16-ричной системе счисления, что создает определен-
ную несогласованность с характеристикой файловых вирусов, являю-
щейся десятичным числом. Именно поэтому в предлагаемом варианте
классификационного кода вируса прeфикс и характеристика разделяют-
ся знаком - (минус).
Следует еще раз подчеркнуть, что просматривать содержимое бут-
сектора следует только предварительно загрузившись с защищенной от
записи резервной дискеты с операционной системой и требуемыми ан-
тивирусными программами, поскольку сама операция просмотра на за-
раженной машине может либо перехватываться вирусом для подстановки
чистого бутсектора (так, например, маскируется вирус Brain), ли-
бо, что еще хуже, служить триггером для каких-то несанкционирован-
ных действий. Следует использовать так называемую холодную пере-
загрузку (с помощью клавиши RESET, если она есть, или путем выклю-
чения питания, если ее нет), а не теплую перезагрузку (нажатием
клавиш CTRL-ALT-DEL). Это требование основано на том факте, что
ряд бутовых вирусов перехватывает прерывание от клавиатуры и при
теплой перезагрузке MS DOS сохраняет себя в памяти, даже если
перезагрузка идет с защищенной системной дискеты.

Дескриптор бутового вируса. Структура дескриптора бутового виру-
са приведена в прил.2.
Сигнатура бутового вируса. Для бутовых вирусов сигнатуры M, I и
B будут использоваться аналогично тому, как это было для файловых
вирусов, а J-сигнатура у в несколько измененном виде. В отличие от
J-сигнатуры для файловых вирусов, в которой байты, соответствовав-
шие команде перехода, не учитывались, здесь они будут учитываться.
Это связано с тем, что первой командой бутсектора всегда является
команда обхода таблицы параметров диска (см. прил.6), размер кото-
рой, в отличие от размера заражаемого файла, не меняется. Поэтому
для бутовых вирусов мы преимущественно будем использовать J-сигна-
туру, состоящую из первых трех байтов бутсектора и лишь при необ-
ходимости дополнять ее, начиная с байта, на который выполняется
команда перехода.
Для незараженного бутсектора MS DOS версии 3.3 J-сигнатура равна
EB3490h (объектный код команды JMP, служащий для обхода таблицы
параметров). Ценность этой эталонной J-сигнатуры состоит в том,
что она легко запоминается. Поэтому несовпадение первых трех бай-
тов анализируемого бутсектора с указанной эталонной J-сигнатурой
свидетельствует о зараженности бутсектора (отметим, что совпадение
еще ни о чем не говорит). В прил.2 приведены краткие сведения о
бутовых вирусах, обнаруженных в СССР.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:35 PM | Message # 48
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
3.4. Использование классификационных таблиц

в качестве части документации
к антивирусным программам
В заключение отметим, что предлагаемая классификация является,
по существу, одной из первых попыток стандартизации, поэтому она,
конечно, не лишена недостатков, и естественно, должна совершенст-
воваться. В то же время любой классификации присущи те или иные
недостатки и ожидание идеальной классификации глубоко ошибочно.
Здесь, как и в большинстве областей программирования (например, в
языках высокого уровня), пожалуй, важнее во-время сделать ставку
на какой-то более или менее приемлемый вариант, чем самому тратить
время и силы на разработку более удачной альтернативы.
Поэтому разработчикам антивирусных программ имеет смысл исполь-
зовать описанную классификацию при подготовке документации и выда-
че диагностических сообщений, даже имея некоторые возражения к
принятому подходу. Поскольку автор регулярно обновляет приведенные
таблицы вирусов, основанные на предложенной классификации, их ис-
пользование в качестве части документации к распространяемым анти-
вирусным программам не только повысит полноту и качество послед-
ней, но и сэкономит время на последующую корректировку, которая
может быть выполнена просто путем замены предыдущей редакции таб-
лиц на текущую.
Использование в антивирусных программах кода и дескриптора
вируса упрощает программирование ряда компонент и создает
некоторые нетривиальные возможности. В простейшем случае
дескриптор вируса можно рассматривать как способ упаковки файла
оперативной подсказки сведений о найденном вирусе. При выдачи
информации о вирусе по клавише HELP (F1) содержащуюся в нем
достаточно подробную информацию можно развернуть до практически
полного описания найденного вируса путем замены значения каждого
из полей дескриптора на соответствующие ему стандартные фразы на
русском или английском языке. В этом случае, вместо двух-трех
малоинформативных фраз, выдаваемых на экран в виде оперативной
подсказки (по принципу получи и отвяжись), пользователь получает
действительно полезную информацию.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:36 PM | Message # 49
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4. НЕРЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР

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

4.1. Венская группа

Венская группа берет свое начало с вируса С-648. Для данной
группы характерен механизм поиска зараженных файлов, который вы-
полняется во всех каталогах, сцепленных командой PATH, и использо-
вание поля секунд для отметки зараженных файлов. В настоящее время
включает три штамма, наиболее распространенным из которых является
исторически первый у С-648. Указанные штаммы отличаются по методу
включения троянской компоненты, которая вызывает уничтожение COM-
файлов путем перехода на подпрограмму перезагрузки операционной
системы. Большинство штаммов используют для этой цели текущее зна-
чение таймера (см.ниже), однако некоторые (которыми мы не распо-
лагаем) у значение даты создания файла. Наиболее распространены
штаммы с длинами 648, 623, 627 байтов.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:36 PM | Message # 50
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.1.1. Базисный вирус С-648 (Vienna у Вена)

Название вируса С-648 связано с тем, что после запуска заражен-
ной программы вирус активируется и ищет файл-жертву. Если файл-
жертва был найден в определенный момент времени (среди последних
трех битов 16-ричного представления секунд нет ни одной единицы),
то вместо заражения программы, содержащейся в этом файле, С-648
вставляет в начало этой программы команды перехода на подпрограмму
теплого рестарта, делая тем самым программу в соответствующем
СОМ-файле неработоспособной. Убитые вирусом программы не могут
быть восстановлены без наличия информации о начале программы, а
зараженные могут излечиваться с помощью соответствующего фага.
Формально вирус С-648 у файловый нерезидентный вирус, поражающий
файлы типа СОМ. Функционирует на версиях MS DOS, начиная с 2.0.
Стратегия заражения у поиск файла с расширением СOM в каталогах,
сцепленных в PATH. Заражение СOMMAND.COM выполняется так же, как и
заражение любого другого COM-файла: никаких механизмов по поиску
размещения командного процессора вирус не содержит. При заражении
он дописывается в конец программы и одновременно вставляет в пер-
вые три байта COM-файла команду перехода на тело вируса. При этом
размер файла увеличивается на 648 байтов, дата создания файла и
атрибуты файла не меняются. Заражение выполняется однократно. Ми-
нимальный размер заражаемых файлов у 10 байтов (0Ah), максималь-
ный у (FA00h). Поскольку вирус определяет тип файла только по рас-
ширению, заражение EXE-файлов с расширением COM выполняется непра-
вильно. Это приводит к потере работоспособности зараженных файлов
указанного типа: их запуск обычно ведет к зависанию системы. После
обработки такой программы фагом работоспособность восстанавливает-
ся.

Для отличения зараженных файлов от незараженных используются
младшие четыре бита времени создания файла (для зараженных файлов
они все устанавливаются в единицу, что соответствует несуществую-
щему количеству секунд у 62 с.). Следует отметить, что как команда
DIR, так и распространенные оболочки типа Norton Commander не по-
казывают поле секунд, выдавая содержимое каталога на экран. Поэто-
му это изменение достаточно хорошо скрыто от пользователя.
При запуске инфицированной программы управление сначала получает
сам вирус. Получив управление, вирус устанавливает свою область
передачи данных, осуществляет поиск файлов типа COM на всех дисках
и во всех каталогах, сцепленных с помощью команды PATH. При нахож-
дении такого файла вирус прежде всего проверяет его время созда-
ния, по которому определяет, заражен уже этот файл или нет. Если
файл отмечен как незараженный и его длина больше десяти байтов, то
он рассматривается как потенциальная жертва и вирус приступает к
его заражению. При этом вирус не проверяет, не является ли файл на
самом деле файлом типа EXE (начинающимся с MZ), ошибочно или на-
меренно замаскированным под файл типа COM. Указанные файлы в
случае заражения уничтожаются.
Следует отметить, что защита файлов атрибутами READ ONLY и
HIDDEN в MS DOS недостаточно эффективна, поскольку вирус легко из-
меняет эти атрибуты. Сначала вирус запоминает атрибуты, дату и
время создания заражаемого файла. Затем сбрасывает атрибут READ
ONLY, если он был установлен, открывает файл на запись и считывает
текущее время. Если выданное по прерыванию 21-2С содержимое реги-
стра DH содержит в последних трех битах нули (т.е. системные часы
показывают 0, 8, 16, 24, 32, 40, 48 или 56 с.), то вирус предпри-
нимает попытку уничтожения потенциальной жертвы. Иначе выполня-
ется попытка заражения. Другими словами, приблизительно в 12% по-
раженных вирусом программ уничтожены первые пять байтов.
Уничтожение выполняется путем записи в первые пять байтов коман-
ды перехода на подпрограмму перезагрузки BIOS (переход по адресу
F000:FFF0). В дальнейшем при попытке выполнить пораженную про-
грамму вместо ее выполнения будет выполняться перезагрузка MS DOS.
Если при этом программа входит в AUTOEXEC.BAT, то при загрузке
произойдет зацикливание и с винчестера или данной системной диске-
ты загрузиться нельзя без корректировки AUTOEXEC.BAT.
При заражении, которое выполняется, только если хотя бы один из
последних трех битов времени создания файла равен единице, вирус
переписывает свой код в конец файла и заносит в первые три байта
команду JMP для передачи ему управления. После этого С-648 восста-
навливает дату, время и атрибуты уже зараженного файла, и управле-
ние передается программе-вирусоносителю. При восстановлении даты
количество секунд устанавливается равным 62 (т.е. последним четы-
рем битам присваиваются значение 1111). По этому значению вирус
отличает зараженные файлы от незараженных, что обеспечивает
однократность заражения. Впрочем, при архивировании зараженных
файлов поле секунд может теряться (количество секунд во времени
создания файла не выдается ни одной командой MS DOS), что приведет
к повторному заражению.
Поскольку вирус C-648 не проверяет, находится ли заражаемый или
уничтожаемый файл на защищенной дискете или нет, то в этом случае
выдается обычное сообщение операционной системы:

Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?

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

Исторические замечания. Данный вирус появился в США в 1987 г. и
получил широкое распространение в Западной Европе в 1988 г. Об
этом, в частности, свидетельствует тот факт, что среди средств
борьбы с этим вирусом имеются немецкие, польские, чешские и авст-
рийские программы.
В СССР вирус С-648 появился приблизительно в августе 1988 г.,
когда он был обнаружен в лаборатории Института программных систем
(Переславль-Залесский). Возможно, он попал туда во время проведе-
ния институтом (совместно с ЮНЕСКО) Международного детского компь-
ютерного летнего лагеря. Поскольку этот вирус к середине 1988 г.
был уже довольно распространен в Западной Европе, включая соцстра-
ны, он несомненно завозился в СССР неоднократно, c различного рода
новыми версиями программного обеспечения и компьютерными играми. В
Киеве этот вирус появился в конце 1988 г., а наибольшее распрост-
ранение получил примерно в апреле 1989 г., после чего его эпидемия
пошла на убыль, что прежде всего связано с достаточной распростра-
ненностью средств защиты от этого вируса. Одним из переносчиков
этого вируса в Киеве являлся адаптированный вариант программы
SideKick (шестерка). К сожалению, по стране распространяется от-
комментированный исходный текст данного вируса, который, в частно-
сти, был включен В.Бончевым в его вирусную дискету. Доступность
исходных текстов сделало этот вирус базой для многочисленных штам-
мов и несколько таких штаммов уже выявлено в СССР(см. ниже описа-
ние вирусов С-534 и С623).
Первыми антивирусными программами, попавшими в Киев и ориентиро-
ванными на борьбу с этим вирусом, были зарубежные программы, рас-
пространявшиеся в виде случайного набора набора на дискете. Среди
них наибольшей популярностью на начальном этапе пользовались де-
тектор DIAG и фаг CURE Д.Сопчека (ПНР), DR_NO, FAG_OM и др. Отече-
ственные средства появились несколько позднее, однако со временем
основным средством борьбы стали такие отечественные полифаги, как
AIDSTEST, DOCTOR, VDEATH и др.
Неформальные названия. Данный вирус имеет не менее десятка не-
формальных названий. Среди них: Vienna (Вена), DOS-62, Time Bomb
(Часовая мина), Flea (Блоха), вирус перезагрузки, VHP-648',
RESTART (Рестарт у О.Котик), Rebooter (Перезагрузчик), P-virus,
Omega (Омега). Полидетектор SCAN называет данный вирус Vienna
(DOS 62) Virus у Version A [Vienna].
Программные средства защиты. Для данного вируса имеется огромное
количество программ типа детекторов и фагов. При этом большинство
из них не указывают, для какого типа вируса они предназначены. По-
этому очень часто в батарее антивирусных средств, составляемых
на многих ВЦ, используется несколько эквивалентных по своим функ-
циональным возможностям детекторов или фагов для этого типа виру-
са. Уничтоженные вирусом файлы, т.е. файлы, в которых вместо пер-
вых пяти байтов записана команда безусловного перехода на перезаг-
рузку MS DOS (EA F0 FF 00 F0), можно восстановить, только если
первые байты программы были предварительно записаны в справочном
файле программой-ревизором (типа CRCDOS). В настоящее время все
полидетекторы и все полифаги обрабатывают программы, зараженные
данным вирусом. Автор рекомендует полифаг AIDSTEST. Защита винче-
стера от данного вируса облегчается при использовании программы
Advanced Disk Manager, которая позволяет устанавливать защиту за-
писи и для разделов винчестера. Вакцина от данного вируса может
быть создана двумя способами. Во-первых, поскольку при поиске сло-
ва PATH вирус фактически ищет подстроку PATH=, его можно наве-
сти на ложный аэродром, вставив в AUTOEXEC.BAT строку вида
SET XPATH = Х:\DUMMY до настоящей строки SET PATH=. В приведен-
ном примере DUMMY у несуществующий каталог, а первая (или несколь-
ко первых) букв в имени ловушки могут быть произвольными. В этом
случае вирус поймает первую букву P, входящую в слово XPATH и
будет пытаться искать файлы на несуществующем диске Х и несущест-
вующем каталоге DUMMY. Аналогичную ловушку можно ставить и на
COMSPEC, и хотя для данного вируса она не нужна, важно понимать,
что данную идею обмана вирусов можно развить в нескольких на-
правлениях. Другими словами, она может быть обобщена до некоторого
универсального приема использования особенностей кодировки соот-
ветствующих частей вируса. Кроме того, целесообразно создать ката-
лог BAT (имя может быть произвольным) и записать в него пакеты для
вызова часто используемых программ в виде BATCH-файлов. В этом
случае достаточно указать в PATH только этот каталог, что вполне
безопасно, поскольку ни одного файла типа COM в нем нет. Этот спо-
соб, наряду с повышением безопасности, ускоряет вызов программ,
позволяет настроить среду и передать стандартные параметры. Поэто-
му его стоит использовать как можно шире.
Второй способ вакцинирования состоит в записи в последние четыре
бита времени создания файла четырех единиц для всех файлов типа
COM. Это соответствует невозможному количеству секунд (62) во вре-
мени создания (последние четыре бита хранят половинное количество
секунд). Именно так вирус помечает зараженные им файлы. Правда,
здесь существует опасность, что при обработке тем или иным фагом
последний может принять чистые файлы за зараженные, однако эта
проблема носит скорее теоретический, чем практический характер.

Фрагмент дампа дрозофилы, зараженной вирусом C-648

+-------- команда передачи управления телу
+----+ вируса
000: E90D009090909090 9090909090909090 ................

+- ****** -------- J-сигнатура (звездочками поме-
| чены изменяемые вирусом байты)
010: 51BA0903FC8BF281 C60A00BF0001B903 Q...............
020: 00F3A48BF2B430CD 213C007503E9C701 ......0.!<.u....
030: 06B42FCD21899C00 008C84020007BA5F ../.!.........._
040: 009003D6B41ACD21 06568E062C00BF00 .......!.V..,...
050: 005E5681C61A00AC B90080F2AEB90400 .^V.............
060: ACAE75EDE2FA5E07 89BC16008BFE81C7 ..u...^.........
... .. .. .. .. .. .. .. .. .. .. .. .. ..
1E0: 00BA1F009003D6CD 211EB41A8B940000 ........!.......
1F0: 8E9C0200CD211F59 33C033DB33D233F6 .....!.Y3.3.3.3.
200: BF00015733FFC2FF FF8000ED251B0121 ...W3.......%..!
210: 002000909090E90D 002A2E434F4D001C . .......*.COM..
220: 002006504154483D 473634382E434F4D . .PATH=G648.COM
230: 2020202020202020 2020202020202020
*** последующие строки идентичны предыдущей ***
260: 2020202020202020 033F3F3F3F3F3F3F .???????
270: 3F434F4D030500EE 0200000000201B01 ?COM......... ..
280: 2100100000004736 34382E434F4D004D !.....G648.COM.M
290: 000000EAF0FF00F0 ........

Фрагмент дампа дрозофилы, уничтоженной вирусом С-648

000: EAF0FF00F0909090 9090909090909090 ................
... .. .. .. .. .. .. .. .. .. .. .. .. ..


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:37 PM | Message # 51
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.1.2. Штамм С-623 (Vienna-X)

Вирус С-623 отличается от C-648 наличием обработки ненормальных
окончаний, что обеспечивает подавление сообщений вида

Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?

при попытке записи на защищенную дискету. Кроме того, в уничтожае-
мые модули записывается переход по адресу C800:0000. Возможно, ав-
тор предполагал, что в результате будет выполнена форматизация ди-
ска. Уничтоженные модули можно искать по сигнатуре EA000000C8.
Данный штамм содержит подпрограмму обработки ошибок ввода/выво-
да. Поэтому при попытке заражения программы, расположенной на за-
щищенной дискете, не выдается соответствующего сообщения MS DOS.
Исторические сведения. Передан автору Д.Н.Лозинским. Обнаружен в
конце 1989 г.
Программные средства защиты. См. прил.1.

Фрагмент дрозофилы, зараженной вирусом C-623

000: E9A0009090909090 9090909090909090 ................
010: 8000ED251B012100 2000909090E9A000 ...%..!. .......
020: 2A2E434F4D001C00 0E04504154483D47 *.COM.....PATH=G
030: 3632332E434F4D00 0000202020202020 623.COM...
040: 2020202020202020 2020202020202020
050: 2020202020202020 2020202020202020
060: 2020202020202020 2020202020202003 .
070: 3F3F3F3F3F3F3F3F 434F4D030700EE02 ????????COM.....
080: 00000000201B0121 0010000000473632 .... ..!.....G62
090: 332E434F4D000000 0000EA000000C856 3.COM..........V
0A0: 050E2551BA1001FC 8BF283C60ABF0001 ..%Q............
0B0: B90300F3A48BF2B4 30CD213C007503E9 ........0.!<.u..
0C0: A80106B42FCD2189 1C8C4402B82435CD ..../.!...D..$5.
0D0: 21899C8F008C8491 0007B824258BD681 !..........$%...
... .. .. .. .. .. .. .. .. .. .. .. ..
230: 8B54068B4C0480E1 E080C91FB80157CD .T..L.........W.
240: 21B43ECD21B80143 8B4C08BA1F0003D6 !.>.!..C.L......
250: CD211EB41A8B148E 5C02CD21B824258B .!......\..!.$%.
260: 948F008E9C9100CD 211F5933C033DB33 ........!.Y3.3.3
270: D233F6BF00015733 FFC2FFFFB000CF .3....W3.......


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:37 PM | Message # 52
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.1.3. Штамм C-627 (Vienna-Y)

В штамме 627 исключен блок уничтожения программы.
Исторические сведения. Передан автору Д.Н.Лозинским. Обнаружен в
конце 1989 г.
Программные средства защиты. См. прил.1.

4.2. Польская группа

Польская группа включает несколько штаммов, стратегия заражения
которых основана на поиске файлов с расширением COM в текущем ка-
талоге и использовании для отметки зараженных файлов не значение
62 с. в поле секунд, а 13 месяца. Она включает два почти идентич-
ных вируса С-507 и С-534, из которых в нашу страну попал только
второй. Анализ кода создает впечатление о том, что основные идеи
заимствованы у венского вируса, онако это впечатление может быть и
ложным. В связи с используемым методом отметки зараженных файлов
группа практически полностью уничтожена.

4.2.1. Вирус С-534 (Toothless у Беззубый, W13)

В коде вируса C-534 прослеживаются явные аналогии с кодом вируса
С-648, однако чувствуется более низкая квалификация автора. Воз-
можно, автор пользовался комментированным листингом вируса С-648
(по-видимому, австрийского происхождения). Против этого предполо-
жения говорит тот факт, что стратегия заражения существенно упро-
щена, а признак зараженности файла изменен на более заметный, хотя
при создании штаммов чаще наблюдаются попытки улучшить эти уча-
стки кода. Формально вирус С-534 у файловый нерезидентный вирус,
поражающий файлы типа СОМ. Функционирует на версиях MS DOS, начи-
ная с 2.0. Длина 534 (216h) байта. Заражаются только .COM-файлы
длиной от 256(100h) до FA00h байт в текущем и корневом каталогах.
Заражение происходит при запуске инфицированной программы, при
этом заражается не более одного файла. При выполнении зараженной
программы управление передается на начало вируса. Вирус восстанав-
ливает первые 3 байта основной программы, ищет незараженный файл с
раcширением СОМ и заражает его. Это ведет к потере рабоспособности
EXE файлов, записанных с расширением COM. Работоспособность таких
файлов может быть восстановлена путем применения соответствующего
фага.
Стратегия заражения у поиск файла-жертвы в текущем и корневом
каталогах. Поражает СOMMAND.COM. При заражении он дописывается в
конец программы и одновременно вставляет в первые три байта COM-
файла команду перехода на тело вируса. При этом размер файла уве-
личивается на 534 байта, дата создания файла и атрибуты файла из-
меняются (вирус снимает атрибут READ ONLY и из-за ошибки в тексте
не восстанавливает его; кроме того, в дате подставляется 13 (0Dh)
месяц). Заражение выполняется однократно. Минимальный размер зара-
жаемых файлов у 256 байтов (100h), максимальный у чуть меньше 64К
(FA00h). При попытке заражения у файла проверяется значение месяца
последней его модификации и, если оно равно 0Dh (13-й месяц), то
файл не заражается. Очевидно, что данный метод предотвращения по-
вторного заражения является вариантом метода, использованного в
базовом вирусе С-648 с той разницей, что вместо секунд использу-
ется месяц.
Как и С-648, вирус C-534 не проверяет, находится заражаемый файл
на защищенной дискете или нет, и в этом случае выдается обычное
сообщение операционной системы:

Write protect error writing device <лог.имя.устр.>
Abort, Retry, Ignore, Fail?

При заражении EXE-файлов с расширением COM наблюдаются те же
проблемы, что и для вируса С-648.
Исторические замечания. Обнаружен в Польше в ноябре 1988 г. В
Киеве появился приблизительно в октябре 1989 г. Первым фагом для
данного вируса, распространяемым бесплатно, вероятно был полифаг
Д.Н.Лозинского.
Методы и программные средства защиты. Методы защиты аналогичны
методам защиты от вируса С-648. Рекомендуется использовать про-
граммы, указанные в прил.1.

Фрагмент дампа программы DUMY0400.COM,
зараженной вирусом C-534

100 E98D019090909090 9090909090909090 ................
110 9090909090909090 9090909090909090 ................
*** Последующие строки идентичны предыдущей ***
280 9090909090909090 90909090909090C3 ................
290 50BEF5038BD681C6 0000FCB90300BF00 P...............
2A0 01F3A48BFAB430CD 213C007503E93F01 ......0.!<.u..?.
2B0 BA2C0003D78BDAB4 1ACD21BD00008BD7 .,........!.....
2C0 81C20700B90300B4 4ECD21E90400B44F ........N.!....O
... .. .. .. .. .. .. .. .. .. .. .. .. ..
3E0 00438B8D2200CD21 BA8000B41ACD2158 .C....!......!X
3F0 BF000157C3EBFE90 E98D015C3F3F3F3F ...W.......\????
400 3F3F3F3F2E434F4D 00545259302E434F ????.COM.TRY0.CO
410 4D004D0000000020 00E4812400000000 M.M.... ...$....
420 00073F3F3F3F3F3F 3F3F434F4D030900 ..????????COM...
430 000046510F0920E4 8124009001000054 ..FQ....$.....T
440 5259302E434F4D00 4D0000006F736F66 RY0.COM.M...osof
450 7479726967687420 4D6963726F736F66 tyright Microsof
460 7479726967687420 4D6963726F736F66 tyright Microsof
470 7479726967687420 4D6963726F736F66 tyright Microsof
480 7479726967687420 4D6963726F736F66 tyright Microsof
490 7479726967687420 4D6963726F736F66 tyright Microsof

4.2.2. Вирус С-507
(13 месяц-Б, Toothless-B у Беззубый-Б, W13-B)

Данный штамм представляет собой более отлаженный вариант пред-
ыдущего вируса. Ищет заражаемые файлы только в текущем каталоге.
Другие подробности неизвестны. Вирус детектируется полидетектором
SCAN и входит в версии списка П.Хоффман, начиная с датированной 10
августа 1990 г.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:37 PM | Message # 53
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.3. Группа IV (Amstrad)

Данная группа в настоящее время состоит из трех представителей с
длинами 847, 740 и 345 байт. На расстоянии 2-3 байта от начала в
этих вирусах стоят буквы IV. Из этой группы SCAN опознает только
IV-847, называя его Amstrad Virus [Amst]. П. Хоффман описывает
ряд других, неизвестных в нашей стране штаммов. В их числе штаммы
с длиной 277 и 299 байтов, которые аналогичны вирусу С-345, однако
текст сообщения исключен и вместо кода, обеспечивающего выдачу со-
общения, вставлен код, создающий ошибку четности (Parity error)
приблизительно в 50% случаев запуска программы. Вирусы этой группы
являются одними из наиболее простых файловых вирусов. Они заражают
только COM-файлы в текущем каталоге, причем при заражении не пре-
дусмотрено ни сохранение даты, ни контроль длины. Заражение произ-
водится приписываением тела вируса к началу файла. Таким образом,
в зараженной программе вирус располагается в начале, что встреча-
ется довольно редко.
Существенной разницы в функционировании штаммов нет: в данном
случае большая длина вируса не означает усложнения механизма его
работы. Все три штамма заражают только файлы с расширение COM в
текущем каталоге, причем правильность расширения не проверяется.
Как и в случае с вирусом С-648, это приводит к повреждению EXE-
файлов с расширением COM: после заражения файлы становятся нерабо-
тоспособными и их запуск обычно ведет к зависанию системы. Данное
повреждение может быть устранено выкусыванием вируса из програм-
мы.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:38 PM | Message # 54
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.3.1. C-345 (Pixel у Пиксель)

Получив управление, данный вирус переписывает собственное тело в
область памяти, отстоящую от области загрузки данной программы на
64К. Это действие может привести к нарушению работы системы в слу-
чае наложения копии на резидентные программы. Затем вирус выполня-
ет поиск в текущем подкаталоге файла типа с расширением COM. Если
такой файл обнаружен, то он считывается в память, располагаясь не-
посредственно за копией вируса (таким образом вся область памяти
практически представляет собой образ зараженной вирусом програм-
мы). Если второй и третий байты считанной программы принимают зна-
чения 49h и 56h (IV), то вирус считает, что данная программа уже
заражена. В противном случае в файл, из которого была считана про-
грамма, сбрасывается область оперативной памяти, начиная с тела
вируса. За одно выполнение зараженной программы вирус предпринима-
ет попытку заражения всех файлов в текущем каталоге. Очевидно, что
процесс заражения прекращается, если все файлы в текущем каталоге
уже заражены.
При каждом вызове зараженной программы вирус увеличивает значе-
ние специального счетчика, а затем выполняет проверку его содержи-
мого. Если значение счетчика равно 5, то вирус считывает значение
таймера, и, если оно нечетно, то на экран выводится сообщение

Program sick error:
Call doctor or buy PIXEL for cure description;

и выполнение программы блокируется. Это сообщение содержится в те-
ле вируса в незашифрованном виде. Поэтому иногда этот вирус назы-
вают PIXEL. После завершения своей работы вирус сдвигает тело про-
граммы, вместе с которой он первоначально был загружен в память,
на количество байт, равное длине вируса, и передает управление на
начало программы.
Исторические замечания. Исходный текст данного вируса был опуб-
ликован в Греции журналом Пиксель (Pixel). В СССР попал на вирус-
ной дискете В.Бончева. Первым фагом для данного вируса был, по-ви-
димому, полифаг Д.Н.Лозинского.
Неформальные названия. Распространенным неформальным названием
этого вируса является Pixel. Д.Н.Лозинский называет данный вирус
IV-345.
Программные средства защиты. См. прил.1.

Фрагмент дампа дрозофилы, зараженной вирусом С-345

000: EB3B4956012A2E43 4F4D000000000000 .;IV.*.COM......
010: 0000000000000000 0000000000000000 ................
020: 0000000000000000 0000000000000000 ................
030: 0000000000000000 0000000000508CC8 .............P..
040: 0500108EC0FE0604 01BE000133FFB959 ............3..Y
050: 0190F3A4BA1101B4 1ACD21BA0501B906 ..........!.....
060: 00B44ECD21724BBA 2F01B8023DCD218B ..N.!rK./...=.!.
... .. .. .. .. .. .. .. .. .. .. .. ..
0D0: D801B409CD21CD20 50726F6772616D20 .....!. Program
0E0: 7369636B20657272 6F723A43616C6C20 sick error:Call
0F0: 646F63746F72206F 7220627579205049 doctor or buy PI
100: 58454C20666F7220 6375726520646573 XEL for cure des
110: 6372697074696F6E 0A0D24BE3702B922 cription..$.7..
120: 0033FFF3A45B2EC7 060B0100002E8C06 .3...[..........
130: 0D012EFF2E0B011E 07BE5902BF0001B9 ..........Y.....
140: FFFF2BCEF3A42EC7 06000100012E8C1E ..+.............
150: 02018BC32EFF2E00 01B409BA0901CD21 ...............!
160: CD20333435205669 7275732033343520 . 345 Virus 345
170: 6279746573202124 bytes !$


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:38 PM | Message # 55
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.3.2. C-847 (Amstrad)

Вирус практически полностью аналогичен предыдущему, за исключе-
нием того, что проверка на зараженность программы выполняется по
третьему и четвертому байтам и буфер для чтения/записи размещен в
теле вируса.
Исторические замечания. В СССР попал в сентябре 1989 г. на ви-
русной дискете В.Бончева. Первые случаи заражения отмечены в Моск-
ве в марте 1990 г. Вирус можно отнести к числу самых старых, про-
стейших вирусов. Вирус Amstrad был передан McAfee в ноябре 1989 г.
Джиан Луз (Jean Luz), однако был известен в Испании и Португалии
по меньшей мере за год до этого. Этот штамм не заражает
COMMAND.COM и содержит самозванную рекламу компьютеров фирмы
Amstrad.
Неформальные названия. Д.Н.Лозинский называет данный вирус IV-
847. Полидетектор SCAN называет данный вирус Amstrad Virus
[Amst].
Программные средства защиты. См. прил.1.

Фрагмент дампа дрозофилы, зараженной вирусом С-847

000: EB14904956012A2E 434F4D004F040000 ...IV.*.COM.O...
010: 0100000000008CC8 0500108EC0FE0605 ................
020: 01BE000133FFB94F 01F3A4BA5F02B41A ....3..O...._...
030: CD21BA0601B90600 B44ECD217260BA7D .!.......N.!r`.}
040: 02B8023DCD21A314 018BD8061FBA4F03 ...=.!........O.
050: B9FFFFB43FCD2105 4F032EA312013E81 ....?.!.O.....>.
060: 3E52034956742133 C98BD12E8B1E1401 >R.IVt!3........
... .. .. .. .. .. .. .. .. .. .. .. ..
0C0: CD21CD2050726F67 72616D207369636B .!. Program sick
0D0: 206572726F723A43 616C6C20646F6374 error:Call doct
0E0: 6F72206F72206275 7920504958454C20 or or buy PIXEL
0F0: 666F722063757265 2064657363726970 for cure descrip
100: 74696F6E0A0D24BE 2402B92B0033FFF3 tion..$.$..+.3..
110: A433FF2EC7060E01 00002E8C0610012E .3..............
120: FF2E0E011E07BE4F 04803E0501017504 .......O..>...u.
... .. .. .. .. .. .. .. .. .. .. .. ..
300: 508D46AE509A4387 751883C4049A8085 P.F.P.C.u.......
310: 7518FF76088D865E FF508D46AE50E8A8 u..v...^.P.F.P..
320: 0583C4068946FE3D FFFF74053D010075 .....F.=..t.=..u
330: 03E8A0D0837EFE01 7403E947FE837E08 .....~..t..G..~.
340: 0075288D46AE509A 9487751883C402B4 .u(.F.P...u.....
350: 09BA0901CD21CD20 3834372056697275 .....!. 847 Viru
360: 7320383437206279 746573202124 s 847 bytes !$


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:38 PM | Message # 56
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.3.3. C-740 (Canser у Рак)

C-740 не контролирует и своего наличия в модуле, в связи с чем
заражение происходит многократно.
Исторические замечания. В СССР попал в сентябре 1989 г. на ви-
русной дискете В.Бончева.
Неформальные названия. Д.Н.Лозинский называет данный вирус IV-
740.
Программные средства защиты. См. прил.1.

Фрагмент дампа дрозофилы, зараженной вирусом С-740

000: EB14904956012A2E 434F4D00E4030000 ...IV.*.COM.....
010: 0000000000008CC8 0500108EC0FE0605 ................
020: 01BE000133FFB9E4 00F3A4BAF401B41A ....3...........
030: CD21BA0601B90600 B44ECD217257BA12 .!.......N.!rW..
040: 02B8023DCD21A314 018BD8061FBAE402 ...=.!..........
... .. .. .. .. .. .. .. .. .. .. .. ..
220: 4B2D83C40489865C FF833E1A1E00741D K-.....\..>...t.
230: 833E1C1E007516B8 2B4B509A94877518 .>...u..+KP...u.
240: 83C4020BC07406C7 061C1E0100FFB65C .....t.........\
250: FF8D46AE509A6A86 751883C404FF7606 ..F.P.j.u.....v.
260: 8D865EFF509A6A86 751883C404FF7608 ..^.P.j.u.....v.
270: 8D46AE508D865EFF 50E8F60083C40689 .F.P..^.P.......
280: 8654FF3DFEFF7503 E9F9FEFF361C1EFF .T.=..u.....6...
290: B65CFFE8794183C4 04898656FF3DFFFF .\..yA.....V.=..
2A0: 7503E9DFFE0BC074 2C837E08007526FF u......t,.~..u&.
2B0: 361A1E8D865EFF50 E8544183C4048986 6....^.P.TA.....
2C0: 58FF3DFFFF7503E9 BAFE3D01001BC0F7 X.=..u....=.....
2D0: D8898656FF8D46AE 509A0487751883C4 ...V..F.P...u...
2E0: 020BC075B409BA09 01CD21CD20373430 ...u......!. 740
2F0: 2056697275732037 3430206279746573 Virus 740 bytes
300: 202124 !$


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:38 PM | Message # 57
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.4. Вирус E-1961 (Yankee Doodle-2 у Янки Дудль-2)

В настоящее время этот вирус можно считать вымершим и информа-
ция о нем представляет лишь исторический интерес. Вирус является
первым болгарским вирусом в котором использован стандартный метод
заражения EXE-файлов, при реализации которого, впрочем, был допу-
щен ряд ошибок и неточностей. При заражении длина файла увеличива-
ется на 1961 байт. Вирус не является резидентным. При запуске за-
раженной программы вирус ищет жертву в текущем каталоге и если по-
пытка заражения удалась, то играет мелодию Янки Дудль.
Исторические замечания. Исходный текст вируса распространялся на
вирусной дискете В.Бончева. Известен автор вируса. В СССР отмечены
лишь отдельные случаи заражения.
Методы и средства защиты. См. прил.1.


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:39 PM | Message # 58
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.5. Вирус C-1024 (Bebe у Бебе)

Неформальное название данного вируса связано с выдаваемым виру-
сом на экран сообщением. Идея, лежащая в основе данного вируса,
является модификацией использованной в одном из самых старых виру-
сов у Cookie (см. ниже).
Формально С-1004 представляет собой простой файловый нерезидент-
ный вирус, заражающий файлы, имеющие расширение COM в текущем ка-
талоге. СОММАND.COM заражается как обычный СОМ-файл.
COM-файлы заражаются однократно. При заражении длина файла не
проверяется. Свое тело вирус дописывает в конец файла с выравнива-
нием начала на границу параграфа. В зараженных файлах изменены
первые 14 байтов, причем измененные байты содержат группу (PUSH
AX; т ; JMP FAR Virus_Start;) команд, а не единственную команду
JMP, как это бывает обычно. Поэтому зараженная программа всегда
начинается с строки 50 0E 8C C8 2E 01 06 0C 01 EA. Выше было от-
мечено, что первую команду JMP, подставляемую большинством файло-
вых вирусов, дописывающих свое тело в конец COM-файла, можно рас-
сматривать как вырожденный сегмент. В данном случае первые 14 байт
представляют собой настоящий сегмент тела вируса и фактически мы
имеем дело с файловым вирусом, состоящим из двух сегментов.
Длина вируса 1004 (3ECh) байта совпадает с минимальным прираще-
нием заражаемых файлов. Файлы с атрибутом READ ONLY не заражаются.
Вирус имеет несколько необычную реализацию фазы проявления, созда-
ющую иллюзию, что мы имеем дело с резидентным вирусом: при запуске
первой зараженной программы он копирует часть своего тела в об-
ласть векторов прерываний по адресу 0000:01CE и устанавливает на
нее прерывание 1Ch (таймер). Тем самым создается резидентная про-
грамма, висящая на таймере, которая через некоторое время выдает
на экран заставку

+-------- VIRUS ! ------+
| Skagi bebe > |
+-----------------------+

и переходит в состояние ожидания ввода с клавиатуры. При
разработке вируса предполагалось, что, если с клавиатуры вводится
слово bebe, то на экране появляется сообщение Fig Tebe !. По-
следнее дает определенное представление об уровне культуры автора,
даже если рассматривать это как своего рода юмор. Однако реально
программа зацикливается из-за ошибки. В результате после выдачи
сообщения компьютер зависает и его приходится перегружать, причем
сделать это удается только клавишей RESET.
Уровень программирования, в целом, невысок. В частности, вирус
не восстанавливает DTA, что может привести к зависанию компьютера.
Аналогично, затирание части таблицы векторов прерываний может при-
водить к зависанию или нарушению функционирования программ. Помимо
приведенных выше строк, образующих заставку и ответ, тело вируса
содержит строку *.COM.
Исторические замечания. Очередной вирус отечественной разработ-
ки. Обнаружен летом 1990 г.
Неформальные названия. Полидетектор SCAN данный вирус не детек-
тирует.
Программные средства защиты. Полифаг Aidstest версий, начиная с
44. Детектирование можно выполнять по сигнатуре, приведенной в
прил.1.

Фрагмент дампа дрозофилы, зараженной вирусом С-1004

000: 500E8CC82E01060C 01EA580011002400 P.........X...$.
... .. .. .. .. .. .. .. .. .. .. .. ..
060: 9000000000000000
начало тела вируса -> 582EA3CC01581E06 M.......X....X..
070: 5053515256579C8C C88ED88EC08D360E PSQRVW........6.
080: 0006C43ECA01B90E 00F3A40706B42FCD ...>........../.
090: 212E891E2400062E 8F06260007B41A8D !...$.....&.....
0A0: 162800CD21B44E8D 161E00B93F00CD21 .(..!.N.....?..!
0B0: 7303E9D0008D1628 0083C21EB8023DCD s......(......=.
0C0: 21A31C007303E9AF 00B43F8D160E00B9 !...s.....?.....
0D0: 0E008B1E1C00CD21 7303E993008D360E .......!s.....6.
0E0: 008D3E0000B90A00 FCF3A67503E98000 ..>........u....
0F0: 8D1E28008B5F1A8A C381C30001B104D3 ..(.._..........
100: EB240F3C00740143 891E0C00C7060A00 .$.<.t.C........
110: 5800B8004233C933 D28B1E1C00CD21B4 X...B3.3......!.
120: 408D160000B90E00 8B1E1C00CD218D1E @............!..
130: 28008B571A33C9B8 00428B1E1C00CD21 (..W.3...B.....!
... .. .. .. .. .. .. .. .. .. .. .. ..
1B0: 018BFE8D0EEC032B CEFCF3A433DB8EDB .......+....3...
1C0: BB70008D06F002FA 8907C747020000FB .p.........G....
1D0: 9D5F5E5A595B5807 1FEA0001DD21C9CD ._^ZY[X......!..
1E0: CDCDCDCDCD205649 5255532120CDCDCD ..... VIRUS! ...
1F0: CDCDCDBBBA20536B 6167692022626562 ..... Skagi beb
200: 6522203E20202020 20BAC8CDCDCDCDCD e > .......
210: CDCDCDCDCDCDCDCD CDCDCDCDCDCDCDBC ................
220: BA20202020204669 6720546562652021 . Fig Tebe !
230: 2020202020BA0000 0000000000000000 ...........
240: 0000000000000000 0000000000000000 ................
*** последующие строки идентичны предыдущей ***
2B0: 0000000000000000 0000301230121C42 ..........0.0..B
2C0: 4542450D50B8C800 E6428AC4E642E461 EBE.P....B...B.a
2D0: 0C03E661E80800E4 6124FCE66158C3B9 ...a....a$..aX..
2E0: 74272E8A052E3A05 7500E2F9C3E4608A t'....:.u.....`.
... .. .. .. .. .. .. .. .. .. .. .. .. ..
3D0: 518D362602BF7406 F3A559BF1407F3A5 Q.6&..t...Y.....
3E0: 59BFB407F3A55F5E 5A595B58071F2EA3 Y....._^ZY[X....
3F0: EA0358EA00000000 302A0000 ..X.....0*..


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:39 PM | Message # 59
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
4.6. Вирус C-257

(Kemerovo-Reset у Кемеровская перезагрузка)
Неформальное название связано с тем, что, подобно вирусу С-648,
данный вирус, наряду с заражением файлов, вызывает перезагрузку
операционной системы.
Формально С-257 у это файловый нерезидентный вирус, заражающий
файлы с расширением COM в текущем оглавлении. Заражает командный
процессор.
Заражает COM-файлы текущего оглавления длиной до 64767 (FCFFh)
байтов при запуске инфицированной программы. Файлы заражаются
однократно. Копирует себя в конец файла и изменяет его первые 4
байта ( XCHG AX,DX; JMP Loc_Virus ). Длина файлов при заражении
увеличивается на 257 байт.
Вирус имеет ряд проявлений. Во-первых, в зараженных программах
портится дата создания файла. Во-вторых, при некоторых значениях
текущего времени запуск зараженной программы ведет к перезагрузке
компьютера. Вирус не блокирует сообщения о защите от записи.
Зараженные программы теряют способность обрабатывать параметры.
Код вируса достаточно примитивен и содержит много ошибок и
неточностей. В частности, вирус не закрывает открываемые файлы (по
одному на заражаемую программу). При этом открыть их может очень
много (в зависимости от количества файлов в текущем каталоге). При
просмотре дампа зараженной программы видна текстовая строка
*.COM.
Исторические замечания. Происхождение неизвестно. Обнаружен ле-
том 1990 г.
Неформальные названия. Полидетектор SCAN данный вирус не детек-
тирует.
Программные средства защиты. Полифаг Aidstest версий, начиная с
44. Находятся в стадии разработки. Детектирование можно выполнять
по сигнатуре, приведенной в прил.1.

Фрагмент дампа дрозофилы, зараженной вирусом С-257

000: 92E81500D8A10800 8B1E0A00891E0800 ................
010: A30A00B8004CCD21 125BE800005A5289 .....L.!.[...ZR.
020: D681C6C10089D82D 040089C7B90400A4 .......-........
... .. .. .. .. .. .. .. .. .. .. .. .. ..
0C0: B80242CD2172D15A 5283EA04B90001B4 ..B.!r.ZR.......
0D0: 40CD21CC139090E9 3B1092E81500B840 @.!.....;......@
0E0: 008E2A2E434F4D00 B43ECD21B42CCD21 ..*.COM..>.!.,.!
0F0: 80FA0A7DE2909090 90909090909090EA ...}............
100: 0000FFFF00000000 0000000000000000 ................
110: 0000000000000000 00 .........


Администратор
 
port-denisDate: Понедельник, 2006-07-17, 12:39 PM | Message # 60
Admin
Group: Администраторы
Posts: 356
Reputation: 1
Status: Офлайн
5. РЕЗИДЕНТНЫЕ ФАЙЛОВЫЕ ВИРУСЫ, ОБНАРУЖЕННЫЕ В СССР

5.1. Группа Буквопад

Данная группа берет начало с вируса RС-1701 и в настоящее время
включает ряд вирусов с длиной порядка 1700 байтов, имеющих харак-
терный визуальный эффект опадания букв на экране. Большинство
штаммов однократно заражает файлы типа COM, однако автор встречал
упоминания о штаммах, многократно заражающих файлы.


Администратор
 
Форум » Разные Темы » Вирусы » Энциклопедия по компьютерным вирусам !!! (Энциклопедия по компьютерным вирусам !!! описания борьба)
  • Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

Copyright MyCorp © 2006 Сайт управляется системой uCoz