Александр Венедюхин - Домены. Все, что нужно знать о ключевом элементе Интернета
Целью акции, несомненно, являлось отпугивание клиентов от услуг конкурента. Понятно, что подобное мероприятие можно отнести лишь к разряду поступков «обезумевшего администратора». В итоге подлог довольно быстро раскрылся, ведь Интернет существует и вне «обиженной» домовой сети, а клиенты, узнав об истинном положении вещей (некоторых оно шокировало), полностью утратили доверие к нагло обманувшему их провайдеру. Домовая сеть не «прожила» после этого и полугода, что, впрочем, только подчеркивает важность проблемы с подделкой ответов DNS.
Администратор, официально зарегистрировавший домен, должен понимать: сам факт регистрации совсем не гарантирует, что другие пользователи Сети увидят под этим доменом именно тот сайт, который разместил администратор. К сожалению, DNS, находящаяся в данном случае между владельцем домена и конечным пользователем Интернета, позволяет провайдерам на местах подделать соответствие домена и сайта.
Нужно отметить весьма важный момент: сама по себе DNS не является пособником хакеров, подделывающих сетевые адреса. Напротив, тщательное соблюдение стандартов и протоколов DNS приведет к тому, что все адреса окажутся настоящими, а система будет работать без сбоев. Корень проблемы в другом: DNS не позволяет противодействовать активным злоумышленникам, которые осознанно нарушают протоколы и стандарты. Другими словами, не являясь источником зла, классическая DNS этому злу попустительствует.
При этом действенных мер, позволяющих бороться с подделкой ответов DNS о сайтах, пока не выработано. Хотя проблема специалистам понятна, и способы ее решения ищутся. Например, одним из методов противодействия подделке ответов DNS является технологическая инициатива DNSSEC (http://www.dnssec.net/), предлагающая набор мероприятий, которые позволят DNS-серверам, ответственным за тот или иной конкретный домен, подписывать ответ с помощью электронной подписи и механизма сертификации. Введение DNSSEC позволяет на стороне операционной системы компьютера конечного пользователя проверять корректность полученных от локального DNS-сервера ответов об адресах сайтов.
Другой способ, позволяющий помочь администратору домена удостовериться, что конечные пользователи будут видеть под доменом именно тот сайт, который разместил там администратор, – это введение дополнительных защищенных каналов связи между браузером конечного пользователя и неким авторитативным сервером. Пользователя обязательно придется уведомить об этом по каналам, в той или иной мере независимым от провайдера, хотя бы с помощью защищенной электронной почты.
DNS играет важную роль и в блокировании запрещенного контента (не будем называть это «цензурой Интернета»), проводимого по указанию государственных ведомств. Так, в России рекомендации Роскомнадзора по блокированию доступа на сетях интернет-провайдеров, учитывают информацию, получаемую из DNS. С помощью этой системы предлагается определять действующие IP-адреса блокируемых ресурсов.
Впрочем, неверная реализация метода из рекомендаций крупнейшим российским канальным провайдером однажды привела к блокировке «Яндекса». Ключевую роль опять сыграла DNS. Владельцы заблокированного ресурса просто взяли и перенастроили свой домен так, что он стал показывать на IP-адреса «Яндекса». Это можно сделать с любым доменом, никаких проблем тут нет. В результате в список блокировки попали адреса «Яндекса», и один из ключевых сервисов российского сегмента Интернета оказался в течение примерно часа недоступен для большой части интернет-пользователей.
Эта история показывает, что среди основных угроз существованию современного Интернета числится и блокирующая «Красная кнопка», которая однажды может попасть в неумелые руки.
Конечно, общепринятые (но не имеющие юридической силы) правила работы в Интернете запрещают провайдерам нарушать связность сети и валидность DNS.
А подделка сетевых реквизитов числится в ряду самых серьезных нарушений. Тем не менее провайдеры правила нарушают – с умыслом и без – по разным причинам: будь то цензура содержимого Сети (как в описанном выше случае с домовой сетью), системный сбой или хакерская атака. Радует только одно: такие нарушения пока не носят массового характера.
Мы рассмотрели комплекс проблем, связанных с достоверностью адресов, имен доменов и с доверием к адресной системе с одной стороны, со стороны администратора (владельца) доменного имени. Не менее многогранным предстает тот же комплекс с другой стороны – со стороны рядовых пользователей Сети, рядовых посетителей сайтов. Именно на этой стороне «фокусы с доверием» вносят наибольший вклад в формирование реалий современного Интернета.
Заверено подписью
Итак, у DNS есть множество хорошо известных специалистам проблем безопасности. Однако наиболее важная – это проблема с достоверностью адресной информации, что неудивительно, ведь определение адресов веб-узлов – из того класса задач, для решения которых, собственно, DNS и создавали. Выше мы разобрали показательный пример с подделкой адресной информации на DNS-сервере, которому вынуждены доверять пользователи конкретного интернет-провайдера. Однако это лишь одно из воплощений проблемы, самое очевидное.
На первый взгляд может показаться, что для «подсовывания» конечному клиенту DNS дефектной информации об адресах узлов злоумышленник должен контролировать используемый атакуемым компьютером сервер DNS, ну, или по крайней мере находиться в одной сети с атакуемым компьютером. Но на практике дела обстоят гораздо хуже. Особенности реализации обмена запросами и ответами в DNS позволяют злоумышленнику атаковать даже весьма удаленные от его узла системы, и успешные атаки клиентских машин вовсе не требуют контроля над DNS-серверами. Однако в таком случае реализация атаки усложняется и требует параллельной работы нескольких «хакерских сетевых механизмов», которые, впрочем, хорошо изучены и отработаны.
Другими словами, у «злых хакеров», хорошо владеющих интернет-технологиями, есть возможность направить по ложному адресу даже те пользовательские компьютеры, которые подключены к Интернету через добросовестных провайдеров, чьи сетевые администраторы следят за работой своих DNS-серверов. Более того, существует целый класс атак на DNS, которые используют особенности меж-серверного взаимодействия внутри системы доменных имен. Здесь непосредственной целью являются сами DNS-серверы (а точнее – данные в их адресных таблицах), но конечная задумка практически всякой такой атаки – введение в заблуждение либо компьютеров конечных пользователей, либо других серверов (не имеющих отношения к DNS). Для чего? Обычно для того, чтобы получить доступ к закрытым информационным ресурсам, перехватить пароли для управления теми или иными сервисами, считать из удаленной и обособленной (в организационном плане) компьютерной сети какие-либо данные.
Атаки через уязвимости DNS могут быть чрезвычайно эффективны. Тем не менее системной защиты от них в Интернете пока нет (2013 год), она только вводится в строй. Впрочем, неверно думать, будто специалисты лишь недавно разгадали уязвимости DNS. О фундаментальных недостатках этого механизма адресации известно уже много лет, можно сказать, с самого рождения DNS.
Возникает вопрос: почему за все эти годы не внедрили какие-нибудь исправления протоколов, корректирующие ситуацию? Ответ на этот вопрос такой: только недавно практический ущерб от уязвимостей DNS стал выглядеть весомым в глазах достаточного числа специалистов, продвигающих и внедряющих новые интернет– технологии. Ранее возможные затраты на внедрение изменений в работе DNS в сумме с риском вовсе потерять связность доменной системы имен в процессе изменения протоколов легко перевешивали практический вред от использования уязвимостей. Другими словами, довольно сложно убедить инертное провайдерское сообщество Интернета (у членов которого, будем говорить прямо, проблемы безопасности конечных пользователей не являются первоочередными) ввести ту или иную новую сложную технологию в дополнение к хорошо работающей и простой или вместо нее. Нужно заметить, что внедрение в DNS всякой функциональности «управления доверием» значительно усложняет систему, повышает требования к оборудованию и обслуживающему персоналу. То есть в конечном итоге защита DNS напрямую связана с прибыльностью провайдеров.
Впрочем, это лишь одна часть проблемы. Другая часть, не менее важная, имеет отношение к политическим факторам, как и следует ожидать в Глобальной сети. Подробнее о них – чуть ниже, а сейчас остановимся на том решении проблем безопасности DNS, непосредственное внедрение которого в Глобальной сети начато в 2010 году.
Итак, для реализации «более безопасной DNS» используется технология DNSSEC. Она позволяет, с одной стороны, удостоверять данные в адресных таблицах и, с другой стороны, дает в руки конечным клиентам средства для проверки достоверности сообщаемой тем или иным сервером адресной информации. DNSSEC – расширение DNS, подразумевающее внесение изменений в структуры данных, используемые доменной системой, и в программное обеспечение, реализующее функции DNS на серверах и клиентах. Важнейшим моментом здесь является внедрение системы именно на клиентских компьютерах, на компьютерах обычных пользователей. Такое возможно, например, на уровне браузера или операционной системы.