Большинство современных статей о вирусах и способах борьбы с ними охватывает лишь эффективные антивирусные технологии и простейшие сведения о вредных кодах (не все из которых формально соответствуют определению “вируса”). Причем последний вопрос освещается лишь как вспомогательная часть материалов: он помогает лучше понять принципы, реализованные в антивирусах. Данная статья имеет совершенно противоположную цель. Я постараюсь проследить эволюцию вирусов с момента их выхода на “большую сцену”. Основное внимание будет уделяться масштабу и скорости распространения конкретных эпидемий. Не останется без внимания и развитие технического потенциала вредоносного кода: я на конкретных примерах покажу, что именно может испортить тот или иной вирус на вашем ПК или в корпоративной сети.
Эпоха макровирусов.
В 1995 году появилась Windows 95. Благодаря приятному интерфейсу и красивым окошкам она стала самой популярной операционной системой на планете. Нельзя утверждать, что Windows 95 предоставляла создателям вирусов больше возможностей, чем ее младшая сестра MS-DOS. Наоборот, по началу программирование на чистом Win16/32 API было сущим адом. Но суть в другом: Windows стала неформальным стандартом, она поселилась на огромном числе компьютеров и набрала небывалую популярность. Эта система привлекла к себе внимание не только пользователей, но и вирусмейкеров. Начали создаваться первые исполняемые вирусы под эту платформу. Но они не приобрели широкого распространения, так как пользователи не так уж и часто обменивались между собой исполняемыми файлами. Именно этот фактор на протяжении всего времени существования MS-DOS не позволял DOS-вирусам вызывать эпидемии и наносить существенный ущерб. В те времена Интернет еще не набрал сегодняшней популярности и силы, поэтому почти единственным средством транспортировки вирусов с одного компьютера на другой были дискеты и CD-диски. А это, согласитесь, очень медленно.
Исполняемый вирус Hanta
Но вместе с Windows 95 пришел и Microsoft Office. Именно этот офисный пакет оказался одной из самых благотворных сред для развития и размножения вирусов. Простой и эффективный инструментарий Microsoft Office позволяет создавать макросы, исполняющиеся на компьютере пользователя во время работы с документом. Этот пакет стал также очень популярным: документооборот многих предприятий и по сей день построен на его использовании. Чем же Windows 95 отличалась от Office с точки зрения вирусмейкера? Лишь одним: скорость распространения исполняемых файлов среди пользователей была значительно ниже, чем скорость обмена документами.
Именно поэтому первый нашумевший вирус был написан для Microsoft Office. Это был Word.Concept. Особой зловредностью данный экземпляр не отличался, его эпидемия проходила очень вяло (в течение нескольких лет) и поразил он не так уж и много компьютеров (Лаборатория Касперского зарегистрировала всего 800 жалоб от клиентов на этот вирус). По сравнению с сегодняшним днем, когда Klez успевает поразить около 30 тыс. пользователей в месяц, масштабы Concept выглядят весьма скромными. Но для 1995-1997 гг. результат был очень впечатляющим. Как и маленький ручеек, дающий силу бурной реке, макровирусы предопределили стремительный выход вирусов на мировую арену.
Среди пользователей бытует мнение, что макровирус – это такая безобидная подпрограмма, способная лишь на мелкие пакости вроде замены букв и знаков препинания. На самом деле макровирус может очень многое: отформатировать винчестер или украсть что-то ценное для него не проблема.
Сетевой червь Melting
За эпидемией Concept последовала вспышка активности вируса ColdApe. Этот “макробрат” оказался более оперативным: Лаборатория Касперского за несколько месяцев зарегистрировала около 1200 обращений в свою службу поддержки, связанных с этим вирусом. ColdApe был уже не так безобиден как предшественник, мог и файлы потереть и документы испортить. Он также содержал в себе элементы полиморфного кода, присущие лишь исполняемым вирусам. Таким образом, еще один 1998 год прошел под гнетом макровирусов.
С 1999 года макровирусы начинают постепенно терять свое господство. Это связано со многими факторами. Во-первых, пользователи осознали опасность, таящуюся в простых doc- и xls-файлах. Люди стали более внимательными, научились пользоваться стандартными механизмами защиты от макровирусов, встроенными в MS Office. Немаловажным является и то, что пользователь осознал необходимость использования антивируса. Теперь это “игрушка для хакеров и озабоченных администраторов”, а стандартное средство защиты любого ПК от всех вредных кодов. Во-вторых, антивирусные компании наконец-таки раскололи этот твердый “макро-орешек”. Любой современный антивирус показывает очень высокий результат при борьбе с макровирусами. К примеру, из недавно проведенных компанией “Реланс” тестов выяснилось, что Norton AntiVirus поймал 489 из 495 макровирусов, DrWeb – 491 из 495, а Антивирус Касперского и вовсе все 495. Согласитесь, сегодня у макровируса очень мало шансов на успех. Но это не все, что предлагает современный антивирус в борьбе с этими вредителями: в наши дни становится возможным еще и вылечить большую часть инфицированных файлов. Судите сами, из тех же тестов: Norton AntiVirus излечил 454 из 489 детектированных, DrWeb – 461 из 491 и Антивирус Касперского – 476 из 495 (как вы понимаете, антивирус мог лечить лишь те файлы, которые считал зараженными – этим и объясняется число, стоящее после слова “из”). В-третьих, к 2000 году Лабораторией Касперского была разработана уникальная технология, позволяющая нейтрализовать любой антивирус (даже тот, которого нет в антивирусной базе). Я имею в виду поведенческий блокиратор, интегрируемый в MS Office. Этот встраиваемый модуль называется Office Guard. Суть заложенных в него технологий в том, что набор используемых макровирусом функций можно ограничить. Напомним, что макросы для MS Office пишутся на языке VBA (Visual Basic for Application). Так вот оказывается, что есть команды, без которых не может обойтись ни один макровирус! Именно на них и реагирует Office Guard. Самым главным бонусом такого подхода является защита даже от еще неизвестных макро-вредителей.
Посмотрим на вирусную двадцатку за февраль этого года. По данным Лаборатории Касперского макровирусы в ней занимают лишь 4, 9, 10, 18 и 20 позиции. Всего на них приходится 5,9% от общего числа зарегистрированных заражений. Это достаточно небольшой процент (для сравнения: в 2000 году макровирусов насчитывалось 20%), который мог бы быть еще меньше, если бы пользователи защищали свой ПК с помощью Антивируса Касперского (Office Guard, входящий в его состав, защитил бы компьютер от любого макровируса) или, при использовании другого антивирусного решения, регулярно обновляли базы (Антивирус Касперского способен бороться с макро-инфекцией и без обновления баз, но для всех остальных видов вредных кодов рекомендуется обновлять базы раз в сутки). К сожалению, среди пользователей всегда остается небольшой процент тех, кто считает, что вирусы обойдут их стороной. Именно этим и объясняет халатность по отношению к установке обновленных антивирусных баз.
2000 год – поворотная точка.
В 2000 году происходят очень важные изменения на мировом “вирусном поле”. Можно сказать, что вирусмейкеры угадали с заменой. На свет появляются новый тип вредных кодов – сетевые черви. В это же время появляется супервирус – “Чернобыль”. Идеи, воплощенные в нем, вызывают восхищение антивирусных экспертов и по сей день.
“Чернобыль” это не просто исполняемый вирус под Windows. В нем заложены действительно красивые приемы и решения. Во-первых, зараженный файл не меняет своего размера по сравнению с первоначальным вариантом. Такой эффект достигается благодаря структуре исполняемых файлов Windows: каждый exe-файл разбит на секции, выровненные по строго определенным границам. В результате между секциями почти всегда образуется небольшой зазор. Хотя такая структура приводит к увеличению места, занимаемого файлом на диске, она же позволяет существенно повысить скорость работы операционной системы с таким файлом. “Чернобыль” либо записывает свое тело в один такой зазор (если тело туда помещается), либо дробит свой код на кусочки и копирует каждый из них в пустое место между границами. Результатом этой идеи являются: антивирусу сложнее определить, заражен ли файл или нет, и еще сложнее вылечить инфицированный объект (сложнее, имеется в виду, по сравнению с другими способами заражения файлов). Во-вторых, “Чернобыль” стал первопроходцем среди программ, умеющих портить “железо”. Некоторые микросхемы позволяют перезаписывать данные, хранящиеся в их мини ПЗУ. Этим и занимается “Чернобыль”. Результатом такого вандализма является испорченный компьютер, ремонт которого выливается в круглую копеечку. Надо отметить, что “Чернобыль” делает еще и “контрольный выстрел” в зараженный компьютер – на всякий случай он стирает абсолютно все данные с жесткого диска. После того, как широкой общественности стала известна первая “сверх” деструктивная функция данного вируса, какой-то умелец додумался дизассемблировать код “Чернобыля” и выложить его в Интернете. Сегодня имеются сотни модификаций старого “Чернобыля”, каждая из которых только и ждет момента познакомиться с “железом” пользователя. Эти клоны отличаются от “праотца” тем, что портят железо и уничтожают данные не раз в год, а сразу после заражения компьютера. Этот один факт уже достаточен для того, чтобы обзавестись антивирусом.
Скрипт для Corel Draw под названием Gala
Интересным фактом является “черная популярность Чернобыля” и сегодня. В феврале 2003 года 0,71% всех обращений в службу технической поддержки Лаборатории Касперского был вызван именно активностью Win95.CIH (это – научное название обсуждаемого вредного кода). То есть данный экземпляр оказался на 11 месте в вирусном хит-параде (20-тка февральских вирусов). Согласитесь, что для вируса созданного три года назад это поразительный результат. В чем же причина? Конечно, новые клоны нашумевшего вредителя появляются довольно часто – вирусмейкеры все лелеют мечту стать знаменитыми. Но ведь и антивирусные компании не дремлют! Любой современный антивирус детектирует любую версию старого “Чернобыля”. Есть только одно объяснение: как и в случае с макровирусами пользователи надеются на “лучшее” и не обновляют базы вовремя. А ведь, чтобы их обновить надо всего лишь выйти в Интернет и нажать одну (достаточно большую) кнопку в меню своего антивируса! Стоит один раз недооценить опасность заражения, как придется платить деньги за ремонт ПК. В корпоративной же среде потеря информации с жестких дисков может вызвать куда более ощутимый ущерб, чем повреждение одной микросхемы.
Но вернемся к 2000 году. С этого года сетевые черви могут смело отсчитывать свою “большую” историю. Произошли существенные изменения в технологиях создания и распространения вирусов. В первую очередь, это касается тенденции приобретения вирусами функции распространения по электронной почте. Согласно статистике службы технической поддержки Лаборатории Касперского, около 85% всех зарегистрированных случаев заражения были вызваны проникновением вирусов именно из этого источника. К примеру, по сравнению с 1999 годом рост числа подобных инцидентов составил около 70%. Это связано с тем, что Интернет и электронная почта твердо стали на ноги: сетевая почта превратилась в стандарт бизнес общения. Это привлекло внимание не только пользователей, но и вирусмейкеров. К тому же скорость распространения вирусов через Интернет неизмеримо выше скорости обмена данными на любых носителях.
2000 год еще можно назвать годом “Любовных Писем”. Вирус “LoveLetter”, обнаруженный 5 мая, мгновенно разлетелся по всему миру, поразив десятки миллионов компьютеров практически во всех уголках планеты. Причины этой глобальной эпидемии кроются в чрезвычайно высокой скорости распространения, оригинальных (а кое-где и гениальных) идеях автора. Вирус рассылал свои копии немедленно после заражения системы по всем адресам электронной почты, найденным в адресной книге почтовой программы Microsoft Outlook. Подобно обнаруженному весной 1999 года вирусу Melissa, LoveLetter это делал, якобы, от имени владельца зараженного компьютера, о чем тот, естественно, даже не догадывался. Рассылаемые зараженные вложенные файлы дезориентировали пользователей своим расширением: 'TXT.vbs'. Большинство до сих пор считает, что текстовые файлы не могут содержать вредоносных программ. Это действительно так, однако под фальсифицированным расширением TXT может скрываться все что угодно, в данном случае - программа, написанная на Visual Basic Script (VBS). Дополнительным фактором является гениальность автора: простой ход с точки зрения психологии. Мало кто сможет удержаться, чтобы не прочитать любовное письмо от своего знакомого. Именно на это была сделана основная ставка в процессе разработки вируса.
Вирусная двадцатка за февраль 2003 года
Название вируса |
Тип вируса |
Процент |
Klez |
Сетевой червь |
29,67 |
Sobig |
Сетевой червь |
8,81 |
Lentin |
Сетевой червь |
7,04 |
Thus |
Макровирус для Word |
3,12 |
Avron |
Сетевой червь |
3 |
Roron |
Сетевой червь |
2,87 |
Hybris |
Сетевой червь |
2,49 |
Tanatos |
Сетевой червь |
1,3 |
Flop |
Макровирус для Word |
0,98 |
Saver |
Макровирус для Word |
0,78 |
CIH (Чернобыль) |
Исполняемый |
0,71 |
Opasoft |
Сетевой червь |
0,69 |
Spaces |
Исполняемый |
0,59 |
Mosuck |
Троянец |
0,58 |
Antilam |
Троянец |
0,57 |
Redlof |
Скрипт-вирус |
0,53 |
Stator |
Сетевой червь |
0,53 |
Melissa |
Макровирус для Word |
0,52 |
Optix Pro |
Троянец |
0,51 |
VMPC |
Макровирус для Word |
0,5 |
Только в мае атаке вируса LoveLetter подверглись более 40 миллионов компьютеров. По сообщению исследовательского центра Computer Economics, уже за первые 5 дней эпидемии вирус нанес мировой экономике убытки в размере 6,7 миллиардов долларов США. По данным этого же центра, суммарные убытки за весь 1999 год составили 12 миллиардов долларов США.
Еще одним важным событием 2000 года можно считать начало “колонизации” Linux. В общем было зарегистрировано появление 37 новых вирусов и троянских программ для этой операционной системы. По сравнению с вирусами для Windows эти цифры очень малы, но, если посмотреть статистику Linux-вирусов, то их число увеличилось более, чем в 7 раз! Несмотря на то, что некоторые образцы Linux-вирусов действительно обладали всеми необходимыми способностями к размножению и автономной жизни, ни один из них так и не нанес ощутимого ущерба. Сказалось малая распространенность Linux. Но самым главным фактом стало создание первого вируса в истории Linux, работающего в фоновом режиме и способного заражать файлы в масштабе реального времени. Этот экземпляр получил название Siilov.
Эпоха сетевых червей.
С 2000 года сетевые черви начинают полностью преобладать на вирусной арене мира. Сегодня, по данным Лаборатории Касперского, на их долю приходится 89,1% всех заражений. В структуре распространенности сетевых червей традиционно преобладают почтовые черви (прежде всего "Klez" и "Lentin"), использующие e-mail в качестве основного транспорта для доставки на целевые компьютеры. Все больше и больше почтовых червей применяют метод прямого соединения с SMTP-сервером. Эта тенденция объясняется тем, что традиционный способ рассылки червей (например, через Outlook или другие почтовые клиенты) уже не имеет достаточных шансов на успех. Производители почтового ПО интегрировали в свои программы антивирусные модули или специальные функции для предотвращения несанкционированной рассылки каких-либо данных. Учитывая это, вирусмейкеры все чаще используют новые технологии распространения червей, которые обходят такой тип защиты. Существует еще несколько типов сетевых червей: LAN-черви (распространяющиеся по ресурсам локальных сетей - 2,5%), P2P-черви (распространяющиеся по Peer-to-Peer сетям, например KaZaA - 1,7%), IRC-черви (распространяющиеся по каналам IRC - 0.2%).
Остановимся подробнее на сетевом черве Klez. Этот экземпляр заражает компьютер через “дыру” в почтовой программе Outlook: когда пользователь подводит мышку к письму, содержащему вирус, Klez инфицирует систему. Надо заметить, что эксплуатируемая червем “дыра” была обнаружена до создания этого вируса, а компания Microsoft даже выпустила специальную заплатку. Каждый, кто установил ее, защитил себя и свой ПК не только от Klez, но и от всех его разновидностей и модификаций. После попадания в ОС сетевой червь сканировал жесткие диски, искал e-mail адреса и рассылал на них письма, прикрепляя свое тело в качестве вложения. Таким образом, скорость распространения сетевого червя становилась очень высокой. Эту же схему использует и все остальные сетевые черви: каким-либо образом попадают на компьютер, ищут потовые адреса и рассылают себя дальше. По данным Лаборатории Касперского за время своего существования Klez заразил более 110 тыс. компьютеров. На сегодняшний день он по-прежнему лидирует в вирусном хит-параде. К примеру, в феврале на его долю пришлось 29,67% от всех заражений вообще.
График зависимости числа вирусов в e-mail от времени
Важным является и то, что сетевые черви мутируют: сегодня вы вряд ли найдете “чистого” сетевого червя. Современный “червяк” содержит в себе элементы скрипт-, исполняемых и полиморфных вирусов, а также кое-что от троянских коней. Хорошим примером служит I-Worm.Magistr. Его автору всего в 30 килобайтах ассемблерного кода удалось реализовать очень сложный резидентный полиморфный вирус, процедуру распространения по локальной сети и электронной почте и, в дополнение, деструктивную функцию CIH. Как результат: вирус-червь, заражающий приложения Windows (исполняющиеся EXE-файлы) и распространяющий свои копии в зараженных письмах электронной почты. Червь также способен распространяться и по локальной сети, заражая файлы на сетевых дисках, открытых на полный доступ. Через месяц после заражения компьютера он стирает всю информацию на диске, данные в CMOS-памяти и содержимое Flash-памяти.
Рассказ о сетевых червях был бы неполным без упоминания I-Worm.Hybris. Это один из первых многокомпонентных вирусов, имеющих функцию самообновления. Представьте себе вредный код, состоящий из основной программы и дополнительных plug-in подпрограмм, которые могут подключаться к Hybris’у в любой момент по желанию автора данного червя. Например, подпрограмма заражения ZIP и RAR архивов, внедрения на компьютеры, зараженные "троянцем" SubSeven, шифрования и т. д. Помимо этого, в Hybris есть очень хитрая система перекачивания этих plug-in'ов с анонимного Web-сайта. Обычно такие сайты легко закрыть. Но автор изобрел другой способ – вирус соединяется с электронной конференцией alt.comp.virus и ищет там новые версии подпрограмм. А чтобы под видом plug-in вирусу не предложили антивирус, каждый модуль имеет цифровую подпись (128-битный ключ RSA), что обеспечивает 100% аутентификацию! Это действительно уникальный способ – ведь конференцию закрыть невозможно!
Бреши в системе безопасности и бестелесные черви.
В 2001 году был обнаружен новый тип вредоносных кодов, способных активно распространяться и работать на зараженных компьютерах без использования файлов. В процессе работы такие вирусы существуют исключительно в системной памяти, а при передаче на другие компьютеры - в виде специальных пакетов данных.
Такой подход поставил сложные задачи перед разработчиками антивирусных пакетов. Традиционные технологии (антивирусный сканер и монитор) проявили неспособность эффективно противостоять новой угрозе, поскольку их алгоритм борьбы с вредоносными программами основан именно на перехвате файловых операций. Решением проблемы стал специальный антивирусный фильтр, который в фоновом режиме проверяет все поступающие на компьютер пакеты данных и удаляет “бестелесных” червей. Глобальная эпидемия сетевого червя CodeRed, начавшаяся 20 июля 2001 года (по некоторым оценкам зараженными оказались более 300 тыс. компьютеров), подтвердила действенность технологии "бестелесности". Но еще “больнее” оказалась недавняя эпидемия Helkern’а (25 января 2003 года).
В августе 2001 года Николас Уивер (Nicholas Weaver) из университета Беркли (США) опубликовал исследование о технологии создания червя “Warhol” (также известен как “Флэш-червь”), который в течение 15 минут способен распространиться по всему миру. Именно поэтому червь был назван в честь Энди Уорхола (Andy Warhol), автора фразы “в будущем у каждого появится возможность испытать 15 минут славы”. Примерно такая же идея и была реализована в Helkern’е.
Интернет-червь Helkern (также известен под именем Slammer) заражает серверы под управлением системы баз данных Microsoft SQL Server 2000. Небольшой размер червя (всего лишь 376 байт), уникальная технология заражения и сверх высокая скорость распространения позволили червю получить титул “главной угрозы нормальному функционированию Интернет за последние несколько лет”. Microsoft SQL Server 2000 это многофункциональная система управления базами данных, которая широко используется в том числе и на Web-серверах. Для домашних пользователей, которые самостоятельно не устанавливали Microsoft SQL Server Helkern не представляет опасности.
Червь незаметно проникает на компьютеры через брешь класса "переполнение буфера" (Buffer Overrun) в системе безопасности Microsoft SQL Server. Для этого на целевой компьютер посылается нестандартный запрос, при обработке которого система автоматически выполняет и содержащийся в запросе вредоносный код червя. Далее Helkern начинает процедуру дальнейшего распространения по сети Интернет. Этот процесс отличается исключительно высокой скоростью рассылки копий червя: Helkern запускает бесконечный цикл распространения, и, таким образом, многократно повышает сетевой трафик. Сегодня MS SQL Server является одной из самых популярных баз данных, которая используется на сотнях тысяч компьютеров по всему миру. События показывают, что на большинстве из них до сих пор не установлены обновления системы защиты. Мы опять сталкиваемся с халатностью, но на этот раз не домашних пользователей, а искушенных системных администраторов. Уж кому, как не им, знать о важности своевременной установки заплаток. Думаю, случай с Helkern’ом послужил им хорошим уроком.
Ущерб мировой экономики от вирусов. В млрд. долларов
Помимо создания большого объема избыточного сетевого трафика Helkern не имеет других побочных действий, в том числе деструктивных. Однако одного этого оказалось достаточно, чтобы блокировать 25% всего Интернета! Только представьте: каждый четвертый запрашиваемый сайт был попросту недоступен.
Теперь поговорим о “дырах” в системах безопасности ПО. Многое указывает на то, что именно в этом направлении потечет дальнейшая эволюция компьютерных вирусов. Использование брешей в сетевых сервисах позволяет вирусам заражать ОС и распространяться с огромной скоростью и без вмешательства человека. Макро- и исполняемые вирусы требовали, чтобы “хозяин” запустил их. Klez сводил роль пользователя в заражении ПК к минимуму: нужно было лишь подвести мышку. В размножении бестелесных червей человек вообще не участвует!
Если вспомнить известную истину “программ без ошибок не бывает”, то становится вообще скучно. Стоит кому-то покорпеть несколько месяцев, отыскав неизведанные дыры в самых популярных продуктах, и выпустить в свет несколько бестелесных червей, как Интернет вообще “ляжет” на несколько дней. Убытки будут колоссальными.
Итог.
Макровирусы отжили свое. Исполняемые вирусы встречаются довольно редко. Жертвами этих двух видов тварей становятся лишь самые ленивые пользователи. Будущее за червями. И не просто сетевыми червями, а вирусами, размножающимися с минимальным участием (а порой и нулевым) человека.
Но не все так плохо. Ведущие эксперты антивирусных компаний проводят много времени за изучением статистики. В результате дальнейшие пути развития вирусной индустрии не являются для них откровением. Хочу привести несколько примеров.
Евгений Касперский, руководитель антивирусных исследований компании Лаборатория Касперского, предсказал возможность глобальной эпидемии скрипт-вирусов (подобных LoveLetter), еще в ноябре 1998 года, когда был обнаружен вирус Rabbit. Тогда многие поспешили обвинить компанию в раздувании вирусной истерии, однако весна 2000 года расставила все на свои места. Сейчас известно более 80 разновидностей LoveLetter. В целях защиты своих пользователей не только от существующих, но и от будущих версий вируса, Лаборатория Касперского разработала технологию Script Checker. Благодаря механизму эвристического анализа скриптов, Script Checker защитил пользователей от всех вариантов LoveLetter, не требуя никаких дополнительных обновлений антивирусной базы. Согласитесь, приятный момент в истории развития вирусов.
Следующим плюсом идет Office Guard. Еще один модуль, входящий в состав Антивируса Касперского, обеспечивающий защиту на этот раз от макровирусов. Эта технология не позволит ни одному макровирусу причинить какой-либо вред вашим данным и заразить другие файлы. Таким образом, уже от двух видов вирусов существует 100% защита.
Будучи даже самым подозрительным пользователем вы окажетесь бессильным против червя, атакующего вас в фоновом режиме, без вашего участия. Поэтому я рекомендую вам устанавливать все обновления используемого сетевого ПО своевременно и обновлять антивирусные базы один раз в сутки. Только с помощью очень жесткой гигиены можно обезопасить свой компьютер. А остальное предоставьте антивирусным экспертам – они не подведут.