Как обнаружить резидентный вирус

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

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

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

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

Основными путями проникновения вирусов в компьютер являются съемные диски (гибкие и лазерные), а также компьютерные сети. Заражение жесткого диска вирусами может произойти при загрузке компьютера с дискеты, содержащей вирус. Такое заражение может быть и случайным, например, если дискету не вынули из дисковода А: и перезагрузили компьютер, при этом дискета может и не быть системной. Заразить дискету гораздо проще. На нее вирус может попасть, даже если дискету просто вставили в дисковод зараженного компьютера и, например, прочитали ее оглавление.

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

После запуска программы, содержащей вирус, становится возможным заражение других файлов. Наиболее часто вирусом заражаются загрузочный сектор диска и исполняемые файлы, имеющие расширения ЕХЕ, .СОМ, SYS или ВАТ. Крайне редко заражаются текстовые и графические файлы.

Зараженная программа - это программа, содержащая внедренную в нее программу-вирус.

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

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

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

    В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам (рис. 1):

  • среде обитания;
  • способу заражения среды обитания;
  • воздействию;
  • особенностям алгоритма.

    Рис. 1. Классификация компьютерных вирусов:

    а - по среде обитания; б - по способу заражения;

    в - по степени воздействия; г - по особенностям алгоритмов

    В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т.е. в файлы, имеющие расширения СОМ и ЕХЕ. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.

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

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

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

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

    Методы, которые используют антивирусные средства

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

    Рассмотрим эти методы.

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

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

    Определение сигнатуры вируса ¾ очень сложная задача. Необходимо тщательно изучить принцип работы вируса и сравнить программы, зараженные данным вирусом, и незараженные. Кроме того, сигнатура не должна содержаться в других программах, иначе возможны ложные срабатывания.

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

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

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

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

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

    2. Обнаружение изменений, или контроль целостности.

    Контроль целостности основан на выполнении двух процедур:

    · постановка на учет;

    · контроль поставленного на учет.

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

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

    3. Эвристический анализ.

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

    4. Метод резидентного сторожа.

    5. Вакцинирование программ.

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

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

    Ложные тревоги делят на два типа:

    · ложная позитивная (положительная);

    · ложная негативная (отрицательная).

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

    Ложная негативная тревога - это когда антивирусное средство говорит, что вируса нет, а на самом деле он есть.

    Некоторые специалисты ложные тревоги называют ошибками антивирусов, причем ложные негативные тревоги (несрабатывания) называются ошибками первого рода, а ложные позитивные тревоги - ошибками второго рода.

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

    Типы антивирусных средств

    1. Программы-детекторы, или программы-сканеры.

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

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

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

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

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

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

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

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

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

    2. Программы-мониторы, или резидентные сторожа.

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

    · низкоуровневое форматирование диска

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

    · запись данных в загрузочные секторы жёсткого диска

    Если пользователь не форматировал диски, не изменял метку диска и не устанавливал новую версию ОС, то необходимо отменить операцию и проверить компьютер на наличие вирусов;

    · запись данных в загрузочный сектор дискеты

    Если пользователь не форматировал дискету, не изменял её метку (команда LABEL ), не записывал на дискету ОС (командой SYS или другим способом), необходимо отменить операцию и проверить компьютер на наличие вирусов;

    · запись данных в исполняемый файл

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

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

    · Изменение атрибута файла

    Скорее всего, это действие вируса. В этом случае пользователь должен проанализировать ситуацию.

    Поэтому мониторы необходимо применять в следующих случаях:

    · запуск новых программ неизвестного происхождения;

    · во время подозрения на вирус;

    · некоторое время после удаления вируса для исключения его появления вновь.

    В настоящее время фирмы-производители антивирусных средств поставляют, как правило, целые антивирусные комплексы, а не отдельные программы. В состав многих таких комплексов входят резидентные мониторы. Например, вместе с антивирусным пакетом Antiviral Toolkid Pro ( AVP ) , созданным фирмой КАМИ (Е. Касперский) поставляется резидентрый монитор Antiviral Monitor . Он позволяет обнаружить и сообщить обо всех проявлениях, которые могут быть вызваны компьютерными вирусами. В комплект Microsoft Anti - Virus входит резидентный монитор Vsafe , позволяющий постоянно контролировать работу компьютера. В состав комплекта Norton AntiVirus входит приложение Norton AntiVirus Auto - Protect . Кроме проверки запускаемых файлов Norton AntiVirus Auto - Protect выполняет все функции обычного резидентного монитора, позволяя при этом пользователям сделать установки случаев, в которых необходимо сообщать о подозрительном действии.

    В пакет антивирусной защиты Dr Solomon ’ s AntiVirus Toolkit входит монитор WinGuard , в обязанности которого входит контроль подключения внешних дисков, выполнением операций с файлами и поведением исполняемых файлов (сканирование файлов при записи).

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

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

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

    Ревизоры могут обнаружить любые вирусы, даже ранее неизвестные. Но для этого необходимо “поставить на учет” заведомо чистые от вирусов возможные объекты нападения. Кроме этого, ревизор не обнаружит вирус, который попал с новым зараженным уже файлом, так как он “не знает” параметров этого файла до заражения вирусом. Вот когда новый вирус уже заразит другие файлы или загрузочный сектор, он будет обнаружен ревизором. Не сможет ревизор обнаружить вирус, заражающий файлы только при копировании, опять же не имея возможности сравнить параметры файлов. Ревизоры неэффективно использовать для обнаружения вирусов в файлах документов, так как эти файлы очень часто изменяются. Кроме того, следует учитывать, что ревизоры только обнаруживают изменения, но не все изменения связаны с внедрением вируса. Загрузочная запись может измениться при обновлении версии операционной системы, могут измениться командные файлы, некоторые программы могут записывать в свои исполняемые файлы данные, что тоже приводит к изменению файлов, в конце концов, пользователь может просто перекомпилировать свою программу.

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

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

    Простейшая программа-ревизор Microsoft Anti - Virus ( MSAV ) входит в состав операционной системы MS - DOS (!). Более известна программа-ревизор Advanced Dikinfoscope ( Adinf ), созданная Дмитрием Юрьевичем Мостовым.

    3. Перспективные средства защиты .

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

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

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

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

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

    Практически известно, что для любого вируса можно создать антивирус, но не для любого антивируса можно создать вирус, обходящий его. Теоретически это подтвердил Л. Адлеман (кстати, учитель известного Фредерика Коэна). Он доказал, что множество всех вирусов неперечислимо.

    Но это означает только то, что невозможно создать программу, однозначно решающую, есть ли в предъявленном ей файле вирус или нет.

    Решение проблемы вирусов - в создании сред, делающих существование вирусов невозможным .

    Обнаружение неизвестного вируса

    Цели изучения темы

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

    Требования к знаниям и умениям

    Студент должен знать:

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

    Студент должен уметь:

    проверить систему на наличие макровируса.

    Ключевой термин: неизвестный вирус.

    общий алгоритм обнаружения вируса.

    Структурная схема терминов


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

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

    В начале следует прочитать содержимое сектора, подозрительного на наличие вируса. Для этой цели удобно использовать DISKEDIT из "Нортоновских утилит". Некоторые загрузочные вирусы практически сразу можно обнаружить по наличию различных текстовых строк выводимых на экран при активизации вируса. Другие вирусы, поражающие boot-секторы дисков, наоборот, определяются по отсутствию строк, которые обязательно должны присутствовать в boot-секторе. К таким строкам относятся имена системных файлов и строки сообщений об ошибках. Отсутствие или изменение строки-заголовка boot-сектора (строка, название фирмы-производителя программного обеспечения) также может служить сигналом о заражении вирусом.

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

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

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

    Характерными проявлениями макровирусов являются:

    Word: невозможность конвертирования зараженного документа Word в другой формат.

    Word: зараженные файлы имеют формат Template (шаблон), поскольку при заражении Word-вирусы конвертируют файлы из формата Word Document в Template.

    Excel/Word: в STARTUP (Автозагрузка)-каталоге присутствуют "посторонние" файлы.

    Excel: наличие в Книге (Book) лишних и скрытых Листов (Sheets)..

    Для проверки системы на предмет наличия вируса можно использовать пункт меню Сервис/макрос. Если обнаружены "чужие макросы", то они могут принадлежать вирусу. Однако этот метод не работает в случае стелс-вирусов, которые запрещают работу этого пункта меню, что, в свою очередь, является достаточным основанием считать систему зараженной.

    Многие вирусы имеют ошибки или некорректно работают в различных версиях Word/Excel, в результате чего Word/Excel выдают сообщения об ошибке.

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

    Сигналом о вирусе являются и изменения в файлах и системной конфигурации Word, Excel и Windows. Многие вирусы тем или иным образом меняют пункты меню, разрешают или запрещают некоторые функции, устанавливают на файлы пароль при их заражении. Большое количество вирусов создает новые секции и/или опции в файле конфигурации Windows (WIN. INI).

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

    При анализе алгоритма вируса необходимо выяснить:

    способ(ы) размножения вируса;

    характер возможных повреждений, которые вирус нанес информации, хранящейся на дисках;

    метод лечения оперативной памяти и зараженных файлов (секторов).

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

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

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

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

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

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

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

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

    Обнаружить резидентный Windows-вирус можно, если загрузить DOS и проверить запускаемые файлы Windows.

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

    Сигналом о вирусе являются и изменения в файлах и системной конфигурации Word, Excel и Windows.

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

    Как обнаружить загрузочный вирус?

    Как обнаружить резидентный вирус?

    Характерные черты макровируса.

    Как проверить систему на наличие макровируса?

    Является ли наличие скрытых листов в Excel признаком заражения макровирусом?

    Перечислите основные этапы алгоритма обнаружения вируса.

    Касперский Е. Компьютерные вирусы в MS-DOS. – М.: Эдель, 1992.

    Касперский Е. Компьютерные вирусы, 2003. – Электронная энциклопедия. – Режим доступа к энциклопедии: www.viruslist.com/viruslistbooks.html.

    Щербаков А. Ю. Введение в теорию и практику компьютерной безо-пасности. – М.: Издательство Молгачева С. В., 2001.

    Фролов А. В., Фролов Г. В. Осторожно: компьютерные вирусы. – М.: ДИАЛОГ-МИФИ, 1996.

    Галатенко В. А. Основы информационной безопасности. – М: Интернет-Университет Информационных Технологий – ИНТУИТ. РУ, 2003.

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

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

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

    · способу заражения среды обитания;

    В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. в файлы, имеющие расширения СОМ и ЕХЕ. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.

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

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

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

    · опасные вирусы , которые могут привести к различным нарушениям в работе компьютера;

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

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

    Загрузочные вирусы

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

    Что происходит, когда вы включаете компьютер? Первым делом управление передается программе начальной загрузки (ПНЗ), которая хранится в постоянно запоминающем устройстве (ПЗУ).

    Эта программа тестирует оборудование и при успешном завершении проверок пытается найти дискету в дисководе А:. Всякая дискета размечена на секторы и дорожки. Секторы объединяются в кластеры, но это для нас несущественно. Среди секторов есть несколько служебных, используемых операционной системой для собственных нужд (в этих секторах не могут размещаться ваши данные).

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

    Таким образом, нормальная схема начальной загрузки следующая:

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

    появилась подходящая жертва - в нашем случае не защищенная от записи и еще не зараженная дискета, он приступает к заражению. Заражая дискету, вирус производит следующие действия:

    · выделяет некоторую область диска и помечает ее как недоступную операционной системе. Это можно сделать по-разному, в простейшем и традиционном случае занятые вирусом секторы помечаются как сбойные (bad);

    · копирует в выделенную область диска свой хвост и оригинальный (здоровый) загрузочный сектор;

    · замещает программу начальной загрузки в загрузочном секторе (настоящем) своей головой;

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

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

    В цепочке ПНЗ (ПЗУ) ® ПНЗ (диск) ® СИСТЕМА появляется новое звено: ПНЗ (ПЗУ) ® ВИРУС ® ПНЗ (диск) ® СИСТЕМА .

    Поэтому никогда не оставляйте (случайно) дискет в дисководе А.

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

    При загрузке компьютера с винчестера первой берет на себя управление программа начальной загрузки в MBR (Master Boot Record - главная загрузочная запись). Если ваш жесткий диск разбит на несколько разделов, то лишь один из них помечен как загрузочный (boot). Программа начальной загрузки в MBR находит загрузочный раздел винчестера и передает управление на программу начальной загрузки этого раздела. Код последней совпадает с кодом программы начальной загрузки, содержащейся на обычных дискетах, а соответствующие загрузочные сектора отличаются только таблицами параметров. Таким образом, на винчестере имеются два объекта атаки загрузочных вирусов - программа начальной загрузки в MBR и программа начальной загрузки в boot-секторе загрузочного диска.

    Файловые вирусы

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

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

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

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

    Основными путями проникновения вирусов в компьютер являются съемные диски (гибкие и лазерные), а также компьютерные сети. Заражение жесткого диска вирусами может произойти при загрузке программы с дискеты, содержащей вирус. Такое заражение может быть и случайным, например, если дискету не вынули из дисковода А: и перезагрузили компьютер, при этом дискета может быть и не системной. Заразить дискету гораздо проще. На нее вирус может попасть, даже если дискету просто вставили в дисковод зараженного компьютера и, например, прочитали ее оглавление.

    Примечание . Чтобы исключить заражение дискеты компьютерным вирусом, запретите запись на диск. Режим запрета записи на дискете 3,5’’ устанавливается специальным переключателем, расположенным в одном из углов дискеты. Для запрета записи на дискету, манипулируя этим переключателем, откройте прорезь в дискете.

    Вирус, как правило, внедряется в рабочую программу таким образом, чтобы при ее запуске управление сначала передалось ему и только после выполнения всех его команд снова вернулось к рабочей программе. Получив доступ к управлению, вирус прежде всего переписывает сам себя в другую рабочую программу и заражает ее. После запуска программы, содержащей вирус, становится возможным заражение других файлов. Наиболее часто вирусом заражаются загрузочный сектор диска и исполняемые файлы, имеющие расширения EXE, COM, SYS, ВАТ. Крайне редко заражаются текстовые файлы.

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

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

    · прекращение работы или неправильная работа ранее успешно функционировавших программ;

    · медленная работа компьютера;

    · невозможность загрузки операционной системы;

    · исчезновение файлов и каталогов или искажение их содержимого;

    · изменение даты и времени модификации файлов;

    · изменение размеров файлов;

    · неожиданное значительное увеличение количества файлов на диске;

    · существенное уменьшение размера свободной оперативной памяти;

    · вывод на экран непредусмотренных сообщений или изображений;

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

    · частые зависания и сбои в работе компьютера.

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

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

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

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

    · программы-доктора, или фаги;

    · программы-вакцины, или иммунизаторы.

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

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

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

    · попытки коррекции файлов с расширениями СОМ, ЕХЕ;

    · изменение атрибутов файла;

    · прямая запись на диск по абсолютному адресу;

    · запись в загрузочные сектора диска;

    · загрузка резидентной программы.

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

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

    1. Оснастите свой компьютер современными антивирусными программами, например Doctor Web, AVP, и постоянно возобновляйте их версии.

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

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

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

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

    6. Обязательно делайте архивные копии на дискетах ценной для вас информации.

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

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

    9. Для обеспечения большей безопасности применения необходимо сочетать доктора и ревизоры, например, DrWeb и ADinf.

    Aidstest - это антивирусная программа-полифаг, способная сейчас обнаружить и уничтожить более 1700 вирусов. В настоящее время Aidstest поставляется как бесплатное приложение к программе Dr. Web, дополняя вирусную базу Dr. Web.

    Рассмотрим использование программы DrWeb32, которая предназначена для использования в 32-битных операционных системах семейства Windows (т.е. Windows 95/98/Me/NT/2000/XP) и для краткости названа Dr.Web for Windows 95-XP, или просто DrWeb32W.

    Важнейшим новшеством программы DrWeb32 является модульный принцип ее построения. Еще в версии DrWeb 4.0 основная вирусная база была выделена в отдельный файл и подгружалась после старта программы аналогично файлам-дополнениям, что позволило решить проблему нехватки основной памяти. Теперь в DrWeb32 произошло разделение программы на оболочку, ориентированную на работу в конкретной среде (в данном случае, Windows 95/98/NT), и ядро, не зависящее от среды. Такая организация антивирусной программы позволяет:

    · использовать одни и те же файлы вирусной базы DrWeb для разных платформ - DOS, Windows 95/98/ME/NT/2000/XP, OS/2,Novell Netware;

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

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

    К важным особенностям программы относятся:

    · наглядные и гибкие средства выбора объектов тестирования путем просмотра дерева подкаталогов любых дисков вплоть до уровня отдельных файлов;

    · отсутствие ряда ограничений традиционной версии;

    · полная проверка всей системной памяти Windows 95/98/ME;

    · автоматическое обновление через Интернет;

    · резидентный антивирусный контроль файлов (сторож SpIDer);

    · интеллектуальная технология контроля вирусной активности SpIDer-Netting.

    Программа DrWeb32 для Windows выпущена в двух вариантах: с графическим интерфейсом (DrWeb32W) и без него (DrWebWCL). Оба варианта поддерживают одинаковый набор параметров (ключей) командной строки. Для разового нерегулярного применения более удобен первый режим, но для регулярного применения с целью систематического входного контроля дискет лучше применять второй режим. При использовании второго режима соответствующая команда запуска DrWeb должна быть включена либо в меню пользователя операционной оболочки Total Commander, либо в специальный командный файл.

    Командная строка для запуска DrWeb выглядит следующим образом:

    X: - логическое устройство жесткого диска или физическое устройство гибкого диска, например F: или А:,

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

    Наиболее важные ключи:

    · / AL -диагностика всех файлов на заданном устройстве;

    · P - удаление вирусов с подтверждением пользователя;

    · / DL - удаление файлов, корректное лечение которых невозможно;

    · / HA [уровень] - эвристический анализ файлов и поиск в них неизвестных вирусов, где уровень может принимать значения 0, 1,2;

    · /КР[имя файла] - запись протокола работы в файл (по умолчанию в файл REPORT.WEB);

    · / CL - запуск программы в режиме командной строки, при тестировании файлов и системных областей не используется полноэкранный интерфейс;

    · / QU - выход в DOS сразу после тестирования;

    · /? - вывод на экран краткой справки.

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

    По умолчанию (при отсутствии файла конфигурации DRWEB.INI) основные режимы сканирования соответствуют следующей командной строке:

    DRWEB.EXE /AR /FM / НА /HI /RPREPORT.DWB /RV /SO /UP

    На рис.1. показана проверка компьютера на наличие вирусов в окне DrWeb.


    Рис. 1. Проверка диска C : на наличие вирусов в окне DrWeb.

  • Читайте также:

    Пожалуйста, не занимайтесь самолечением!
    При симпотмах заболевания - обратитесь к врачу.

    Copyright © Иммунитет и инфекции