Архивы: по дате | по разделам | по авторам

Проверка на вшивость

Архив
автор : Андрей Васильков   20.02.2003

1 января 1983 года с легкой руки Винта Сёрфа принято считать днем рождения Интернета. Именно тогда несколько сотен компьютеров сети ARPANET были переведены на протокол TCP/IP. Сегодня, спустя три недели после празднования двадцатилетия этого события, параноидальные слухи о гибели глобальной сети вновь наводнили СМИ. Что же послужило тому причиной?

 

1 января 1983 года с легкой руки Винта Сёрфа принято считать днем рождения Интернета. Именно тогда несколько сотен компьютеров сети ARPANET были переведены на протокол TCP/IP. Сегодня, спустя три недели после празднования двадцатилетия этого события, параноидальные слухи о гибели глобальной сети вновь наводнили СМИ. Что же послужило тому причиной?

Slammer, он же Helkern,
он же Sapphire...

Знакомьтесь — Worm.SQL.Helkern (по классификации Евгения Касперского), известный еще и как SQL.Slammer или Sapphire. Так называемый бестелесный червь — его код выполняет все действия только в оперативной памяти компьютера, не сохраняясь в виде файлов. Такое поведение вируса обычно на руку домашним пользователям — перезагрузил ПК и забыл о проблеме. Вот только писался Helkern для серверов, которым на роду написано работать 24 часа в сутки 7 дней в неделю. Из-за особенности поведения червя антивирусные сканеры оказались бесполезны. Их задача — проверять файлы, а с ними-то как раз все было в порядке. AV-мониторы тоже оказались неэффективны, поскольку червь не обладал никакими деструктивными свойствами, не взаимодействовал с дисковой системой и лишь отсылал свои копии в бесконечном цикле на случайные адреса через 1434-й порт. Знакомые цифры? Еще бы! UDP-порт, который используется самой распространенной СУБД — Microsoft SQL Server 2000.
Когда SQL Server получает через UDP-порт 1434-й пакет с первым байтом 0x04, процесс SQL Monitor пытается открыть ключ реестра на основании последующих данных. Если добавить в конец пакета несколько лишних байтов, то, пока создается строка для открытия ключа реестра, произойдет переполнение стекового буфера и сохраненный адрес возврата перезапишется. При помощи инструкций jmp esp или call esp можно легко заставить атакуемый сервер выполнить любой произвольный код.
Это лишь один из способов переполнения буфера, наиболее часто используемый. Помимо выполнения произвольного кода на сервере «доброумышленник» может просто осуществить DoS-атаку… или написать червя, который, используя эту ошибку, нарушит работу серверов с установленной СУБД Microsoft SQL Server. Например, заставит их обмениваться данными в бесконечном цикле.
Выявить источник инфекции всегда трудно, а учитывая молниеносную скорость распространения Helkern — почти невозможно. Впервые с пакетами данных, похожих на копии червя, «Лаборатория Касперского» столкнулась в 22:07 (по московскому времени) 20.01.2003. Они были посланы с сервера, расположенного на территории США. Потом в список стран, где засветился червь, добавились Нидерланды, и этим данные того периода исчерпываются. Helkern словно копил силы для решающего удара, и нанес его в ночь с 24 на 25 января. Заражению подверглись более 80 тысяч серверов, а среднее замедление функционирования Интернета составило примерно 25%. Такого не было даже во время эпидемии CodeRed (кстати, первого представителя класса бестелесных червей). Распространившись по всей планете, Helkern нанес большой ущерб Южной Корее (почти все абоненты крупнейшего корейского провайдера KT лишились связи), Австралии и Новой Зеландии. Частично возможности работать в Сети лишились пользователи Индии, Малайзии и Филиппин. В Китае стала невозможной процедура обновления сайтов, и существенно замедлилась общая скорость работы в Интернете. В США отключились банкоматы (по данным Bank of America, 13 тысяч его банкоматов отказались выдавать наличные деньги), а резко возросший трафик привел к потере 20% общего потока данных. Не повезло и канадцам, голосовавших через Интернет во время выборов главы Новой Демократической партии. К тому времени, когда проблему с регистрацией устранили, голосование уже закончилось.
Эксперты по безопасности стали наперебой предрекать гибель Интернета. Их опасения основывались на следующих идеях:

  • Успешная атака на девять из тринадцати корневых DNS (см. www.computerra.ru/offline/2002/468/21557), произошедшая 22.10.2003, и пандемии сетевых червей свидетельствуют о недостаточной защищенности Интернета.

  •  Helkern — еще цветочки. Подождите, пока его открытый код опубликуют и выложат на вирусных сайтах. Будет вам новая пандемия хоть каждый день. Интернет будет полностью парализован и в конце концов «умрет».

  •  На основе бестелесных червей будут создавать информационное оружие.


Попробую возразить паникерам. Для начала — взгляните на эпиграф. Это камень в огород экспертов. Согласен, каждый занимающийся вопросами безопасности, должен быть немного параноиком, но именно немного. Видеть в каждом новом черве предвестника апокалипсиса просто смешно. За все время существования компьютеров человечество породило более 70 тысяч вирусов. Были среди них полиморфные, шифрующиеся, невидимки и работающие в защищенном режиме CPU. Как говорится, и не таких обламывали.
DNS-flooding сам по себе еще ничего не значит. О возможности октябрьской атаки знали. Еще за год до нее ICANN создала комитет по безопасности DNS. Угрозу недооценили, инцидент все же случился, однако Сеть благополучно пережила его.
Сетевые черви существуют в основном благодаря присутствию в любой системе защиты человеческого фактора. Судите сами: Helkern использует эксплойт, который устраняется патчем (www.microsoft.com/Downloads/Release.asp?ReleaseID=40602), валяющемся на сайте Microsoft еще с июля прошлого года. Если бы его своевременно установили, червь потерпел бы фиаско в самом начале. Иначе как преступной халатностью такое отношение администраторов назвать нельзя. Своим бездействием они нанесли ущерб не только вверенным им компаниям, но и способствовали дальнейшему распространению инфекции. К счастью, на удивление слаженно и эффективно сработали провайдеры — честь им и хвала за внедрение фильтрации пакетов, рассылаемых червем.
Публикация исходного кода Helkern ощутимого вреда не принесет. Те, кто захочет использовать какой-либо эксплойт для написания подобного червя, могут сделать это уже сейчас. Информации предостаточно. На компьютерах, подключенных к Интернету, установлено ПО, активно взаимодействующее с Сетью, а в любой программе рано или поздно выявляют ошибки разной степени критичности. Извечный спор между сторонниками бесплатных программ с открытыми исходниками и приверженцами проприетарного софта в этом плане безоснователен. Первые выявляют ошибки чуть быстрее за счет интереса, энтузиазма, возможности копаться к коде и могут при наличии достаточной квалификации устранять проблемы самостоятельно. Вторые же пользуются платными программами, поддержку которых компания-производитель просто обязана осуществлять в максимально возможном объеме.
Информационное оружие с таким механизмом действия невозможно по определению. Оно поражает не только «чужие», но и «свои» серверы. Попытавшись применить его, атакующая сторона пострадает сама. Сеть едина и неделима географически.
В настоящий момент пик активности Helkern миновал, работоспособность Сети в целом восстановлена. Дальнейшие развитие событий зависит не столько от активности вирусописателей, сколько от наших действий. У Сети нет иммунитета. Каждый инфицированный компьютер становится источником опасности для других. Простейших и общеизвестных мер зачастую достаточно, чтобы предотвратить нежелательные последствия. Надо только вовремя принимать их.
Как и вы, я не знаю, кто автор червя. Однако не держу на него зла и даже не склонен рассматривать ситуацию как «хулиганство по подходу и реализации, но терроризм по результатам»1. Скорее, это бесплатное исследование уязвимости в глобальных масштабах. Автор не внедрил в код своего творения ни единого байта деструктивных функций, а ведь мог! Благодаря Helkern люди сполна прочувствовали, что безопасность — это процесс, а не состояние. Ее мало создать, нужно еще и поддерживать. Говоря языком метафор, автор Helkern поднес к нашим глазам зеркало. Мы же, увидев в нем отражение собственного ленивого лица в розовых очках, разобиделись и стали винить во всех бедах зловредный код, подсчитывать убытки. Общий прогнозируемый ущерб от деятельности червя оценивается в 10 млрд. долларов. Что ж, сами виноваты. И за тысячную часть этой суммы я бы лично установил патч полугодичного срока давности на тысячи пострадавших серверов.
Интернет не «умрет», как бы этого ни опасались. Его не сломят ни черви, ни наша собственная безалаберность. Фундаментом неуязвимости Паутины была идея децентрализованной структуры. Удобства ради от нее немного отступили в процессе реализации, но даже в своем нынешнем состоянии Сеть обладает достаточным запасом прочности. Гибель Интернета невозможна еще и потому, что на нем основан весь современный бизнес, не говоря о прочих сферах деятельности общества. Никто не захочет возвращаться к бумажной почте, очередям в банках и порнографии на заезженных кассетах. Возможно, сыграв на панике, некоторые компании смогут выбить из госбюджета деньги на реорганизацию структуры Сети или даже на создание альтернативы Интернету. Подобные попытки предпринимались давно, но если «Интернет-2» и будет построен, то станет существовать параллельно с настоящим как минимум на первых порах. Переход будет плавным и «безболезненным».



По предварительным данным, наибольший убыток Slammer причинил Южной Корее — одному из самых «подключенных» государств Азии. Страховые выплаты пострадавшим от вируса здесь составят почти 900 тысяч долларов.

Всего было заражено более 160 тысяч Интернет-серверов. Большая часть из них начала откликаться только в понедельник.

«…причина невозможности эффективно противостоять вирусным атакам заключается в анархии, творящейся в Интернете»*. Атака послужила поводом для новых заявлений о наведении порядка в Сети.

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

Тем не менее, одного «козла отпущения» уже нашли. Им стал эксперт Дэвид Литчфилд из NGS Software, который несколько месяцев назад опубликовал в Сети похожий по действию код. Литчфилд хотел объяснить, как опасно использовать незащищенное ПО от Microsoft — и заодно лишний раз прорекламировать специальный пакет от NGS Software.

Самое страшное последствие работы червя, на наш взгляд, — кратковременное падение почтового сервера «Компьютерры».


* www.kaspersky.ru/news.html?id=1194198.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.