Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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



 

После запуска программный продукт определяет расположение защищенного файла на диске и сравнивает его с записанным при установке. Если расположение изменилось - запущена незаконная копия.

 

Какие недостатки у этого способа?

 

Прежде всего, невозможна оптимизация диска такими программами, которые могут изменить расположение файлов на диске, например, Norton Speed Disk.

 

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

 

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

 

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

 

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

 

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

 

Метод проверки версии или контрольных сумм программы BIOS пригоден для защиты от копирования между компьютерами, содержащими разные версии BIOS. Однако при покупке партии компьютеров все они почти наверняка будут иметь одинаковую систему BIOS, поэтому, хотя этот метод достаточно прост, его эффективность относительно невысока.

 

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

 

Привязка к BIOS

 

Рассмотрим теперь использование BIOS для защиты от копирования программ с жесткого диска.

 

Программа может определить дату изготовления BIOS, прочитав 8 байт из области памяти, расположенной по адресу F000h:FFF5h.



 

Более подробную информацию о BIOS можно получить, воспользовавшись функцией C0h прерывания INT 15h. Эта функция возвращает в регистрах ES:BX адрес таблицы конфигурации:

 

Смещение, байт Размер, байт Описание

0 2 Размер таблицы в байтах

2 1 Код модели компьютера

3 1 Дополнительный код модели

4 1 Версия изменений BIOS (0 - первая реализация, 2 - вторая и т. д.)

5 1 Байт конфигурации оборудования

6 2 Зарезервировано

8 2 Зарезервировано

Анализируя байт конфигурации оборудования, можно определить состав аппаратного обеспечения:

 

Бит Описание

0 Зарезервировано

1 Если этот бит установлен, компьютер оборудован шиной Micro Channel, в противном случае используется шина ISA, PCI или EISA

2 Используется расширенная область данных BIOS

3 BIOS способна ожидать внешние события

4 Каждый раз после вызова прерывания от клавиатуры INT 9h вызывается функция 4Fh прерывания INT 15h

5 В компьютере есть часы реального времени

6 Имеется второй контроллер прерываний

7 Для работы с диском BIOS использует канал 3 контроллера прямого доступа к памяти

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

 

Здесь приведен исходный текст программы BIOSVER, которая отображает дату изготовления BIOS, а также расширенную информацию о BIOS, полученную с помощью функции C0h прерывания INT 15h.

 

Программа BIOSVER

#include

#include

#include

typedef struct _BIOSINFO_

{

unsigned size;

unsigned char model;

unsigned char submodel;

unsigned char version;

unsigned char hardcfg;

unsigned reserved1;

unsigned reserved2;

} BIOSINFO;

void main(void)

{

void far *biosdate;

BIOSINFO far *binfo;

int i;

union REGS rg;

struct SREGS srg;

biosdate = (void far*)MK_FP(0xf000, 0xfff5);

printf(" Дата изготовления BIOS: ");

for(i = 0; i < 8; i++)

putch(*((char far*)biosdate + i));

rg.h.ah = 0xc0;

int86x(0x15, &rg, &rg, &srg);

binfo = (BIOSINFO far*)MK_FP(srg.es, rg.x.bx);

printf(" Код модели: %02.2X"

" Дополнительный код модели: %d"

" Версия изменений BIOS: %d"

" Конфигурация оборудования: %02.2X ",

binfo->model, binfo->submodel,

binfo->version, binfo->hardcfg);}

 

16.2.Защита программ от трассировки

 

Защищая свои программы от несанкционированного копирования, не следует забывать о таких средствах "взлома", как пошаговые отладчики - Turbo Debugger, CodeView, Advanced Fullscreen Debug, AT86 и т. п.

 

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

 

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

 

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

 

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

 

При расшифровывании можно копировать участки программы в другое место оперативной памяти.

 

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

 

Задача второй части - перемещение третьей части программы на место уже использованной первой части и расшифровка ее там.

 

Третья часть, получив управление, может проверить свое расположение относительно префикса программного сегмента и, в случае правильного расположения (сразу вслед за PSP), начать загрузку сегментных регистров такими значениями, которые необходимы для выполнения четвертой (установочной) части программы.

 

Если попытаться дизассемблировать программу, составленную подобным образом, то из этого ничего не получится.

 

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

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

 

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

 

Одним из ранних примеров подобных программ стала обнаруженная в конце 60-х годов размножающаяся по сети ARPANET программа, известная сегодня как Creeper (Вьюнок). Вьюнок проявлял себя текстовым сообщением: «я вьюнок … поймай меня, если сможешь». Он не причинял вреда ресурсам пораженного компьютера, только лишь беспокоил его владельца. Каким бы безвредным Вьюнок не казался, но он впервые показал, что проникновение на чужой компьютер возможно без ведома и против желания его владельцев.

 

Термин «компьютерный вирус» был введен сравнительно недавно – в середине 80-х годов. В 1984 г. Ф. Коэном на 7-й конференции по безопасности информации, проходившей в США, был представлен специальный класс само репродуцирующихся программ. На основе необычного сходства некоторых свойств этой программы с биологическим вирусом она и была названа компьютерным вирусом. Это сходство с биологическим вирусом обнаруживается по:

 

способности к саморазмножению;

высокой скорости распространения;

избирательности поражаемых систем;

способности «заражать» еще незараженные системы;

