В драйверах смарт-карт найдены уязвимости повышения привилегий

В драйверах смарт-карт найдены уязвимости повышения привилегий

В драйверах смарт-карт найдены уязвимости повышения привилегий

Эрик Сестерхенн, исследователь из X41 D-SEC GmbH, обнаружил ряд уязвимостей в нескольких драйверах смарт-карт. Некоторые из этих брешей злоумышленники могут использовать для входа в целевую систему без валидных учетных данных и получения привилегий уровня root/admin.

Как объясняет сам Сестерхенн:

«В прошлом было зарегистрировано много атак на смарт-карты, однако лишь малая чась из них уделяла внимание драйверам стека смарт-карт (часть программного обеспечения, которая взаимодействует с картой, когда она вставлена в ридер)».

«Драйверы смарт-карт представляют собой очень интересную цель с точки зрения злоумышленников, поскольку в них есть несколько парсеров, работающих с высокими привилегиями (например, root в системах Linux)».

Эксплуатация уязвимостей в этих драйверах пугает экспертов — они используются в банкоматах, дверных замках и так далее.

Сестерхенн протестировал ряд драйверов смарт-карт с открытым исходным кодом, которые разрабатывают компании Yubico, OpenSC и Apple Smart Card Services. Эксперт создал несколько инструментов, которые позволили ему протестировать стек смарт-карт OpenSC, драйверы на базе PCSC в Linux и основанные на Winscard драйверы смарт-карт в операционных системах от Microsoft.

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

Недостатки могут быть использованы с помощью вредоносных смарт-карт.

Специалист поставил в известность всех затронутых вендоров, которые принялись разрабатывать противоядие. Некоторые патчи уже доступны — для Yubico PIV и компонентов Apple Smart Card Services.

Уязвимую библиотеку libykneomgr (используемую Yubico) обновлять не будут, поскольку она уже устарела. Для OpenSC исправления пока еще не вышли.

Новая атака на кеш Nginx позволяет красть данные и ломать сайты

Исследователь YesWeHack Алекс Брумен описал вектор кибератаки Cache Key Injection. В случае её эксплуатации последствия для потенциальной жертвы опасные: обход контроля доступа, раскрытие закрытых страниц, отказ в обслуживании и при определённых условиях.

Как объясняет исследователь YesWeHack, проблема возникает не в Nginx по умолчанию, а в конфигурациях, где администраторы просто склеивают несколько значений переменной длины без разделителей. Например:

$scheme$host$request_uri$http_accept

Разных запроса два, а итоговая строка может получиться одна. Так, запрос к /h с заголовком Accept: ome*/* создаёт тот же ключ, что и обычное обращение к /home с Accept: */*.

Если атакующий успеет первым положить в кеш ответ 404, пользователи вместо главной страницы будут получать ошибку до очистки записи. Получается CPDoS — отказ в обслуживании с доставкой прямо из кеша.

 

Ещё веселее становится с закрытыми разделами. В лабораторном примере страница /admin была доступна только с localhost, но злоумышленник мог обратиться к /ad и перенести оставшуюся часть имени в соседний компонент ключа. Nginx видел разрешённый путь, однако доставал из кеша содержимое админ-панели.

При совпадении нескольких условий техника позволяет столкнуть HTTP- и HTTPS-запросы и записать в кеш страницу со ссылкой на атакующий JavaScript, превратив ошибку конфигурации в stored XSS. Даже Cloudflare не всегда спасёт: заголовок Authorization может провести запрос мимо его кеша прямо к уязвимому кешу Nginx.

 

Защита выглядит до смешного просто: не склеивать значения вслепую. Между элементами ключа нужны разделители или структурное кодирование, например:

$scheme|$host|$request_uri|$http_accept

Также следует проверять Host, перенаправлять HTTP на HTTPS и не кешировать аутентифицированные запросы.

RSS: Новости на портале Anti-Malware.ru