Security Week 2325: безопасность реестров доменных имен

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
12 июня было опубликовано исследование о серьезной уязвимости в ПО для реестров доменных имен. Программное обеспечение CoCCA используется для управления доменами в таких зонах, как .ai, .ms и .td. Для коммуникации с регистраторами доменных имен, которые должны вносить изменения в реестр, оно применяет стандартизированный протокол EPP (Extensible Provision Protocol). Уязвимость в обработчике XML-запросов позволяла перехватить контроль над целой доменной зоной и, например, менять записи для существующих доменных имен или создавать новые.


Авторами материала стала команда во главе с Сэмом Карри, экспертом по безопасности, который не только умеет находить нестандартные уязвимости, но и подробно рассказывает о процессе их обнаружения. Предыдущая публикация Сэма, например, рассказывала об уязвимостях в сетевых сервисах автопроизводителей. Его новый материал также представляет интерес благодаря подробному описанию выявленных проблем. Главный вывод авторов отчета: критическая инфраструктура Интернета очень часто недофинансирована. Более ранние исследования по «угону доменов», как правило, фокусировались на взломе DNS-серверов. Однако в этом случае все получилось проще и опаснее: зачем атаковать DNS, если можно модифицировать любую информацию прямо в реестре доменной зоны?

По сравнению с предыдущими исследованиями Сэма Карри и команды, здесь процесс поиска уязвимости описывается достаточно кратко: ее, судя по всему, обнаружили очень быстро. EPP-сервер CoCCA оказался уязвим для атаки типа XML External Entity Processing (XXE). По этой ссылке приводится вот такой типовой сценарий атаки:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///dev/random" >]>
&xxe;


Реально работающий код для уязвимого EPP-сервера выглядит так:

print(conn.call("<?xml version=\"1.0\" standalone=\"no\"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM \"file:///etc/passwd\"> ]> <epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"> <command> <poll op='req' /> <clTRID>&xxe;</clTRID> </command> </epp>".format(ip)))

Как правило, коммуникация регистратора доменов с реестром надежно защищена. Перед предоставлением доступа к базе данных инициируется сложный процесс авторизации. Однако запрос в приведенном выше примере возвращал содержимое файла /etc/passwd на сервере с реестром доменных имен в обход всякой авторизации. Программное обеспечение CoCCA написано на Java, а данные хранятся в СУБД Postgres. Встроенный обработчик XML-запросов не имел никакой защиты от атак типа XXE. Развить атаку получилось с помощью еще одной уязвимости: исследователи нашли сегмент кода, который обращался к некоей базе названий городов. Его оказалось возможным перенацелить на загрузку любого файла на сервере.

Дальнейшие исследования проводились на примере доменной зоны .ai. Исследователи смогли вытащить множество файлов из уязвимой системы, включая приватный ssh-ключ одного из администраторов. С администратором удалось связаться, и он подтвердил, что легко взламываемый сервер позволяет менять любые записи в реестре доменов. Но и это еще не все: при дальнейшем изучении кода CoCCA был обнаружен скрипт, который загружает бэкап базы данных на сервер разработчика. Как это обычно бывает, сервер с бэкапами оказался общим для всех пользователей ПО. После того как разработчика уведомили об уязвимостях, все проблемы были закрыты в новой версии программного обеспечения.

Авторы работы приводят Nomulus в качестве примера чуть более защищенного ПО для управления доменной зоной. Nomulus — разработка Google с открытым исходным кодом. И вот там показано, как надо обрабатывать XML-запросы, исключая атаки XXE:

private static XMLInputFactory createInputFactory() throws FactoryConfigurationError {
// Prevent XXE attacks.
XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory();
xmlInputFactory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false);
return xmlInputFactory;
}


Что еще произошло:

В новых публикациях эксперты «Лаборатории Касперского» подробно описывают сервисы malware-as-a-service и анализируют вредоносное ПО для кражи криптовалют.

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

Western Digital предупреждает пользователей сетевых накопителей MyCloud с устаревшей прошивкой о неминуемом отключении от облачных сервисов тех, кто не установит обновление. Причина — серьезная уязвимость в ПО, которая обеспечивает неавторизованное выполнение произвольного кода. Если обновление не установить, будет возможен только локальный доступ к файлам.
Источник: https://habr.com/ru/companies/kaspersky/articles/742532/


Интересные статьи

Интересные статьи

Платформенная агентная модель производственного кластераАвтор: Сергей Лукьянчиков, InterSystemsФоновое фото баннера статьи: Pavel DanilyukВ данной публикации мы описываем прототип и исследуем оркестро...
В современном цифровом мире микроконтроллерам часто требуется выполнять какие-то действия в физическом мире людей с помощью различных механических, оптических, акустических и других внешних устройств....
Если вы, как и я, отвечаете за успешный запуск критически важных приложений, помогающих бизнесу быть на передовой в цифровой трансформации, то, несомненно, поймете, о чем пойдет речь в этой статье. Дл...
Я работаю в IT больше 20 лет, но как-то руки не доходили до контейнеров. В теории я понимал, как они устроены и как работают. Но поскольку я никогда с ними не сталкивался на практик...
Выпуск про лайфхаки: финансовые, правовые и тайм-менеджерские. Делимся сами, и с радостью выслушаем ваши советы. Оставляйте комментарии к посту или там, где вы нас слушаете. Все, что мы обсужда...