RSS Блог "След бит"
Подписаться
Задачи с чек-листом C/C++ решены
Предоставленный текст описывает два проблемы безопасности из руководства по тестированию, программу ping для Linux и обработчик реестра драйверов Windows. Задача для Linux раскрывает уязвимость внедрения команд из-за недостатков в проверке ввода и использования функцией `inet_ntoa` глобального буфера, что позволяет атакующему обойти проверки безопасности. Задача для Windows подчеркивает уязвимость, при которой драйвер читает информацию о версии из реестра с помощью `RtlQueryRegistryValues`, что позволяет атакующему контролировать путь реестра. Это позволяет читать произвольные ключи реестра. Основная уязвимость заключается в отсутствии проверки типа при использовании `RTL_QUERY_REGISTRY_DIRECT`, что позволяет переполнить стек из-за путаницы с типами. Отсутствие флага `RTL_QUERY_REGISTRY_TYPECHECK` в драйвере Windows приводит к сбою безопасности ядра при попытке чтения из недостоверного улья при использовании `RTL_QUERY_REGISTRY_DIRECT`. Эта ошибка, изначально исправленная в MS11-011, позволяет атакующему перезаписать данные в стеке. Затем текст представляет новый навык Claude под названием c-review, предназначенный для поиска ошибок в кодовых базах C/C++ с помощью модели крупномасштабного языкового моделирования. Этот навык использует чек-лист из руководства по тестированию в качестве подсказок для выявления уязвимостей.