Антивирусная индустрия в канун десятилетнего юбилея

Александр Прохоров

Десять лет развития антивирусного рынка в России

Классификация вредоносных программ

   Файловые вирусы

      Overwriting-вирусы

      Parasitic-вирусы

      Companion-вирусы

      Файловые черви

      Link-вирусы

      OBJ, LIB и вирусы в исходных текстах

   Загрузочные вирусы

   Макровирусы

   Скрипт-вирусы

   Особенности алгоритмов работы вирусов

      Резидентные вирусы

      Стелс-вирусы

      Полиморфик-вирусы

Классификация антивирусных программ

Основные методы определения вирусов

   Алгоритм «сравнение с эталоном»

   Алгоритм «контрольной суммы»

   Методы определения полиморфик-вирусов

   Эвристический анализ

Линейка продуктов «Лаборатории Касперского»

   Для малого и среднего бизнеса

   Для домашних пользователей

   Для корпоративных пользователей

Линейка антивирусных программ от компании «ДиалогНаука»

   Семейство программ Doctor Web

      Сканер Doctor Web

      Сторож SpIDer Guard

   Семейство программ ADinf

      Ревизор дисков Adinf

      Универсальный лекарь

 

Вирусописание как психологический феномен

Портрет компании «Лаборатория Касперского»

Портрет компании «ДиалогНаука»

Тестирование Doctor Web для MS-DOS — снова все 100%!

 

Перед тем как приступить к написанию данной статьи, я встретился с одним из основателей отечественной антивирусной индустрии Евгением Касперским, который сообщил мне некоторые цифры о состоянии российского и мирового антивирусного рынка. Также я побеседовал с представителем знаменитой антивирусной компании «ДиалогНаука», менеджером по работе с крупными клиентами, Максимом Скидой. Из разговора я узнал любопытный факт — оказывается, антивирусная индустрия вот-вот отметит свое первое десятилетие.

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

Десять лет развития антивирусного рынка в России

Как уже было отмечено, антивирусный рынок живет в преддверии своего десятилетия. Именно в 1992 году было создано АОЗТ «ДиалогНаука», положившее начало активному продвижению на отечественный рынок знаменитой программы Лозинского Aidstest; начиная с этого времени Aidstest стала распространяться на коммерческой основе. Примерно в то же время Евгений Касперский организовывает небольшой коммерческий отдел в рамках КАМИ, в котором поначалу работали три человека. Также в 1992 году американский рынок быстро завоевывает программа McAfee VirusScan. В России рынок развивался тогда достаточно медленно, и по крайней мере к 1994 году (рис. 1) картина выглядела примерно следующим образом: доминирующее положение занимала компания «ДиалогНаука» (около 80%), Антивирусу Касперского принадлежало менее 5% рынка, всем остальным — еще 15% рынка. В 1995 году Евгений Касперский перенес свой антивирус на 32-битные интеловские платформы Windows, Novell NetWare и OS/2, в результате продукт начал активно продвигаться на рынок.

В 1997 году (рис. 2) Антивирус Касперского занимал уже 30% рынка, а на долю компании «ДиалогНаука» приходилось примерно 50% рынка. В 1998 году Антивирус Касперского догнал по объему продаж «ДиалогНауку», и вместе они покрыли 80% рынка (рис. 3), а к 2001 году Антивирус Касперского завоевал уже около 60% рынка (рис. 4). Из западных компаний на российском рынке достаточно прочно обосновалась компания Symantec, которой сегодня принадлежит от 20 до 25% рынка, и соответственно 15-20% рынка занимает компания «ДиалогНаука».

Структура мирового антивирусного рынка

На мировой арене лидирует компания McAfee — ее продукт прочно удерживает первое место и имеет порядка 50% продаж, причем предлагаются решения преимущественно для корпоративного рынка. На втором месте находится Symantec — эта компания больше продает как раз на розничном рынке. Третье и четвертое места делят Computer Associates и TrendMicro, которые имеют примерно по 10%, далее следуют еще порядка 20 компаний, вклад которых в мировой рынок составляет около 20%. Причем из этих 20 шестерка крупных локальных компаний — Sophos AV (Англия), F-Secure (Финляндия), Norman (Норвегия), Command Software (США), Panda Software (Испания), Kaspersky Lab (Россия) — имеет более 18% объема продаж.

Помимо оценок рынка, сделанных российскими компаниями (рис. 1, 2, 3, 4, 5), интересно ознакомиться также с некоторыми оценками международной компании Gartner Group, в соответствии с которыми в 1999 году объем продаж антивирусных продуктов и услуг в мире составил около 1,5 млрд. долл. В 1988 году фирма McAfee1 (США) занимала 50% мирового рынка, фирма Symantec2 (США) — 20% и фирма Trend Micro (Тайвань) — 10%. За последние 5 лет этот объем увеличивался в среднем на 100% в год, что является одним из самых высоких показателей в софтверной индустрии вообще.

В 1999 году объем рынка продаж антивирусных продуктов и услуг в России составил 1,5 млн. долл. и за последние 5 лет увеличивался в среднем на 30% в год. В 1998 году «ДиалогНаука» и «Лаборатория Касперского» занимали по 40% этого рынка.

С какими же вирусами приходится бороться мировой и отечественной антивирусной индустрии?

В начало В начало

Классификация вредоносных программ

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

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

Сетевые черви подразделяются на Internet-черви (распространяются по Internet), LAN-черви (распространяются по локальной сети), IRC-черви Internet Relay Chat (распространяются через чаты). Существуют также смешанные типы, которые совмещают в себе сразу несколько технологий.

Выделяют в отдельную группу также троянские программы, которые не размножаются и не рассылаются сами.

Троянские программы подразделяют на несколько видов (см. таблицу). Эмуляторы DDoS-атак3 приводят к атакам на Web-серверы, при которых на Web-сервер из разных мест поступает большое количество пакетов, что и приводит к отказам работы системы. Похитители секретной информации воруют информацию.

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

Дроппер (от англ. drop — бросать) — программа, которая «сбрасывает» в систему вирус или другие вредоносные программы, при этом сама больше ничего не делает.

Обилие вирусов позволяет говорить о более подробной их классификации.

  • Файловые вирусы:
    • Обычные файловые вирусы
    • OBJ, LIB и вирусы в исходных текстах
    • Файловые черви
    • Link-вирусы
    • Companion-вирусы
    • Parasitic-вирусы
    • Overwriting-вирусы
  • Загрузочные
  • Макровирусы
    • Для MS Word
    • Excel
    • Access
    • PowerPoint
    • Многоплатформенные
    • Для других приложений
  • Скрипт-вирусы
    • Для Windows
    • Для DOS
    • Для других систем
  • Смешанного типа
В начало В начало

Файловые вирусы

Файловые вирусы — это вирусы, которые при размножении используют файловую систему какой-либо ОС. Внедрение файлового вируса возможно практически во все исполняемые файлы всех популярных ОС — DOS, Windows, OS/2, Macintosh, UNIX и т.д.

По способу заражения файлов файловые вирусы делятся на обычные, которые встраивают свой код в файл, по возможности не нарушая его функциональности, а также на overwriting, паразитические (parasitic), компаньон-вирусы (сompanion), link-вирусы, вирусы-черви и вирусы, заражающие объектные модули (OBJ), библиотеки компиляторов (LIB) и исходные тексты программ.

В начало В начало

Overwriting-вирусы

Overwriting-вирус записывает свой код вместо кода заражаемого файла, уничтожая его содержимое, после чего файл перестает работать и не восстанавливается. Такие вирусы очень быстро обнаруживают себя, так как операционная система и приложения быстро перестают работать.

В начало В начало

Parasitic-вирусы

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

В начало В начало

Companion-вирусы

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

В начало В начало

Файловые черви

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

В начало В начало

Link-вирусы

Link-вирусы используют особенности организации файловой системы. Они, как и компаньон-вирусы, не изменяют физического содержимого файлов, однако при запуске зараженного файла «заставляют» ОС выполнить свой код за счет модификации необходимых полей файловой системы.

В начало В начало

OBJ, LIB и вирусы в исходных текстах

