| Предыдущий | Следующий |
| KERN_INVALID_MEMORY_CONTROL | KERN_NOT_DEPRESSED |
KERN_INVALID_SECURITY
Это не обычный отказ в доступе
KERN_INVALID_SECURITY является специфической ошибкой возможностей Mach. XNU определяет её для запроса, которому требуется порт безопасности хоста, но передан другой аргумент. Проблема заключается в идентичности и полномочиях переданного порта, а не просто в отсутствии пользовательского бита разрешения.
Это отличается от KERN_DENIED, который представляет отказ политики после достижения запросом соответствующей точки принятия решения по безопасности. Здесь операция не имеет требуемого интерфейса безопасности ещё до того, как такое решение может быть принято.
Что исследовать
- Запишите границу API, где ожидался порт безопасности, и объект, который был передан фактически.
- Различайте порты host, host-privileged, host-security, task и service в типах-обёртках и диагностике.
- Проверьте, не скрыла ли служба-посредник привилегий требуемую возможность намеренно.
- Не подставляйте порт по числовому значению и не предполагайте, что допустимый порт хоста предоставляет полномочия host-security.
Ссылки
- Apple XNU: kern_return.h
- Apple Kernel Programming Guide: порты и права Mach
- Apple Developer Documentation: коллекция интерфейсов Mach
Нужно найти другой код? Найти другой код состояния или ошибки.