Ядро посчитало, что освобождение этого объекта с помощью функции free() безопасно...
Автор: Billy Ellis
Загружено: 2025-12-18
Просмотров: 18370
Вы исследователь в области безопасности или реверс-инженер?
Для получения скидки 50% на продукты IDA используйте промокод BILLY50, https://hex-rays.com/pricing *
Для получения скидки 30% на обучение IDA используйте промокод BILLY30, https://hex-rays.com/training **
*Скидки на лицензии действительны только для частных лиц, а не для корпораций. Не суммируются с другими промокодами или скидками.
** Не суммируются с другими промокодами или скидками.
/////////////////////////////////////
Привет, ребята!
В сегодняшнем видео мы вернемся в прошлое и рассмотрим CVE-2017-13861, уязвимость ядра iOS 2017 года, которая, как было обнаружено, использовалась на устройствах iOS 11.
Основная причина этой уязвимости ядра — некорректная обработка семантики подсчета ссылок в структуре ipc_port (структуре, представляющей Mach-порт).
Mach-порты в ядре используют счетчики ссылок для отслеживания своего жизненного цикла. Когда счетчик ссылок порта падает до 0, ядро освобождает (free()) эту структуру ipc_port, возвращая ее в аллокатор.
В этом видео мы рассмотрим, как используется уязвимость CVE-2017-13861 для сброса лишнего количества ссылок на Mach-порт с целью достижения состояния использования после освобождения.
Мы также рассмотрим, как эта ошибка может быть использована для создания примитивов эксплуатации ядра и получения доступа к выполнению кода.
Спасибо за просмотр,
~ Билли
Ссылки:
https://projectzero.google/2019/08/in...
https://sparkes.zone/blog/ios/2019/04...
https://blog.siguza.net/v0rtex/
https://newosxbook.com/QiLin/qilin.pdf
https://github.com/blacktop/async_wake
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: