- PVSM.RU - https://www.pvsm.ru -

Классический DNS, который специфицирован в rfc1034 [1] не пинает только ленивый. При весьма высокой эффективности работы, он действительно никак не защищён, что позволяет злоумышленникам переводить трафик на подставные сайты, путём подмены DNS-ответов для промежуточных кеширующий серверов (отравление кэша). Как-то с этой напастью борется https с его SSL-сертфикатами, которые позволяют обнаружить подмену сайта. Но пользователи обычно ничего не понимают в SSL, и на предупреждения о несоответствии сертификата автоматически кликают «продолжить», вследствие чего время от времени страдают материально [2].
Чтобы хоть как-то прекратить безобразие с отравлением DNS-кэшей и перехватом трафика, был придуман DNSSEC [3], который является надстройкой безопасности на классический DNS и в настоящее время внедряется в интернет, контролируемый ICANN. Процесс внедрения, честно признаемся, идёт ни шатко ни валко: Подавляющее большинство коммерческих компаний и прочих организаций откровенно игнорируют вызовы нового времени, даже такие гранды IT как Google [4] и Яндекс [5] не имеют цифровых подписей своих доменных зон. Да и наши компетентные товарищи, которым дело до всего, тоже не торопятся [6] себя обезопасить с этой стороны. И только у компетентных господ, которым действительно до всего есть дело, тут всё в порядке [7]. Ну и ещё у организаций, которые собственно и занимаются внедрением DNSSEC, например, verteiltesysteme.net [8]. Да что говорить о каких-то организациях, если до сих пор ~10% доменов верхнего уровня (TLDs) не имеют подписей DNSSEC [9]!
Почему же случилась ситуация, которую впору назвать массовым саботажем? Ведь технологии DNSSEC бесплатны и массово доступны уже много лет! На то мы видим ряд причин:
Таким образом мы видим, что хотя DNSSEC будет побезопаснее классического DNS, он тем не менее является паллиативом, и проблему достоверности данных полностью не решает – даже если все админы вдруг воспылают трудолюбием и сделают всё как положено. Причём паллиативом дорогим – снижение впятеро производительности основной подсистемы, от которой зависит реальная скорость работы Интеренета – это не шутки.
Ещё обратим внимание на тот факт, что поиск домена в распределённом классическом DNS и его наследнике DNSSEC происходит в момент запроса пользователя. То есть как раз тогда, когда пользователю максимально нужен вычислительный и сетевой ресурс для передачи данных, а не для выяснения кто есть ху, и проверки соответствующих подписей. Соответственно, обновления кэшей и прочая DNS-работа как раз производится в самое «дорогое» время, когда пользователю нужна его страничка, а не внутренняя работа «под капотом». Ну и понятно, что для успешной работы сети необходимо, чтобы все причастные DNS-сервера были «в полном здравии» и работали как надо. При выходе из строя какого-то промежуточного сервера – «отваливается» целый сегмент сети, что мы время от времени и наблюдаем [11].
Рассматриваемой здесь альтернативой как классическому DNS, так и DNSSEC является EmerDNS, который построен на технологии блокчейн. В отличие от иерархических DNS/DNSSEC, EmerDNS является одноранговой «плоской» сетью, из которой исключены доменные регистраторы, держатели доменных зон и промежуточное кэши. А раз их нет – то и компрометировать нечего и некого. В этой системе каждый узел EmerDNS держит полный блокчейн, то есть всю базу имён и прочих транзакций. А достоверность данных (то, что они у всех одинаковы) обеспечивает сама технология блокчейна и публичный консенсус майнеров POS+POW [12]. Последнее обеспечивает отсутствие «режима бога» у кого бы то ни было, включая разработчиков системы. Ни мы, ни кто-либо другой не может волюнтаристски отменить или изменить какие-то произвольные записи. Записи могу быть обновлены только их владельцами, и никем другим. В каком-то смысле, EmerDNS подобен файлу hosts, где присутствуют записи обо всех известных сайтах. Но в отличие от hosts:
Обновления этой базы происходят асинхронно к запросам пользователя, в момент появления новых блоков, по push-технологии. То есть в тот момент, когда пользователю вздумалось пойти на какой-то сайт, все актуальные и проверенные DNS-записи уже лежат локально в заранее проиндексированной базе данных, и трансляция доменных имён в адреса делается локально, без запросов (особенно рекурсивных) к каким-либо внешним ресурсам. Этот подход делает скорость работы EmerDNS исключительно высокой. Кроме того, понятно, в момент разрешения доменного имени совершенно не требуется, чтобы какие-то DNS-сервера где-то в интернете были «в полном здравии».
Такой архитектурный подход делает EmerDNS системой исключительно быстрой, безопасной и отказоустойчивой. Недостаток этой архитектуры – необходимость держать копию блокчейна на каждом узле. А там не только информация о доменах, но и транзакции, и вообще всё, что в эту базу внесли все другие. Но при текущей цене и ёмкости дисковых накопителей, когда даже сотни гигабайт не выглядят чем-то дорогим для рядовых пользователей – это вполне разумная цена за скорость и безопасность. Тем более, что блокчейн Emer весит не многим более 300 мб.
Ещё одним недостатком такой системы является необходимость платить системе какое-то количество Эмеркоинов за каждое обновление информации о доменных записях. Но при текущих ценах (порядка $0.1 за создание записи и $0.01 за обновление) это всё равно во много раз дешевле, чем держать имена у доменных регистраторов (примерно $10 в год). Действительно, за те же $10 можно покупать по три обновления в день в течение года по текущим расценкам.
Отличия различных систем DNS сведены в таблицу:

