Эволюция антивирусных систем

 

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

Редактор

 

Лаборатория Касперского. Обзор вирусной активности — июль 2011

В течение месяца на компьютерах пользователей продуктов «Лаборатории Касперского»:

  • отражено 182 045 667 сетевых атак; заблокировано 75 604 730 попыток заражения через Web;
  • обнаружено и обезврежено 221 278 929 вредоносных программ (попытки локального заражения);
  • отмечено 94 004 507 срабатываний эвристических вердиктов.

В сравнении с предыдущим месяцем ситуация выглядит следующим образом:


Количество детектов различных категорий. Данные KSN

 

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

Редактор

 

ZeuS для Android

В июле был обнаружен четвертый представитель троянца-шпиона ZitMo — мобильный вариант нашумевшего троянца ZeuS. Если раньше мы сталкивались с вариациями ZitMo, работающими под плафтормами Symbian, Windows Mobile и BlackBerry, то на этот раз ZitMo был модифицирован для атак на Android-устройства.

ZitMo (по классификации «Лаборатории Касперского» — Trojan-Spy.AndroidOS.Zbot) нацелен на кражу кода mTAN — одноразового пароля для совершения удаленной транзакции, который клиент банка получает в сообщении SMS. Этот код обеспечивает второй уровень защиты при использовании услуг онлайн-банкинга.

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

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

Кража «миль»

В прошедшем месяце эксперты «Лаборатории Касперского» отметили интересный факт: бразильские фишеры, помимо данных банковских счетов, начали похищать и «летные мили». Более того, мошенники используют «мили» не только по прямому назначению, но и в качестве валюты. Так, в одном из IRC-сообщений киберпреступники предлагают купить доступ к ботнету, способному рассылать спам, за 60 000 «миль», а также меняют «мили» на украденные кредитные карточки. Это соответствует нашим прогнозам на 2011 год: мы говорили о том, что злоумышленники не станут пренебрегать никакой информацией и будут красть буквально все.

 

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

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

Редактор

 

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

Антивирусы — санитары компьютерных систем

 КомпьютерПресс

 

Ощущение полной безопасности наиболее опасно.
И.Шевелев

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

Типы вредоносных программ

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

Компьютерные вирусы— это программы, способные размножаться самостоятельно, дописывая свой код к другим файлам или в служебные области диска. Существует множество разновидностей вирусов. Самыми первыми на свет появились файловые вирусы, которые размножаются, используя файловую систему. Почти ровесники им — загрузочные вирусы, которые заражают загрузочный сектор (boot sector) жесткого диска и замещают код программы, получающей управление при запуске системы. С середины 90-х годов получили распространение макровирусы, использующие для своего размножения встроенные возможности, например текстового или табличного редактора, и таким способом переносящие себя из одного зараженного файла в другой.

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

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

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

К числу троянских программ относятся: утилиты несанкционированного удаленного администрирования (Backdoors); утилиты для проведения DDoS-атак (Distributed Denial of Service — распределенные атаки типа «отказ в обслуживании»); шпионские и рекламные программы, а также программы дозвона; серверы рассылки спама (прокси-серверы); многокомпонентные троянцы-загрузчики, которые переписывают из Интернета и внедряют в систему другие вредоносные коды или вредоносные дополнительные компоненты. К тому же часто встречаются и такие программы, которые можно отнести сразу к нескольким видам.

Троянские программы удаленного администрирования часто представляют собой вполне легальные утилиты удаленного управления, приспособленные для преступных целей. Если злоумышленнику удастся внедрить такую программу в чью-то систему, он сможет тайно управлять чужим компьютером. Управление зараженным компьютером обычно осуществляется через Интернет. Используя инфицированный ПК, злоумышленник может похитить информацию из компьютера (файлы, пароли, реквизиты и т.д.), провести любую файловую операцию (отформатировать жесткий диск, стереть или переименовать какие-то файлы и т.д.), перезагрузить компьютер, подключиться к сетевым ресурсам, использовать зараженный ПК для атаки на какой-то третий компьютер или на сервер в Интернете. Самыми известными утилитами несанкционированного удаленного администрирования являются троянцы Back Orifice и NetBus.

 

 

Эволюция антивирусных программ

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

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

С появлением операционной системы Microsoft Windows 95 и офисного пакета Microsoft Office значительно расширилась функциональность программ и возрос объем данных, в частности мультимедийных. Пользователи стали распространять информацию на компакт-дисках. К этому времени возросло и число компьютеров, объединенных в локальную сеть или имеющих доступ в Интернет. Первая серьезная эпидемия, которая привлекла к проблеме вирусов всеобщее внимание, произошла в 1996 году — это был макровирус Cap, распространявшийся в документах Microsoft Word и парализовавший работу десятков компаний по всему миру.

А в 2000 году началось нашествие сетевых червей, быстро распространявшихся в почтовых сообщениях. Число домашних пользователей и компаний, подключенных к Интернету, было уже огромным, и все люди обменивались электронными почтовыми сообщениями, еще не подозревая, какую это таит опасность. Первый современный сетевой червь Happy99 был создан в самом начале 1999 года, а первую эпидемию вызвал червь I love you (LoveLetter) в мае 2000-го.

