Сигнатурный метод обнаружения вирусов что такое
Технологии, применяемые в антивирусах, можно разбить на две группы -
- Технологии сигнатурного анализа
- Технологии вероятностного анализа
Определение 4.2. Сигнатурный анализ - метод обнаружения вирусов, заключающийся в проверке наличия в файлах сигнатур вирусов.
Сигнатурный анализ является наиболее известным методом обнаружения вирусов и используется практически во всех современных антивирусах. Для проведения проверки антивирусу необходим набор вирусных сигнатур, который хранится в антивирусной базе.
Определение 4.3. Антивирусная база - база данных, в которой хранятся сигнатуры вирусов.
Ввиду того, что сигнатурный анализ предполагает проверку файлов на наличие сигнатур вирусов, антивирусная база нуждается в периодическом обновлении для поддержания актуальности антивируса. Сам принцип работы сигнатурного анализа также определяет границы его функциональности - возможность обнаруживать лишь уже известные вирусы - против новых вирусов сигнатурный сканер бессилен.
С другой стороны, наличие сигнатур вирусов предполагает возможность лечения инфицированных файлов, обнаруженных при помощи сигнатурного анализа. Однако, лечение допустимо не для всех вирусов - трояны и большинство червей не поддаются лечению по своим конструктивным особенностям, поскольку являются цельными модулями, созданными для нанесения ущерба.
Грамотная реализация вирусной сигнатуры позволяет обнаруживать известные вирусы со стопроцентной вероятностью.
Технологии вероятностного анализа в свою очередь подразделяются на три категории:
- Эвристический анализ
- Поведенческий анализ
- Анализ контрольных сумм
Определение 4.4. Эвристический анализ - технология, основанная на вероятностных алгоритмах, результатом работы которых является выявление подозрительных объектов.
В процессе эвристического анализа проверяется структура файла, его соответствие вирусным шаблонам. Наиболее популярной эвристической технологией является проверка содержимого файла на предмет наличия модификаций уже известных сигнатур вирусов и их комбинаций. Это помогает определять гибриды и новые версии ранее известных вирусов без дополнительного обновления антивирусной базы.
Эвристический анализ применяется для обнаружения неизвестных вирусов, и, как следствие, не предполагает лечения.
Данная технология не способна на 100% определить вирус перед ней или нет, и как любой вероятностный алгоритм грешит ложными срабатываниями.
Определение 4.5. Поведенческий анализ - технология, в которой решение о характере проверяемого объекта принимается на основе анализа выполняемых им операций.
Поведенческий анализ весьма узко применим на практике, так как большинство действий, характерных для вирусов, могут выполняться и обычными приложениями. Наибольшую известность получили поведенческие анализаторы скриптов и макросов, поскольку соответствующие вирусы практически всегда выполняют ряд однотипных действий. Например, для внедрения в систему, почти каждый макровирус использует один и тот же алгоритм: в какой-нибудь стандартный макрос, автоматически запускаемый средой Microsoft Office при выполнении стандартных команд (например, "Save", "Save As", "Open", и т.д.), записывается код, заражающий основной файл шаблонов normal.dot и каждый вновь открываемый документ.
Средства защиты, вшиваемые в BIOS, также можно отнести к поведенческим анализаторам. При попытке внести изменения в MBR компьютера, анализатор блокирует действие и выводит соответствующее уведомление пользователю.
Помимо этого поведенческие анализаторы могут отслеживать попытки прямого доступа к файлам, внесение изменений в загрузочную запись дискет, форматирование жестких дисков и т. д.
Поведенческие анализаторы не используют для работы дополнительных объектов, подобных вирусным базам и, как следствие, неспособны различать известные и неизвестные вирусы - все подозрительные программы априори считаются неизвестными вирусами. Аналогично, особенности работы средств, реализующих технологии поведенческого анализа, не предполагают лечения.
Как и в предыдущем случае, возможно выделение действий, однозначно трактующихся как неправомерные - форматирование жестких дисков без запроса, удаление всех данных с логического диска, изменение загрузочной записи дискеты без соответствующих уведомлений и пр. Тем не менее, наличие действий неоднозначных - например, макрокоманда создания каталога на жестком диске, заставляет также задумываться о ложных срабатываниях и, зачастую, о тонкой ручной настройке поведенческого блокиратора.
Определение 4.6. Анализ контрольных сумм - это способ отслеживания изменений в объектах компьютерной системы. На основании анализа характера изменений - одновременность, массовость, идентичные изменения длин файлов - можно делать вывод о заражении системы.
Анализаторы контрольных сумм (также используется название "ревизоры изменений") как и поведенческие анализаторы не используют в работе дополнительные объекты и выдают вердикт о наличии вируса в системе исключительно методом экспертной оценки. Большая популярность анализа контрольных сумм связана с воспоминаниями об однозадачных операционных системах, когда количество вирусов было относительно небольшим, файлов было немного и менялись они редко. Сегодня ревизоры изменений утратили свои позиции и используются в антивирусах достаточно редко. Чаще подобные технологии применяются в сканерах при доступе - при первой проверке с файла снимается контрольная сумма и помещается в кэше, перед следующей проверкой того же файла сумма снимается еще раз, сравнивается, и в случае отсутствия изменений файл считается незараженным.
Подводя итоги обзора технологий, применяемых в антивирусах, отметим, что сегодня практически каждый антивирус использует несколько из перечисленных выше технологий, при этом использование сигнатурного и эвристического анализа для проверки файлов и именно в этом порядке является повсеместным. В дальнейшем средства, реализующие комбинацию сигнатурного и эвристического анализа, мы будем называть антивирусными сканерами.
Вторая группа технологий более разнородна, поскольку ни один из применяемых подходов не дает гарантии обнаружения неизвестных вирусов. Очевидно, что и совместное использование всех этих технологий не дает такой гарантии. На сегодняшний день лучшим способом борьбы с новыми угрозами является максимально быстрое реагирование разработчиков на появление новых экземпляров вирусов выпуском соответствующих сигнатур. Также, учитывая наличие активных вредоносных программ, необходимо не менее быстро реагировать на обнаружение новых уязвимостей в операционных системах и устанавливать соответствующие заплаты безопасности.
Антивирусная программа предназначена для обнаружения и обезвреживания угроз безопасности. Интересно, что в процессе эволюции антивирусы совершенствовали методы обнаружения: от определения вредоносов по сигнатурам до эвристического анализа и выявления подозрительного поведения.
Антивирусы делятся на сканеры и резидентные модули. Сканеры находят файлы на дисках, читают их и делают вывод об инфицировании вирусом. Резидентные антивирусы постоянно работают в оперативной памяти и проверяют каждый новый файл и программу на заражение вирусом. При таком подходе расходуются ресурсы компьютера: процессор и оперативная память. Именно из-за этого некоторые пользователи не любят антивирусы, не хотят собственноручно замедлять работу компьютера. Но работать без антивируса сегодня небезопасно, так можно делать только в случае полной уверенности в своих действиях и посещаемых ресурсах в интернете.
Методы обнаружения вредоносного ПО
В самом простом случае используется определение по сигнатурам. Сигнатура – это кусок кода вируса, который не изменяется. Базы данных антивирусов содержат именно сигнатуры известных вирусов. Простое сравнение программного кода по базе сигнатур 100% позволяет определить есть вирус или нет. Но и вирусы не стоят на месте, они используют полиморфные алгоритмы, с помощью которых сигнатура меняется. Также создаются новые вирусы, которые невозможно определить по имеющимся базам.
Следующим методом стал эвристический анализ, который более интеллектуально подходит к обнаружению угроз. Эвристический анализатор выявляет паттерны, т.е. закономерности поведения вирусов и таким образом может определить угрозу ещё до того, как станет известна её сигнатура. Так, например, под особым контролем программы, которые создают резидентные модули в памяти, напрямую обращаются к файловой системе или к загрузочным секторам, перехватывают программные и аппаратные прерывания, изменяют исполняемые (.exe) файлы.
Какие угрозы обнаруживаются антивирусами
Стоит отметить, что на самом деле вирус и вредоносная программа, это немного разные определения. Вредоносное ПО – это любой программный код, цель которого нанести вред или ущерб компьютеру, операционной системе или лично человеку, похитив конфиденциальные данные (пароли, данные кредитных карт, деньги с электронных кошельков). Вирус же способен самореплицироваться, т.е. самостоятельно распространяться, заражая другие программы и компьютеры. Пользователю нужно запустить вирус или инфицированную программу, чтобы он начал вредить.
Червь, в отличии от вируса, существует самостоятельно, не заражая другие файлы. Для заражения червём не требуется запуск заражённой программы или посещение инфицированного сайта. Червь использует сетевые уязвимости и эксплоиты операционки Windows. Эксплоит (exploit) – это код, последовательность команд, которая использует обнаруженную хакером брешь в системе безопасности, например ошибку при переполнении буфера, которая позволяет выполнить любой код.
Поэтому червь пролазит в компьютер сам, и затем дальше ищет другие уязвимости в сетях, к которым подключён компьютер. Червь может выполнять любые злонамеренные действия: кража паролей, шифрование файлов, нарушение работы ОС, перезагружать компьютер и т.д.
- Получают доступ к ядру ОС
- Изменяют системные файлы
- Маскируются под системные процессы
- Загружаются до запуска операционной системы
- Работают в теневом режиме
Всё это осложняет обнаружение и удаление руткитов.
Spyware – шпионские программы, которые следят за активностью пользователя в сети, запоминают нажатия клавиш, находят данные карт, кошельков, документы и передают их хакеру.
Adware – рекламное ПО, показывает рекламу в всплывающих окнах. Adware (ad, реклама) может долго оставаться незамеченным, внедряя рекламные баннеры на посещаемые сайты или заменяя имеющуюся рекламу на свою. Переход по рекламным ссылкам может повлечь заражение трояном или руткитом.
Ransomware – это вымогатели, которые шифруют личные и рабочие документы на дисках. Вымогатель требует выкуп за получение ключа расшифровки. Как правило, выкуп просят в биткоинах, но никакого ключа расшифровки не существует. Лечения от вымогателя не существует, данные теряются навсегда.
Следуйте правилам безопасности, работая за компьютером и в интернете, используйте антивирусное ПО, например Total AV.
В первой части статьи Вирусы и как с ними бороться мы рассмотрели теоретические основы вирусостроения. Сегодня подбираемся ближе к практике.
Для чего нам нужен антивирус?
В первую очередь для того, чтобы своевременно обнаруживать и удалять вирусы и тому подобную заразу. Но для начала нам его нужно установить. Сразу оговоримся, что помимо вирусов как таковых существует еще целый ряд деструктивных сетевых действий, на борьбу с которыми рассчитан фаервол (он же брандмауэр), часто идущий в пакете с антивирусом в виде модуля расширения, который можно установить, а можно и отказаться от его установки, воспользовавшись услугами таких мэтров как Agnitum Outpost Firewall Pro - кстати, последний не уживается практически ни с какими сторонними разработками. Вообще роль брандмауэра в системе нельзя умалять, он закрывает неиспользуемые сетевые порты, "мониторит" их на предмет нецелевого использования, а также запрещает выход в сеть неугодным приложениям, отражает сканирование портов, DDoS атаки и выполняет еще массу различных и крайне необходимых мер безопасности, так что отнеситесь к нему с большим вниманием, а на штатное решение компании Microsoft особо полагаться не стоит. О фаерволах нужна отдельная статья, потому что они тоже делятся на классы и типы фильтрации сетевого трафика (динамическая и пакетная фильтрация), у которых, разумеется, тоже есть свои достоинства и недостатки.
Каждый производитель выпускает антивирусы для различных платформ, например существуют версии того же самого AVP как для различных Windows платформ, так и для Unix/Linux систем, MacOS. Уже многие компании начали выпуск антивирусных пакетов для мобильных устройств на базе SymbianOS, PalmOS и клоны Windows CE (WM, Pocket, Smartphone и т.п.). Многие юзеры, конечно, и не подозревают о том, что уже существуют вирусы и под эти платформы, а некоторые уже знают о них, получив через Bluetooth вирус Duts для WM 2002/2003 или Cabir для Symbian.
Слухи о том, что якобы появились вирусы под мобильные телефоны, небезосновательны, но особо бояться их не стоит. Во-первых, теоретически, мобильный телефон можно заразить только посредством java-мидлета, а во-вторых, от модели к модели нередко меняется аппаратная и программная часть, и написать вирус, поражающий все модели телефонов одновременно, просто невозможно - тем более, что доступ к файловой системе телефона получить не так просто, да и подсистема памяти у мобилок устроена несколько иначе, чем у смартов.
Где взять антивирус
Можно иметь дело с коробочной версией антивируса - той, которая продается в красивой коробке и стоит немало, а можно установить себе и триал-версию продукта, которая будет исправно трудиться в течении определенного производителем срока, а после этого либо прекратит работу (может работать частично, просто обнаруживая вирусы, но отказываясь их лечить), либо лишится поддержки и обновления антивирусных баз. Для установки антивируса нужно обязательно удалить предыдущий антивирус (если он от стороннего производителя), иначе два разных ядра перехватчика системных событий не уживутся, и возникнет конфликт, вплоть до полной невозможности загрузки ОС, тогда придется загружаться в безопасном режиме и удалять один антивирус. А может быть и еще хуже, придется откатывать систему к контрольной точке восстановления.
В процессе установки разные антивирусы могут предлагать различные попутные настройки с обязательно установленной кнопкой в положение Recommended. Если вы не особо разбираетесь в работе антивируса, то лучше так и оставьте. Далее возможна ситуация, когда антивирус просканирует ОЗУ вашего кремниевого друга и удалит все вирусы из нее, после этого поступит предложение просканировать весь жесткий диск на предмет вирусов, до перезагрузки (если в памяти были найдены вирусы), не советую пренебрегать этим предложением. После сканирования перезагружаемся и если до этого в системе антивирус установлен не был, то наблюдаем более низкую скорость загрузки ОС, потерю нескольких десятков мегабайт ОЗУ, а если машина совсем уж слабенькая, то может наблюдаться и замедление работы — но поверьте, оно того стоит.
Как работает антивирус?
Практически каждый антивирус состоит из нескольких модулей, а именно из сканера, монитора, брандмауэра и различных блоков, защищающих нас от спама, фишинга и тому подобных неприятностей.
Начнем по порядку: с того, какие типы обнаружения вирусов существуют, а их всего три, это сигнатурный, эвристический и проактивный.
Сигнатурный метод обнаружения вирусов
Для начала давайте разберемся, что же такое сигнатура. Сигнатура - это участок кода вируса, который обнаружили антивирусные компании и добавили этот участок кода в базу сигнатур антивируса, и теперь во время сканирования антивирус будет проверять каждый файл на компьютере на наличие такой сигнатуры в коде (как бы прикладывая ее к телу файла). Если он ее отыщет, то она будет извлечена из тела файла, то есть файл окажется вылечен (этим занимаются фаги и полифаги). Многие пользователи не могут представить себе, как антивирус может вообще заглянуть в файл, и хотят посмотреть на примере участок кода (открою вам секрет: вирус не может заразить чисто текстовый файл таких форматов как txt, rtf или "чистый" html, и если вы посмотрите эти файлы с помощью HEX-редактора, то сразу поймете, почему). Итак, откроем файл adptif.dll из директории System32 программой ResHacker (она позволяет декомпилировать некоторые файлы для последующего анализа исходника).
На рисунке видна сигнатура, которую я специально добавил в тело "диллки" из существующего вируса под названием Email-Worm.Win32.Happy (из легендарного вируса!), примерно так и работает антивирус, декомпилируя файл и ища в нем сигнатуры вирусов (на самом деле, конечно же, код длинней, но и на сохраненные изменения в этом файле моя "Панда" отреагировала незамедлительно).
Многих также интересовал вопрос, как же все таки тело вируса попадает в антивирусные лаборатории, и я постараюсь на него ответить. Ну, во-первых, у каждой компании есть специальный робот, который называется Honeypots (липучка), сканирующий Интернет в поисках вирусов посредством эвристического анализа и проактивных методов (о которых чуть ниже), также вирусы присылают "зараженные" пользователи, чей антивирус с помощью эвристического анализатора обнаружил вирус и поместил его в карантин (специальная директория, в которую помещается инфицированный файл до тех пор, пока антивирусная компания не выпустит сигнатуру с кодом этого вируса и антивирус не сможет "выкусить" этот участок вредоносного кода фагом, тем самым, вылечив файл, а до тех пор придется выкусить пользователю :) Файлы из этой директории не могут быть запущены на выполнение).
В некоторых случаях сигнатуры новых вирусов отправляют друг другу и компании антивирусного ПО. Да-да, это не шутка. Несмотря на маркетинговую политику, такое происходит, это поведал один руководитель крупной российской антивирусной компании в онлайн-интервью. А вообще в антивирусные компании ежедневно поступают из всех помянутых источников 200-300 свеженьких образцов различных "зверушек", написанных как профи, так и не очень опытными вирусописателями, некоторым образцам так и не суждено заразить ни одной машины, а некоторым, таким как Win95.CIH (он же "Чернобыль"), Sasser, NetSky, MyDom удается произвести настоящий шум.
После того как сигнатуры на сервере антивирусной компании добавлены в базы, антивирус подключается к официальному серверу или к зеркалу (если этому не противоречит регламент) и скачивает новые сигнатуры, добавляя к уже существующим.
Иногда в неделю добавляется сигнатур объемом в 350-400 кб, и после того как сигнатуры добавлены, файлы, находившиеся в карантине, будут вылечены (т.е. если вирусы, которыми они заражены, найдутся в базе).
Также иногда возникает спор на тему того, что у одного антивируса в базе 75 000 известных вирусов, а у другого их аж 125 000, и последний, как правило, в глазах несведущих пользователей выглядит привлекательней. Но тут тоже есть рекламная хитрость, дело в том, что у одного вируса может быть несколько мутаций (небольшое изменение кода вследствие модификации вредоносного кода), так вот, некоторые компании считают группу мутаций одного вируса (которая может достигать десятка) одним вирусом, другие считают каждую мутацию отдельным вирусом. Сигнатурный метод очень хорош тем, что в случае, когда вирус известен антивирусной компании и его сигнатура занесена в базы, он будет найден наверняка, на все 100%.
У сигнатурного метода обнаружения есть и слабые места, а именно: при увеличении файла(ов) сигнатур увеличиваются и требования к ресурсам компьютера, а еще такой метод поиска и обнаружения способен отыскать только те вирусы, которые заранее известны и не более того. Новые вирусы пишутся просто с бешеной скоростью, а на то, чтобы обнаружить новый вирус и добавить в базы, нужно время. Если учитывать, что на написание нового вируса у профи может уйти всего 15-20 минут, а на распространение и заражение сотен компьютеров в сети и того менее - 20-30 секунд (!), то станет понятно, что динамичным и надежным такой метод назвать трудно.
Эвристический метод обнаружения вирусов
Сразу после изобретения сигнатурного анализатора антивирусные компании начали искать альтернативы - по той простой причине, что успевать за вирусописателями и их творениями (которые, к слову, могут сами себя видоизменять и шифровать), стало совсем непросто. Тем более, что упаковщики, в которые упаковывают вирусы при создании, становятся все сложнее и сложнее, что делает добывание сигнатур еще более медленным и трудоемким делом. И в дополнение к старому методу был добавлен эвристический анализатор.
Слово "эвристика" происходит от греческого "отыскиваю, открываю", и построен этот метод, грубо говоря, на анализе проб и ошибок. На практике при работе антивируса эвристический анализатор распознает некоторые виды мутировавших вирусов, но зачастую такой метод порождает ложные срабатывания. Зато именно с помощью этого метода возможна некоторая защита от отсутствующих в базе вирусов, то есть подозрительный файл будет помещен в карантин, откуда будет передан антивирусной компании в момент следующего обновления. В компании его исследуют и добавят код в базу сигнатур, после чего этот файл, возможно, будет вылечен.
Один совет по поводу сотрудничества с антивирусными компаниями. Иногда антивирусная компания просит присылать обнаруженный вирус или инфицированный файл по почте с пометкой "вирус", но дело в том, что по дороге от почтового сервера к почтовому серверу файл подвергнется проверке и будет либо удален, либо дезинфицирован, поэтому следует его предварительно упаковать в архив с паролем и в тексте письма указать пароль.
Помните, что ни один антивирус не обнаружит вирус в запароленном архиве. Когда же вирус или инфицированный файл попадает в карантин, то он сразу шифруется и становится недоступным для всех приложений, кроме антивируса, и в лабораторию при следующем соединении с сервером он будет отправляться также в зашифрованном виде, но уже напрямую, минуя почтовые сервера. Ни один антивирусный монитор не даст вам сделать ни одного действия над зараженным файлом, а будет его блокировать (обычно на защищенных от записи носителях) или сразу лечить, поэтому нужно будет, отключив резидентный модуль (о нем ниже), заархивировать файл с паролем, а потом запустить резидента снова (вообще я все эксперименты с вирусами произвожу на виртуальной машине, что и вам советую).
Проактивный метод обнаружения вирусов (или поведенческий)
Этот метод обнаружения впервые появился в продукте "Антивирус Касперского 6.0" и произвел в некотором роде переворот в антивирусном ПО.
Этот метод включает в себя несколько принципов анализа. Первый из них - вычисление контрольных сумм файлов, которую при последующем сканировании антивирус будет сравнивать со своей базой (слепком), и когда контрольная сумма осталась без изменения, он этот файл проверять не станет. Второй принцип - это проверка системного реестра на состояние (целостность) критически важных ключей и, соответственно, снимок реестра, а третий способ (его еще называют поведенческим) включает в себя мониторинг поведения программ, а именно - того, что в данный момент выполняет программа, и если ее действия подозрительны, антивирус вам об этом сообщит. Проактивный метод не стоит путать с эвристикой и расширенной эвристикой, это несколько разные методы, потому что эвристика все равно обращается к сигнатурам, а проактивный метод имеет четкие правила поведения программ и записей в реестре, которые разработаны производителем.
Но, конечно, и у этого метода есть как сильные стороны, так и слабые. Правила поведенческого анализатора выпускаются производителем в специальных базах (как и сигнатуры), и если, допустим, хакеры изучат поведение антивируса в той или иной ситуации, то они могут создать такое правило для своего вируса, которое будет вписываться в рамки "допустимости" антивирусного модуля проактивной защиты, и тем самым обманут его. Также стоит отметить, что те пользователи, которые работали с таким методом обнаружения вирусов, очень часто натыкались на "ложную тревогу", когда антивирус принимал совершенно безобидное приложение за шпиона или трояна.
Полифаги и фаги
Это доктора, встроенные в антивирус, которые позволяют вылечить файл, после того как в нем был обнаружен вирус сканером - а если быть точным, то фаги извлекают из файла вредоносный код. Однако в некоторых случаях вирусы не только добавляют себя в тело файла, но и уродуют код последнего, делая его восстановление невозможным.
Теперь давайте разберемся, как работает антивирус на практике и как вообще построен процесс работы антивируса. Для начала стоит напомнить, что современные антивирусы состоят из нескольких блоков (как уже упоминалось выше), а именно из монитора (резидентного модуля), сканера, фаервола (брандмауэра) и различных модулей по работе со спамом, фишингом, шпионами, адварами и тому подобной дрянью.
В процессе работы компьютера в оперативной памяти всегда находится монитор, на программном уровне это ядро антивируса, так называемый перехватчик системных событий, который очень глубоко интегрируется в систему (именно по этой причине несколько перехватчиков от различных производителей не уживаются на одной машине - а вот антивирусы, состоящие из двух ядер, существуют, например, у компании McAfee), и все последующие действия отслеживаются антивирусом (будь то проверка файлов на сигнатуры или то поведенческий анализ).
Также во время установки антивируса в систему он интегрируется в почтовые программы, такие как Outlook Express, Eudora, The Bat! и т.д.
Это очень важный аспект, поскольку во время получения почты нужно прямое сканирование трафика из протоколов POP3, SMTP, NNTP, IMAP и тому подобных, потому что многим типам червей, распространяющихся через эти протоколы, совершенно не нужно запуска, им главное попасть на ваш компьютер, дальше сработает механизм. Учтите это! Вам же не хочется, чтобы какой-нибудь червь с трояном отправили на все ваши адреса из почтовой программы ругательные письма. Представляете, что будет с вашим лицом через пару дней, когда до вас доберутся обиженные адресаты? :)
В процессе того, как монитор отслеживает поведение программ и файлов возможна такая ситуация, что будет обнаружен вирус - где угодно, то ли в кэше вашего браузера, который только что загрузил свеженький вирус с сайта, то ли уже в запущенном процессе или вообще лежащий в файле на диске.
Первым делом задача антивируса - это не дать файлу прав на исполнение, простыми словами - блокировать его, и любые действия над ним будут невозможны (копирование, архивация и т.д.), вторым по плану будет задача встроенного фага обезвредить файл. Конечно же, если вирус был найден эвристическим методом или проактивным, то о лечении и речи быть не может, только карантин до появления сигнатуры в базах или удаление. Также возможно переименование файла, это не даст возможности его запуска в другой раз.
Совсем другая ситуация с уже запущенным процессом, который выполняет деструктивные действия или является частью вирусного механизма. Здесь сложней. Во-первых, этот процесс нужно сначала убить, а затем произвести все вышеназванные действия над ним - но что же делать, если процесс не убиваем? Да, да к сожалению, и такое бывает. Как я уже писал, в таких случаях поможет либо безопасный режим, либо DOS (многие антивирусы позволяют из главного окна программы или меню "Пуск" создать либо загрузочные дискеты для лечения ПК из DOS, либо записать на CD). Когда вирусная активность была замечена проактивным сканером в реестре или конфигурационном файле приложения, сразу поступит предложение исправить это досадное положение и сделать откат на случай ошибки. Решать вам.
В отличие от монитора, сканер нужно запускать вручную, натравив антивирус либо на один файл из контекстного меню, либо через главное окно производить поверку выбранных объектов, целых дисков, отдельных папок.
Антивирусные программы - это программы, основной задачей которых является защита именно от вирусов, или точнее, от вредоносных программ.
Методы и принципы защиты теоретически не имеют особого значения, главное чтобы они были направлены на борьбу с вредоносными программами. Но на практике дело обстоит несколько иначе: практически любая антивирусная программа объединяет в разных пропорциях все технологии и методы защиты от вирусов, созданные к сегодняшнему дню.
Из всех методов антивирусной защиты можно выделить две основные группы:
- Сигнатурные методы - точные методы обнаружения вирусов, основанные на сравнении файла с известными образцами вирусов
- Эвристические методы - приблизительные методы обнаружения, которые позволяют с определенной вероятностью предположить, что файл заражен
Слово сигнатура в данном случае является калькой на английское signature , означающее "подпись" или же в переносном смысле "характерная черта, нечто идентифицирующее". Собственно, этим все сказано. Сигнатурный анализ заключается в выявлении характерных идентифицирующих черт каждого вируса и поиска вирусов путем сравнения файлов с выявленными чертами.
Сигнатурой вируса будет считаться совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Все вместе сигнатуры известных вирусов составляют антивирусную базу.
Задачу выделения сигнатур, как правило, решают люди - эксперты в области компьютерной вирусологии, способные выделить код вируса из кода программы и сформулировать его характерные черты в форме, наиболее удобной для поиска. Как правило - потому что в наиболее простых случаях могут применяться специальные автоматизированные средства выделения сигнатур. Например, в случае несложных по структуре троянов или червей, которые не заражают другие программы, а целиком являются вредоносными программами.
Практически в каждой компании, выпускающей антивирусы, есть своя группа экспертов, выполняющая анализ новых вирусов и пополняющая антивирусную базу новыми сигнатурами. По этой причине антивирусные базы в разных антивирусах отличаются. Тем не менее, между антивирусными компаниями существует договоренность об обмене образцами вирусов, а значит рано или поздно сигнатура нового вируса попадает в антивирусные базы практически всех антивирусов. Лучшим же антивирусом будет тот, для которого сигнатура нового вируса была выпущена раньше всех.
Одно из распространенных заблуждений насчет сигнатур заключается в том, каждая сигнатура соответствует ровно одному вирусу или вредоносной программе. И как следствие, антивирусная база с большим количеством сигнатур позволяет обнаруживать больше вирусов. На самом деле это не так. Очень часто для обнаружения семейства похожих вирусов используется одна сигнатура , и поэтому считать, что количество сигнатур равно количеству обнаруживаемых вирусов, уже нельзя.
Соотношение количества сигнатур и количества известных вирусов для каждой антивирусной базы свое и вполне может оказаться, что база с меньшим количеством сигнатур в действительности содержит информацию о большем количестве вирусов. Если же вспомнить, что антивирусные компании обмениваются образцами вирусов, можно с высокой долей уверенности считать, что антивирусные базы наиболее известных антивирусов эквивалентны.
Важное дополнительное свойство сигнатур - точное и гарантированное определение типа вируса. Это свойство позволяет занести в базу не только сами сигнатуры, но и способы лечения вируса. Если бы сигнатурный анализ давал только ответ на вопрос, есть вирус или нет, но не давал ответа, что это за вирус , очевидно, лечение было бы не возможно - слишком большим был бы риск совершить не те действия и вместо лечения получить дополнительные потери информации.
Другое важное, но уже отрицательное свойство - для получения сигнатуры необходимо иметь образец вируса. Следовательно, сигнатурный метод непригоден для защиты от новых вирусов, т. к. до тех пор, пока вирус не попал на анализ к экспертам, создать его сигнатуру невозможно. Именно поэтому все наиболее крупные эпидемии вызываются новыми вирусами. С момента появления вируса в сети Интернет до выпуска первых сигнатур обычно проходит несколько часов, и все это время вирус способен заражать компьютеры почти беспрепятственно. Почти - потому что в защите от новых вирусов помогают дополнительные средства защиты, рассмотренные ранее, а также эвристические методы, используемые в антивирусных программах.
Слово " эвристика " происходит от греческого глагола "находить". Суть эвристических методов состоит в том, что решение проблемы основывается на некоторых правдоподобных предположениях, а не на строгих выводах из имеющихся фактов и предпосылок. Поскольку такое определение звучит достаточно сложно и непонятно, проще объяснить на примерах различных эвристических методов
Если сигнатурный метод основан на выделении характерных признаков вируса и поиске этих признаков в проверяемых файлах, то эвристический анализ основывается на (весьма правдоподобном) предположении, что новые вирусы часто оказываются похожи на какие-либо из уже известных. Постфактум такое предположение оправдывается наличием в антивирусных базах сигнатур для определения не одного, а сразу нескольких вирусов. Основанный на таком предположении эвристический метод заключается в поиске файлов, которые не полностью, но очень близко соответствуют сигнатурам известных вирусов.
Положительным эффектом от использования этого метода является возможность обнаружить новые вирусы еще до того, как для них будут выделены сигнатуры. Отрицательные стороны:
- Вероятность ошибочно определить наличие в файле вируса, когда на самом деле файл чист - такие события называются ложными срабатываниями
- Невозможность лечения - и в силу возможных ложных срабатываний, и в силу возможного неточного определения типа вируса, попытка лечения может привести к большим потерям информации, чем сам вирус, а это недопустимо
- Низкая эффективность - против действительно новаторских вирусов, вызывающих наиболее масштабные эпидемии, этот вид эвристического анализа малопригоден
Другой метод, основанный на эвристике, исходит из предположения, что вредоносные программы так или иначе стремятся нанести вред компьютеру. Метод основан на выделении основных вредоносных действий, таких как, например:
- Удаление файла
- Запись в файл
- Запись в определенные области системного реестра
- Открытие порта на прослушивание
- Перехват данных вводимых с клавиатуры
- Рассылка писем
- И др.
Понятно, что выполнение каждого такого действия по отдельности не является поводом считать программу вредоносной. Но если программа последовательно выполняет несколько таких действий, например, записывает запуск себя же в ключ автозапуска системного реестра, перехватывает данные вводимые с клавиатуры и с определенной частотой пересылает эти данные на какой-то адрес в Интернет, значит эта программа по меньшей мере подозрительна. Основанный на этом принципе эвристический анализатор должен постоянно следить за действиями, которые выполняют программы.
Преимуществом описанного метода является возможность обнаруживать неизвестные ранее вредоносные программы, даже если они не очень похожи на уже известные. Например, новая вредоносная программа может использовать для проникновения на компьютер новую уязвимость, но после этого начинает выполнять уже привычные вредоносные действия. Такую программу может пропустить эвристический анализатор первого типа, но вполне может обнаружить анализатор второго типа.
Читайте также: