Проблемы с некорректной очисткой остаточных данных в клиенте Tor и OpenSSL

Проблемы с некорректной очисткой остаточных данных в клиенте Tor и OpenSSL

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

Проблема связана с тем, что Tor использует для очистки кэша функцию memset(), которая игнорируется в результате работы оптимизаторов некоторых компиляторов, что может привести к появлению неочищенных областей памяти после закрытия приложения, сообщает opennet.ru. Например, при выборе режима оптимизации на скорость (-O2) Microsoft Visual Studio 2010 просто удаляет вызов memset при обнулении данных, если буфер в дальнейшем не используется в коде.

В качестве примера корректного подхода к очистке буферов приводится OpenSSL, в котором для очистки создана специальная функция, затирающая содержимое буфера случайными данными. Но из-за ошибки в вычислении размера буфера при вызове данной функции, она затирает только первые 4 байта (вместо размера буфера передаётся размер указателя на буфер), оставляя содержимое неизменным.

Исследователь заставил Kaspersky Endpoint Security записать DLL в System32

Независимый исследователь под псевдонимом Nightmare Eclipse опубликовал экспериментальный эксплойт HardBreacher для уязвимости в Kaspersky Endpoint Security. По его словам, неизвестная ранее брешь позволяет обычному пользователю обойти ограничения Windows и создать файл в защищённой директории C:\Windows\System32.

Эксплойт тестировался на полностью обновлённой Windows 11 25H2 с Kaspersky Endpoint Security 14.0.0.504.

При успешном запуске эксплойт создавал в System32 файл MY_SNAKE_IS_SOLID.dll, после чего предоставлял текущему непривилегированному пользователю полный доступ к нему. В нормальной ситуации стандартная учётная запись проделать такой трюк не может.

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

 

Сам автор признаёт, что HardBreacher работает нестабильно: запуски часто заканчиваются ошибкой, поэтому попытки приходится повторять. Стабильное выполнение произвольного кода с правами SYSTEM также не продемонстрировано.

Независимые специалисты пока не воспроизвели результат. Уязвимость не получила CVE, а «Лаборатория Касперского» публично не подтвердила проблему и не назвала возможные затронутые версии. Делать выводы обо всей линейке продуктов по одному испытанному выпуску рано.

Однако опубликованный код уже привлекает внимание. Ранее инструменты Nightmare Eclipse для обхода Microsoft Defender пытались применять в реальных атаках, хотя большинство попыток провалилось.

Update:

Официальный комментарий «Лаборатории Касперского»:

«"Лаборатория Касперского" устранила недостаток, обнаруженный с помощью экспериментальной утилиты HardBreacher. Обновление с необходимыми исправлениями выпущено и устанавливается автоматически — при необходимости пользователи также могут запустить его вручную».

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