Среди многообразия производителей стандартных антивирусов и их пользователей бытует мнение, что панацеи, т.е. универсального лекарства для всех случаев, не существует. Это мнение стало уже в своем роде бородатым стереотипом, передаваемым из одного поколения пользователей в другое. В то же самое время, кроме стандартных подходов по детектированию вирусов антивирусами, по заранее известной им маске вируса (т.н. сигнатуре), о которых и идет обычно речь в подобных утверждения, есть и альтернативные попытки — радикально решить проблему выявления на своем компьютере нежданных подселенцев-зловредов, дающих гарантию детектирования новых и уже известных вирусов с вероятностью, стремящейся к круглой цифре 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, которому, собственно, по большей части и посвящена эта обзорная статья. И так уж получилось, что в силу его специфичности мы «обозреваем» сегодня больше не сам конечный программный продукт, а скорее технологии, которые стоят за ним и его конкурентами, — его целевой контекст. Познакомившись с теми важными идеями и мотивациями, которые привели к его созданию, теперь самое время изменить акценты и перейти к более пристальному рассмотрению нашего героя.
Несмотря на богатую историю этой программы, начиная с далеких DOS'овских времен, этот проект не был заброшен и прошел весь длинный путь совершенствования и адаптации к жестким современным требованиям времени. На данный момент имеется его Windows-версия, которая регулярно обновляется и дорабатывается, вот её главные характеристики и возможности, изложенные сухим техническим языком.
В следующей части этой статьи, мы пройдемся по всем особенностям и полезным возможностям самой последней, четвертой версии этого знаменитого антивирусного ревизора для Windows, честно рассмотрев все его плюсы и минусы, акцентировав внимание уже на практической плоскости работы с ним.