Получены первые результаты длительного изучения безопасности ядра операционной системы Windows. Эксперт по безопасности изучал ядро Windows и добился отнюдь не радующих пользователей результатов. Обнаружено в совокупности более пятнадцати уязвимостей. Это феноменальное количество недостатков, которые предоставляют доступ к привилегиям ядра. Все они были исправлены Microsoft c помощью патчей системы, но распространенность операционной системы и место данного кода в структуре управления ядром операционной системы оставляет вопрос безопасности её для пользователя открытым.
Эксперт по безопасности Гил Дабах более года изучал ядро Windows и, в частности, компонент «win32k», который управляет отображением данных в 32-битных системах. Время выпуска данного кода относится к девяностым годам прошлого века, но win32k до сих пор встречается во всех версиях Windows по причинам совместимости.
Гил Дабах первого апреля 2020 года опубликовал исследование, в котором он продемонстрировал существование семейства уязвимостей безопасности, которое он назвал «SmashTheRef» и которое позволяет осуществлять привилегированное выполнение данного кода в контексте ядра. Изначально эксперт обнаружил тринадцать уязвимостей и опубликовал для них демонстрационный код на GitHub, и затем выявил пятнадцать других, потенциально пригодных для атаки.
Исследователь связался с Microsoft и уверяет, что все обнаруженные недостатки были исправлены компанией. Работа над глобальным исправлением, позволяющим удалить все это семейство ошибок тем не менее продолжается. Но это не просто, потому что код старый и довольно сложный. На данный момент Microsoft изменила некоторые ключевые части кода, но это не решает проблему полностью.
В чем состоит суть проблемы? Изначально код win32k не был частью ядра Windows, но в итоге был интегрирован в него из-за его постоянно возрастающей важности. Результирующая операция данного кода довольно сложна, с бесконечными перемещениями между областью ядра («ядро-земля») и функциями, доступными для пользователя («пользователь-земля»).
В 2008 и 2011 годах исследователи показали, что злоумышленники могли использовать эти циклы для получения ошибок типа «Использовать после освобождения». Объект, созданный ядром - например, окно - может быть уничтожен на стороне пользователя при сохранении указателя на него, что разрешает незаконный доступ к области памяти ядра. Microsoft представила исправления, и «сегодня эти ошибки почти не актуальны», считает Гил Дабах.
Эксперт нашел еще одну возможность для атак, нацеленных на подчиненные объекты. Разрушение исходного объекта всегда приводит к разрушению подчиненного объекта, но область памяти последнего не всегда полностью разрушена. Гил Дабах нашел довольно сложные способы, чтобы восстановить подчиненный объект и снова вызвать ошибку «Использовать после освобождения».
Исследователь также обнаружил несколько других недостатков в win32k, которые не были связаны с уязвимостью SmashTheRef. Они также были исправлены Microsoft. В общей сложности он нашел и опубликовал более пятнадцати уязвимостей в ядре Windows в течение года. Эксперт продолжает поиск других уязвимостей, о которых незамедлительно сообщает в Microsoft.
🚍 ЧИТАТЬ НА КАНАЛЕ:
Три новых функции браузера Edge, которые сделают вашу жизнь проще
WhatsApp для Windows 10 и macOS
Блокировщики рекламы для браузера
Горячие клавиши для быстрой работы Windows 10
Активируем и деактивируем защитник Windows 10
Поиск файлов в Windows 10