Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

обнаружения компьютерных вирусов




 

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

1. Сканирование.

 

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

 

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

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

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

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

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

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

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

 

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

 

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

 

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

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

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

Наиболее опасные из «подозрительных» действий:

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

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

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

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

 

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

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

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

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

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

 

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

Большинство распространённых ныне мониторов предназначены для контроля за подключаемыми к компьютеру дисками. Такие мониторы освобождают пользователя от необходимости помнить об обязательном сканировании каждого нового диска или дискеты. Монитор открывает доступ к диску, лишь убедившись в его «чистоте». Так работает, например, монитор McAfee VShield (щит от вирусов) пакета McAfee VirusScan for Windows9x (VirusScan 95). Он также выполняет контроль исполняемых программ и копируемых файлов.

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

 

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

 

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

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

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

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

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

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

 

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

 

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

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

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

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

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

Практически известно, что для любого вируса можно создать антивирус, но не для любого антивируса можно создать вирус, обходящий его. Теоретически это подтвердил Л. Адлеман [1][1] (кстати, учитель известного Фредерика Коэна). Он доказал, что множество всех вирусов неперечислимо. Но это означает только то, что невозможно создать программу, однозначно решающую, есть ли в предъявленном ей файле вирус или нет. Решение проблемы вирусов - в создании сред, делающих существование вирусов невозможным.


 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...