KernelFuzzer — кросс-платформенный фреймворк для фаззинга ядра

Уязвимости в ядре операционных систем всегда вызывают большой интерес — начиная с поднятия привилегий и обхода ограничений песочниц вплоть до удаленного выполнения кода в системе. Искать уязвимости в ring 0 части — это не то же самое, что и в ring 3 части. При этом не стоит забывать, что ring 0 Windows отличается от ring 0 Linux и тем более QNX и, таким образом, к каждой операционной системе нужен свой подход.

Основные компоненты:

  • база знаний по системным вызовам — взаимодействие user- и kernel-пространства;
  • хранилище объектов — интересные объекты для фаззинга;
  • ядро системы — в основном механизмы ловли и обработки падений;
  • вспомогательные функции — для создания, заполнения и возвращения валидных структур;
  • база знаний по OS API — для взаимодействия с системными библиотеками (доступ к файлам, пользовательский интерфейс, графика и мультимедиа, устройства, сеть);
  • значения для фаззинга — значения различных типов данных (boolean, integer, float и другие).

Данный фаззер был протестирован на Windows 7/10, OS X и QNX. Но, как бы то ни было, в первую очередь авторы при создании этого инструмента были нацелены на Windows. Более подробно об инструменте можно узнать из презентации Platform Agnostic Kernel Fuzzing.

Авторы: James Loureiro, Georgi Geshev
URL: https://github.com/mwrlabs/KernelFuzzer
Система: Windows, macOS, QNX

[ad name=»Responbl»]

Click to rate this post!
[Total: 9 Average: 4]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Leave a reply:

Your email address will not be published.