Security for all - #2 - 10 апреля 2018

Как вы яхту назовете... - DNS

Сегодня

Новости об очередных утечках персональных данных, прошедшем в Mail.ru митапе по безопасности, опасной уязвимости в Windows и открытии нового DNS сервера компанией CloudFlare.

Основной темой выпуска будет DNS и его расширения и предполагаемые заместители: DNSSEC, DNSCrypt, DNS over TLS, DNS over HTTPS.

Предисловие

Всегда относитесь к предоставленной информации с некоторой долей скепсиса. Все ошибаются и иногда говорят одно, а подразумевают немного другое :)

Вспомогательные темы

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

RFC - Requests For Comments, если дословно “запрос комментариев”. Когда создается какой-то открытый протокол, разработчики составляют его описание и регистрируют в базе. Тем самым они как бы спрашивают у всех “что вы думаете об этом?”. В этом случае любой желающий может указать на ошибки или предложить какие-либо улучшения. Большинство протоколов, составляющих основу сети интернет, открыты и описаны в таких документах.

IETF (Internet Engineering Task Force) или Инженерный совет Интернета - открытое международное сообщество проектировщиков, учёных, сетевых операторов и провайдеров, занимающееся развитием протоколов и архитектуры Интернета.

Новости

Миллионы записей о клиентах утекли с Panerabread.com (источник - krebsonsecurity.com)

https://krebsonsecurity.com/2018/04/panerabread-com-leaks-millions-of-customer-records/ Как сообщает сайт KrebsOnSecurity, который ведет известный журналист в области информационной безопасности Браян Кребс (Brian Krebs), записи о миллионах пользователей PaneraBread были досупны на их сайте в открытом виде. О данной уязвимости компанию уведомил исследователь Дилан Хулихан (Dylan Houlihan) еще в августе 2017 года. Но до того момента, как сам Браян обратился в компанию за информацией о проблеме, она исправлена не была.

Утечка данных пользователей MyFitnessPal

https://threatpost.ru/under-armour-reports-massive-breach-of-150-million-myfitnesspal-accounts/25421/ Также в начале недели об утечке данных 150 миллионов пользователей приложения MyFitnessPal заявила компания-производитель спортивной одежды и аксессуаров. Злоумышленники заполучили логины, адреса электронной почты и хэши паролей. Через четыре дня после обнаружения проблемы компания начала рассылать сообществу MyFitnessPal уведомления содержащие информацию со способами повышения безопасности и защиты личной информации.

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

Компания Mail.ru провела митап по безопасности.

На встрече были выступления

  1. Егор Карбутов, Digital Security - рассказал про атаки на хеши NTLM, используемые в основном ОС Windows
  2. Владимир Дубровин (Mail.ru) - рассказал о том, как они в Mail.ru построили процесс работы с баг баунти программами.
  3. Ярослав Бабин () - подготовка проведения тестирование фишинговых рассылок - обсуждения с заказчиком, подготовка, сбор информации
  4. Антон Лопаницын ака Bo0oM (Wallarm) - кеш Запись выступлений можно найти на YouTube канале Технострим Mail.Ru Group https://www.youtube.com/watch?v=Qw7pvsCTank

Microsoft выпустила внеплановый патч, закрывающий опасную уязвимость

https://xakep.ru/2018/04/05/mmpe-rce/ Проблема была обнаружена специалистами Google в компоненте Malware Protection Engine, который отвечает за выявление вредоносных файлов. Из-за ошибки в этом компоненте возможно удаленное выполнение кода. Всем пользователям Windows рекомендуется поставить обновления.

CloudFlare представила DNS сервер ориентированный на приватность (источник - блог CloudFlare)

https://blog.cloudflare.com/announcing-1111/ https://www.cloudflare.com/learning/dns/what-is-1.1.1.1/ В полку публичных DNS серверов прибыло. В воскресенье, 1 апреля, компания CloudFlare объявила о запуске нового DNS сервера, ориентированного на приватность. Дата запуска была выбрана не случайно. Апрель - это 4 месяц, а в адресе содержатся только единицы, компания решила запускать сервис именно в этот день. В чем именно заключается ориентированность на приватность и чем этот сервер отличается от многих других?

DNS

Люди плохо запоминают числа, но хорошо запоминают имена. Компьютеры же наоборот оперируют числами. ДНС является связующим звеном между именами, которые удобно запоминать людям, и числовыми IP адресами, которые используются машинами. Аббревиатура DNS означает Domain Name System или, если по-русски, Система Доменных Имен.

Когда вы набираете адрес сайта в строке браузера и нажимаете Enter, браузер сначала должен определить IP адрес сервера, с которого нужно загрузить данные. Для этого он посылает специальный запрос серверу имен - DNS серверу. Тот в ответ возвращает адрес понятный браузеру.

Протокол DNS был разработан еще на заре становления интернета, когда требования к нему сильно отличались от нынешних. Он был сделан, чтобы быстро передавать данные. Поэтому он не гарантирует анонимность и аутентичность передаваемых данных.

Отсутствие анонимности заключается в том, что в запросе от клиента к DNS серверу содержится имя того сервера, куда впоследствии будет подключаться браузер. И любой, кто имеет возможность наблюдать передаваемые данные может с легкостью сказать, какие сайты вы посещаете.

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

Кто-то может сказать “мне нечего скрывать”, я не делаю ничего секретного или незаконного, и поэтому для меня это не важно, если кто-то видит названия посещаемых мною сайтов. Ведь это всего-лишь адрес сайта. Действительно ли защитники приватности параноят или же у позиции “мне нечего скрывать” есть недостатки поговорим в одном из ближайших выпусков %)

А пока давайте вернемся ко второму свойству - аутентичности. Оно означает, что мы знаем откуда к нам пришла информация и можем ей доверять. В случае с DNS запросами у нас такой уверенности нет, мы не знаем, кто отправил нам ответ. Злоумышленник может наводнить сеть поддельными DNS ответами.

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

Чтобы избавиться от этих проблем, придумывали разные решения…

В результате на данный момент мы имеем сразу несколько: DNSSEC, DNSCrypt, DNS через TLS, DNS через HTTPS (DOH).

Не используются: DNS-over-DTLS (Datagram TLS) - RFC 8094, нет реализаций и пока не планируются DNS-over-QUIC (QUIC - протокол поверх UDP, разработан Google). DNSCurve - разработан в 2010, но так и не принят как стандарт IETF

как клиент шифрует данные? как клиент проверяет аутентичность? как сервер шифрует данные?

https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+-+The+Solutions

DNSSEC

Гарантирует только аутентичность данных - сервер подписывает ответы, поэтому клиент может проверить их источник. Данные не шифруются, поэтому все-равно видно все имена, которые клиент посылает.

DNSCrypt

Проект компании OpenDNS, которая на данный момент принадлежит Cisco Данный протокол гарантирует как аутентичность, так и конфиденциальность. DNSCrypt по сути добавляет шифрование и цифровую подпись к существующему протоколу. Протокол открыт, но не принимался в качестве стандарта для сети интернет.

DNS через TLS - RFC 7858

Порт 853. Используется стандартный протокол TLS, тот самый, который используется и в HTTPS.

DNS через HTTPS (DOH)

IETF создала рабочую группу для работы над DOH. Протокол еще на ранней стадии, но к его плюсам можно отнести то, что используется стандартный способ общения с сервером, а именно протокол HTTPS. Из-за этого отличить DNS трафик станет еще сложнее.

Более подробную информацию о приватности DNS можно найти на сайте dnsprivacy.org

Как попробовать?

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

Некоторые протоколы начинают внедрять в клиентские приложения.

DNSCrypt можно попробовать в Yandex.Browser (https://yandex.ru/support/browser/security/dnscrypt.html) Для этого нужно зайти в Настройки, перейдите на вкладку Безопасность, разделе Защита соединения включить опцию Использовать DNS-сервер с шифрованием DNSCrypt. В выпадающем списке можно выбрать сервер, который вы хотите использовать.

В ночных сборках FireFox должна была уже стать доступна опция для ключения DNS-через-HTTPS (https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/privacy-policy/firefox/) Данная функциональность тестовая и некоторое время будет собираться статистика использования. Включить опцию можно через флаги.

Компания Google уже ведет работы над поддержкой DNS-через-TLS в Android. https://xakep.ru/2017/10/24/dns-over-tls/

Ложка дегтя

Server Name Indication (SNI)