В течениe минувших суток в системе интернет-адресации была ликвидирована фундаментальная ошибка, эксплуатация которой позволяла злоумышленникам подделывать адреса веб-сайтов
В течениe минувших суток в системе интернет-адресации была ликвидирована фундаментальная ошибка, эксплуатация которой позволяла злоумышленникам подделывать адреса веб-сайтов. Данная ошибка касалась общей реализации системы доменных имен, а потому потребовала скоординированного действия всех разработчиков серверного программного обеспечения. Владельцы Winodows-, Linux-, Unix– и Mac-серверов уже могли обратить внимание на то, что для их систем cо вчерашнего вечера доступна новая версия используемого DNS-сервера (например Bind). Выпустили обновления и крупные вендоры сетевого оборудования, такие как Cisco.
Ошибка, в результате которой пришлось «пропатчить интернет», на техническом сленге именуется, как «отравление DNS-кэша». На практике она позволяет подменить ряд записей в DNS-серверах таким образом, что бы при наборе какого-либо привычного адреса сайта пользователь отправлялся прямиком на сайт хакеров. Та же опасность касается и трафика электронной почты. Ситуация осложняется тем, что данный баг является в чистом виде серверным, а потому как-либо защититься от него с рабочего компьютера невозможно.
Данная фундаментальная уязвимость была обнаружена еще в прошлом году экспертом компании IO Active Д.м Камински, однако ввиду ее особой опасности сам Камински и IO Active предоставили данные о ней только легитимным разработчикам софта, а широкая общественность лишь знала о факте некой «серьезной» уязвимости в DNS.
На практике при помощи данной ошибки злоумышленник, при наличии определенных знаний и сноровки мог перенаправить весь трафик с какого-либо домена, например google.com, на сторонние серверы, в результате чего все закрытые данные, передаваемые легальному сайту, оказывались в полном распоряжении злоумышленников.
Сам Д. Камински рассказывает, что когда ему удалось обнаружить указанную уязвимость, то вначале он сообщил об этом в листы рассылки US CERT (U.S. Computer Emergency Readiness Team), а также в несколько крупных компаний, производящих системное программное обеспечение. Понимая серьезность ситуации, все осведомленные стороны согласились держать имеющиеся у них данные в секрете. В итоге в марте этого года в штаб-квартире Microsoft состоялась встреча 16 ведущих мировых вендоров, где был выработан план по исправлению ошибки, а также утвержден график выпуска патчей или новых версий серверного ПО.
Вчера вечером Microsoft вместе с традиционным ежемесячным набором исправлений, выпускаемым в первый вторник каждого месяца, обновила систему управления доменными именами в серверных Windows. Свои патчи получили и пользователи оборудования Cisco. Также на сайте Internet Systems Consortium была опубликована и новая версия системы Bind, одновременно с этим вышли новые версии этого пакета для крупнейших Linux-систем: Red Hat, Suse, Mandriva, Ubuntu и других.
Сам Камински говорит, что, несмотря на серьезность ошибки, ему не удалось обнаружить в сети случаи использования данной проблемы. Несколько поясним суть ошибки. Вся работа глобальной сети фактически зависит от работы доменной системы. Основная задача системы доменных имен (DNS) заключается в преобразовании буквенных доменов в их числовые аналоги или ip-адреса. Система фактически работает в две стороны – то есть транслирует домены в ip-адреса и наоборот. В глобальной сети существуют около 200 000 средних и крупных DNS-серверов, обслуживающих миллионы пользователей, однако вся доменная архитектура организована по цепочке, то есть разрешение имен идет от корневых серверов, но каждый DNS-сервер имеет свой головной сервер, с которого он получает необходимые для работы данные о доменах и ip-адресах.
Вот в этом-то механизме и кроется ошибка. Механизм передачи доменной информации и ее идентификация являются слабым звеном всей системы DNS. Подчиненный сервер не может определить, являются выданные на его запросы DNS-разрешения легальными данным с авторитативного сервера или это сгенерированная хакером поддельная информация. Для идентификации DNS-пакеты используют случайные идентификационные номера, но проблема в том, что этих «случайных» номеров, используемых как идентификаторы, всего 65 000. Более того, у каждого сервера есть определенная последовательность создания «случайных» запросов, поэтому злоумышленник может подделать «случайный номер» и подать DNS-серверу неверную информацию о доменах и соответствующих им адресах.
Старший программный менеджер Internet Systems Consortium Дж. Дамас говорит, что разработчикам DNS-серверов пришлось пересмотреть механизм генерации «случайных номеров», чтобы снять лимит в 65 000 последовательностей, а кроме того, добавить защитные механизмы, позволяющие серверу быстро «забыть» некорректные данные. Помимо этого, на сайте US CERT изложены и другие рекомендации по защите:
http://www.us-cert.gov/current/index.html#dns_implementations_vulnerable_to_cache