Касперски Крис
Шрифт:
В те минуты, когда пишутся эти строки, в левом нижнем углу компьютера лениво мигает глазок персонального брандмауэера, фильтрующего пакеты, приходящие по сотовому телефону через GPRS (между прочим, очень хорошая штука – рекомендую!). Эпизодически – не чаще чем три-пять раз в день – в систему пытается проникнуть червь Love San (или что-то очень на него похожее), и тогда брандмауэер выбрасывает на экран следующее окно (рис. 3.1). Та же самая картина наблюдается и у двух других моих провайдеров.
Рис. 3.1. Кто-то упорно ломится на 135 порт, содержащий уязвимость…
И хотя активность червя неуклонно снижается (пару месяцев назад атака происходила буквально каждый час-полтора), до празднования победы еще далеко. Червь жил, живет и будет жить! Вызывает уважение тот факт, что автор червя не предусмотрел никаких деструктивных действий, в противном случае ущерб оказался бы невосполнимым, и всей земной цивилизации сильно поплохело бы.
А сколько дыр и червей появится завтра? Было бы наивно надеяться, что этой главой можно хоть что-то исправить, поэтому после долгих колебаний, сомнений и размышлений я решил ориентировать ее не только на лояльных системщиков, но и на… вирусописателей. А что, давал же Евгений Касперский советы авторам вирусов, предваряя свою статью такими словами:
Успокойтесь! Не надо готовить ругательства или, наоборот, потирать руки. Мы не хотим делиться своими идеями с авторами компьютерных вирусов. Все значительно проще – через наши руки прошло несколько сотен образцов компьютерных животных, и слишком часто в них встречались одни и те же ошибки. С одной стороны, это хорошо – такие вирусы часто оказываются «маложивущими», но, с другой стороны, малозаметная ошибка может привести к несовместимости вируса и используемого на компьютере программного обеспечения. В результате вирус «вешает» систему, компьютер отдыхает, а пользователи мечутся в панике с криками: «Пусть хоть 100 вирусов, лишь бы компьютер работал!!!» (завтра сдавать заказ, не запускается самая любимая игрушка, компилятор виснет при выходе в DOS и т. п.). И все это происходит при заражении довольно безобидным вирусом. По причине этого и возникло желание поделиться некоторой информацией о жизни вируса в компьютере, дабы облегчить жизнь и вам, и многочисленным «пользователям» ваших вирусов.
Черви, если только в них не заложены деструктивные возможности, не только вредны, но и полезны. Вирусы – это вообще юношеская болезнь всех или практически всех программистов. Что ими движет? Желание навредить? Стремление самоутвердиться в чьих-то глазах? А может быть, простой познавательный интерес? Разумеется, если червь «положил» весь Интернет, его создатель должен ответить. Данная книга – не самоучитель по написанию червей. Скорее, это – детальный анализ ошибок, допущенных вирусописателями.
Я не призываю вас писать червей. Напротив, я призываю одуматься и не делать этого. Но если уж вам действительно невтерпеж, пишите, по крайней мере, так, чтобы ваше творение не мешало жить и трудиться всем остальным.
Введение, или превратят ли черви сеть в компост?
– А-а, черви. Я должен как-нибудь увидеть одного из них.
– Может быть, вы и увидите его сегодня.
Френк Херберт. «Дюна»Если кто и разбирается в червях, так это Херберт. Ужасные создания, блестяще описанные в «Дюне» и вызывающие у читателей смесь страха с уважением, – они действительно во многом похожи на одноименных обитателей кибернетического мира. И пока специалисты по информационной безопасности ожесточенно спорят, являются ли черви одним из подклассов вирусных программ или же образуют вполне самостоятельную группу вредоносных «организмов», черви уже успели перепахать весь Интернет и продолжают зарываться в него с бешеной скоростью. Удалить же однажды зародившегося червя практически невозможно. Забудьте о черве Морриса! Сейчас не то время, не те пропускные способности каналов и не та квалификация обслуживающего персонала. В далеких восьмидесятых с заразой удалось справиться лишь благодаря небольшой (по современным меркам!) численности узлов сети и централизованной организации структуры сетевого сообщества.
А что мы имеем сейчас? Количество узлов сети вплотную приближается к четырем миллиардам, причем подавляющим большинством узлов управляют совершенно безграмотные пользователи, и лишь незначительная часть сетевых ресурсов находится в руках администраторов, зачастую являющихся все теми же безграмотными пользователями, с трудом отличающими один протокол от другого и во всем полагающимися на Microsoft и NT, которые «все за них сделают». Что такое заплатки, некоторые из них, возможно, и знают, но до их установки дело сплошь и рядом так и не доходит.
Можно до потери пульса проклинать Святого Билла и его корявое программное обеспечение, но проблема вовсе не в дырах, а в халатном отношении к безопасности и откровенном разгильдяйстве администраторов. Что касается программистских ошибок, то в мире UNIX ситуация обстоит ничуть не лучше. Здесь тоже водятся черви, пускай не впечатляющие численностью своих штаммов, зато отличающиеся большой изощренностью и разнообразием. Здесь также случаются вспышки эпидемий, насчитывающие тысячи и даже десятки тысяч жертв (достаточно вспомнить червей Scalper'a и Slapper'a, поражающих Apache-серверы, вращающиеся под управлением FreeBSD и Linux соответственно). Конечно, по сравнению с миллионами упавших Windows-систем эти цифры выглядят более чем умеренными, однако легендарная защищенность (точнее, как раз-таки незащищенность) UNIX'a тут совсем не причем. Просто UNIX-системы управляются намного более грамотными операторами, чем Windows NT.
Никто не гарантирован от вторжения, и Всемирная сеть действительно находится в большой опасности. Просто, по счастливому стечению обстоятельств, все предыдущие черви были довольно беззлобными созданиями, и ущерб от их размножения носил скорее косвенный, чем прямой характер. Но и в этом случае он измерялся многими миллионами долларов и долгими часами полного или частичного «полегания» сети. У нас еще есть время на то, чтобы извлечь хороший урок из случившегося и кардинальным образом пересмотреть свое отношение к безопасности, поэтому не будем больше тратить время на бесполезные философствования и приступим к стержневой теме данной главы.