Вирусы, заражающие библиотеки компиляторов, объектные модули и исходные тексты программ. Вирусы, заражающие OBJ- и LIB-файлы, записывают в них свой код в формате объектного модуля или библиотеки. Зараженный файл не является выполняемым и не способен на дальнейшее распространение вируса в текущем состоянии. Носителем же «живого» вируса становится COM- или EXE-файл, получаемый в процессе линковки зараженного OBJ/LIB-файла с другими объектными модулями и библиотеками. Таким образом, вирус распространяется в два этапа: на первом заражаются OBJ/LIB-файлы, на втором этапе (линковка) получается работоспособный вирус.

В начало В начало

Загрузочные вирусы

Загрузочные вирусы называются так потому, что заражают загрузочный (boot) сектор — записывают себя в загрузочный сектор диска (boot-сектор) либо в сектор, содержащий системный загрузчик винчестера (Master Boot Record). Загрузочные вирусы замещают код программы, получающей управление при загрузке системы. Таким образом при перезагрузке управление передается вирусу. При этом оригинальный boot-сектор обычно переносится в какой-либо другой сектор диска.

В начало В начало

Макровирусы

Макровирусы являются программами на макроязыках, встроенных в некоторые системы обработки данных (текстовые редакторы, электронные таблицы и т.д.). Они заражают документы и электронные таблицы ряда офисных редакторов.

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

В начало В начало

Скрипт-вирусы

Скрипт-вирусы — это вирусы, написанные на скрипт-языках, таких как Visual Basic Script, Java Script и др. Они, в свою очередь, делятся на вирусы для DOS, для Windows, для других систем.

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

В начало В начало

Особенности алгоритмов работы вирусов

Разнообразие вирусов позволяет классифицировать их также по особенностям работы их алгоритмов. Об этом стоит поговорить отдельно.

В начало В начало

Резидентные вирусы

Вирус находится в оперативной памяти и перехватывает обращения ОС. Если нерезидентные вирусы активны только в момент запуска зараженной программы, то резидентные вирусы находятся в памяти и остаются активными вплоть до выключения компьютера или перезагрузки операционной системы. Резидентные вирусы находятся в оперативной памяти, перехватывают обращения операционной системы к тем или иным объектам и внедряются в них. Такие вирусы активны не только в момент работы зараженной программы, но и после завершения ее работы.

В начало В начало

Стелс-вирусы

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

В начало В начало

Полиморфик-вирусы

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

В начало В начало

Классификация антивирусных программ

Все антивирусы можно разделить на два больших класса: чистые антивирусы и антивирусы двойного назначения.

Чистый антивирус отличается наличием антивирусного ядра, которое выполняет функцию сканирования по образцам. Принципиальная особенность в этом случае заключается в возможности лечения. Если вирус известен, значит возможно лечение. Далее чистые антивирусы подразделяются по типу доступа к файлам на две категории — on access и on demand, которые соответственно осуществляют контроль по доступу или проверку по требованию. Например, в терминологии продуктов «Лаборатории Касперского» on access-продукт — это «Монитор», а on demand-продукт — это «Сканер» . Оn demand-продукт работает по следующей схеме: пользователь хочет что-либо проверить и выдает запрос (demand), после чего осуществляется проверка. On access-продукт — это резидентная программа, которая отслеживает доступ и в момент доступа осуществляет проверку.

Кроме того, антивирусные программы, так же как и вирусы, можно разделить по платформе.

Понятие «платформа» в антивирусной терминологии немного отличается от общепринятого в компьютерной индустрии. В антивирусной индустрии SW-платформа — это тот продукт, внутри которого работает антивирус. То есть наряду с Windows или Linux к платформам могут быть отнесены Microsoft Exchange Server, Microsoft Office, Lotus Notes.

Программы двойного назначения — это программы, используемые и в антивирусах, и в ПО, которое не является антивирусом. Например, CRC-checker — ревизор изменений на основе контрольных сумм, может использоваться не только для ловли вирусов. В «Лаборатории Касперского» ревизор реализован под коммерческим названием «Инспектор»4.

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

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

В начало В начало

Основные методы определения вирусов

Алгоритм «сравнение с эталоном»

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

В начало В начало

Алгоритм «контрольной суммы»

