ВИКТОР ИГНАТЬЕВ
Очередная веская причина задуматься
о переходе с ОС Windows на альтернативу
12 августа, Швеция. 40 серверов интернет-провайдера TeliaSonera в постоянной перезагрузке, администраторы в панике, 20 000 клиентов подверглись атаке компьютеров своего же провайдера, компания на грани банкротства.
По всей Азии и Европе большинство корпоративных сетей подвергаются ежеминутной атаке. Многие корпорации несут тысячные убытки, т.к. компьютеры не позволяют обслуживать клиентов.
К концу дня информационные агентства в Дании сообщили, что на данный момент парализована работа приблизительно 2000 компьютеров, и эта цифра постоянно увеличивается.
В Германии известный автомобильный гигант BMW признал, что многие компьютеры корпорации работают некорректно.
Что же это? Массовая атака хакеров? Или, может быть, сбой в операционной системе? Нет, в очередной раз весь мир стал свидетелем воплощения в жизнь реального принципа корпорации Microsoft: «Сначала деньги, а пользователи потом». Многие администраторы и простые пользователи ещё помнят Nimda и Code Red, помнят фразу «Hacked by chinese», и теперь этот список дополнит ещё один – W32.Lovsan.worm, так же он известен как W32.Blaster.
Итак, рассмотрим подробнее суть проблемы. 16 июля на bugtraq пришло письмо от польской хакерской группы Last Stage of Delirium. Они заявили, что обнаружили критическую уязвимость защиты во всех недавних версиях операционных систем корпорации Microsoft. Уязвимость затрагивает заданные по умолчанию инсталляции Windows NT 4.0, Windows 2000, Windows XP, а также Windows 2003 Server, которая, кстати, была разрекламирована как не восприимчивая к атакам на переполнение буфера. Это ещё одно подтверждение что «Сначала реклама, а потом дело, и уж после этого может быть качество».
LSD предоставили общественности proof of concept code, но полный исходный код эксплоита не был опубликован, т.к. это повлекло бы за собой массовые взломы и создание червей.
Реакция Microsoft оказалась на редкость незамедлительной. Буквально в этот же день на официальном сайте компании было опубликовано подтверждение существования уязвимости. Но несмотря на «джентльменский» поступок LSD, 25 июля группа китайских хакеров Xfocus опубликовала полный код эксплоита против англоязычных версий Windows 2000 и XP.
Так в чём же суть проблемы?
Уязвимость заключается в посылке специальных данных удалённой машине через порт 135 (TCP/IP). Соединение между клиентом и сервером обеспечивает служба RPC (Remote Procedure Call), которую использует архитектура DCOM.
Проблема истекает из ошибки в реализации API-функции:
HRESULT CoGetInstanceFromFile(
COSERVERINFO * pServerInfo,
CLSID * pclsid,
IUnknown * punkOuter,
DWORD dwClsCtx,
DWORD grfMode,
OLECHAR * szName,
ULONG cmq,
MULTI_QI * rgmqResults
);
Переполнение буфера происходит в шестом параметре (szName), благодаря которому возможно выполнение любого кода на удалённой машине.
После публикации эксплоита от Xfocus и подробного объяснения на сайтах, посвященных компьютерной безопасности, каждый день стали появляться новые реализации от разных хак-групп. В основном отличие от оригинального заключалось в том, что количество поражаемых версий Windows увеличивалось с каждым разом, сначала 7 целей, затем 18, 48 и наконец 8 июля группа oc192 Security предоставила универсальный исходный код, поражающий все версии Windows 2000 и Windows XP. После этого события волна взломов в Интернете подскочила в сотни раз. Каждый скачавший этот код мог спокойно получить административный доступ к любой Windows-системе в сети. Многие кинулись скачивать патчи с официального сайта Microsoft, но буквально через 3 недели сайт оказался недоступным. В ночь c 1 на 2 августа хакеры атаковали сайт Microsoft, до того считавшийся одним из наиболее защищенных ресурсов Интернета. Работа сайта была парализована на час и сорок минут. Эксперты связывают нападение с готовящейся массовой атакой на Интернет, которую хакеры хотят осуществить через брешь в ОС Windows. Атака затронула как главную страницу сайта http://www.microsoft.com, так и многие другие адреса, включая страницу службы технической поддержки http://www.support.microsoft.com и портал для разработчиков http://www.msdn.microsoft.com.
Microsoft уже признала факт хакерской атаки, но при этом оградила себя от возможных домыслов по поводу использования взломщиками какой-либо уязвимости в софте, обеспечивающем работу сайта. По словам официального представителя Microsoft Шона Сандволла, специалистами компании установлено, что хакеры совершили «обычную атаку на сервер, однако не воспользовались никакими «дырами» в программном обеспечении». О деталях нападения Сандволл распространяться не стал.
Но 12 августа после полудня произошло то, чего так опасались LSD и все мировые организации по сетевой безопасности. В сети появился червь, использующий уязвимость DCOM. За считанные минуты он заполонил европейскую часть Интернета. Полный анализ червя предоставили большинство производителей антивирусных продуктов, но первый временный патч выпустила Symantec. FixBlast сканирует ваш компьютер на предмет заражения Win32.Blaster, удаляет файл червя и его следы в системе. Самый полный отчёт предоставила, на мой взгляд, Лаборатория Касперского, т.к. только они объяснили принцип генерации IP-адресов и сканирования портов жертв.
Как делают Blaster
Первое, что обнаружили программисты антивирусных лабораторий, – это текстовые (ASCII) строки внутри файла следующего содержания:
I just want to say LOVE YOU SAN!!
billy gates why do you make this possible ? Stop making money and fix your software!!
|
Что в переводе звучит так:
Я хочу сказать, ЛЮБЛЮ ТЕБЯ, SAN!!
Билли Гейтс, почему ты допускаешь такое? Прекращай делать деньги и исправь своё программное обеспечение!!
|
После полного анализа червя выяснилось следующее:
- Червь проникает в компьютер, используя удалённое выполнение команд посредством переполнения буфера.
- Выполняется GET-запрос на закачку тела вируса через команду tftp.
- Помещение файла msblast.exe в %WinDir%system32 и его запуск.
- Регистрация червя в ключе автозапуска: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
- Ключ: windows auto update=«msblast.exe»
- Червь открывает порт 69 (tFTP-server) для последующего размножения.
Далее идёт процесс сканирования и генерации IP-адресов новых жертв. Это происходит следующим образом: червь сканирует IP-адреса текущей подсети и пытается соединиться с 20 IP-адресами для инфицирования уязвимых компьютеров, после этого червь делает паузу в течение 1,8 секунды, а затем снова сканирует следующие 20 IP-адресов и повторяет этот процесс в бесконечном цикле до перезагрузки компьютера. Например, мы имеем подсеть 192.168.1.0/24, IP-адрес заражённого компьютера 192.168.1.134, червь сканирует так:
192.168.1.0-19
пауза 1.8 сек
192.168.1.20-39
пауза и т. д.
|
Более того, червь имеет 2 метода сканирования IP-адресов: в 60% случаях червь выбирает случайный адрес подсети (A.B.C.D), где D равен 0, а A, B, C случайно выбраны из диапазона 1-255. Таким образом, сгенерированная подсеть находится в диапазоне [1-255].[1-255].[1-255].0. В 40% червь сканирует свою подсеть. Он определяет адрес локального компьютера (A.B.C.D), устанавливает D в ноль и выбирает значение C. Если C больше, чем 20, то червь выбирает случайное число от 1 до 20. Если C меньше или равно 20, червь не изменяет его.
- Запуск командной оболочки «cmd.exe» на TCP-порту 4444.
Как заявляет Лаборатория Касперского, если бы не было 1.8-секундной задержки, то многие узлы Интернета не выдержали бы такой нагрузки и отказали.
Вполне возможно, что это было учтено автором червя для более успешной атаки на сайт обновлений Microsoft.
Побочным эффектом червя является как раз то, из-за чего компании всего мира терпят убытки. При получении доступа используется не универсальный метод, поэтому в большинстве версий Windows отказывает критическая системная служба Remote Procedure Call, и компьютер автоматически перезагружается в течение минуты. В этот момент пользователь наблюдает окно с ошибкой «RPC service failing» и отсчёт времени до перезагрузки.
Но это ещё не всё. 16 августа 2003 года червь запускает DDoS-атаку на сервер http://www.windowsupdate.com, пытаясь таким образом затруднить или прервать его работу.
Трудно представить ее последствия, так как в связи с перегрузкой многих узлов возможны были региональные отключения сети Интернет, как это было в случае с SQL Slammer.
Однако, как всегда, вмешался Его Величество Случай – кризис энергетической системы США сорвал запланированную атаку или отложил на некоторое время.
А как же лекарство?
- Официальный патч от Microsoft:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS03-026.asp
- Временный патч FixBlast от Symantec:
http://securityresponse.symantec.com/avcenter/venc/data/w32.blaster.worm.removal.tool.html
Если у вас какие-то проблемы со скачиванием файла, то вы можете просто отключить службу DCOM. «Пуск –> Выполнить –> dcomcnfg.exe –> Службы компонентов –> Компьютеры –> Мой компьютер –> Свойства по умолчанию» – убрать галку «Разрешить использование DCOM на этом компьютере».
Также заблокируйте порт 135 TCP и 69 UDP на ваших межсетевых экранах.
Используемые сокращения:
- DCOM – архитектура, предназначенная для взаимодействия компонентов COM.
- UDP – User Datagram Protocol (протокол пользовательских дэйтаграмм).
- SP – Service Pack (набор исправлений)..
- RPC – Remote Procedure Call (удалённый вызов процедур).
- DDoS – Distributed Denial of Service Attack (распределённая атака на отказ в обслуживании).
- Proof of concept code – исходный код, доказывающий существование уязвимости.
При написании статьи использовались материалы следующих источников:
- http://www.securityfocus.com
- http://www.lsd-pl.net
- http://www.xfocus.com
- http://www.securitylab.ru
- http://www.void.ru
- http://www.symantec.ru
- http://www.packetstormsecurity.nl
- http://www.viruslist.com http://www.compulenta.ru
- http://www.salon.com