Просмотров: 6373

ADInf32: ревизор по вызову. Часть 1


Среди многообразия производителей стандартных антивирусов и их пользователей бытует мнение, что панацеи, т.е. универсального лекарства для всех случаев, не существует. Это мнение стало уже в своем роде бородатым стереотипом, передаваемым из одного поколения пользователей в другое. В то же самое время, кроме стандартных подходов по детектированию вирусов антивирусами, по заранее известной им маске вируса (т.н. сигнатуре), о которых и идет обычно речь в подобных утверждения, есть и альтернативные попытки — радикально решить проблему выявления на своем компьютере нежданных подселенцев-зловредов, дающих гарантию детектирования новых и уже известных вирусов с вероятностью, стремящейся к круглой цифре 100%!

Сегодня речь пойдет об известном в нашей стране антивирусном ревизоре ADInf. Остается лишь добавить, что этот обзор сделан специально для компьютерного издания SoftKey.info


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

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

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

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

Полифаги и их устройство

Начнем с определения, что же такое фаги (полифаги, сканеры). Фаг — Это специализированная программа, способная уничтожить (вылечить) вирус, другая её разновидность — полифаг — способна корректно пролечить множество вирусов. Здесь я вынужден привести также и альтернативные определения этих разновидностей антивирусных программ, поскольку в разных источниках сложилась некая терминологическая неразбериха в этом плане.

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


Один из первых отечественных антивирусов-фагов - знаменитый в прошлом Aidstest

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

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

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

И тут закономерно возникает очень актуальный в наше время вопрос:

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

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

Дисковые ревизоры

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

Итак, как же это работает в общем случае?

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


Одна из первых версий ADinf - версия под MS DOS

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

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

Никому не доверяй, всё что можешь — проверяй

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

В связи с этим сразу невольно вспоминается ранее очень известная история с пришествием и массовой эпидемией вируса Dir-II, которая приключилась ещё в сравнительно далеком 1991 году, который творил с файловой системой просто запредельные вещи, агрессивно маскируясь на уровне драйвера I/O-диска в операционной системе, благодаря чему оставаясь надежно невидимым практически всем антивирусным полифагам того времени. ADInf первым обнаружил этот чрезвычайно продвинутый по тем временам stealth-вирус, причем, сделал это в полностью автоматическом режиме.

Из-за техники низкоуровневого доступа к дискам, в отличие от других антивирусов, ADInf не требует для идеального лечения обязательной загрузки с эталонной, защищённой от записи системной дискеты (или компакт-диска) — даже при обычной загрузке с винчестера, с заведомо зараженной операционной системой, надежность его работы не уменьшается.


Современная версия ADinf32 - нативное приложение под Windows

Следует также упомянуть другой интересный эффект-следствие его алгоритма: выполняя проход по файловой системе на максимально низком уровне доступа, параллельно, многопоточный сканер ADInf выполняет проход, используя традиционные способы получения данных о файлах (листинга) на уровне операционной системы. При этом получается, что если в системе присутствует вирус, выполненный по технологии stealth, то он автоматически обнаруживает себя сам, т.к. данные контрольных сумм из «официальных» источников информации от операционной системы попросту не совпадут с фактическими данными по файлам, полученным напрямик на уровне драйвера дисков BIOS. Невероятно, но факт: в данном случае stealth-технология становится активным демаскирующим элементом, которая приводит к тому, что подобные «продвинутые» руткиты и трояны, как сейчас принято выражаться, «палятся» на ровном месте.

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

Что собой представляет ADInf сегодня

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

    • Истинная 32-разрядность, многопоточная архитектура.
    • Современный удобный оконный интерфейс.
    • Асинхронное фоновое сканирование дисков. Это означает, что, пока вы заняты изучением изменений на одном диске, происходит фоновое сканирование других дисков, что позволяет сэкономить общее время проверки.
    • Разбор внутреннего формата и контроль за состоянием документов MS Word и Excel с сохранением полной информации по содержащимся в них макрокомандам для эффективного обнаружения макровирусов.
    • Разбор файлов формата PE (исполняемые файлы Windows 95/98/NT), NE (исполняемые файлы Windows 3.xx) и LE (VxD) в режиме быстрых контрольных сумм.
    • Анализ двойных изменений на диске. Например, правильно разбираются ситуации, когда файл переименован и изменен или файл перемещен в другой каталог и уже там был изменен.
    • Обнаружение заражения вирусами-спутниками.
    • Гибкое управление уровнем проверок. Если вы уже использовали ADInf, то знаете, что каталоги, об изменениях в которых вам знать неинтересно, можно пометить как «рабочие». Уровень проверок также можно задавать не только каталогам, но и каждому файлу индивидуально.
    • Динамическое управление уровнем выдачи сообщений. Управлять составом изменений, которые должны отображаться, и составом изменений, о которых знать неинтересно, можно непосредственно в процессе просмотра изменений с динамическим пересчетом результатов проверки.
    • Фиксация и корректная обработка изменений в файловой системе, которые происходят в течение сканирования диска из-за многозадачной операционной среды.
    • Ведение глобальной истории изменений на диске.

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

 

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , , ,
Эта запись опубликована: Воскресенье, 7 августа 2011 в рубрике Обзоры.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз