Denis Kopyrin @aglab2
macOS Kernel Developer & Researcher
Как защищать процессы и расширения ядра в macOS

Я скорее пытался сказать, что решаемая проблема появляется не только в macOS, но и в многих других операционных системах. Вы правильно заметили, что в Solaris и BSD также kill присутствует.
0
LookИспользование перехватов операций для бэкапа файлов в macOS “на лету”

- Вероятность основывается на результатах blame коммитов в ядро XNU GitHub blame для VNOP_CREATE и GitHub blame для struct vnode. Видно, что структура vnode менялась последний раз 3 года назад против 6 лет для VNOP_CREATE.
- Все верно, именно каскад и должен использоваться. Также необходимо валидировать саму таблицу, производя чтение ее содержимого — хотя бы проверить, что в таблице находятся указатели на функции.
+1
LookИспользование перехватов операций для бэкапа файлов в macOS “на лету”

Здравствуйте!
- Как я понимаю, flock является лишь advisory, то есть нельзя гарантировать, что любое приложение поведет себя корректно и попросит flock перед записью.
- Синхронный запрос можно заменить асинхронным, который будет производить чтение части, которая еще не была сохранена. Я рассматриваю этот подход как улучшение текущего, но уже сейчас я проверяю нужно ли делать copy-on-write — в сервисе. Также пока живу с замедлениями текущего подхода.
- На macOS 10.16 скорее всего начнут отрезать поддержку загрузки 3rd party кекстов, поэтому все равно придется переходить на DriverKit API. Мой способ в любом случае скоро станет deprecated, поэтому делюсь хитростями пока еще есть шанс поэкспериментировать. Да и подход не такой уж варварский, в read-only секции и чужие кексты не пишем
0
LookInformation
- Rating
- Does not participate
- Location
- Долгопрудный, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity