Записки исследователя компьютерных вирусов
Шрифт:
Первой ласточкой, стремительно вылетевшей из гнезда, стала Melissa, представляющая собой обычный макровирус, распространяющийся через электронную почту. Способностью к самостоятельному размножению она не обладала и сетевым червем в строгом смысле этого слова, очевидно, не являлась. Для поддержания жизнедеятельности вируса требовалось наличие большого количества неквалифицированных пользователей, которые:
– имеют установленный MS Word;
– игнорируют предупреждения системы о наличии макросов в документе или же пользуются системой, в которой обработка макросов по умолчанию разрешена;
– пользуются адресной книгой почтового клиента Outlook Express;
– все приходящие вложения открывают не глядя.
И эти пользователи
Величайшая ошибка информационных агентств и антивирусных компаний состоит в том, что они в погоне за сенсацией сделали из Meliss'bi событие номер один, чем раззадорили огромное количество программистов всех мастей, вручив им образец для подражания. Как это обычно и случается, на первых порах подражатели дальше тупого копирования не шли. Сеть наводнили полчища вирусов-вложений, скрывающих свое тело под маской тех или иных форматов. Верхом наглости стало появление вирусов, распространяющихся через исполняемые файлы. И ведь находились такие пользователи, что их запускали… Разнообразные методы маскировки (вроде внедрения в исполняемый файл пиктограммы графического) появились значительно позже. Нашумевший Love Letter, прославившийся своим романтическим признанием в любви, технической новизной не отличался и, так же как и его коллеги, распространялся через почтовые вложения, в которых на этот раз содержался Visual Basic Script. Три миллиона зараженных машин – рекорд, который не смог побить даже сам Love San, – лишний раз свидетельствует о том, что рядовой американский мужик не крестится даже после того, как гром трижды вдарит и охрипший от свиста рак с горы гикнется.
Более или менее квалифицированных пользователей (и уж тем более профессионалов!) существование почтовых червей совершенно не волновало, и они полагали, что находятся в абсолютной безопасности. Переломным моментом стало появление червя Kilez, использующего для своего распространения ошибку реализации плавающих фреймов в Internet Explorer'e. Заражение происходило в момент просмотра инфицированного письма, и сетевое сообщество немедленно забило тревогу.
Однако еще за год до этого было отмечено появление первого червя, самостоятельно путешествующего по сети и проникающего на заражаемые серверы через дыру в Microsoft Internet Information Server и Sun Solaris Admin Suite. По некоторым данным, червю удалось поразить до нескольких тысяч машин (на две тысячи больше, чем червю Морриса). Для современных масштабов Сети это пустяк, не стоящий даже упоминания. Короче говоря, вирус остался незамеченным, а программное обеспечение – необновленным.
Расплата за халатное отношение к безопасности не заставила себя ждать, и буквально через пару месяцев появился новый вирус, носящий название Code Red, который вкупе со своей более поздней модификацией Code RedII уложил более миллиона узлов за короткое время. Джинн был выпущен из бутылки, и тысячи хакеров, вдохновленных успехом своих коллег, оторвали мышам хвост и засели за клавиатуру.
За два последующих года были найдены критические уязвимости в Apache-и SQL-серверах и выращены специальные породы червей для их освоения. Результат, как водится, превзошел все ожидания. Сеть легла, и некоторые даже стали поговаривать о скором конце Интернета и необходимости полной реструктуризации сети (хотя всего-то и требовалось уволить администраторов, не установивших вовремя заплатки).
Вершиной всему стала грандиозная дыра, найденная в системе управления DCOM и распространяющаяся на весь модельный ряд NT-подобных систем (в первую очередь это сама NT, а также W2K, ХР и даже Windows 2003). Тот факт, что данная уязвимость затрагивает не только серверы, но и рабочие станции (включая домашние компьютеры), обеспечил червю Love San плодотворное поле для существования. А все потому,
Что ждет нас завтра – неизвестно. В любой момент может открыться новая критическая уязвимость, поражающая целое семейство операционных систем, и, прежде чем соответствующие заплатки будут установлены, деструктивные компоненты червя (если таковые там будут) могут нанести такой урон, который повергнет весь цивилизованный мир во мрак и хаос…
Таблица 3.1. Тор10 – парад сетевых вирусов – от червя Морриса до наших дней
Инициализация, или несколько слов перед введением
В те минуты, когда пишутся эти строки, в левом нижнем углу компьютера лениво мигает глазок персонального брандмауэера, фильтрующего пакеты, приходящие по сотовому телефону через GPRS (между прочим, очень хорошая штука – рекомендую!). Эпизодически – не чаще чем три-пять раз в день – в систему пытается проникнуть червь Love San (или что-то очень на него похожее), и тогда брандмауэер выбрасывает на экран следующее окно (рис. 3.1). Та же самая картина наблюдается и у двух других моих провайдеров.
Рис. 3.1. Кто-то упорно ломится на 135 порт, содержащий уязвимость…
И хотя активность червя неуклонно снижается (пару месяцев назад атака происходила буквально каждый час-полтора), до празднования победы еще далеко. Червь жил, живет и будет жить! Вызывает уважение тот факт, что автор червя не предусмотрел никаких деструктивных действий, в противном случае ущерб оказался бы невосполнимым, и всей земной цивилизации сильно поплохело бы.
А сколько дыр и червей появится завтра? Было бы наивно надеяться, что этой главой можно хоть что-то исправить, поэтому после долгих колебаний, сомнений и размышлений я решил ориентировать ее не только на лояльных системщиков, но и на… вирусописателей. А что, давал же Евгений Касперский советы авторам вирусов, предваряя свою статью такими словами:
Успокойтесь! Не надо готовить ругательства или, наоборот, потирать руки. Мы не хотим делиться своими идеями с авторами компьютерных вирусов. Все значительно проще – через наши руки прошло несколько сотен образцов компьютерных животных, и слишком часто в них встречались одни и те же ошибки. С одной стороны, это хорошо – такие вирусы часто оказываются «маложивущими», но, с другой стороны, малозаметная ошибка может привести к несовместимости вируса и используемого на компьютере программного обеспечения. В результате вирус «вешает» систему, компьютер отдыхает, а пользователи мечутся в панике с криками: «Пусть хоть 100 вирусов, лишь бы компьютер работал!!!» (завтра сдавать заказ, не запускается самая любимая игрушка, компилятор виснет при выходе в DOS и т. п.). И все это происходит при заражении довольно безобидным вирусом. По причине этого и возникло желание поделиться некоторой информацией о жизни вируса в компьютере, дабы облегчить жизнь и вам, и многочисленным «пользователям» ваших вирусов.
Черви, если только в них не заложены деструктивные возможности, не только вредны, но и полезны. Вирусы – это вообще юношеская болезнь всех или практически всех программистов. Что ими движет? Желание навредить? Стремление самоутвердиться в чьих-то глазах? А может быть, простой познавательный интерес? Разумеется, если червь «положил» весь Интернет, его создатель должен ответить. Данная книга – не самоучитель по написанию червей. Скорее, это – детальный анализ ошибок, допущенных вирусописателями.