В Linux более 400 системных вызовов, а в микроядрах их может быть меньше десяти. Но означает ли это, что микроядро автоматически безопаснее?
Тезис о безопасности микроядра обычно сводят к двум аргументам: меньше кода в ядре в общем и минус сторонние драйверы в ядре в частности. В новой статье Анна Мелехова, старший архитектор ПО «Лаборатории Касперского», идет дальше и разбирает, как эти количественные различия фактически меняют архитектуру защиты.
На примерах W^X, контроля передачи данных между пространством пользователя и ядром, точек вызова монитора безопасности автор показывает, как микроядерная архитектура усиливает изоляцию и повышает доверие к коду. А также почему KASLR и kCFI в микроядрах работают эффективнее, чем в монолите. При этом вывод сложнее простого тезиса «меньше кода — меньше уязвимостей»: значение имеют границы доверия и правила взаимодействия между компонентами.
Читайте полный разбор на Хабре.
В Linux более 400 системных вызовов, а в микроядрах их может быть меньше десяти. Но означает ли это, что микроядро автоматически безопаснее?
Тезис о безопасности микроядра обычно сводят к двум аргументам: меньше кода в ядре в общем и минус сторонние драйверы в ядре в частности. В новой статье Анна Мелехова, старший архитектор ПО «Лаборатории Касперского», идет дальше и разбирает, как эти количественные различия фактически меняют архитектуру защиты.
На примерах W^X, контроля передачи данных между пространством пользователя и ядром, точек вызова монитора безопасности автор показывает, как микроядерная архитектура усиливает изоляцию и повышает доверие к коду. А также почему KASLR и kCFI в микроядрах работают эффективнее, чем в монолите. При этом вывод сложнее простого тезиса «меньше кода — меньше уязвимостей»: значение имеют границы доверия и правила взаимодействия между компонентами.
Читайте полный разбор на Хабре.
Подпишитесь на наши сообщества и получите ссылку на дистрибутив в чате