Алгоритм контрольной суммы предполагает, что действия вируса изменяют контрольную сумму. Однако синхронные изменения в двух разных сегментах могут привести к тому, что контрольная сумма останется неизменной при изменении файла. Основная задача построения алгоритма состоит в том, чтобы изменения в файле гарантированно приводили к изменению контрольной суммы.

В начало В начало

Методы определения полиморфик-вирусов

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

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

В подобном случае прибегают к технологии эмуляции процессора (антивирусная программа эмулирует работу процессора для того, чтобы проанализировать исполняемый код вируса). Если обычно условная цепочка состоит из трех основных элементов: ЦПУ а ОС а Программа (рис. 7), — то при эмуляции процессора в такую цепочку добавляется эмулятор, о котором программа ничего не знает и, условно говоря, «считает», что она работает с центральной операционной системой. Таким образом, эмулятор как бы воспроизводит работу программы в некотором виртуальном пространстве или реконструирует ее оригинальное содержимое. Эмулятор всегда способен прервать выполнение программы, контролирует ее действия, не давая ничего испортить, и вызывает антивирусное сканирующее ядро.

В начало В начало

Эвристический анализ

Для того чтобы размножаться, вирус должен совершать какие-то конкретные действия: копирование в память, запись в сектора и т.д. Эвристический анализатор (который является частью антивирусного ядра) содержит список таких действий, просматривая выполняемый код программы, определяет, что она делает, исходя из этого приходит к выводу, является ли данная программа вирусом или нет. Принципиальное отличие эвристического анализатора от поведенческого блокиратора состоит в том, что последний не рассматривает программу как набор команд. Блокиратор отслеживает действия программы в процессе ее работы, а эвристический анализатор начинает работу до выполнения программы. Первый эвристический анализатор появился в начале 90-х годов.

В начало В начало

Линейка продуктов «Лаборатории Касперского»

Для малого и среднего бизнеса

Антивирус Касперского (AVP) Business Optimal предназначен для борьбы с вирусами всех типов в сетях малого и среднего масштаба, содержащих до 100 рабочих станций и использующих в основном гомогенные операционные среды, и включает следующие элементы:

  1. Антивирус Касперского (AVP) для Windows 95/98/Me и Windows 2000/NT (Wintel) рабочих станций
  2. Антивирус Касперского для OS/2
  3. Антивирус Касперского (AVP) для Linux Workstation
  4. Антивирус Касперского для Windows NT/2000 Server
  5. Антивирус Касперского для Linux Server
  6. Антивирус Касперского для Novell NetWare
  7. Антивирус Касперского для FreeBSD/BSDi UNIX
  8. Антивирус Касперского для Microsoft Exchange Server
  9. Антивирус Касперского (AVP) для Lotus Notes/Domino
  10. Антивирус Касперского (AVP) для Sendmail/Qmail/Postfix
В начало В начало

Для домашних пользователей

1. Антивирус Касперского (AVP) Personal Pro

2. Антивирус Касперского (AVP) Personal

3. Антивирус Касперского (AVP) Lite

4. Антивирус Касперского для Palm OS

В начало В начало

Для корпоративных пользователей

Kaspersky Corporate Suite служит для обеспечения полномасштабной структуры компьютерной безопасности для систем корпоративного масштаба.

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

В начало В начало

Линейка антивирусных программ от компании «ДиалогНаука»

Семейство программ Doctor Web

Сканер Doctor Web

  • для Windows 95/98/Me/NT/2000;
  • для DOS/386 и Windows 3.1x;
  • для Novell NetWare;
  • для OS/2;
  • для Linux/FreeBSD (сканер + daemon).

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

В начало В начало

Сторож SpIDer Guard

  • для Windows 95/98/Me/NT/2000

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

В начало В начало

Семейство программ ADinf

Ревизор дисков Adinf

  • для Windows 95/98/Me/NT/2000;
  • для Windows 3.1x;
  • для DOS.

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

В начало В начало

Универсальный лекарь

ADinf Cure Module

  • для Windows 3.1x
  • для DOS

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

 

Автор выражает благодарность компании «Лаборатория Касперского» за предоставленные консультации и материалы.

В статье использованы материалы:

Плакат «Лаборатории Касперского» «Классификация вредоносных компьютерных программ»;

Энциклопедия вирусов http://www.viruslist.com.

КомпьютерПресс 9'2001


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует