Смекни!
smekni.com

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

Однако программы-детекторы всё же научились ловить “простые” самомодифицирующиеся вирусы. В этих вирусах вариации механизма расшифровки закодированной части вируса касаются только использования тех или иных регистров компьютера, констант шифрования, добавления “незначащих” команд и т.д. И программы-детекторы приспособились обнаруживать команды в стартовой части вируса, несмотря на маскирующие изменения в них. Но в последнее время появились вирусы с чрезвычайно сложными механизмами самомодификации. В них стартовая часть вируса генерируется автоматически по весьма сложным алгоритмам: каждая значащая инструкция расшифровщика передаётся одним из сотен тысяч возможных вариантов, при этом используется более половины всех команд Intel-8088. Проблема распознавания таких вирусов довольно сложна, и полностью надёжного решения пока не получила. Впрочем, в некоторых антивирусных программах имеются средства для нахождения подобных вирусов, а в программе Dr. Web – также и эвристические методы обнаружения “подозрительных” участков программного кода, типичные для самомодифицирующихся вирусов.

Основные методы защиты от компьютерных вирусов

Для защиты от вирусов можно использовать:

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

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

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

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

копирование информации – создание копий файлов и системных областей дисков;

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

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

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

Программы-доктора, или фаги, “лечат” зараженные программы или диски, “выкусывая” из зараженных программ тело вируса, т.е. восстанавливая программу в том состоянии, в котором она находилась до заражения вирусом.

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

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

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

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

Программы-детекторы и доктора

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

Следует подчеркнуть, что программы-детекторы могут обнаруживать только те вирусы, которые ей “известны”. Программа Scan фирмы McAfee Associates и Aidstest Д.Н.Лозинского позволяют обнаруживать около 1000 вирусов, но всего их более пяти тысяч! Некоторые программы-детекторы, например Norton AntiVirus или AVSP фирмы “Диалог-МГУ”, могут настраиваться на новые типы вирусов, им необходимо указать лишь комбинации байтов, присущие этим вирусам. Тем не менее невозможно разработать такую программу, которая могла бы обнаруживать любой заранее неизвестный вирус.

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

Программы-ревизоры

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

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

При каждом запросе не “подозрительное” действие на экран компьютера выводится сообщение о том, какое действие затребовано и какая программа желает его выполнить. Можно либо разрешить выполнение этого действия, либо запретить его.

Что могут и чего не могут компьютерные вирусы

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

1. Склонность приписывать любое повреждение данных или необычное явление на компьютере действию вирусов. Например, не форматируется дискета, это для “вирусофоба” не возможный дефект дискеты или дисковода, а действие вируса. Если на жёстком диске появляется сбойный блок, то в этом тоже, разумеется, виноват вирус. На самом же деле необычные явления на компьютере чаще вызваны ошибками пользователя, программ или дефектами оборудования.

2. Преувеличенные представления о возможностях вирусов. Некоторые думают, например, что достаточно вставить в дисковод зараженную дискету, чтобы компьютер заразился вирусом. Распространено также мнение, что для компьютеров, объединённых

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

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

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

– на компьютере была выполнена зараженная программа типа .COM или .EXE или зараженный модуль оверлейной программы;

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

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

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

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

на незараженном компьютере производится копирование файлов с одной дискеты на другую. Если компьютер “здоров”, то ни он сам, ни копируемые дискеты не будут заражены вирусом. Единственный вариант передачи вируса в этой ситуации – это копирование зараженного файла: при этом его копия, разумеется, тоже будет “заражена”, но ни компьютер, ни какие-то другие файлы заражены не будут;

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

Список литературы

Информатика. Компьютерные вирусы. //Приложение к газете “Первое сентября”, 1997 г. № 37

В.Э.Фигурнов. IBM PC для пользователя. 1998 г.

Что мы знаем о вирусах. //Компьютерра,1999 г. №12