Я:
Результат
Архив

МЕТА - Украина. Рейтинг сайтов Webalta Уровень доверия



Союз образовательных сайтов
Главная / Учебники / Учебники на русском языке / Компьютерные науки / Компьютерная вирусология


Компьютерные науки - Учебники на русском языке - Скачать бесплатно




2.3. Компьютерные вирусы

"Да он-то как вперед пробрался ?"у
"За хвостик тетеньки держался !"
И.Франко

Формально компьютерным вирусом называется программа, которая мо-
жет заражать другие программы путем включения в них своей, возмож-
но модифицированной, копии, причем последняя сохраняет способность
к дальнейшему размножению [Cohen88a]. Программа, зараженная виру-
сом, может рассматриваться как автоматически созданная троянская
программа. В данном случае скрытым модулем является тело вируса, а
одним из несанкционированных действий у заражение других программ.
Помимо заражения, вирус, подобно любой другой троянской программе,
может выполнять и другие несанкционированные действия, от вполне
безобидных до крайне разрушительных. Последние, в частности, могут
включать уничтожение данных на зараженном диске. В этом случае ви-
рус может рассматриваться как логическая мина. Выполняемые вирусом
несанкционированные действия могут быть обусловлены наступлением
определенной даты (такие троянские программы в какой-то степени
аналогичны минам с часовым механизмом) или определенного количест-
ва размножений, или сочетанием определенных условий, например за-
писи зараженной программы на винчестер (последние аналогичны раз-
личного рода бесконтактным минам). При этом комбинация этих усло-
вий может быть достаточно сложной, чтобы затруднить ее определение
(как например, в вирусе Пинг-понг).
Инфицируя программы, вирусы могут распространяться от одной про-
граммы к другой (транзитивно), что делает их более опасными по
сравнению с другими методами компьютерного вандализма. Зараженные
программы (или их копии) могут передаваться через дискеты или по
сети на другие ЭВМ. Учитывая широко распространенную практику об-
мена и передачи программ на дискетах среди пользователей персо-
нальных ЭВМ, количество зараженных программ может быть значитель-
ным, приводя к своего рода эпидемиям. Этому также способствует
распространенная в нашей стране практика использования одной ПЭВМ
несколькими пользователями. Опасность существенно возрастает при
наличии винчестера, программы на котором используются всеми поль-
зователями. В этом случае один неквалифицированный или злонамерен-
ный пользователь может нанести значительный ущерб другим пользова-
телям. Особую опасность с точки зрения распространения компьютер-
ных вирусов представляют любители компьютерных игр, обычно слабо
знающие операционную систему и не вполне понимающие смысл выполня-
емых ими действий. Такие пользователи подвергают значительному ри-
ску своих коллег, работающих с ними на одной ПЭВМ.
Упрощенно процесс заражения вирусом программных файлов можно
представить следующим образом. Код зараженной программы обычно из-
менен таким образом, чтобы вирус получил управление первым, до на-
чала работы программы-вирусоносителя (рис.2). При передаче управ-
ления вирусу, он каким-то способом находит новую программу и вы-
полняет вставку собственной копии в начало (рис.2б) или добавление
ее в конец этой, обычно еще не зараженной, программы (рис.2а). Ес-
ли вирус дописывается в конец программы, то он корректирует код
программы, чтобы получить управление первым. Для этого первые не-
сколько байтов запоминаются в теле вируса, а на их место вставля-
ется команда перехода на начало вируса. Этот способ является наи-
более распространенным. Получив управление, вирус восстанавливает
"спрятанные" первые байты, а после отработки своего тела передает
управление программе-вирусоносителю, и та нормально выполняет свои
функции. Возможны случаи, когда вирус включает себя куда-то в се-
редину программы, например, в область стека (рис.2в). Последние
случаи встречаются редко.

+------------------+ +-------------+ +------------------+
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|+Команда перехода+|+ |+++++++++++++| |+Команда перехода+|+
|++++++++++++++++++|| |+Тело вируса+| |++++++++++++++++++||
|------------------|| |+++++++++++++| |------------------||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|+ ЗАРАЖЕННАЯ +++|| |+++++++++++++| |+ НАЧАЛО +++||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|+ ПРОГРАММА ++|| |+++++++++++++| |+ ЗАРАЖЕННОЙ +++||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|+ (COM - ФАЙЛ) ++|| |+++++++++++++| |+ ПРОГРАММЫ ++||
|++++++++++++++++++|| |+ЗАРАЖЕННАЯ +| |++++++++++++++++++||
|++++++++++++++++++|| |+++++++++++++| |++++++++++++++++++||
|++++++++++++++++++|+ |+ПРОГРАММА +| |++++++++++++++++++|+
|++++Тело вируса+++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+COM - ФАЙЛ)+| |++++Тело вируса+++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|+Спрятанные байты+| |+++++++++++++| |+Спрятанные байты+|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
|++++++++++++++++++| |+++++++++++++| |++++++++++++++++++|
+------------------+ +-------------+ |------------------|
а б |++++++++++++++++++|
|+ КОНЕЦ +++|
Рис. 2. |++++++++++++++++++|
Схема заражения вирусом COM-файлов: |+ ЗАРАЖЕННОЙ +++|
а - в конец программы; |++++++++++++++++++|
б - в начало программы; |+ ПРОГРАММЫ ++|
в - в середину программы. |++++++++++++++++++|
+------------------+
в



2.4. Анатомия компьютерного вируса

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


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.
В этом случае вирус считает, что файл имеет длину, указанную в за-
головке, и записывает свой код в область буфера или оверлея. При
этом он оказывается в середине действительно занимаемого данной
программой файла. В-третьих, файл может быть заражен несколькими
вирусами, однотипно заражающими файл (обычно дописывающими свой
код в конец файла). В этом случае, вирус первым заразивший данный
файл, оттесняется к середине файла последующими вирусами. Являясь
сравнительно редкими, указанные случаи довольно часто не учитыва-
ются создателями антивирусных программ, в частности, детекторов и
фагов, которые увлекаясь оптимизацией времени выполнения своих
программ, принимают неправильные допущения о расположении кода ви-
руса в теле зараженной программы. В результате файл может быть не
детектирован как зараженный или вылечен неправильно.


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, если хотя бы один
из них имеет расширение ЕХЕ или СОМ.


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 В.Пономаренко.
Следует отметить, что число известных чисто бутовых вирусов на-
много меньше, чем файловых и, кроме того, скорость их размножения
ниже (число дискет заведомо меньше, чем количество файлов на них).
В целом, заражение "чистым" бутовым вирусом является признаком
беспечности и недостаточной квалификации пользователя в значитель-
но большей степени, чем заражение файловым вирусом. При соблюдении
приведенных выше несложных рекомендаций его можно полностью исклю-
чить.



2.5. Панацеи не существует
(общая классификация средств защиты)

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

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

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



2.6. Жизненный цикл компьютерных вирусов

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

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

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



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 не копирует информацию из неисполь-
зуемых секторов последнего кластера. В результате при копировании
зараженного файла хвост вируса теряется и скопированная программа
становится неработоспособной.


2.8. Симптомы заражения

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

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



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 значительно проще, чем программу
падения букв на экране дисплея.



2.10. Повторное заражение

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

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



2.11. Вирусофобия и попытки ее эксплуатации

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

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

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



2.12. О возможности повреждения оборудования

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

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




Назад


Новые поступления

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

281311062 © insoft.com.ua,2007г. © il.lusion,2007г.
Карта сайта