Система EmerDNS существует и стабильно работает с 2014 года. Подробная инструкция по работе с ней приведена на wiki [13] проекта Emercoin [14].
Высокие параметры отказоустойчивости и безопасности системы привели к тому, что в доменные зоны EmerDNS владельцами были перенесены сайты, заблокированные РосКомНадзором. Подробнее об этом – в статье [15].
Русскоязычные инструкции для клиентов, как подключиться к системе через OpenNIC [16], предоставляют сайты Maxima [17] и Pornolab [18]. Также доступ для клиентов обеспечивают браузерные плагины от Peername [19] и Fri-Gate [19].
Понятно, что при использовании OpenNIC или других внешних серверов запросы пользователей всё-таки могу быть перехвачены и подменены. Также, теоретически, могут возникнуть и проблемы при компрометации самих DNS-шлюзов OpenNIC. Поэтому наиболее безопасным является вариант, когда шлюз в EmerDNS разворачивается в доверенной сети (локальной, домовой, корпоративной), и он только и держит блокчейн, а все пользователи обращаются к нему обычным образом, легковесными DNS-запросами. При такой архитектуре пользователи получаю высокую надёжность и безопасность, и отсутствие необходимости держать блокчейн на каждом компьютере. В вики-статье [13] приведены примеры, как настроить такой сервер с самыми популярными проксирующими DNS-серверами – BIND и DNSMASQ.
Дополнительную информацию об EmerDNS можно прочесть в этой статье [20].
А узнать больше об Emercoin можно в нашем блоге, или на Крипторе [21].
Автор: olegarch
Источник [22]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/bezopasnost/261461
Ссылки в тексте:
[1] rfc1034: https://www.ietf.org/rfc/rfc1034.txt
[2] страдают материально: http://thehackernews.com/2016/10/blockchain-bitcoin-website.html
[3] DNSSEC : https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions
[4] Google : https://dnssec-debugger.verisignlabs.com/google.com
[5] Яндекс: https://dnssec-debugger.verisignlabs.com/yandex.ru
[6] не торопятся: https://dnssec-debugger.verisignlabs.com/fsb.ru
[7] всё в порядке: https://dnssec-debugger.verisignlabs.com/cia.gov
[8] verteiltesysteme.net: https://dnssec-debugger.verisignlabs.com/verteiltesysteme.net
[9] не имеют подписей DNSSEC: http://stats.research.icann.org/dns/tld_report/
[10] впятеро: http://www.dnssec-deployment.org/tag/dns-performance/
[11] наблюдаем: https://otvetus.ru/kompyutery-i-internet/dns-server-ne-otvechaet-chto-delat/
[12] POS+POW: https://www.coinpursuit.com/pages/proof-of-work-proof-of-stake-bitcoin-mining/
[13] wiki: https://wiki.emercoin.com/en/EMCDNS
[14] Emercoin: https://emercoin.com/
[15] статье: https://rublacklist.net/13508/
[16] OpenNIC: https://www.opennic.org/
[17] Maxima: http://maxima-library.org/forum/dobro-pozhalovat/2543-chtoby-ne-poteryatsya-obrashchenie-k-chitatelyam#48455
[18] Pornolab: http://static.pornolab.net/pic/emcDNS.pdf
[19] Peername: https://peername.com/browser-extension/
[20] этой статье: https://cryptor.net/kriptovalyuty/pod-kapotom-emercoin-chast-2-decentralizovannaya-necenzuriruemaya-sistema-domennyh
[21] Крипторе: https://cryptor.net/emercoin
[22] Источник: https://habrahabr.ru/post/334304/
Нажмите здесь для печати.