обязательно знать фрагмент вредоносного кода (сигнатуру), а достаточно лишь анализи-
ровать поведение проверяемой программы.
Можно пояснить отличие сигнатурного и эвристического анализа на таком примере.
Представьте себе крупный супермаркет, разумеется, с собственной службой безопасно-
сти. Сотрудники службы безопасности с помощью системы видеонаблюдения просматри-
вают всех покупателей на входе и, если очередной
посетитель входит в список «неблаго-
надежных» (например, его фотография размещена на стенде «их разыскивает милиция»,
он находится в розыске, его фотографию или описание, как подозрительного лица, пере-
дали коллеги из службы безопасности соседнего супермаркета и т.п.), то, в зависимости от
указаний руководства данного супермаркета, посетитель может быть либо просто
не до-
пущен в торговый зал, либо за ним может быть организовано более пристальное наблюде-
ние и т.п. Это сигнатурный анализ, т.е. можно выявить уже известные личности, которые
где-то «засветились». Представим себе далее, что служба безопасности супермаркета ве-
дет видеонаблюдение в торговом зале и ее привлекает внимание покупатель
, который ве-
дет себя несколько странно, например, все время озирается по сторонам, пытаясь найти
видеокамеры и понять, находится ли он в их поле зрения или нет, крутится около стендов
с малогабаритным, но дорогостоящим товаром, берет дрожащими руками со стенда какой-
либо товар, кладет в корзину (а может быть – и в
карман), а потом снова возвращает на
полку и т.п. Очевидно, несмотря на то, что личность этого покупателя службе безопасно-
сти пока не известна, на него будет обращено пристальное внимание, все время, пока он
находится в торговом зале – это и есть эвристический анализ.
При этом эвристический анализ носит вероятностный характер, т
.е. существует оп-
ределенная вероятность принятия ошибочного решения. Так служба безопасности супер-
маркета может напрасно остановить рассеянного или вечно спешащего покупателя, а ан-
тивирусная программа сообщить, что вполне «добропорядочная» программа является ви-
русом. В первом случае служба безопасности принесет извинения нашему покупателю
41
, а
во втором – мы предложим разработчику программы «договориться» с разработчиками
основных антивирусных программ о взаимопонимании.
Соответственно, и антивирусная программа должна иметь базу сигнатур и алгорит-
мы эвристического анализа. Поскольку каждый день создаются новые вирусы, то какую
бы совершенную программу мы не купили бы вчера, завтра она нам уже может не
помочь.
Отсюда следует чрезвычайно важный вывод – антивирусная программа должна постоянно
обновляться. Организационно это производится следующим образом – при покупке про-
граммы вы покупаете актуальную программу на день покупки
42
и подписку на определен-
ный период (как правило – на год). Программно обновление программы реализовано сле-
дующим образом. Антивирусная программа состоит из исполняемого файла, библиотек и
антивирусных баз. Подписка представляет собой специальный файл – «ключ», который
размещается в папке с программой. В файле-ключе записаны сведения о подписчике, вер-
сия программы, срок
подписки и (для корпоративного применения) – количество компью-
теров. Имея эту подписку можно бесплатно осуществлять обновления программы, удоб-
нее всего – через Интернет. При выполнении обновления программа автоматически свя-
зывается с сервером поддержки и начнет скачивать из Интернета необходимые файлы.
Если вы регулярно производите обновления своей антивирусной программы, то вам
придется только «докачивать
» антивирусные базы, а это не так сложно. Если же купили
очень старую версию, или давно не выполняли все обновления, то программа скачает все
необходимые файлы, в том числе и исполняемые файлы и библиотеки, а за трафик (а он
может составлять 10 Мб и более) или время нахождения в Интернете (несколько часов)
нужно будет платить вам!
41
Наш покупатель после этого может быть никогда не пойдет в этот супермаркет, а может быть … будет
вести себя в торговом зале более адекватно.
42
Правда, не совсем понятно, как может быть актуальной программа в «коробочной» версии, которая пару
месяцев уже лежала на полке магазина.
27