Осада рунета: битва за DNS

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

Исходя из этого, вполне понятно, почему остальной, реальный мир попросту не успевает за цифровым пространством. Особенно комичные формы эта безнадёжная гонка принимает в случае таких неповоротливых динозавров, как финансовая сфера и, конечно же, законодательство рука об руку с госрегулированием. Банки с ужасом вопят и брызгают святой водой на криптовалюты, а правительства судорожно пытаются заключить в свои душные объятия вообще весь интернет.

И иногда у них это получается.

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

В том числе и в России.

И, совершенно необходимо заметить, что именно в России произошло локальное чудо. Интернету в нашей многострадальной стране несказанно повезло расцвести куда более буйным цветом, чем можно было бы надеяться. Почему так произошло, можно узнать во всех подробностях, например, в этой видюшке:

Вкратце - рунету удалось обзавестись такими, практически не имеющими аналогов локальными сервисами, не уступающими международным гигантам, как Яндекс или Контактик, именно потому, что в момент стартового толчка родное государство решило, что интернет - удел горстки маргиналов, денег там нет, а следовательно - пусть делают, что хотят. Именно это судьбоносное разгильдяйство взрастило целое поколение диалапщиков-адсльщиков и дало задел тому факту, что в России интернет до сих пор весьма и весьма неплох в плане доступности, качества и цены, даже на фоне гораздо более экономически развитых стран.

Но, как мы знаем, "прекрасное, увы, недолговечно".

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

Слава богу криптографии, пока мы ещё держимся.

Держаться становится всё сложнее, но, в отличие от китайского примера, джунгли рунета выжечь напалмом не столь же легко. Знаковым событием последних лет стала установка практически на всех крупных магистралях волшебных чОрных фсбшных коробочек, позволяющих ни на кого не оглядываясь и не перед кем не отчитываясь, делать с проходящим трафиком что угодно. Например - взять и заблокировать гугловские DNS-серверы. Или входные ноды Тора забанить. Постановление суда, общедоступные отчёты? Не, не слышали.

Фактически, чем дальше - тем сильнее рунет начинает напоминать осаждённую крепость.

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

Почему я так думаю?

Причин несколько, но основная заключается в том, что это, фактически, последняя фундаментальная технология, на которой зиждется фунциклирование интернета, которая до сих пор:

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

Картинка из хорошей, подробной технической статьи про ECH.

Недавние блокировки гугловских, амазоновских и других общеизвестных DNS-серверов - это ровно про то, о чём я говорю. Обычных пользователей пока мягко, но всё более настойчиво склоняют пользоваться именно провайдерскими DNS-серверами, а не какими-то там "посторонними, которые, видите - то работают, то не работают". Следующий логичный шаг (и он уже был прямо озвучен в слитом из недр Левиафана документе) - блокировка известных способов шифрования DNS - DNS over TLS, DNS over HTTPS. Недостаток этих двух технологий - в том, что они используют те же самые серверы, что и обычный нешифрованный DNS. А значит, можно просто забанить нужные адреса, вроде 8.8.8.8, 1.1.1.1 - и дело в шляпе.

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

Почему технология DNS так важна?

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

А какие возможности получают, соответственно, негодяи, способные контролировать DNS-запросы?

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

Лет пять назад я уже писал на эту тему, предлагая в качестве меры противодействия HPKP, но... кто же знал, что технология, несмотря на её изящность, "не взлетит"? Не взлетела она, на мой взгляд, исключительно из-за лени и криворукости владельцев сайтов, не осиливших разобраться в мануалах - но в любом случае, это дело уже решённое.

На смену выпиленному уже, кажется, из всех браузеров в нашем, недавно наступившем 2022 году, HPKP, пришла другая технология, под названием Certificate Transparency. В двух словах, она представляет собой публичный, неизменяемый пост-фактум (примерно как блокчейн) реестр выпущенных сертификатов. С помощью этого реестра вы в любой момент можете получить список сертификатов, когда-либо с момента внедрения CT выпущенных для ваших доменов. И, соответственно, проанализировав эту информацию, понять - нет ли среди них каких-то левых. Технология хороша, но требует для получения пользы дополнительных телодвижений в виде, как минимум, настройки активного мониторинга.

Но если выпуск сертификата возможно отследить, то каким-то более-менее надёжным способом понять наличие подмены DNS-ответа - куда труднее. Фактически, родное государство не оставляет нам, скромным "свидетелям рунета первой волны", ничего иного, кроме выноса DNS куда-то за пределы страны, причём выноса в недетектируемом виде - через VPN-туннель или с помощью другой обфускации.

Нюанс заключается в том, что атака на DNS - это в большинстве случаев атака на клиента.

Понятно, что для продвинутых пользователей добиться надёжной работы DNS не так-то сложно. Но что делать тому подавляющему большинству пользователей, которые не хотят или не могут разбираться во всех этих тонкостях, и для которых варианта два - "сайт работает" и "сайт не работает"? Заблокировав известные зарубежные DNS-серверы и те, которые используются в мобильных устройствах по умолчанию, атакующие почти всегда добьются поставленной цели - переключения на локальные, нешифрованные, полностью подконтрольные DNS-серверы.

Противодействовать подобным мерам получится, только используя глобальное перенаправление трафика в нерегулируемую дуболомами юрисдикцию - VPN, Tor и т. д.

И это ещё сильнее приближает нас к состоянию осаждённой крепости. Дождёмся ли ответной вылазки?