Алексей Лукацкий.jpg
Алексей Лукацкий - менеджер по развитию
бизнеса Cisco Systems

Это совсем не так. Даже если не вдаваться в математику, то просто подумайте - если бы антивирусы могли обнаруживать 100% вирусов, то зачем тогда развивать это направление и разрабатывать новые версии продуктов. Уже первая версия антивируса могла бы обнаруживать все вирусы, как существующие, так и новые, еще неизвестные. И уж тем более нет необходимости заниматься обновлением антивирусных баз.

На первых этапах развития антивирусной индустрии, когда вирусы писали ради забавы или на занятиях по программированию, заявления производителей средств защиты от вредоносных программ действительно об абсолютной защите, реализованной в своих продуктах, имели под собой некоторую почву (хотя математика с ними была уже тогда не согласна). Но вирусы развивались, их стали использовать в совершенно иных целях, на них стали зарабатывать деньги и ситуация коренным образом изменилась. Заложенные в антивирусы принципы детектирования вредоносной активности стали сбоить, регулярно пропуская те или иные вирусы, трояны и черви или вовсе их не обнаруживая. Маркетинговая активность антивирусных производителей росла, версии обновлялись регулярно, цены на продукты росли, а вирусных инцидентов меньше не становилось. И вот тогда многие обратились к науке с вопросом: «Можно ли победить вирусную напасть?»

Ученые ответили практически сразу же. Правда, их мало кто из потребителей слушал, а антивирусные компании не стремились поделиться этими заявлениями со всеми. Суть ответов математиков сводилась к тому, что обнаруживать 100% всех вирусов невозможно в принципе. Можно попытаться приблизиться к этому числу, используя различные перекрестные методы детектирования, сложные математические алгоритмы и модели, но все равно, факт остается фактом, 100%-го результата достичь невозможно. На практике же эффективность современных коммерческих антивирусов будет еще ниже. А все потому, что чем сложнее математический аппарат, заложенный в систему защиту, тем медленнее он будет работать. Значит он будет вызывать раздражение пользователей, которые не захотят мириться с низкой скоростью работы и перейдут к конкурентам. Иными словами, чем «умнее» и эффективнее система, тем меньше потребителей у нее будет. Как вы думаете, что выбрали антивирусные производители, желающие зарабатывать на своей продукции и получить в армии своих поклонников как можно больше потребителей? Разумеется, они пошли по пути наименьшего сопротивления и стали опираться на сигнатурный механизм, как на основной при детектировании вредоносных программ. К тому же это позволило получать постоянный и регулярный доход от обновления своих антивирусных программ.

Что же нам говорит математика на заявления об обнаружении 100% вирусов? Исследований немало и вот некоторые из них:

  • Еще в 50-х годах одновременно были доказаны теоремы Райса и Успенского, которые на простом языке звучат примерно так: «распознавание любого нетривиального свойства алгоритма является неразрешимой проблемой». Эти теоремы доказывают, что невозможно обнаружить троянские коды, т.к. мы заранее не знаем, что искать в программе с известной функциональностью. Многие научные известные работы по поиску троянцев сводятся к тому, что их ищут по сигнатурам, тем самым, приравнивая к обычным вирусам, что не совсем правильно. Многих троянцев, конечно, так можно поймать, но если, например, мы захотим создать специфичного и не массового троянского коня, то обнаружить его с помощью какой-либо программы будет невозможно. Это, кстати, лишний раз доказывает, что анализ любого программного кода (даже открытого) не гарантирует обнаружение в нем всех закладок.
  • В 1987 году Фред Коэн, автор термина «компьютерный вирус», демонстрирует, что не существует алгоритма, который в полной мере может обнаруживать все вирусы. Достаточно интересно, что в этом исследовании Коэн показал, что системы защиты, построенные на модели Белла-ЛаПадуллы, неспособны эффективно бороться с вирусными эпидемиями. А ведь многие отечественные производители средств защиты, в основу которых положена эта модель мандатного разграничения доступа (СЗИ от НСД «Броня», «Щит», Secret Net, Аккорд, Dallas Lock и т.п.), утверждают, что вирусы им не страшны.
  • В 2000-м году исследовательский центр IBM им.Томаса Ватсона опубликовал исследование « An Undetectable Computer Virus», в котором доказал, что ситуация еще хуже и возможно существование компьютерных вирусов, которые не может обнаружить никакой алгоритм.
  • В 2004 году исследовательская лаборатория компании Hewlett-Packard в Бристоле проводила исследования сигнатурных подходов, используемых в современных антивирусах (без привязки к конкретным продуктам) и пришла к неутешительным выводам - современные черви распространяются гораздо быстрее, чем антивирусные производители разрабатывают соответствующие сигнатуры и распределяют их по всем своим клиентам. В отчете HP так прямо и написано: «Сигнатурная модель имеет фундаментальные недостатки».

К чему я привел ссылки на математические исследования? Они лишний раз доказывают, что не только обнаружение 100% вирусов является мифов, но и возможно создание вируса, который не может быть обнаружен антивирусным алгоритмом. Поэтому звучащие из уст представителей антивирусных компаний заявления надо читать как «обнаружение 100% вирусов, известных конкретной антивирусной компании на конкретный момент написания конкретной версии программы».

PS. На сайте центра Ватсона опубликовано достаточно много интересных аналитических публикаций по вирусной/антивирусной тематике.