Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Антивирусы-полифаги. Определение антивирусных программ и их классификация




Методы защиты.

Определение антивирусных программ и их классификация.

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

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

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

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

• специализированные программы для защиты от вирусов. Имеются две основные разновидности общих средств защиты информации, обеспечивающие:

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

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

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

• программы-детекторы;

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

• программы-ревизоры;

• программы-фильтры;

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

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

Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т. е. удаляют из файла тело программы-вируса, возвращая файлы в ис­ходное состояние. В начале своей работы фаги ищут вирусы в опе­ративной памяти, уничтожая их, и только затем переходят к «лече­нию» файлов. Среди фагов выделяют полифаги, т. е. програм­мы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: Aidstest, Scan, Nor­ton AntiVirus, Doctor Web.

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

Антивирусы-полифаги — наиболее распространенные средства по борьбе с вредоносными программами. Исторически они появи­лись первыми и до сих пор удерживают несомненное лидерство в этой области.

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

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

В настоящее время вирусные программы значительно усложни­лись. Например, появились так называемые «stealth-вирусы». В основе их работы лежит тот факт, что операционная система при обращении к периферийным устройствам (в том числе и к жестким дискам) использует механизм прерываний. Здесь необходимо сде­лать небольшое отступление на тему «Как работает механизм пре­рываний». При возникновении прерывания управление передается специальной программе — «Обработчику прерываний». Эта про­грамма отвечает за ввод и вывод информации в/из периферийного устройства. Кроме того, прерывания делятся на уровни взаимодей­ствия с периферией (в нашем случае — с жесткими и гибкими дис­ками). Есть уровень операционной системы (в среде MS DOS — прерывание 25h), есть уровень базовой системы ввода/вывода (уровень BIOS — прерывание 13h). Опытные системные программисты могут работать и напрямую, обращаясь к портам ввода/вывода устройств. Но это довольно серьезная и трудная задача. Столь мно­гоуровневая система сделана, прежде всего, с целью сохранения пе­реносимости приложений. Именно благодаря такой системе, ска­жем, оказалось возможным осуществлять запуск DOS-приложений в многозадачных средах типа MS Windows или IBM OS/2.

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

В случае, если с диска читается зараженная программа, вирус «выкусывает» собственный код (обычно код не буквально «выкусы­вается», а происходит подмена номера читаемого сектора диска). В итоге пользователь получает для чтения «чистый» код. Таким об­разом, до тех пор, пока вектор обработчика прерываний изменен вирусным кодом, сам вирус активен в памяти компьютера, обнару­жить его простым чтением диска средствами операционной систе­мы невозможно. Схожий механизм маскировки используется и за­грузочными вирусами, о которых будет сказано дальше. В целях борьбы со stealth-вирусами ранее рекомендовалось (и, в принципе, рекомендуется и сейчас) осуществлять альтернативную загрузку си­стемы с гибкого диска и только после этого проводить поиск и уда­ление вирусных программ. В настоящее время загрузка с гибкого диска может оказаться проблематичной (для случая с Win32 — ан­тивирусными приложениями запустить их не удастся). Ввиду всего вышесказанного, антивирусы-полифаги оказываются максимально эффективными только при борьбе с уже известными вирусами, то есть с такими, чьи сигнатуры и методы поведения знакомы разра­ботчикам.

Только в этом случае вирус со 100%-ной точностью будет обна­ружен и удален из памяти компьютера, а потом — и из всех прове­ряемых файлов. Если же вирус неизвестен, то он может достаточно успешно противостоять попыткам его обнаружения и лечения. По­этому главное при пользовании любым полифагом — как можно чаще обновлять версии программы и вирусные базы.

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

Как правило, такие вариации создают непрофессиональные про­граммисты, которые по каким-то причинам решили написать вирус. Для борьбы с такими «копиями» и были придуманы эвристические анализаторы. С их помощью антивирус способен находить подоб­ные аналоги известных вирусов, сообщая пользователю, что у него, похоже, завелся вирус. Естественно, надежность эвристического анализатора не 100 %, но все же его коэффициент полезного дейст­вия больше 50 %. Вирусы, которые не распознаются антивирусны­ми детекторами, способны написать только наиболее опытные и квалифицированные программисты.

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

Конечно, вероятность, как пропуска, так и ложного срабатыва­ния весьма высока. Однако, правильно используя механизм эвристи­ки, пользователь может самостоятельно прийти к верным выводам. Например, если антивирус выдает сообщение о подозрении на ви­рус для единичного файла, то вероятность ложного срабатывания весьма высока. Если же такое повторяется на многих файлах (а до этого антивирус ничего подозрительного в этих файлах не обнару­живал), то можно говорить о заражении системы вирусом с вероят­ностью, близкой к 100 %. Наиболее мощным эвристическим анали­затором в настоящее время обладает антивирус Dr.Web.

Использование эвристического анализатора, помимо всего вы­шеперечисленного, позволяет также бороться с вирус-генераторами и полиморфными вирусами.

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

В простейшем случае — если разбросать в теле вируса случай­ным образом ничего не исполняющие, пустые операторы (типа «mov ax, ax» или «пор»), то тело вирусного кода претерпит значи­тельные изменения, а алгоритм останется прежним. В этом случае на помощь также приходит эвристический анализатор.




Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 4620; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.