Как действовал Slammer

3 февраля 2003, 00:00

Механизм действия этого интернет-червя еще не изучен окончательно. Известно следующее. Он относится к классу "бестелесных" вирусов, которые существуют исключительно в системной памяти компьютера, и использует две особенности популярного программного обеспечения Мicrosoft SQL Server 2000, а точнее одного из его приложений - SQL Server Resolution Service (SSRS). SSRS принимает запросы, поступающие на один из портов сервера, 1434-й, и возвращает адрес и номер того порта, который обеспечивает доступ к требуемой базе данных (это было сделано для того, чтобы ускорить выполнение сервером однотипных запросов). В дополнение к этому SSRS может отвечать на запросы (ping) других серверов, находящихся под управлением SQL, подтверждая тем самым присутствие сервера в сети. Обычно серверы просто периодически обмениваются очень мелкими пакетами данных, не выполняя при этом никаких действий. Но Slammer подделывал этот запрос таким образом, что зараженный сервер отвечал на него обращением к своей базе данных IP-адресов, рассылая вирус новым потенциальным жертвам. Как только таковые находились, вирус, используя функцию ping, организовывал непрерывный обмен информаций между зараженными серверами - жертва А посылала запрос на Б, а Б в ответ посылал новый запрос на А, А отвечал очередным запросом. Таких циклов на каждом из зараженных серверов одновременно запускалось все больше и больше, они сжирали ресурсы серверов, пока те не "зависали", не выдержав нагрузки.

Сам по себе неугомонный "червяк" не причинял никакого вреда ни рядовым пользователям, ни даже зараженным серверам - в постоянную память сервера он не записывался, данные не уничтожал и после перезагрузки сервера исчезал бесследно. Самой вредоносной особенностью Slammer была именно скорость, с которой он мог размножаться: всего за три часа, прошедшие с начала атаки, заразилось около 2,5 млн серверов по всему миру. Это вызвало взрывообразный рост сетевого трафика, и каналы связи просто перестали справляться с нагрузкой. Потери пакетов при передаче данных в среднем по Сети достигали 30%, так что оказался затруднен обмен информацией и между здоровыми серверами, а в некоторых странах, например в Южной Корее, Сеть была почти полностью парализована. Из-за перегрузки каналов связи прекратили работу пять из тринадцати корневых DNS-серверов, отвечающих за адресное пространство Сети (то есть соответствие имени www.server.com определенному набору цифр, которые на самом деле и являются сетевым адресом сервера). В результате примерно четверть ресурсов Интернета оказалась недоступной обычным пользователям.