Механизмы защиты вирусов от обнаружения
Как правило вирусы легко обнаруживаются по особым участкам кода тела вируса. Правда, в последнее время широкое распространение получили два новых типа вирусов - вирусы-невидимки (или стелс-вирусы) и самомодифицирующиеся вирусы (вирусы-призраки).
Стелс-вирусы (от английского stealth - Стелс-вирус - вирус, тем или иным способом скрывающий свое присутствие в системе.) реализуют очень хитрый механизм, затрудняющий их обнаружение. При заражении эти вирусы остаются в памяти резидентно и при обращении к заражённым файлам и областям диска подменяют информацию так, что "заказчик" получает её в незаражённом, исходном виде. Достигается это перехватыванием обращений DOS и установкой своих векторов прерываний. Увидеть такой вирус можно либо на незаражённом компьетере (например, загрузившись с заведомо чистой дискеты), либо в том случае, когда программа не пользуется средствами DOS а напрямую обращается к диску.
Вирусы-призраки маскируются с помощью другого механизма. Эти вирусы постоянно модифицируют себя таким. образом', что не содержат одинаковых фрагментов. Такие вирусы хранят своё тело в закодированном виде и постоянно меняют параметры этой кодировки. Стартовая же часть, занимающаяся декодированием непосредственно самого тела, может генерироваться весьма сложным способом. При переносе вируса данного типа с компьютера на компьютер код вируса изменяется таким образом, что уже не имеет ничего общего со своим предыдущим вариантом. А часть вирусов может самомодифицироваться и в пределах одного компьютера. Обнаружение таких вирусов весьма осложнено, хотя часть антивирусных программ пытается находить их по участкам кода, характерным для стартовой части.
* - DIR - Поле в ячейке управления ресурсами, показывающее направление RM-ячейки по отношению к потоку данных, с которым эта ячейка связана. Источник данных устанавливает DIR=0, получатель - DIR=1.
д) Что делать, если заражение уже произошло
Стандартные действия при заражении вирусом
Вы должны:
Сразу же выключить питание, чтобы вирус перестал распространяться дальше. Единственное, что можно сделать до выключения питания, - это сохранить результаты текущей работы. Не следует использовать горячую перезагрузку (Ctrl+Alt+Del), т. к. некоторые вирусы при этом сохраняют свою активность.
Войти в SETUP и включить загрузку с диска А:. Заодно рекомендуется проверить правильность всех установок, включая параметры жёстких дисков. Если произошли какие-либо изменения, то необходимо восстановить старые значения.
Ни в коем случае не запускать ни одной программы, находящейся на жёстком диске.
Необходимо загрузиться с дискеты (она должна быть защищена от записи) и запустить по очереди программы-детекторы, находящиеся на дискете. Если одна из программ обнаружит загрузочный вирус, то его можно тут же удалить, аналогично надо поступить и при наличии вируса DIR. Учтите, что вирусов может быть много.
Если программа-детектор обнаружит файловый вирус, то возможны два варианта действий. Если у вас
установлена программа-ревизор с лечащем модулем, то восстановление файлов лучше делать с ее помощью.
Если такое программы нет. то необходимо воспользоваться для лечения одним из детекторов. Испорченные файлы (если, конечно, они не текстовые и не файлы данных) необходимо удалить.
После того как все вирусы удалены, необходимо заново перенести операционную систему на жёсткий диск (с помощью команды SYS).
Необходимо проверить целостность файловой системы на винчестере (с помощью CHKDSK) и исправить все повреждения. Если таких повреждений очень много, то перед исправлением файловой структуры необходимо попытаться скопировать наиболее важные файлы на дискеты.
Необходимо ещё раз проверить жёсткий диск на наличие вирусов, если таковых не оказалось, то можно перезагрузиться с винчестера. После перезагрузки винчестера необходимо оценить потери от действий вируса. Если повреждений очень много, то проще заново переформатировать винчестер (при необходимости сохранив самые важные файлы).
Необходимо восстановить все необходимые файлы и программы с помощью архива - и для страковки, ещё раз загрузившись с дискеты, протестировать винчестер. Если снова будет обнаружен вирус, то- вам не повезло, ваш архив также заражён вирусом. В этом случае вы должны протестировать весь ваш архив.
Если всё в порядке, то необходимо проверить все дискеты, которые могли оказаться заражёнными вирусом и при необходимости пролечить их. Не забудьте только отключить загрузку с диска А:.
После того как вирус дезактивирован, вы можете продолжать свою работу. Рекомендуется только подключить на некоторое время одну из программ-фильтров.
Нестандартные ситуации
Во время вирусной атаки может возникнуть ряд нестандартных ситуаций. Рассмотрим их.
Если у вас установлен менеджер диска, то при загрузки с дискеты часть дисков может быть недоступна. Тогда необходимо пролечить вначале все доступные на данный момент диски, затем загрузиться с жёсткого системного диска и пролечить все оставшиеся логические диски.
Если при загрузке с дискеты выясняется, что система просто "не видет" ваш винчестер, то скорее всего вирус повредил таблицу разбиения жёсткого диска. В этом случае необходимо ещё раз проверить установки SETUP и попытаться восстановить разбиение с помощью Norton Disk Doctor (или, если вы хорошо представляете себе свои действия, с помощью Norton Disk Edit). Если это не поможет, то, увы, вся информация с винчестера потеряна, остаётся только воспользоваться программой FDISK.
Если вы столкнулись с неизвестным вирусом, то дело обстоит несколько сложнее. Во-первых, вы можете воспользоваться программой-ревизором, если она у вас установлена. Вполне возможно, что она поможет обезвредить ваш вирус. Если её нет или она не помогла, то остаётся только заново перенести операционную систему, а затем удалить с него все исполняемые и пакетные файлы, драйверы и оверлейные файлы, после чего восстановить их из архива. Можно также воспользоваться услугами антивирусной скорой помощи.
И в заключение одно замечание. Не стоит приписывать все ваши неприятности действиям вируса. Говорить же о действии неизвестного вируса, а тем более прибегать к радикальным мерам следует только тогда, когда не остаётся никаких сомнений. Стоит вначале попытаться восстановить файлы, и, только если это не удаётся, удалить их.
Ситуация, сложившаяся сейчас в области вирусной безопасности, весьма стабильна. Различные организации (исключая, конечно, Институтские учебные центры, на которых пробуют свои силы юные авторы вирусов) подвергаются вирусным атакам весьма редко, - не говоря уже об индивидуальных пользователях.
а)Метод соответствия определению вирусов в словаре
1. Удалить инфицированный файл.
2. Заблокировать доступ к инфицированному файлу.
3. Отправить файл в карантин (то есть сделать его недоступным для выполнения с целью недопущения дальнейшего распространения вируса).
4. Попытаться восстановить файл, удалив сам вирус из тела файла.
5. В случае невозможности лечения/удаления, выполнить эту процедуру при перезагрузке.
Для того чтобы такая антивирусная программа успешно работала на протяжении долгого времени, в словарь вирусов нужно периодически загружать (обычно, через Интернет) обновленные данные. Если бдительные и имеющие склонность к технике пользователи определят вирус по горячим следам, они могут послать зараженные файлы разработчикам антивирусной программы, а они затем добавят информацию о новых вирусах в свой словарь.
Для многих антивирусных программ со словарем характерна проверка файлов в тот момент, когда операционная система создает, открывает, закрывает или посылает их по почте. Таким образом, программа может обнаружить известный вирус сразу после его получения. Заметьте также, что системный администратор может установить в антивирусной программе расписание для регулярной проверки (сканирования) всех файлов на жестком диске компьютера.Хотя антивирусные программы, созданные на основе поиска соответствия определению вируса в словаре, при обычных обстоятельствах могут достаточно эффективно препятствовать вспышкам заражения компьютеров, авторы вирусов стараются держаться на полшага впереди таких программ-антивирусов, создавая «олигоморфические», «полиморфические» и самые новые, «метаморфические» вирусы, в которых некоторые части шифруются или искажаются так, чтобы было невозможно обнаружить совпадение с определением в словаре вирусов.
б) Метод обнаружения странного поведения программ
Антивирусы, использующие метод обнаружения подозрительного поведения программ не пытаются идентифицировать известные вирусы, вместо этого они прослеживают поведение всех программ. Если программа пытается записать какие-то данные в исполняемый файл (exe-файл), программа-антивирус может пометить этот файл, предупредить пользователя и спросить что следует сделать.В настоящее время, подобные превентивные методы обнаружения вредоносного кода, в том или ином виде, широко применяются в качестве модуля антивирусной программы, а не отдельного продукта.Другие названия: Проактивная защита, Поведенческий блокиратор, Host Intrusion Prevention System (HIPS).В отличие от метода поиска соответствия определению вируса в антивирусных базах, метод обнаружения подозрительного поведения даёт защиту от новых вирусов, которых ещё нет в антивирусных базах. Однако следует учитывать, что программы или модули, построенные на этом методе, выдают также большое количество предупреждений (в некоторых режимах работы), что делает пользователя мало восприимчивым ко всем предупреждениям. В последнее время эта проблема ещё более ухудшилась, так как стало появляться всё больше не вредоносных программ, модифицирующих другие exe-файлы, несмотря на существующую проблему ошибочных предупреждений. Несмотря на наличие большого количества предупреждающих диалогов, в современном антивирусном программном обеспечении этот метод используется всё больше и больше. Так, в 2006 году вышло несколько продуктов, впервые реализовавших этот метод: Kaspersky Internet Security, Kaspersky Antivirus, Safe’n’Sec, F-Secure Internet Security, Outpost Firewall Pro, DefenceWall. Многие программы класса файрволл издавна имели в своем составе модуль обнаружения странного поведения программ.