Разделы

Интернет Безопасность Интернет-ПО Хостинг и домены Стратегия безопасности Техническая защита Пользователю

Хакеры атакуют: как уберечь DNS-сервер

Атаки на DNS–сервера – далеко не новая стратегия злоумышленников. Например, в прошлом по причине подобной атаки пользователи в течение часа не могли зайти на страницы сервиса Twitter. Для обеспечения безопасности DNS сегодня разработана система Domain Name System Security Extensions, с внедрением которой также связан ряд проблем. Но вот в чем главный вопрос: даст ли DNSSEC стопроцентную гарантию безопасности?

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


Сегодня любая компания осуществляет коммуникации через интернет и, следовательно, может стать жертвой DNS-атак

Для атаки хакер посылает запрос, который заставляет сервер обращаться к другим узлам сети и ждать от них ответа. Отправив запрос, злоумышленник начинает атаковать DNS потоком ложных ответных пакетов. Напоминает ситуацию из предыдущего метода, но хакеру не надо подбирать порт, так как все сервера DNS "общаются" по выделенному 53 порту. Остается только подобрать ID. Когда сервер получит ложный ответный пакет с подходящим ID, он начнет воспринимать хакера как DNS и даст клиенту IP–адрес, посланный атакующим компьютером. Далее запрос будет занесен в кэш, и при последующих подобных запросах пользователи будут переходить на подставной IP.

Как защититься от атак

Для обеспечения безопасности DNS планируется развертывание Domain Name System Security Extensions (DNSSEC). В основе протокола DNSSEC лежит метод цифровой подписи ответов на запросы. У администратора доменной зоны, поддерживающей данную технологию, есть закрытый ключ, который с помощью криптографических алгоритмов позволяет сгенерировать цифровую подпись. Клиенты же, в свою очередь, получают открытый ключ, соответствующий закрытому. Клиентский ключ дает возможность проверять валидность цифровой подписи. Возникает резонный вопрос: как получается так, что открытый ключ позволяет проверить подлинность подписи, но не дает возможности сгенерировать ее? Конечно, строгого теоретического запрета нет, но такая задача будет трудна для сколь угодно сложных ключей. Иначе говоря, раскрыть ключ можно, но при современном развитии технологий для этого потребуется недоступное на практике количество вычислительных ресурсов. Таким образом, видно, что теоретически защиту DNS взломать можно, впрочем, как и любую другую, но практически это пока не достижимо. Следует однако отметить, что DNSSEC усложняет работу взломщикам, но не дает 100% защиты, поскольку технологии злоумышленников тоже не стоят на месте. Тем не менее, по мнению экспертов, система защиты может помочь против таких вирусов, как, например, Kido, который в 2008 – 2009 годах устроил самую настоящую эпидемию.

На данный момент система DNSSEC уже используется в Швейцарии и Болгарии. В планах распространить ее действие и на остальные зоны, в том числе и на .ru, .su и недавно появившуюся .рф. Ориентировочно это произойдет в конце 2011 года. В январе 2010 года началось развертывание нового протокола в 13 корневых серверах, и на сегодняшний день этот процесс завершен. Пока что процедура подписания корневых зон носит тестовый характер.

К тому же, процесс внедрения DNSSEC требует немалых финансовых вложений. Поддержка этого протокола требует замены программного и аппаратного обеспечения как на серверной, так и на клиентской сторонах. По данным РБК daily, цифра, в которую обойдется переход на DNSSEC в России, может составить 100 млн долл.

DNSSEC и нагрузка на сеть

Не стоит также забывать, что внедрение нового протокола увеличит объем передаваемых данных, причем почти в 2 раза. Так, например, при запросе списка серверов, обслуживающих зону .ru , в ответ придет не 257 байт, а 440. Разница ощутима. А если размеры пакета будут превышать 512 байт, то могут возникнуть проблемы с его приемом. Конечно, у этой проблемы есть решение. Если клиентский компьютер не в состоянии принимать пакеты больше 512 байт, сервер максимально сжимает их. Однако сжатие не безгранично, и если после него размер пакета все еще большой, то клиент автоматически переключится из транспортного протокола UDP в TCP, в котором нет подобных ограничений.

Могут возникнуть и другие ситуации, которые приведут к повторным отправкам пакетов между клиентом и сервером, что увеличит нагрузку на инфраструктуру. К тому же, дополнительную нагрузку на оборудование будет оказывать процесс генерации и проверки цифровых подписей.

"Создание цифровой подписи требует дополнительных вычислительных ресурсов DNS-сервера, подписывающего сообщение, и клиента, проверяющего подпись. Поскольку ЭЦП увеличивает объем информации, использование UDP-протокола становится рискованным с точки зрения надежности передачи данных, поскольку в некоторых сегментах сети фрагментирование больших пакетов может не поддерживаться, и DNSSEC на основе данного протокола просто не будет работать. Поэтому DNSSEC ориентирован на использование TCP, что может увеличить нагрузку на некоторые узлы, играющие роль шлюзов", – замечает Виталий Камлюк, ведущий антивирусный эксперт "Лаборатории Касперского".

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

Виталий Краснов / CNews