DNS rebinding

Меня восторгает атака «DNS rebinding», вострогает своей простотой. Суть такова. Как известно, у страницы в браузере есть стотыщьмильёнов способов получить содержимое произвольного URL, но с одним условием — получить данные можно только с того же хоста, на том же порту и по тому же протоколу.

Хакер заманивает жертву на свой сайт — example.org, DNS этого сайта настроен так, что выдаёт то настоящий IP этого сайта, то 192.168.0.1. Страница обращается по URL на своём хосте, браузер проверяет — протокол, доменное имя, порт совпадает, разрещает запрос, но запрос попадает не на внешний сайт, а на адрес 192.168.0.1. В домашних сетях там, чаще всего, находится интерфейс роутера.

Дальше уже зависит от фантазии взломщника.

Защищиться от атаки очевидным способом (запретив запрос, если сменился IP) нельзя — есть масса сайтов (например, «Яндекс») снижающих нагрузку, распределяя пользователей по нескольким IP-адресам.

У IE есть такое понятие как «зоны безопасности», там локальные сайты выделены в отдельную зону. Мне кажется хорошим методом запрещать доступ по XHR/Flash/Java, если зоны у страницы, которая запрашивает и у URL, который запрашивается, различаются.
6 августа 2010 11:40

alpha.fm (alpha.fm)
6 августа 2010, 11:48

А разве на клиенте IP после резолвинга не кешируется?
Мне казалось что round robin dns в данном случае должен таки одного клиента привязать к одному IP, по крайней мере на некоторое время.
Хотя, конечно можно ttl выставить минимальный...

Да, нужно поисследовать.

bolk (bolknote.ru)
6 августа 2010, 12:01, ответ предназначен alpha.fm:

Хотя, конечно можно ttl выставить минимальный...
Именно так и делается.
Да, нужно поисследовать.
Добрые люди уже поисследовали :) См. rebind (http://code.google.com/p/rebind/)

praeivis (praeivis.lt)
6 августа 2010, 16:03

Пару дней назад в ЛасВегасе уже показали куда это можеть привести:
http://www.securityweek.com/hacker-uses-xss-and-google-streetview-data-determine-physical-location
Видео обезательно посмотрите.

Artemy Tregubenko (arty.name)
6 августа 2010, 21:47

опера тоже при редиректе на локальные сайты спрашивает подтверждение, хотя не знаю, как поведёт себя в такой ситуации

bolk (bolknote.ru)
7 августа 2010, 00:06, ответ предназначен Artemy Tregubenko (arty.name):

опера тоже при редиректе на локальные сайты спрашивает подтверждение, хотя не знаю, как поведёт себя в такой ситуации
Сделает всё молча.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)