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

Компьютерным вирусом называется программа, обычно малая по размеру (от 200 до 5000 байт), которая самостоятельно запускается, многократно копирует свой код, присоединяя его к кодам других программ («размножается») и мешает корректной работе компьютера и/или разрушает хранимую на магнитных дисках информацию (программы и данные).

Существуют вирусы и менее «злокачественные», вызывающие, например, переустановку даты в компьютере, музыкальные (проигрывающие какую-либо мелодию), приводящие к появлению на экране дисплея какого-либо изображения или к искажениям в отображении дисплеем информации, «осыпанию букв» и т.д.

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

Существуют такие специалисты, которые отдают свои силы и талант делу борьбы с компьютерными вирусами. В России — это известные программисты: Д. Лозинский, Д. Мостовой, И.А. Данилов, Н. Безруков и др. Ими исследованы многие компьютерные вирусы, разработаны антивирусные программы, рекомендации по мерам, предотвращающим уничтожение вирусами компьютерной информации и распространение эпидемий компьютерных вирусов.

Рассмотрим подробнее основные особенности компьютерных вирусов, характеристики антивирусных программ и меры защиты программ и данных от компьютерных вирусов в наиболее распространенной операционной системе MS-DOS.

Вирусы можно разделить на классы по следующим основным признакам:

1. среда обитания;

2. ОС, в которой они могут функционировать;

3. деструктивные функции;

4. особенности алгоритма работы.

В зависимости от среды обитания вирусы можно разделить на группы:

o загрузочные (boot) вирусы заражают программу начальной загрузки компьютера, хранящуюся в загрузочном секторе дискеты или винчестера, и запускающиеся при загрузке компьютера;

o файловые вирусы в простейшем случае заражают пополняемые файлы, но могут распространяться и через файлы документов (системы Word for Windows) и даже вообще не модифицировать файлы, а лишь иметь к ним какое-то отношение;

o загрузочно-файловые вирусы имеют признаки как загрузочных, так и файловых вирусов;

o драйверные вирусы заражают драйверы устройств компьютера или запускают себя путем включения в файл конфигурации дополнительной строки;

o макровирусы;

o сетевые вирусы.

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

Практически все загрузочные вирусы резидентны.

Дальнейшее поведение определяется деструктивными функциями.

Существуют нерезидентные boot-вирусы. Такие вирусы заражают загрузочные сектора дискет, если они находятся на дисководах.

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

o выделяют некоторую область дискеты и делают ее недоступной операционной системе (помечая, например, как сбойную - bad);

o замещают программу начальной загрузки в загрузочном секторе дискеты, копируя корректную программу загрузки, а также свой код, в выделенную область дискеты;

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

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

Существует несколько способов внедрения файловых вирусов. Наиболее частый — внедрение в исполняемые файлы (com, exe, dll); создание файлов двойников; использование особенностей файловой системы. Существует также несколько методов внедрения кода вируса в исполняемый файл.

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

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

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

LINK — использует особенности файловой системы MS-DOS и не изменяют содержимого файла.

ФАЙЛОВЫЕ ЧЕРВИ — при запуске файла вируса создают свою копию в других каталогах под другим именем и др.

Алгоритм работы файлового вируса:

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

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

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

3. Макровирусы. Они являются программами, написанными на макроязыках встроенные в современные системы обработки данных. Для своего размножения вирусы используют возможности макроязыков и при их помощи переносят себя из одного зараженного файла в другие. В процессе заражения часто заражаются стандартные шаблоны. При открытии текстового файла с помощью MS Word считываются и исполняются макросы, хранящиеся в теле документа и в соответствии с макросами, производится некоторая настройка редакторов. Макровирусы изменяют функции сохранения файлов т.о. чтобы в сохраненный файл записывалось тело вируса. При этом макровирус изменяют стандартные шаблоны. Макровирусы зависят от «национальности» версии и поэтому их распространение ограничивается регионами.

4. Сетевые вирусы. Используют для своего распространения сетевые протоколы или команды компьютерных сетей и электронной почты. Сетевые вирусы используют ошибки программирования в наиболее популярных почтовых клиентах и наиболее часто реализованы под MS OUTLOOK. Благодаря этим ошибкам, в электронное письмо может быть внедрен код, который будет выполнен этим клиентом при открытии письма и в результате машина может быть заражена файловым вирусом. Эти вирусы воздействуют только при конкретной версии почтовых клиентов.

В зависимости от особенностей алгоритма работы вирусы можно разделить на 4 группы.

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

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

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

4. Нестандартные приемы - используются, для того чтобы максимально защитить свою копию от обнаружения и удаления.

В зависимости от деструктивных возможностей вирусы можно разделить на 4 группы:

1. Условно безвредные. Не содержат специальных деструктивных функций и приводят только к незначительному замедлению скорости работы компьютера и уменьшению свободного дискового пространства.

2. Не опасные. Содержат вывод графических, звуковых, и прочих эффектов и уменьшают скорость работы компьютера и дисковое пространство.

3. Опасные. Могут привести к серьезным сбоям в работе РС.

4. Очень опасные. В алгоритме работы таких вирусов заложены процедуры, способные вызвать потерю и уничтожение программ и данных, а также вывести из строя отдельные части ЭВМ.

Меры противодействия безопасности и удаления вирусов:

o избегать случайных связей;

o использование антивирусных программ с постоянным обновлением антивирусных баз;

o использование программ ревизоров.