Около полугода назад Дэн Камински (Dan Kaminsky), специалист по компьютерной безопасности из компании IOActive сидел за компьютером и занимался какими-то делами, не связанными с поиском интернет-уязвимостей. Неожиданно для самого себя он обнаружил недоработку в DNS, которую позже назвали DNS Cache Poisoning. Как оказалось, эта уязвимость присутствует сразу на многих платформах: в реализацию DNS вкралась одна и та же ошибка. На уровне, настолько близком к “сердцу” интернета, ранее ничего подобного не замечалось.
Камински не стал продавать уязвимость компаниям, занимающимся IT-безопасностью. Вместо этого он обратился напрямую к крупным корпорациям, в числе которых оказались Microsoft, Sun и Сisco.
Пока Камински не раскрывает точных технических подробностей, обещая объяснить все через месяц, но механизм найденной “дыры” в общих чертах уже известен.
Когда пользователь запрашивает DNS-сервер, запросу присваивается идентификационный номер (от 0 до 65535), создаваемый генератором псевдослучайных чисел. Сервер использует тот же номер для отклика, содержащего запрашиваемую информацию.
Генератор псевдослучайных чисел несовершенен. Кроме того, 65535 вариантов явно мало для защиты от злоумышленника. Теоретически хакер может предугадать номер и сформировать фальшивый отклик. Пользователь, введя обычный адрес, перейдет совсем на другой сервер - например, на поддельный сервер интернет-магазина. Хакер может заставить и пользовательскую почту проходить через свой ресурс.
Это еще не все. Запрос остается в кэше DNS-сервера до следующего обновления. То есть результат взлома будет наблюдаться в течение как минимум нескольких часов.
источник