
Техника эксплуатации Segmentation Fault-Oriented Programming
Это репозиторий с артефактами для техники эксплуатации Segmentation Fault-Oriented Programming.
Здесь мы кратко описываем артефакты в этом репозитории. Всего здесь восемь различных артефактов: шесть PoC-эксплойтов и два эксплойта для реальных программ (Nginx и Ladybird):
PoC:
bSFOP_ek: полный эксплойт bSFOP, использующий цепочку для регистрации сигнала и Early Kill для запуска атаки.bSFOP_fixed: более простой в отладке bSFOP: сигнал регистрируется вручную, а сбойный гаджет задаётся вручную для запуска атаки.bSFOP_multistage: то же, что и bSFOP_fixed, но весь пейлоад не передаётся в начале, а считывается по частям.chain: отдельный пример использования цепочки для регистрации sigaction.fSFOP_ek: полный эксплойт fSFOP, использующий цепочку для регистрации сигнала и Early Kill для запуска атаки.fSFOP_fixed: более простой в отладке fSFOP: сигнал регистрируется вручную, а сбойный гаджет задаётся вручную для запуска атаки.vulnerable-nginx: модифицированная версия Nginx с уязвимостью CVE-2013-2028. Демонстрирует fSFOP с собственной цепочкой регистрации сигнала и использованием Early Kill.
vulnerable-ladybird: модифицированная версия SerenityOS с уязвимостью CVE-2021-4327. Демонстрирует fSFOP с собственной цепочкой регистрации сигнала и использованием Early Kill.
Каждый файл сопровождается собственным README.
Каждый PoC упакован в Docker. Docker — единственное программное требование.
Запуск PoC требует активного применения CET.
Для этого:
Наши эксперименты были протестированы на нескольких машинах, в том числе: