Seguridad de DriverKit para macOS
DriverKit es la infraestructura que les permite a los desarrolladores crear controladores para dispositivos que el usuario instala en su Mac. Los controladores desarrollados con DriverKit se ejecutan en el espacio del usuario en lugar de en las extensiones de kernel, para mejorar la seguridad y la estabilidad del sistema. Esto facilita la instalación y aumenta la estabilidad y seguridad de macOS.
El usuario simplemente descarga la app (no se requieren instaladores al usar extensiones del sistema o DriverKit) y la extensión sólo se activa cuando es necesario. Esto reemplaza a las kexts en muchos casos de uso, lo que requiere privilegios de administrador para instalar en /Sistema/Biblioteca o /Biblioteca.
Se les aconseja a los administradores de TI que utilizan controladores de dispositivos, soluciones de almacenamiento en la nube o redes y apps de seguridad que requieren extensiones de kernel que se muden a versiones nuevas que estén construidas sobre las extensiones del sistema. Estas versiones nuevas reducen en gran medida la posibilidad de problemas en el kernel de la Mac, así como la superficie de ataque. Estas nuevas extensiones se ejecutan en el espacio del usuario, no requieren privilegios especiales obligatorios para la instalación y se eliminan automáticamente cuando la app que las agrupa se traslada al Basurero.
La infraestructura de DriverKit proporciona clases de C++ para los servicios de E/S, concordancia de dispositivos, descriptores de memoria y filas de envío. También define los tipos adecuados de E/S para números, colecciones, cadenas y otros tipos comunes. El usuario los utiliza con infraestructuras de controladores específicos para familias como USBDriverKit y HIDDriverKit. Usa la infraestructura de extensiones del sistema para instalar y actualizar un controlador.