Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы ИБ

.pdf
Скачиваний:
148
Добавлен:
05.06.2015
Размер:
2.49 Mб
Скачать

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

граммой-носителем вируса. Тело программы является по существу незаражѐнной про-

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

Рассмотрение предложенной схемы позволяет продемонстрировать механизм заражения вирусом и исполнение программы-носителя.

Вирус V в программе-носителе первым берѐт управление на себя, прежде всего,

реализуя функцию инфицирования с помощью своего ядра VIR. Ядро ищет незаражен-

ную программу путѐм сканирования памяти компьютера, пропуская уже заражѐнные этим вирусом программы, в которых первым стоит признак вируса M. Определив незаражѐн-

ную программу, ядро VIR выделяет в ней (как правило, в еѐ начале) место для записи кода вируса. Затем переносит код вируса на выделенное место, в данном примере затирая на-

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

циональный элемент программного обеспечения системы. Однако она может быть вызва-

на для исполнения в последующих процессах, и при этом, став инфицированной програм-

мой, продолжить процесс заражения.

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

грамме WOR, которая либо реализует свои деструктивные действия, либо, если не выпол-

нено предусмотренное условие реализации, сразу передать управление программе-

носителю. Программа-носитель выполняет свои функции. Инфицирование произошло, но пользователь, вызвавший программу-носитель и получивший результат от еѐ выполнения,

не замечает факта инфицирования.

Данная схема представляет собой элементарный процесс заражения системы фай-

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

ной, а заложенный в него вирус впадает в режим «спячки» до определѐнного условия.

В общем случае, когда вирус, заражая программу, сохраняет еѐ, он может сущест-

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

распространение в вычислительной системе или сети;

"спячка";

- запуск;

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

другие деструктивные действия.

15

Фаза распространения обязательна для любой программы-вируса. В этой фазе в ре-

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

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

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

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

гие негативные действия, предусмотренные нарушителем.

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

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

Позиционно зависимый вирус, размещаемый в начале программы, обычно копиру-

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

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

мог быть восстановлен в первоначальном положении и выполнен корректно.

Многие вирусы не опасны и созданы не злонамеренно, а ради шутки или экспери-

мента с существующей техникой. Степень опасности вируса характеризуется потенциаль-

но наносимым им ущербом.

Можно предложить следующую шкалу степени опасности вирусов:

недеструктивное проявление (звуковые или визуальные эффекты), все зара-

женные файлы могут быть корректно восстановлены;

слабо деструктивное проявление, из-за вносимых ошибок он может некор-

ректно заразить и тем самым испортить некоторые программы;

воздействие на систему (эффект замедления, блокировка клавиатуры, про-

цессов), никакие файлы преднамеренно не портятся;

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

намеренно портятся или стираются программные или другие файлы), в це-

лом файловая система остается работоспособной;

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

16

сильно деструктивное воздействие (вирус полностью портит файловую сис-

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

п.);

разрушающее воздействие (вирус физически портит аппаратуру: прожига-

ние экрана монитора, вывод из строя микросхем за счет нарушения теплово-

го режима и т. п.).

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

Обнаруженные и проработанные по своим свойствам репродукции, местам разме-

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

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

вирусы, поражающие общесистемные программы;

загрузочные вирусы (бутовые);

резидентные вирусы;

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

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

макро-вирусы.

Файловые вирусы входят в систему вместе с программой-носителем пользователя по еѐ вызову для исполнения. В любом случае программа-носитель исполняется по назна-

чению. Но, возможны два варианта их алгоритма исполнения: программа-носитель, зара-

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

грамму таким образом, что управление при вызове программы, прежде всего, предостав-

ляется кодам вируса.

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

ты.

Из них наибольшие возможности для заражения имеет командный процессор, ко-

торый находится в дисковом файле COMMAND.COM. Он менее чувствителен к произво-

17

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

Кроме того, отличительной особенностью компьютерных вирусов для

COMMAND.COM является лѐгкость, с которой этот вирус может сделать себя резидент-

ным.

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

загрузчик операционной системы. Иначе их называют «бутовыми вирусами», так как про-

грамма-загрузчик размещается в BOOT секторе. Соответственно «бутовые вирусы» раз-

мещаются либо в секторе BOOT2 при загрузке системы с гибкого диска, либо в секторе

BOOT1 при загрузке с винчестера.

Резидентные вирусы, имплантируясь в систему, остаются в оперативной памяти после исполнения программы-носителя. Эти вирусы после выполнения программы-

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

вое свойство резидентного вируса – это решение двух задач:

остаться в оперативной памяти компьютера послепервичного исполнения программы-носителя;

регулярно получать управление от пользовательских задач или операцион-

ной системы, пока не произошла перезагрузка компьютера.

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

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

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

Стелс-вирусы после запуска оставляют в оперативной памяти специальные моду-

ли, перехватывающие обращение программ к дисковой подсистеме компьютера. Если та-

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

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

тате вирус остаѐтся незамеченным.

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

тирования, текстовые процессоры имеют свои макро-языки. Эти макро-языки, как прави-

18

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

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

мощи переносят себя из одного заражѐнного файла в другие.

6.4 Методы и средства антивирусной защиты

Методы и средства антивирусной защиты по своему характеру действия можно разделить на четыре вида:

создание условий невосприимчивости к заражению компьютерными виру-

сами;

обнаружение и защита от вирусов в статике процессов;

обнаружение и защита от вирусов в динамике процессов;

организационно-правовые меры противодействия вирусным атакам.

6.4.1 Невосприимчивость к заражению вирусами

Для биологических систем существует понятие иммунитета в отношении зараже-

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

нию ему вреда.

Методы создания своеобразного иммунитета существуют и в компьютерной виру-

сологии.

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

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

Целенаправленное и, безусловно, временное на период неактивного состояния про-

грамм, изменение этих компонентов сделает систему нестандартной, и, следовательно,

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

менѐнной среде.

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

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

19

зующие для их идентификации расширения .COM и .EXE, не смогут репродуцировать се-

бя в переименованные файлы.

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

Иммунитет можно создать и за счѐт так называемых прививок.

Большинство вирусов не заражает повторно уже заражѐнную программу. При этом вирус проверяет своѐ наличие в программе (или в оперативной памяти в случае резидент-

ного вируса) по определѐнному, принадлежащему только ему признаку. В качестве при-

знаков вирус обычно рассматривает уникальный набор символов или наличие нестан-

дартного прерывания (для резидентных вирусов).

Если этот признак для известных вирусов заранее уже внесѐн, хотя на самом деле программа не заражена, то такая программа воспринимается вирусом как инфицирован-

ная, и заражения не происходит.

Невосприимчивость к заражению вирусом можно добиться и процедурой вакцина-

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

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

рактеристик могут быть:

длина некоторых исполняемых модулей;

последовательность машинных слов в окрестности точки входа в програм-

му;

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

При запуске защищѐнной программы первой получает управление программа-

вакцина (сразу или после вируса, если защищѐнная программа заражена, но не испорче-

на). Программа-вакцина проверяет текущее состояние исполняемой программы и пред-

принимает в случае еѐ заражения соответствующие действия (выдаѐт сообщение, осуще-

ствляет восстановление).

Все перечисленные приѐмы и методы требуют соответствующих операционных за-

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

ны, например, комплекс программ AIDSTEST Д.Н. Лозинского или комплекс Dr.Web. Ос-

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

6.4.2 Защита от вирусов в статике процессов

20

Относящиеся к данному виду антивирусной защиты комплексы программ предна-

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

Они используются перед тем, как программы впервые внедряются в компьютерные сис-

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

циативе пользователя или администратора безопасности перед вводом новых программ-

ных продуктов в среду, активизацией системы, а также в случае возникновения нештат-

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

Задача обнаружения заражения вирусами – наиболее важная проблема в антиви-

русной борьбе. В общем случае она решается двумя способами:

обнаружение изменений в программных кодах;

обнаружение признаков конкретных вирусов в программах до начала их ра-

боты.

Основными видами антивирусных программ являются следующие виды.

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

няемых файлов запоминаются в отдельном файле. Сами программы являются самостоя-

тельными, и именно они относятся к группе программ-ревизоров.

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

ся по тем же параметрам. Цель выполнения этой процедуры – обнаружение изменений,

производимых вирусами, и локализация заражѐнных программ и компонентов системы.

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

Программы-ревизоры обладают теми же недостатками, что и программы-вакцины:

не обнаруживают заражение, если оно произошло до установки средств контроля.

Программы детекторы и фаги. Эта группа программ использует другой метод об-

наружения вирусов. Обнаружение осуществляется путѐм поиска конкретных признаков присутствия вирусов и является стандартной задачей поиска соответствующей заражѐн-

ному состоянию строки байтов (символов) или битов (кодов). Для этого могут использо-

ваться стандартные средства или специализированные программы.

21

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

лах и загрузочных секторах, но не удаляют их.

Эти средства основаны на сканировании памяти компьютера, файлов на дисках, за-

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

русов.

Важнейшим требованием к этим программам является оперативность добавления характеристик (поисковых параметров) новых типов вирусов в очередные версии про-

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

нал контролируемых вирусов.

Перспективными представляются адаптивные и самообучающиеся средства, авто-

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

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

тролируемый арсенал.

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

6.4.3 Защита от вирусов в динамике процессов

Предотвратить нежелательные действия вируса в ходе функционирования АС (ре-

продуцирование, разрушения) можно, используя различные меры ограничения и изоля-

ции:

защиту от записи;

разделение на логические диски;

защиту от НСД и т.д.

Однако из-за недостаточной надѐжности этих методов чаще разрабатывают спе-

циализированные программы-мониторы и реализуют технико-методические решения по-

строения АС в целом.

22

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

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

Они контролируют обращения к дискам с помощью средств операционной систе-

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

Фактически, это попытка добавить в операционную систему отсутствующие сред-

ства защиты, усилить их.

Программы такого рода имеют ряд слабостей:

вирусы могут обходить их, обращаясь непосредственно к системе вво-

да/вывода (BIOS) минуя операционную систему;

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

ний, из которых трудно выделить сообщения, обусловленные действиями вируса;

вирус сам может действовать как программа-сторож, перехватывая запросы

со стороны программы защиты на опасные действия (особенно это касается резидентных вирусов).

Интеллектуальные антивирусные методики и средства. Недостатки методов и средств определения заражения вирусами в статике процессов (программы ревизоры, де-

текторы и фаги) и динамического мониторинга с помощью программ-сторожей потребо-

вали поиска более совершенных подходов к построению антивирусных систем на основа-

нии соответствующих методик и технических решений по построению АС в целом.

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

ти. При возникновении аномалий, которые не свойственны нормальному поведению сис-

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

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

торые эмулируют существующие части системы (фиктивные процессы, фиктивные файлы

.doc, .exe). В случае появления вируса в системе возникают возмущения, которые опреде-

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

ния (например, заражѐнный вирусом фиктивный файл .doc). Из зафиксированных возму-

щений выявляется их первопричина.

23

Когда источником возмущения является сама программа-агент, антивирусная сис-

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

агент уничтожается.

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

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

ные.

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

ческим фактором. Имеется постоянный источник возмущения – человек (пользователь,

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

Демилитаризованные зоны. Распределѐнная обработка информации при клиент-

серверных технологиях на базе локальных вычислительных сетей (ЛВС) требует отдель-

ных архитектурных технических решений в целях антивирусной защиты при взаимодей-

ствии системы с внешними телекоммуникационными сетями. В особенности это касается взаимодействия с открытой глобальной сетью ИНТЕРНЕТ.

Для того, чтобы воспрепятствовать внедрению вирусов в рабочую (боевую) об-

ласть ЛВС, которая предназначена для решения задач АС, ЛВС разделяют на две зоны:

рабочую и демилитаризованную. Взаимодействие между зонами осуществляется через

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

В демилитаризованной зоне размещают почтовый сервер и Web-сервер системы,

необходимые автоматизированные рабочие места (АРМ), оснащают их мощными антиви-

русными средствами и определяют жѐсткую антивирусную политику работы в этой зоне.

Таким образом, демилитаризованная зона является эффективным комплексным средством предотвращения проникновения вирусов в рабочую зону.

6.4.4 Организационно-правовые меры

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

ной и уголовной ответственности за создание, использование и распространение вирусов с

24