это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
1998841
Ознакомительный фрагмент работы:
Содержание
Аннотация 2
Содержание 3
Введение 4
1. Основные понятия и характеристики шифрования dns-запросов 5
2. Шифрование dns-запросов на примере 10
Заключение 14
Список литературы 15
Введение
Технологии стремительно развиваются и с каждым днём все сложнее и сложнее
обеспечить сохранность информации, находящейся в сети. Поэтому вопрос о
безопасности и сохранности интернет-ресурсов стоит тем острее, чем быстрее
разрастается «Всемирная паутина». Сама сеть, точнее работа в ней построена на
протоколах. Одним из них является протокол доменных имен (DNS), который помогает
взаимодействовать компьютеру и человеку, а именно: переводит символьное написание,
которое привычно человеку в набор цифр, представляющий собой IP-адрес.
Шифровка данных – это один из методов борьбы с атаками на DNS-сервер.
Самая первая технология шифрования DNS – DNSCrypt. Впервые представленный
в 2008 году на BSD Unix, инструмент DNSCrypt изначально предназначался для защиты
не от прослушки, а от DNS-спуфинга. Тем не менее, его можно использовать как часть
системы обеспечения конфиденциальности – особенно в сочетании с DNS-сервером без
логов. Как отметил разработчик DNSCrypt Фрэнк Денис, гораздо больше серверов
поддерживают DNSCrypt, чем любой другой вид шифрования DNS [ 1 ].
Объект исследования – dns-запросы.
Предмет исследования – шифрование dns-запросов.
Цель работы – получение представления о шифровании dns-запросов.
Так как специалисты по информационной безопасности фиксируют рост числа атак
с перехватом DNS-запросов на сайтах частных и правительственных компаний, то
шифрование dns-запросов будет усиленно развиваться и применяться.
1. Основные понятия и характеристики шифрования dns-запросов
Рассмотрим основные определения и понятия, связанные с шифрованием dns-
запросов, которые предлагаются в разных источниках.
Система доменных имен является одной из фундаментальных технологий
современной интернет-среды, так как информация об IP-адресе запрашиваемого узла -
обязательное условие получения ответа на любой интернет-запрос. Но IP-адрес
представляет собой числовое значение вида "1.23.45.67", неподходящее для
комфортного восприятия человеком. К тому же основной принцип распределения IP-
адресов в сети - уникальность. Важно и то, что сетевой адрес - не самый устойчивый
параметр. Он может изменяться (напр., при смене хоста, обслуживающего
запрашиваемый узел, смене хостинг-провайдера, и т.п.). Все перечисленные
особенности делают систему навигации по сетевым адресам сложной для человека.
DNS обеспечивает преобразование запрашиваемого клиентом символьного
имени домена в IP-адрес (адреса) обслуживающего эту доменную зону сервера
(серверов). Изначально, до разрастания сети интернет, адреса преобразовывались
согласно содержимому файла "hosts", составлявшегося централизованно и
автоматически рассылавшегося на каждую из машин в сети. По мере роста глобальной
сети такой метод перестал оправдывать себя - появилась потребность в новом
механизме, которым и стала DNS, разработанная в 1983 году Полом Мокапетрисом [ 2 ].
DNS (англ. Domain Name System «система доменных имён») – компьютерная
распределённая система для получения информации о доменах. Чаще всего
используется для получения IP-адреса по имени хоста (компьютера или устройства),
получения информации о маршрутизации почты и/или обслуживающих узлах для
протоколов в домене (SRV-запись) [ 3 ].
Рисунок 1 – Принцип работы DNS
Распределённая база данных DNS поддерживается с помощью иерархии DNS-
серверов, взаимодействующих по определённому протоколу.
Основой DNS является представление об иерархической структуре имени и
зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за
дальнейшую часть домена другому серверу (с административной точки зрения –
другой организации или человеку), что позволяет возложить ответственность за
актуальность информации на серверы различных организаций (людей), отвечающих
только за «свою» часть доменного имени.
Начиная с 2010 года в систему DNS внедряются средства проверки целостности
передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые
данные не шифруются, но их достоверность проверяется криптографическими
способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS
достоверной криптографической информации (сертификатов), используемых для
установления безопасных и защищённых соединений транспортного и прикладного
уровней.
Ключевыми характеристиками DNS являются:
Распределенность хранения и управления - каждый DNS-сервер обязан
хранить информацию только по делегированным ему доменам, а ответственность за
различные узлы дерева доменных имен несут разные лица
Кэширование данных - DNS-сервер может временно хранить некоторое
количество информации о неделегированных ему доменах для уменьшения уровня
общей нагрузки
Иерархическая структура - узел, ответственный за доменную зону, может
самостоятельно делегировать нижестоящие узлы другим DNS-серверам
Резервирование - хранение и обработка информации об одних и тех же
узлах обычно обеспечивается несколькими DNS-серверами, изолированными
физически и логически. Такой подход обеспечивает доступность информации даже при
сбое одного или нескольких узлов.
Домен представляет собой именованную ветвь в дереве имен, включающую в
себя сам узел (напр., домен первого уровня ".com"), а также подчиненные ему узлы
(напр., домен второго уровня "example.com", домен третьего уровня
"mail.example.com" и т.д.). Для обозначения иерархической принадлежности доменных
имен принято использовать понятие "уровень" - показатель положения узла в дереве
доменов. Чем ниже значение уровня, тем выше иерархическое положение домена.
"." - домен нулевого уровня
".ru" - домен первого (верхнего) уровня
"example.com" - домен второго уровня
"mail.example.com" - домен третьего уровня
Этот список можно продолжать.
Доменная зона - часть иерархического дерева доменных имен (напр. ".ru"),
целиком переданная на обслуживание определенному DNS-серверу (чаще нескольким)
с целью делегирования другому лицу ответственности за этот и все подчиненные
домены ("anyaddress.ru", "any.anyaddress.ru").
Делегирование - передача ответственности за определенную ветвь дерева
доменных имен другому физическому или юридическому лицу. Именно эта процедура
практически реализует важный принцип работы DNS - распределенность хранения
записей и обработки запросов. Сам процесс делегирования представляет собой
добавление в ресурсные записи родительской зоны (".ru"), так называемых
"склеивающих" ("glue") NS-записей для делегируемой дочерней зоны ("example.com"),
указывающих на DNS-сервера принимающей домен стороны (например, DNS-сервера
нашей компании). С этого момента все ресурсные записи домена второго уровня
"example.com" и всех его дочерних доменов (например, "mail.example.com" и т.д.)
хранятся на DNS-серверах этой компании, а родительская зона ".ru" хранит только
указывающие на эти сервера NS-записи.
DNS-сервер - хост, хранящий ресурсные записи и обрабатывающий DNS-
запросы. DNS-сервер может самостоятельно разрешать адреса, относящиеся к зоне его
ответственности (в примере выше это зона example.com), или передавать запросы по
зонам, которые он не обслуживает, вышестоящим серверам.
DNS-клиент - набор программных средств для работы с DNS. Сам DNS-сервер
периодически также выступает в качестве клиента.
Основные типы ресурсных записей.
Ресурсная запись (RR - Resource Record) - единица хранения и передачи
информации в DNS, включающая в себя следующие элементы (поля):
Имя (Name) - имя домена, к которому относится запись
TTL (Time To Live) - допустимое время хранения записи
неответственным сервером
Тип (Type) - параметр, определяющий назначение и формат записи в поле
данных (Rdata)
Класс (Class) - тип сети передачи данных (подразумевается возможность
DNS работать с типами сетей, отличных от TCP/IP)
Длина поля данных (Rdlen)
Поле данных (Rdata) - содержание и формат поля зависят от типа записи
Ниже представлены типы ресурсных записей, используемые чаще всего:
A (IPv4 Address Record - адресная запись) - связывает доменное имя с
IPv4-адресом хоста
AAAA (IPv6 Address Record) - связывает доменное имя с IPv6-адресом
хоста (аналогично А-записи)
CNAME (Canonical Name Record - каноническая запись имени) -
используется для перенаправления на другое доменное имя
MX (Mail Exchange - почтовый обменник) - ссылается на почтовый
сервер, обслуживающий домен
NS (Name Server - сервер имен) - ссылается на DNS-сервер,
ответственный за домен
TXT - текстовое описание домена. Зачастую требуется для выполнения
специфических задач (например, подтверждения права собственности на домен при
привязке его к почтовому сервису)
PTR (Point to Reverse - запись указателя) - связывает ip-адрес машины с
доменом, используется преимущественно для проверки сторонними почтовыми
сервисами отправляемых через эту машину электронных писем на отношение к
домену, указанному в параметрах почтового сервера. При несоответствии этих
параметров письмо проверяется более тщательно по другим критериям.
Рекурсивные и нерекурсивные DNS-запросы
Рекурсией называется модель обработки запросов DNS-сервером, при которой
последний осуществляет полный поиск информации, в том числе о доменах,
неделегированных ему, при необходимости обращаясь к другим DNS-серверам.
DNS-запросы (DNS queries) от клиента (сервера) к серверу бывают
рекурсивными и нерекурсивными. В первом случае DNS-сервер, принявший запрос,
опрашивает все узлы в порядке убывания уровня зон, пока не получит положительный
ответ или информацию о том, что запрашиваемый домен не существует. В случае с
нерекурсивными запросами сервер даст положительный ответ только при запросе узла,
входящего в доменную зону, за которую этот сервер ответственен. Отсутствие
рекурсии может быть обусловлено не только типом запроса, но и запретом на
выполнение таких запросов со стороны самого DNS-сервера.
Рисунок 2 – DNS-запросы
Кэширование – еще одна важная характеристика DNS. При последовательном
обращении сервера к другим узлам в процессе выполнения рекурсивного запроса DNS-
сервер может временно сохранять в кеш-памяти информацию, содержащуюся в
получаемых им ответах. В таком случае повторный запрос домена не идет дальше его
кэш-памяти. Предельно допустимое время кэширования содержится в поле TTL
ресурсной записи.
Запрос к DNS-серверу и его ответ передаются без шифрования.
Шифрование – обратимое преобразование информации в целях сокрытия от
неавторизованных лиц, с предоставлением, в это же время, авторизованным
пользователям доступа к ней [ 4 ].
Подробнее о шифровании dns-запросов опишем в следующем разделе.
2. Шифрование dns-запросов на примере
Любой человек, который задумывается об анонимности в Интернет знает способ
скрыть свой IP-адрес в интернете – это VPN-сервис. Однако даже при VPN-соединении
зачастую запросы к DNS-серверу остаются незащищенными, и можно просто
отследить куда идут ваши DNS-запросы. По другому, это называется “DNSleaks” или
«утечка DNS».
Существует две проблемы dns-запросов:
1) Отсутствие шифрования соединения. Это значит, что любой злоумышленник
сможет перехватить ваш трафик и сделать подмену IP-адреса. Например, показать вам
поддельную страницу интернет-банка. Также желательно скрыть этот трафик от
провайдера или от правоохранительных органов.
2) DNS-сервера провайдеров по закону обязаны сохранять логи (с какого IP, на
какие сайты заходили, и время соединения), а также по запросу от
правоохранительных органов предоставлять эти логи. 99% DNS-серверов мира пишут
логи и не скрывают этого.
Если вдруг вы не хотите чтобы ваши данные кто-то перехватывал или читал
логи ваших посещений – есть надёжный вариант. Что нужно сделать:
1) Нужно зашифровать соединение. Для этого существует программа DNSproxy.
Она соединяется к DNS-серверу не напрямую, а зашифровано через DNS-резольвер (он
просто редиректит запросы на DNS-сервер). В свою очередь резольвер передаёт
данные DNS-серверу тоже по зашифрованному соединению. То есть, таким образом, с
помощью снифферов (например WIreshark) можно лишь узнать IP-адрес резольвера.
Но поскольку пакеты зашифрованы с помощью «Elliptic curve cryptography»
(эллиптическая криптография), то с каким конкретно DNS-сервером мы обмениваемся
данными определить невозможно.
2) Нужно использовать DNS-сервера, которые не ведут логов. Как Вы сами
понимаете, сервера провайдера сразу отпадают. Также для анонимности нельзя
использовать DNS-сервера Гугла или Яндекса, поскольку они честно признаются в
хранении информации (почитайте их Соглашения о Конфиденциальности). Но есть
DNS-сервера, которые нам помогут. Это www.opennicproject.org. На сайте написано,
что сервера не пишут никаких логов. Но, к сожалению, эти сервера нестабильны и
иногда отваливаются. Для решения этой проблемы можно использовать программу
"Acrylic DNS Proxy". Она позволяет делать запросы не на один DNS-сервер, а на 10
сразу. И пакет с того сервера, который придёт быстрее всех будет принят программой.
Следовательно, мы решим сразу две задачи – минимизируем потерю скорости запросов
(потому что наиболее быстрый обмен данными как правило происходит с DNS-
серверами провайдера), и нивелируем нестабильность каких либо серверов.
Итак, нам нужно зашифровать соединение на безопасные DNS сервера. Это
пригодится не только для тех, кто не использует VPN. Начнём:
1) Скачать AcrylicDNSProxy:
http://mayakron.altervista.org/wikibase/show.php?id=AcrylicHome
Устанавливаем. Меняем файл конфигурации в папке с установленной
программой на уже настроенный на сервера www.opennicproject.org . Уже настроенный
конфигурационный файл здесь: https://www.sendspace.com/file/u51lus
2) В настройках вашего сетевого подключения нужно прописать вручную DNS-
адрес. Заходим «Центр управление сетями и общим доступом» - «Подключение по
локальной сети» - «Свойства» - «Протокол интернета версии 4 TCP/IPv4». Там ставим
127.0.0.1. Вторую строчку нужно оставить пустой.
Рисунок 3 – Настройки протокола интернета
3) Чтобы запустить AcrylicDNSProxy заходим через Пуск и нажимаем «Start
Acrylic Service».Должно появиться сообщение об удачном запуске.
4) Проверяем наши DNS-сервера на сайте www.perfect-privacy.com/dns-leaktest .
Должно быть примерно так как на рисунке 4.
Рисунок 4 – www.perfect-privacy.com
Можете добавить файл AcrylicController.exe в автозагрузку.
5) Теперь шифруем наши запросы к DNS-серверам с помощью программы
DNScrypt.
Скачиваем уже готовую сборку: https://www.sendspace.com/file/o1pe2q
6) Распаковываем и запускаем dnscrypt-winclient.exe. Там выбираем свою
сетевую карту и нажимаем Install. Теперь соединение с DNS-серверами зашифровано.
7) Проверим, что же теперь покажут нам наши сервисы проверки. Заходим на
www.perfect-privacy.com/dns-leaktest. Ни один наш сервер не должен определиться.
А если зайти на http://whoer.net , то единственное что он может показать – это
адрес DNS-резольвера, через которые проходят DNS-запросы. Сами же сервера
«неизвестны».
Рисунок 5 – http://whoer.net
VPN + DNS-шифрование
На рисунке указана типичная схема соединения, при подключении к VPN-
серверам.
Рисунок 6 – схема соединения, при подключении к VPN-серверам
Как видите, есть уязвимость – DNS-запросы могут отправляться одновременно и
через VPN-сервер, и напрямую к указанному DNS-серверу вашего сетевого
подключения.
Казалось бы, можно просто вручную прописать DNS-сервер в настройках
соединения как 127.0.0.1, чтобы не было никаких лишних запросов к DNS провайдера.
Но, очевидно, что при отключении от VPN интернет работать не будет, поскольку при
подключении к VPN используются их собственные DNS-сервера. Если же просто
вписать два сервера проекта www.opennicproject.org, то это снизит скорость серфинга в
интернете, когда VPNбудет отключен. В этом случае так же рекомендуется установить
программу AcrylicDNSProxy, которая не позволит упасть скорости серфинга. Но раз
установили AcrylicDNSProxy, то почему бы и не установить и DNScrypt?
Если же вы 100% времени пользуетесь VPN-сервисами, то можете просто
прописать один IP-адрес в настройках DNS: 127.0.0.1. Этого будет достаточно. [ 5 ]
Таким образом, была найдена схема, позволяющая анонимизировать и скрыть
DNS-запросы, что немного поможет, если местный злой хакер решит перенаправить
DNS-запросы и показывать вашим детям сайты вместо «Ну погоди» - сайты для
взрослых.
Заключение
Каждый компьютер в сети Интернет имеет свой IP-адрес, не зная IP-адреса
компьютера, невозможно отправить ему информацию или запрос. IP-адрес имеет вид
4-х байтового числа, разделенного точками (например, 162.234.12.110 или
78.31.54.226).
Для простого человека запомнить большое количество IP-адресов не легко,
поэтому в начале развития сети Интернет возникла необходимость в средстве, которое
должно было бы облегчить жизнь пользователям Интернета. Таким средством стала
DNS - система доменных имен. ДНС сервер - это средство, которое позволяет
определить IP-адрес по доменному имени.
К примеру, вы ввели в строке браузера адрес сайта, браузер послал запрос на
DNS-сервер, который указан в настройках вашего интернет-подключения. Сервер
отправляет обратно пакет с ответом, в котором содержится IP-адрес нужного сайта.
С одной стороны всё сделано удобно – вы вставили кабель в сетевую карту, вам
автоматически присвоили DNS-сервер провайдера с быстрым откликом и всё работает.
Но с другой стороны есть две проблемы при такой схеме:
1) Отсутствие шифрования соединения.
2) DNS-сервера провайдеров по закону обязаны сохранять логи (с какого IP, на
какие сайты заходили, и время соединения), а также по запросу от
правоохранительных органов предоставлять эти логи. 99% DNS-серверов мира пишут
логи и не скрывают этого. Если вдруг вы не хотите чтобы ваши данные кто-то
перехватывал или читал логи ваших посещений – есть надёжный вариант, что нужно
сделать:
1) Нужно зашифровать соединение. Для этого существует программа DNSproxy.
2) Нужно использовать DNS-сервера, которые не ведут логов.
Таким образом, мы рассмотрели основные понятия и пример шифрования dns-
запросов.
Список литературы
1. Как спрятать DNS-запросы от любопытных глаз [Электронный ресурс]. – Режим
доступа: https://habr.com/ru/post/353878/
2. Основы работы со службой DNS [Электронный ресурс]. – Режим доступа:
https://1cloud.ru/help/dns/dns_basics
3. DNS [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/DNS
4. Шифрование [Электронный ресурс]. – Режим доступа:
https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D
0%B0%D0%BD%D0%B8%D0%B5
5. Анонимность DNS-запросов (кэширование+шифрование) [Электронный ресурс]. –
Режим доступа: https://forum.antichat.ru/threads/426309/
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Курсовая работа предмет управление персоналом
Курсовая, Организация деятельности персонала производственного подразделения, менеджмент
Срок сдачи к 30 сент.
По книге сырых в. м. логические основания общей теории права.
Реферат, Теория государства и права
Срок сдачи к 17 сент.
Инструктаж по соблюдению правил противопожарной безопасности
Отчет по практике, Ознакомительная практика, бжд
Срок сдачи к 17 сент.
Управление прибылью финансового результата организации зао иркутские семена иркутской области.
Отчет по практике, Финансовый менеджмент
Срок сдачи к 24 сент.
Психологические особенности преодоления подростками сложных жизненных...
Диплом, Психология и педагогика
Срок сдачи к 29 нояб.
Формирование навыков словообразования глаголов у старших дошкольников с общим недоразвитием речи
Курсовая, логопедия
Срок сдачи к 5 окт.
Практико-ориентированное задание «Проектирование программного обеспечения объекта автоматизации»
Решение задач, Основы проектирования ПО
Срок сдачи к 21 сент.
Решение задачи по уголовному процессу.
Решение задач, Судебные решения в уголовном судопроизводстве
Срок сдачи к 16 сент.
Анализ авторефератов по предмету исследования
Реферат, экономика и управление на предприятии
Срок сдачи к 26 сент.
Государственное регулирование валютного рынка, аниплагиат не менее 75%
Курсовая, Управление бизнесом и предпринимательство
Срок сдачи к 1 дек.
Составить Номенклатуру дел по экономической документации
Другое, делопроизводство
Срок сдачи к 19 сент.
Решить 15 задач, по 5 в одном задании. Рукописно
Решение задач, Высшая математика
Срок сдачи к 22 сент.
Заполните форму и узнайте цену на индивидуальную работу!