«Любовные письма» за один только май заразили более 40 млн. компьютеров по всему миру. Исследовательский центр Computer Economics оценил убытки мировой экономики за первые пять дней эпидемии этого паразита в размере 6,7 млрд. долл. Червь рассылал свои копии сразу же после заражения системы по всем адресам электронной почты, найденным в адресной книге почтовой программы Microsoft Outlook. В качестве адреса отправителя червь вставлял адрес электронной почты владельца зараженного компьютера и адресной книги Outlook, а к каждому сообщению прикреплял вредоносный файл с двойным расширением «txt.vbs» («txt» соответствует текстовым файлам, а «vbs» — скриптовым программам на языке Visual Basic Script).

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

Электронная почта и Интернет оказались идеальной средой для передачи вредоносных кодов. Сегодня именно через электронную почту на компьютер попадает 98% всех вредителей, причем не только сетевые черви, но и троянцы и файловые вирусы.

Согласно данным «Лаборатории Касперского» за февраль этого года, в последнее время наблюдается постепенное исчезновение современных почтовых червей, которые уступают свое место разнообразным сетевым червям с троянским функционалом. Угроза пользователям Интернета со стороны сетевых червей сегодня является более серьезной. Таким образом, на первый план выходит задача проверки антивирусами всего сетевого трафика, а не только почтового.

 Как работают антивирусные программы

Антивирусные программы развивались параллельно с вредоносными кодами: чем сложнее и изощреннее становились компьютерные вредители, тем искуснее и быстрее становились антивирусы.

Первые антивирусные алгоритмы строились на основе сравнения с эталоном — часто такие алгоритмы называют сигнатурными. Каждому вирусу ставилась в соответствие некоторая сигнатура, или маска. С одной стороны, маска должна была быть небольшого размера, чтобы база данных всех таких масок не приняла угрожающие объемы. С другой стороны, чем больше размер сигнатуры, тем ниже вероятность ложного срабатывания (когда достоверно не зараженный файл определяется антивирусом как инфицированный). На практике разработчики антивирусных программ использовали маску длиной 10-30 байт. Первые антивирусы знали какое-то количество сигнатур, могли находить и лечить определенное количество вирусов. Получив новый вирус, разработчики анализировали его код и составляли уникальную маску, которая добавлялась в базу данных антивирусных сигнатур, а само обновление распространялось на дискете. Если при сканировании подозрительного файла антивирус находил код, соответствующий маске, то исследуемый файл признавался инфицированным. Описанный алгоритм применяется в большинстве антивирусных программ и до сих пор. Все сигнатуры размещены в антивирусной базе — специальном хранилище, в котором антивирус хранит маски вредоносных программ. Эффективность сигнатурного поиска напрямую зависит от объема антивирусной базы и от частоты ее пополнения. Именно поэтому сегодня разработчики антивирусных программ выпускают обновления для своих баз минимум раз в сутки. Чтобы повысить скорость доставки этих обновлений на защищаемые компьютеры пользователей, используется Интернет.

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

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

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

Существуют два основных метода работы анализатора.

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

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

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

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

 Хороший и плохой «движки»

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

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

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

Уровень ложных срабатываний. Если на 100% незараженных файлах антивирус рапортует об обнаружении возможно зараженного файла, то это ложное срабатывание. Стоит ли доверять такому эвристическому анализатору, который постоянно беспокоит пользователя ложными тревогами? Ведь за огромным количеством ложных срабатываний пользователь может пропустить действительно новый вирус.

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

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

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

… 

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

Алфавитный указатель: 

Рубрики: 

Комментарии

Re: Эволюция антивирусных систем

Простите, если не в тему, но я более 4 лет не пользуюсь ни одним антивирусом, и ни на одной из 120 вузовских машин, которыми пользуются мои студенты ежедневно - тоже нет антивирусов. За это время мне не приходилось переустанавливать операционную систему или прикладные программы на этих компьютерах. И я уверен - не придётся. Дело в выборе операционной системы: Linux.
Предвосхищая аргумент:"ещё не написали", могу сказать, что написали, но всё равно не работает, так как свободное программное обеспечение открыто, и сообщество весьма внимательно следит за безопасностью и устраняет уязвимости быстрее и надёжней, чем может успеть распространиться какой-нибудь зловред.
И от себя могу добавить, что антивирусный-вирусный бизнес создан компанией Microsoft в плотном сотворчестве с производителями антивирусов. Это гигантские деньги, циркулирующие на энергии психологической инерции, зависимости от MS Windows, не к ночи будь помянут. Поэтому о "вирусах в Linux" много статей от Касперского и Доктора Веба, но у сообщества пользователей Linux (десятки миллионов человек по всему миру) - никаких данных о вирусах нет. А поддержка работоспособности вирусов - одна из главных функций Ms Windows. С уважением, А.Р.

Subscribe to Comments for "Эволюция антивирусных систем"