Файл: Исследование проблем борьбы с вирусами и антивирусные программы (Типы компьютерных вирусов).pdf
Добавлен: 29.06.2023
Просмотров: 96
Скачиваний: 3
Независимо от места расположения вируса в теле зараженного файла после передачи управления файлу первыми выполняются команды вируса. В начало файла вирус внедряется одним из трех способов. Первый из них заключается в переписывании начала файла в его конец, а на освободившееся место записывается вирус. Второй способ предполагает считывание вируса и зараженного файла в оперативную память, объединение их в один файл и запись его на место файла. При третьем способе заражения вирус записывается в начало файла без сохранения содержимого. В этом случае зараженный файл становится неработоспособным. Варианты размещения вирусов в файлах:
В середину файла вирус может быть записан также различными способами. Файл может «раздвигаться», а в освободившееся место может быть записан вирус. Вирус может внедряться в середину файла без сохранения участка файла, на место которого помещается вирус. Есть и более экзотические способы внедрения вируса в середину файла. Например, вирус «Mutant» применяет метод сжатия отдельных участков файла, при этом длина файла после внедрения вируса может не измениться. Чаще всего вирус внедряется в конец файла. При этом, как и в случае с внедрением вируса в середину файла, первые команды файла заменяются командами перехода на тело вируса. Рассмотрим алгоритм работы файлового вируса, он может быть представлен в виде следующей последовательности шагов:
Шаг 1. Резидентный вирус проверяет, заражена ли оперативная память, и при необходимости заражает ее. Нерезидентный вирус ищет незараженные файлы и заражает их.
Шаг 2. Выполняются действия по сохранению работоспособности программы, в файл которой внедряется вирус (восстановление первых байт программы, настройка адресов программ и т. д.)
Шаг 3. Осуществляется деструктивная функция вируса, если выполняются соответствующие условия.
Шаг 4. Передается управление программе, в файле которой находится вирус.
При реализации конкретных вирусов состав действий и их последовательность могут отличаться от приведенных в алгоритме.
1.1 Типы компьютерных вирусов.
Макровирусы.
Особое место среди файловых вирусов занимают макровирусы. Макровирусы представляют собой вредительские программы, написанные на макроязыках, встроенных в текстовые редакторы, электронные таблицы и др. Для существования вирусов в конкретной системе (редакторе) необходимо, чтобы встроенный в нее макроязык, имел следующие возможности:
• привязку программы на макроязыке к конкретному файлу;
• копирование макропрограмм из одного файла в другой;
• получение управления макропрограммой без вмешательства пользователя.
Таким условиям отвечают редакторы MS Word, MS Office, Ami Pro, табличный процессор MS Excel. В этих системах используются макроязыки Word Basic и Visual Basic.При выполнении определенных действий над файлами, содержащими макропрограммы (открытие, сохранение, закрытие и т. д.), автоматически выполняются макропрограммы файлов. При этом управление получают макровирусы, которые сохраняют активность до тех пор, пока активен соответствующий редактор (процессор). Поэтому при работе с другим файлом в «зараженном редакторе (процессоре)», он также заражается. Здесь прослеживается аналогия с резидентными вирусами по механизму заражения.
Для получения управления макровирусы, заражающие файлы MS Office, как правило, используют один из приемов:
1) в вирусе имеется автомакрос (выполняется автоматически, при открытии документа, таблицы);
2) в вирусе переопределен один из стандартных макросов, который выполняется при выборе определенного пункта меню;
3) макрос вируса автоматически вызывается на выполнение при нажатии определенной клавиши или комбинаций клавиш.
Первый макровирус «WinWord.Concept», поражающий документы Word, появился летом 1995 года. Вредительская функция этого вируса заключается в изменении формата документов текстового редактора Word в формат файлов стилей. Другой макровирус WinWord Nuclear уже не столь безобиден. Он дописывает фразу с требованием запрещения ядерных испытаний, проводимых Францией в Тихом океане. Кроме того, этот вирус ежегодно 5 апреля пытается уничтожить важные системные файлы.
Троянские кони
Троянский конь-это программа, предназначенная для выполнения определенных функций, преднамеренно скрывающая свои действия от владельца персонального компьютера. Данная программа делает все возможное для того, чтобы владелец до поры до времени не заметил ее пребывание на своем персональном компьютере. Как правило, она не регистрирует себя в реестре и это является отличительным признаком от вируса.
Условно всех троянов делят на четыре подкласса:
1.PSW-троянцы, занимающиеся хищением и отправкой конфиденциальной информации жертвы по определенному адресу. В классификации AVP их называют PSW-троянскими конями(Password-Stealing-Ware)
2. Backdoor - предназначены для скрытого удаленного администрирования компьютера в сети. Эти троянцы обеспечивают полный доступ к ресурсам атакованной системы. Функции, заложенные в «продвинутые» трояны этого типа, исчисляются десятками. Являются самыми высокотехнологичными из троянцев и наиболее потенциально опасным. Используется технология «клиент-сервер», в связи с чем процесс их обнаружения более легок, чем PSW-троянов.
3. Логические бомбы. Это программы, совершающие какие-либо разрушительные действия. В зависимости от определенных условий они при каждом запуске уничтожают информацию на дисках, «подвешивают» систему и т.д.
4. Дропперы (носители). Это зараженные программы. Их код подправлен таким образом, что известные версии антивирусных программ и не определяют в них троянца. Дроппер является одновременно программой-инсталлятором самого троянца.
Загрузочные вирусы
Загрузочные вирусы заражают загрузочные (Boot) сектора гибких дисков и Boot-сектора или Master Boot Record (MBR) жестких дисков (рис. 23). Загрузочные вирусы являются резидентными. Заражение происходит при загрузке операционной системы с дисков. После включения ЭВМ осуществляется контроль ее работоспособности с помощью программы, записанной в постоянном запоминающем устройстве. Если проверка завершилась успешно, то осуществляется считывание первого сектора с гибкого или жесткого диска. Порядок использования дисководов для загрузки задается пользователем при помощи программы Setup. Если диск, с которого производится загрузка ОС заражен загрузочным вирусом, то обычно выполняются следующие шаги:
Шаг 1. Считанный из 1-го сектора диска загрузочный вирус (часть вируса) получает управление, уменьшает объем свободной памяти ОП и считывает с диска тело вируса.
Шаг 2. Вирус переписывает сам себя в другую область Oil, чаще всего - в старшие адреса памяти.
Шаг 3. Устанавливаются необходимые вектора прерываний (вирус резидентный).
Шаг 4. При выполнении определенных условий производятся деструктивные действия.
Шаг 5. Копируется Boot-сектор в ОП и передается ему управление.
Если вирус был активизирован с гибкого диска, то он записывается в загрузочный сектор жесткого диска. Активный вирус, постоянно находясь в ОП, заражает загрузочные сектора всех гибких дисков, а не только системные диски. Заражение рабочих гибких дисков загрузочными вирусами выполняется в расчете на ошибочные действия пользователя ЭВМ в момент загрузки ОС. Если установлен порядок загрузки ОС сначала с гибкого диска, а затем - с жесткого, то при наличии гибкого диска в накопители будет считан 1-й сектор с гибкого диска.
Если диск был заражен, то этого достаточно для заражения ЭВМ. Такая ситуация наиболее часто имеет место при перезагрузке ОС после «зависаний» или отказов ЭВМ.
1.2 Методы и средства борьбы с вирусами.
Массовое распространение вирусов, серьезность последствий их воздействия на ресурсы компьютерных систем вызвали необходимость разработки и использования специальных антивирусных средств и методов их применения. Антивирусные средства применяются для решения следующих задач:
• обнаружение вирусов в компьютерных системах;
• блокирование работы программ-вирусов;
• устранение последствий воздействия вирусов.
Обнаружение вирусов желательно осуществлять на стадии их внедрения или, по крайней мере, до начала осуществления деструктивных функций вирусов. Необходимо отметить, что не существует антивирусных средств, гарантирующих обнаружение всех возможных вирусов. При обнаружении вируса необходимо сразу же прекратить работу программы-вируса, чтобы минимизировать ущерб от его воздействия на систему. Устранение последствий воздействия вирусов ведется в двух направлениях:
• удаление вирусов;
• восстановление (при необходимости) файлов, областей памяти.
Восстановление системы зависит от типа вируса, а также от момента времени обнаружения вируса по отношению к началу деструктивных действий. Восстановление информации без использования дублирующей информации может быть невыполнимым, если вирусы при внедрении не сохраняют информацию, на место которой они помещаются в память, а также, если деструктивные действия уже начались, и они предусматривают изменения информации. Для борьбы с вирусами используются программные и аппаратно-программные средства, которые применяются в определенной последовательности и комбинации, образуя методы борьбы с вирусами. Можно выделить методы обнаружения вирусов и методы удаления вирусов.
Известны следующие методы обнаружения вирусов:
• сканирование;
• обнаружение изменений;
• эвристический анализ;
• использование резидентных сторожей;
• вакцинирование программ;
• аппаратно-программная защита от вирусов.
Сканирование - один из самых простых методов обнаружения вирусов. Сканирование осуществляется программой-сканером, которая просматривает файлы в поисках опознавательной части вируса - сигнатуры. Программа фиксирует наличие уже известных вирусов, за исключением полиморфных вирусов, которые применяют шифрование тела вируса, изменяя при этом каждый
раз и сигнатуру. Программы-сканеры могут хранить не сигнатуры известных вирусов, а их контрольные суммы. Программы сканеры часто могут удалять обнаруженные вирусы. Такие программы называются полифагами. Метод сканирования применим для обнаружения вирусов, сигнатуры которых уже выделены и являются постоянными. Для эффективного использования метода необходимо регулярное обновление сведений о новых вирусах. Самой известной программой-сканером в России является Aidstest Дмитрия Лозинского.
Метод обнаружения изменений базируется на использовании программ-ревизоров. Эти программы определяют и запоминают характеристики всех областей на дисках, в которых обычно размещаются вирусы. При периодическом выполнении программ ревизоров сравниваются хранящиеся характеристики и характеристики, получаемые при контроле областей дисков. По результатам ревизии программа выдает сведения о предположительном наличии вирусов.
Обычно программы-ревизоры запоминают в специальных файлах образы главной загрузочной записи, загрузочных секторов логических дисков, характеристики всех контролируемых файлов, каталогов и номера дефектных кластеров. Могут контролироваться также объем установленной оперативной памяти, количество
подключенных к компьютеру дисков и их параметры. Главным достоинством метода является возможность обнаружения вирусов всех типов, а также новых неизвестных вирусов. Совершенные программы-ревизоры обнаруживают даже «стелс» - вирусы. Например, программа-ревизор Adinf, разработанная Д. Ю
Мостовым, работает с диском непосредственно по секторам через BIOS. Это не позволяет использовать «стелс» - вирусам возможность перехвата прерываний и «подставки» для контроля нужной вирусу области памяти. Имеются у этого метода и недостатки. С помощью программ-ревизоров невозможно определить вирусы в файлах, которые поступают в систему уже зараженными. Вирусы будут обнаружены только после размножения в системе. Программы-ревизоры непригодны для обнаружения заражения макровирусами, так как документы и таблицы очень часто изменяются.
Эвристический анализ сравнительно недавно начал использоваться для обнаружения вирусов. Как и метод обнаружения изменений, данный метод позволяет определять неизвестные вирусы, но не требует предварительного сбора, обработки и хранения информации о файловой системе.
Сущность эвристического анализа заключается в проверке возможных сред обитания вирусов и выявление в них команд (групп команд), характерных для вирусов. Такими командами могут быть команды создания резидентных модулей в оперативной памяти, команды прямого обращения к дискам, минуя ОС. Эвристические анализаторы при обнаружении «подозрительных» команд в файлах или загрузочных секторах выдают сообщение о возможном заражении. После получения таких сообщений необходимо тщательно проверить предположительно зараженные файлы и загрузочные сектора всеми имеющимися антивирусными средствами. Эвристический анализатор имеется, например, в антивирусной программе Doctor Web. Метод использования резидентных сторожей основан на применении программ, которые постоянно находятся в ОП ЭВМ и отслеживают все действия остальных программ. В случае выполнения какой-либо программой подозрительных действий (обращение для записи в загрузочные сектора, помещение в оперативную память резидентных модулей, попытки перехвата прерываний и т. п.) резидентный сторож выдает сообщение пользователю. Программа-сторож может загружать на выполнение другие антивирусные программы для проверки «подозрительных» программ, а также для контроля всех поступающих извне файлов (со сменных дисков, по сети). Существенным недостатком данного метода является значительный процент ложных тревог, что мешает работе пользователя, вызывает раздражение и желание отказаться от использования резидентных сторожей. Примером резидентного сторожа может служить программа Vsafe, входящая в состав MS DOS.