трудности борьбы с вирусами и т.д.

Из-за сходства компьютерных и биологических вирусов вместе с термином «вирус» используется и другие медицинские термины: «заражение», «профилактика», «лечение», «среда обитания» и др.

 

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

 

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

 

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

 

Вирусные программы могут существовать в следующих четырех фазах:

 

«спячка»;

распространение в КС;

запуск;

разрушение программ и данных или какие-либо другие негативные эффекты.

Фаза «спячки» может использоваться разработчиком вирусной программы для создания у пользователя уверенности в правильной работе КС.

 

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

 

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

 

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

 

В настоящее время в мире зарегистрировано более 40 тыс. компьютерных вирусов. Большинство вирусов, обнаруженных на сегодняшний день у нас в стране и за рубежом, ориентированны на действие в среде определенных операционных систем. Наибольшее распространение они получили в персональных ЭВМ.

 

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

 

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

 

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

 

17.1. Классификация вирусов

 

В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам: ]

 

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

способу заражения среды обитания;

воздействию;

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

В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные.

 

Сетевые вирусы распространяются по различным компьютерным сетям.

 

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

 

Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Re-cord).

 

Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.По способу заражения вирусы делятся на резидентные и нерезидентные.

 

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

 

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

 

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

 

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

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

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

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

 

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

 

Загрузочные вирусы

 

Рассмотрим схему функционирования очень простого загрузочного вируса, заражающего дискеты.

 

При включении компьютера управление передается программе начальной загрузки, которая хранится в постоянно запоминающем устройстве (ПЗУ).

 

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

 

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

 

Таким образом, нормальная схема начальной загрузки следующая:

 

ПНЗ (ПЗУ) - ПНЗ (диск) – СИСТЕМА

 

Теперь рассмотрим вирус. В загрузочных вирусах выделяют две части: голову и т.н. хвост. Хвост может быть пустым.

 

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

 

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

копирует в выделенную область диска свой хвост и оригинальный (здоровый) загрузочный сектор

замещает программу начальной загрузки в загрузочном секторе (настоящем) своей головой

организует цепочку передачи управления согласно схеме. Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному загрузочному сектору. В цепочке

ПНЗ (ПЗУ) - ПНЗ (диск) – СИСТЕМА

 

появляется новое звено:

 

ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) – СИСТЕМА

 

Как правило, вирусы способны заражать не только загрузочные секторы дискет, но и загрузочные секторы винчестеров. При этом в отличие от дискет на винчестере имеются два типа загрузочных секторов, содержащих программы начальной загрузки, которые получают управление. При загрузке компьютера с винчестера первой берет на себя управление программа начальной загрузки в MBR (Master Boot Record - главная загрузочная запись).

 

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

 

Файловые вирусы

 

Рассмотрим схему работы простого файлового вируса. В отличие от загрузочных вирусов, которые практически всегда резидентны, файловые вирусы совсем не обязательно резидентны. Рассмотрим схему функционирования нерезидентного файлового вируса. Пусть у нас имеется инфицированный исполняемый файл. При запуске такого файла вирус получает управление, производит некоторые действия и передает управление «хозяину»

 

Файловый вирус ищет новый объект для заражения - подходящий по типу файл, который еще не заражен. Заражая файл, вирус внедряется в его код, чтобы получить управление при запуске этого файла.

 

Если файловый вирус резидентный, то он установится в память и получит возможность заражать файлы и проявлять прочие способности не только во время работы зараженного файла. Заражая исполняемый файл, вирус всегда изменяет его код - следовательно, заражение исполняемого файла всегда можно обнаружить. Но, изменяя код файла, вирус не обязательно вносит другие изменения:

 

он не обязан менять длину файла;

неиспользуемые участки кода;

не обязан менять начало файла.

Наконец, к файловым вирусам часто относят вирусы, которые «имеют некоторое отношение к файлам», но не обязаны внедряться в их код.

 

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

 

Загрузочно-файловые вирусы

 

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

 

Полиморфные вирусы

 

Этот вид компьютерных вирусов представляется на сегодняшний день наиболее опасным.

 

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

 

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

 

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

 

Стелс-вирусы

 

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

 

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

 

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

 

Троянский конь

 

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

 

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

 

Программные закладки

 

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

 

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

 

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

 

Этот процесс может быть автоматизирован с помощью вируса, называемого сетевой червь.

 

Сетевой червь

 

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

 

17.2. Механизмы заражения компьютерными вирусами

 

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

 

Файловые вирусы используют в качестве своего носителя исполняемые файлы. К ним относятся файлы, состоящие из команд операционной системы, файлы пользовательских и системных программ в машинных кодах, а также исполняемые с помощью макрокоманд программы, автоматизирующие работу с документами и таблицами (например, MS Word, MS Office, MS Excel).

 

Файловые вирусы могут размещаться в начале, середине или конце заражаемого файла.

 

Если код вируса располагается в начале заражаемой программы, то тело самой программы оттесняется и приписывается к концу файла. Наряду с оттеснением программы может применяться также вытеснение программы без сохранение ее содержимого. Такая программа становится «убитой насмерть» и не может быть восстановлена никакими антивирусными средствами.

 

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

 

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

 

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

 

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

 

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


Дата добавления: 2015-08-27; просмотров: 144 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.041 сек.)







<== предыдущая лекция | следующая лекция ==>