Газета InfoSecurity

Последний номер

Архив номеров

На главную 

   
Число
подписчиков


 Рассылка 'Информационная Безопасность: Проблемы, Методы, Решения'
 Сетевая газета InfoSecurity.ru  

Подмена публичных IP-адресов на уровне DNS: еще один повод для смены заводских паролей

Michael Kassner


  Крейг Хеффнер (Craig Heffner), старший инженер по безопасности в компании Seismic LLC, представил на конференции Black Hat 2010 доклад под громким названием «Как взломать миллионы роутеров» (How to Hack Millions of Routers). В своем выступлении он рассказал о новой, ранее неизвестной уязвимости.

Немного предыстории

  Новая атака опирается на ряд малоизвестных концепций, поэтому для наилучшего понимания я опишу процесс поподробнее.

  Служба доменных имен (DNS) возникла потому, что людям гораздо проще запоминать слова (доменные имена), чем цифры (IP-адреса). Пользователь вводит в адресной строке доменное имя, а веб-браузер запрашивает у соответствующего DNS-сервера IP-адрес для этого имени. Говоря профессиональным языком, между именем домена и его IP-адресом существует привязка.

  Далеко не всем известно, что к одному доменному имени может быть привязано сразу несколько IP-адресов. Это обеспечивает дополнительную отказоустойчивость сайтам, для которых критично минимальное время простоя. С помощью NS Lookup можно, например, выяснить, что к доменному имени Google.com привязано шесть IP-адресов:

  Теперь давайте посмотрим, как устроена новая атака.

Старый прием

  Атака, связанная с подменой IP-адресов на уровне DNS, предусматривает использование мошеннического веб-сайта или (еще более хитрый способ) вредоносного баннера, размещенного на вполне легитимной веб-страничке. Как-то раз, в частности, от хакеров пострадал сайт New York Times.

  Для удобства назовем этот мошеннический сайт example.com. Когда пользователь посещает сайт example.com, в его браузер загружается клиентский сценарий или апплет, который затем подключается к сайту example.com тайком от жертвы и независимо от веб-браузера. DNS-сервер мошенников при этом выдает правильный IP-адрес сайта example.com и личный IP-адрес компьютера жертвы.

  Кэшировав эту информацию, веб-приложение запрашивает с сайта example.com новые данные. Мошеннический сервер в ответ на это сбрасывает TCP, чтобы убедить якобы легитимное веб-приложение (установленное хакерским сценарием), что первый IP-адрес example.com не работает. Тогда приложение проверяет кэш DNS и пытается соединиться со вторым IP-адресом для доменного имени example.com.

  Тут-то и происходит самое интересное. Используя второй доверенный IP-адрес, вредоносный браузерный апплет получает сетевой доступ к компьютеру жертвы. Это позволяет злоумышленникам подключиться к любому веб-серверу во внутренней сети, выяснив его приватный IP-адрес.

  А для чего нужны веб-серверы? Правильно, для работы большинства сетевых устройств и серверов веб-почты. Так что это дает хакерам возможность поставить на уши весь Интернет.

Проблема решена?..

  Поскольку выше речь шла о старой атаке, логично предположить, что она уже нейтрализована. Действительно, разработчики быстро сообразили, что происходит, и изменили принцип обработки ответов DNS-сервера в веб-браузерах. Если ответ содержит немаршрутизируемый IP-адрес (RFC 1918), этот пакет сбрасывается. Таким способом атаку удалось нейтрализовать на несколько лет.

Новая атака

  Как известно, доступ к настройкам домашних сетевых устройств осуществляется через веб-интерфейс с использованием внутреннего IP-адреса устройства. Подложные ответы DNS-сервера, в которых содержатся частные IP-адреса, как упоминалось выше, сбрасываются.

  Казалось бы, это надежно защищает маршрутизаторы. На самом деле нет. По какой-то причине существует возможность получить доступ к веб-интерфейсу конфигурации маршрутизатора или шлюза, указав в браузере его публичный или маршрутизируемый IP-адрес. При этом запрос http исходит от компьютера во внутренней сети.

  Что самое интересное, этот способ работает даже в том случае, если шлюз блокирует доступ с публичных адресов. Моя сеть защищена шлюзом ActionTec, и мне удалось получить доступ к его настройкам с использованием публичного IP, как показано ниже:

  Крейг Хеффнер и его сотрудники испытали большинство домашних сетевых маршрутизаторов и составили список уязвимых и защищенных устройств и прошивок:

Что это значит на практике

  Описанная атака — весьма неприятная, потому что действует незаметно. В большинстве домашних сетей маршрутизаторы определяют настройки DHCP для всех подключенных компьютеров с указанием IP-адреса и предпочитаемых DNS-серверов. Получив доступ к конфигурации сетевого устройства, злоумышленники могут подменить адреса DNS-серверов, указав вместо них свои, мошеннические, а это грозит большими неприятностями.

Защититься легко

  Чтобы получить доступ к настройкам маршрутизатора, хакерам нужно знать имя пользователя и пароль к веб-интерфейсу устройства. Они, разумеется, рассчитывают на то, что большинство пользователей сохраняет заводские логин и пароль. Чтобы усложнить злоумышленникам задачу, поменяйте имя пользователя (если это возможно) и задайте новый, трудно угадываемый пароль. Это позволит нейтрализовать атаку.

  Другой способ — запретить всем сайтам загружать любые сценарии без разрешения пользователя. В Firefox сделать это очень легко с помощью дополнения NoScript. Джорджо Маоне (Giorgio Maone), создатель этого дополнения, реализовал в новой версии NoScript функцию Application Boundaries Enforcer, которая по умолчанию содержит настройки для защиты от подмены IP-адресов на уровне DNS.

  Наконец еще один совет — использовать только проверенные DNS-серверы и вшить их адреса в конфигурацию сетевого адаптера на постоянной основе. Я пользуюсь OpenDNS. Это защищает от целого ряда уязвимостей, связанных с DNS.

В заключение

  В случае успеха описанная Крейгом Хеффнером атака очень опасна. К счастью, ее трудно реализовать и легко предотвратить. Все, что для этого нужно — отказаться от заводских паролей. Распространение информации приветствуется.

Источник: winblog.ru  


      Рейтинг@Mail.ru       Rambler's Top100 Rambler's Top100