Смекни!
smekni.com

Компьютерные вирусы (стр. 2 из 4)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

несоответствиях сообщается пользователю.

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

Программы-фильтры

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

В связи с этим различными фирмами и программистами разработаны программы-фильтры, или резидентные программы для защиты от вируса, которые в определённой степени восполняют указанный недостаток DOS. Эти программы располагаются резидентно в оперативной памяти компьютера и «перехватывают» те обращения к операционной системе, которые используются вирусами для размножения и нанесения вреда. Такими «подозрительными» действиями являются, в частности, изменение .COMи .EXE-файлов, снятие с файла атрибута «только для чтения», прямая запись на диск (запись по абсолютному адресу), форматирование диска установка «резидентной» (постоянно находящейся в оперативной памяти) программы.

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


Рис. 1. Запрос на разрешение выполнить «подозрительное» действие.

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

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

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

Что могут и чего не могут

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

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

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