Что такое детектирование вирусов
Антивирусная программа предназначена для обнаружения и обезвреживания угроз безопасности. Интересно, что в процессе эволюции антивирусы совершенствовали методы обнаружения: от определения вредоносов по сигнатурам до эвристического анализа и выявления подозрительного поведения.
Антивирусы делятся на сканеры и резидентные модули. Сканеры находят файлы на дисках, читают их и делают вывод об инфицировании вирусом. Резидентные антивирусы постоянно работают в оперативной памяти и проверяют каждый новый файл и программу на заражение вирусом. При таком подходе расходуются ресурсы компьютера: процессор и оперативная память. Именно из-за этого некоторые пользователи не любят антивирусы, не хотят собственноручно замедлять работу компьютера. Но работать без антивируса сегодня небезопасно, так можно делать только в случае полной уверенности в своих действиях и посещаемых ресурсах в интернете.
Методы обнаружения вредоносного ПО
В самом простом случае используется определение по сигнатурам. Сигнатура – это кусок кода вируса, который не изменяется. Базы данных антивирусов содержат именно сигнатуры известных вирусов. Простое сравнение программного кода по базе сигнатур 100% позволяет определить есть вирус или нет. Но и вирусы не стоят на месте, они используют полиморфные алгоритмы, с помощью которых сигнатура меняется. Также создаются новые вирусы, которые невозможно определить по имеющимся базам.
Следующим методом стал эвристический анализ, который более интеллектуально подходит к обнаружению угроз. Эвристический анализатор выявляет паттерны, т.е. закономерности поведения вирусов и таким образом может определить угрозу ещё до того, как станет известна её сигнатура. Так, например, под особым контролем программы, которые создают резидентные модули в памяти, напрямую обращаются к файловой системе или к загрузочным секторам, перехватывают программные и аппаратные прерывания, изменяют исполняемые (.exe) файлы.
Какие угрозы обнаруживаются антивирусами
Стоит отметить, что на самом деле вирус и вредоносная программа, это немного разные определения. Вредоносное ПО – это любой программный код, цель которого нанести вред или ущерб компьютеру, операционной системе или лично человеку, похитив конфиденциальные данные (пароли, данные кредитных карт, деньги с электронных кошельков). Вирус же способен самореплицироваться, т.е. самостоятельно распространяться, заражая другие программы и компьютеры. Пользователю нужно запустить вирус или инфицированную программу, чтобы он начал вредить.
Червь, в отличии от вируса, существует самостоятельно, не заражая другие файлы. Для заражения червём не требуется запуск заражённой программы или посещение инфицированного сайта. Червь использует сетевые уязвимости и эксплоиты операционки Windows. Эксплоит (exploit) – это код, последовательность команд, которая использует обнаруженную хакером брешь в системе безопасности, например ошибку при переполнении буфера, которая позволяет выполнить любой код.
Поэтому червь пролазит в компьютер сам, и затем дальше ищет другие уязвимости в сетях, к которым подключён компьютер. Червь может выполнять любые злонамеренные действия: кража паролей, шифрование файлов, нарушение работы ОС, перезагружать компьютер и т.д.
- Получают доступ к ядру ОС
- Изменяют системные файлы
- Маскируются под системные процессы
- Загружаются до запуска операционной системы
- Работают в теневом режиме
Всё это осложняет обнаружение и удаление руткитов.
Spyware – шпионские программы, которые следят за активностью пользователя в сети, запоминают нажатия клавиш, находят данные карт, кошельков, документы и передают их хакеру.
Adware – рекламное ПО, показывает рекламу в всплывающих окнах. Adware (ad, реклама) может долго оставаться незамеченным, внедряя рекламные баннеры на посещаемые сайты или заменяя имеющуюся рекламу на свою. Переход по рекламным ссылкам может повлечь заражение трояном или руткитом.
Ransomware – это вымогатели, которые шифруют личные и рабочие документы на дисках. Вымогатель требует выкуп за получение ключа расшифровки. Как правило, выкуп просят в биткоинах, но никакого ключа расшифровки не существует. Лечения от вымогателя не существует, данные теряются навсегда.
Следуйте правилам безопасности, работая за компьютером и в интернете, используйте антивирусное ПО, например Total AV.
Как следует из определения, основными задачами антивируса является:
- Препятствование проникновению вирусов в компьютерную систему
- Обнаружение наличия вирусов в компьютерной системе
- Устранение вирусов из компьютерной системы без нанесения повреждений другим объектам системы
- Минимизация ущерба от действий вирусов
Технологии, применяемые в антивирусах, можно разбить на две группы -
- Технологии сигнатурного анализа
- Технологии вероятностного анализа
Сигнатурный анализ является наиболее известным методом обнаружения вирусов и используется практически во всех современных антивирусах. Для проведения проверки антивирусу необходим набор вирусных сигнатур, который хранится в антивирусной базе.
Ввиду того, что сигнатурный анализ предполагает проверку файлов на наличие сигнатур вирусов, антивирусная база нуждается в периодическом обновлении для поддержания актуальности антивируса. Сам принцип работы сигнатурного анализа также определяет границы его функциональности - возможность обнаруживать лишь уже известные вирусы - против новых вирусов сигнатурный сканер бессилен.
С другой стороны, наличие сигнатур вирусов предполагает возможность лечения инфицированных файлов, обнаруженных при помощи сигнатурного анализа . Однако, лечение допустимо не для всех вирусов - трояны и большинство червей не поддаются лечению по своим конструктивным особенностям, поскольку являются цельными модулями, созданными для нанесения ущерба.
Грамотная реализация вирусной сигнатуры позволяет обнаруживать известные вирусы со стопроцентной вероятностью.
Технологии вероятностного анализа в свою очередь подразделяются на три категории:
- Эвристический анализ
- Поведенческий анализ
- Анализ контрольных сумм
В процессе эвристического анализа проверяется структура файла, его соответствие вирусным шаблонам. Наиболее популярной эвристической технологией является проверка содержимого файла на предмет наличия модификаций уже известных сигнатур вирусов и их комбинаций. Это помогает определять гибриды и новые версии ранее известных вирусов без дополнительного обновления антивирусной базы.
Эвристический анализ применяется для обнаружения неизвестных вирусов, и, как следствие, не предполагает лечения.
Данная технология не способна на 100% определить вирус перед ней или нет, и как любой вероятностный алгоритм грешит ложными срабатываниями.
Поведенческий анализ весьма узко применим на практике, так как большинство действий, характерных для вирусов, могут выполняться и обычными приложениями. Наибольшую известность получили поведенческие анализаторы скриптов и макросов, поскольку соответствующие вирусы практически всегда выполняют ряд однотипных действий. Например, для внедрения в систему, почти каждый макровирус использует один и тот же алгоритм : в какой-нибудь стандартный макрос , автоматически запускаемый средой Microsoft Office при выполнении стандартных команд (например, " Save ", " Save As ", " Open ", и т.д.), записывается код, заражающий основной файл шаблонов normal. dot и каждый вновь открываемый документ.
Средства защиты, вшиваемые в BIOS , также можно отнести к поведенческим анализаторам. При попытке внести изменения в MBR компьютера, анализатор блокирует действие и выводит соответствующее уведомление пользователю.
Помимо этого поведенческие анализаторы могут отслеживать попытки прямого доступа к файлам, внесение изменений в загрузочную запись дискет, форматирование жестких дисков и т. д.
Поведенческие анализаторы не используют для работы дополнительных объектов, подобных вирусным базам и, как следствие, неспособны различать известные и неизвестные вирусы - все подозрительные программы априори считаются неизвестными вирусами. Аналогично, особенности работы средств, реализующих технологии поведенческого анализа, не предполагают лечения.
Как и в предыдущем случае, возможно выделение действий, однозначно трактующихся как неправомерные - форматирование жестких дисков без запроса, удаление всех данных с логического диска, изменение загрузочной записи дискеты без соответствующих уведомлений и пр. Тем не менее, наличие действий неоднозначных - например, макрокоманда создания каталога на жестком диске, заставляет также задумываться о ложных срабатываниях и, зачастую, о тонкой ручной настройке поведенческого блокиратора.
Анализаторы контрольных сумм (также используется название "ревизоры изменений") как и поведенческие анализаторы не используют в работе дополнительные объекты и выдают вердикт о наличии вируса в системе исключительно методом экспертной оценки. Большая популярность анализа контрольных сумм связана с воспоминаниями об однозадачных операционных системах, когда количество вирусов было относительно небольшим, файлов было немного и менялись они редко. Сегодня ревизоры изменений утратили свои позиции и используются в антивирусах достаточно редко. Чаще подобные технологии применяются в сканерах при доступе - при первой проверке с файла снимается контрольная сумма и помещается в кэше, перед следующей проверкой того же файла сумма снимается еще раз, сравнивается, и в случае отсутствия изменений файл считается незараженным.
Подводя итоги обзора технологий, применяемых в антивирусах, отметим, что сегодня практически каждый антивирус использует несколько из перечисленных выше технологий, при этом использование сигнатурного и эвристического анализа для проверки файлов и именно в этом порядке является повсеместным. В дальнейшем средства, реализующие комбинацию сигнатурного и эвристического анализа, мы будем называть антивирусными сканерами.
Вторая группа технологий более разнородна, поскольку ни один из применяемых подходов не дает гарантии обнаружения неизвестных вирусов. Очевидно, что и совместное использование всех этих технологий не дает такой гарантии. На сегодняшний день лучшим способом борьбы с новыми угрозами является максимально быстрое реагирование разработчиков на появление новых экземпляров вирусов выпуском соответствующих сигнатур. Также, учитывая наличие активных вредоносных программ, необходимо не менее быстро реагировать на обнаружение новых уязвимостей в операционных системах и устанавливать соответствующие заплаты безопасности.
В первой части статьи Вирусы и как с ними бороться мы рассмотрели теоретические основы вирусостроения. Сегодня подбираемся ближе к практике.
Для чего нам нужен антивирус?
В первую очередь для того, чтобы своевременно обнаруживать и удалять вирусы и тому подобную заразу. Но для начала нам его нужно установить. Сразу оговоримся, что помимо вирусов как таковых существует еще целый ряд деструктивных сетевых действий, на борьбу с которыми рассчитан фаервол (он же брандмауэр), часто идущий в пакете с антивирусом в виде модуля расширения, который можно установить, а можно и отказаться от его установки, воспользовавшись услугами таких мэтров как 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). Когда вирусная активность была замечена проактивным сканером в реестре или конфигурационном файле приложения, сразу поступит предложение исправить это досадное положение и сделать откат на случай ошибки. Решать вам.
В отличие от монитора, сканер нужно запускать вручную, натравив антивирус либо на один файл из контекстного меню, либо через главное окно производить поверку выбранных объектов, целых дисков, отдельных папок.
Как работают современные антивирусные программы и какие методы используют злоумышленники для борьбы с ними? Об этом — сегодняшняя статья.
Как антивирусные компании пополняют базы?
Как образцы вредоносов попадают в вирусные лаборатории? Каналов поступления новых семплов у антивирусных компаний традиционно несколько. Прежде всего, это онлайн-сервисы вроде VirusTotal, то есть серверы, на которых любой анонимный пользователь может проверить детектирование произвольного файла сразу десятком самых популярных антивирусных движков. Каждый загруженный образец вне зависимости от результатов проверки автоматически отправляется вендорам для более детального исследования.
Очевидно, что с подобных ресурсов в вирусные лаборатории прилетает огромный поток мусора, включая совершенно безобидные текстовые файлы и картинки, поэтому на входе он фильтруется специально обученными роботами и только после этого передается по конвейеру дальше. Этими же сервисами успешно пользуются небольшие компании, желающие сэкономить на содержании собственных вирусных лабораторий. Они тупо копируют в свои базы чужие детекты, из-за чего регулярно испытывают эпические фейлы, когда какой-нибудь вендор в шутку или по недоразумению поставит вердикт infected на тот или иной компонент такого антивируса, после чего тот радостно переносит в карантин собственную библиотеку и с грохотом валится, вызывая баттхерт у пользователей и истерический хохот у конкурентов.
После того как семпл попадает в вирусную лабораторию, он сортируется по типу файла и исследуется автоматическими средствами аналитики, которые могут установить вердикт по формальным или техническим признакам — например, по упаковщику. И только если роботам раскусить вредоноса не удалось, он передается вирусным аналитикам для проведения инструментального или ручного анализа.
Анатомия антивируса
Антивирусные программы различных производителей включают в себя разное число компонентов, и даже более того, одна и та же компания может выпускать несколько версий антивируса, включающих определенный набор модулей и ориентированных на различные сегменты рынка. Например, некоторые антивирусы располагают компонентом родительского контроля, позволяющего ограничивать доступ несовершеннолетних пользователей компьютера к сайтам определенных категорий или регулировать время их работы в системе, а некоторые — нет. Так или иначе, обычно современные антивирусные приложения обладают следующим набором функциональных модулей:
- антивирусный сканер — утилита, выполняющая поиск вредоносных программ на дисках и в памяти устройства по запросу пользователя или по расписанию;
- резидентный монитор — компонент, выполняющий отслеживание состояния системы в режиме реального времени и блокирующий попытки загрузки или запуска вредоносных программ на защищаемом компьютере;
- брандмауэр (файрвол) — компонент, выполняющий мониторинг текущего соединения, включая анализ входящего и исходящего трафика, а также проверяющий исходный адрес и адрес назначения в каждом передаваемом с компьютера и поступающем на компьютер пакете информации — данные, поступающие из внешней среды на защищенный брандмауэром компьютер без предварительного запроса, отслеживаются и фильтруются. С функциональной точки зрения брандмауэр выступает в роли своеобразного фильтра, контролирующего поток передаваемой между локальным компьютером и интернетом информации, защитного барьера между компьютером и всем остальным информационным пространством;
- веб-антивирус — компонент, предотвращающий доступ пользователя к опасным ресурсам, распространяющим вредоносное ПО, фишинговым и мошенническим сайтам с использованием специальной базы данных адресов или системы рейтингов;
- почтовый антивирус — приложение, выполняющее проверку на безопасность вложений в сообщения электронной почты и (или) пересылаемых по электронной почте ссылок;
- модуль антируткит — модуль, предназначенный для борьбы с руткитами (вредоносными программами, обладающими способностью скрывать свое присутствие в инфицированной системе);
- модуль превентивной защиты — компонент, обеспечивающий целостность жизненно важных для работоспособности системы данных и предотвращающий опасные действия программ;
- модуль обновления — компонент, обеспечивающий своевременное обновление других модулей антивируса и вирусных баз;
- карантин — централизованное защищенное хранилище, в которое помещаются подозрительные (в некоторых случаях — определенно инфицированные) файлы и приложения до того, как по ним будет вынесен окончательный вердикт.
В зависимости от версии и назначения антивирусной программы, она может включать в себя и другие функциональные модули, например компоненты для централизованного администрирования, удаленного управления.
Современные антивирусные программы используют несколько методик обнаружения вредоносных программ в различных их сочетаниях. Основная из них — это сигнатурное детектирование угроз.
Сигнатуры собираются в блок данных, называемый вирусными базами. Вирусные базы антивирусных программ периодически обновляются, чтобы добавить в них сигнатуры новых угроз, исследованных за истекшее с момента последнего обновления время.
Антивирусная программа исследует хранящиеся на дисках (или загружаемые из интернета) файлы и сравнивает результаты исследования с сигнатурами, записанными в антивирусной базе. В случае совпадения такой файл считается вредоносным. Данная методика сама по себе имеет значительный изъян: злоумышленнику достаточно изменить структуру файла на несколько байтов, и его сигнатура изменится. До тех пор пока новый образец вредоноса не попадет в вирусную лабораторию и его сигнатура не будет добавлена в базы, антивирус не сможет распознать и ликвидировать данную угрозу.
Читайте также: