Una Kernel Collection es un archivo binario pre-enlazado y firmado criptográficamente que contiene un conjunto de extensiones de kernel (KEXTs) de terceros, junto con sus dependencias y metadatos. Su propósito principal es mejorar la seguridad y la estabilidad del sistema operativo macOS, al garantizar que solo el código de kernel autorizado y verificado pueda ser cargado. A diferencia de la carga individual de KEXTs, la Kernel Collection permite que el sistema operativo valide la integridad y la autoría de múltiples KEXTs de un mismo proveedor de manera eficiente antes de que se les permita ejecutarse en el espacio de kernel.
La implementación más prominente de Kernel Collection se encuentra en macOS, a partir de macOS Catalina (10.15) y consolidándose en versiones posteriores. Apple la introdujo como parte de sus esfuerzos para modernizar la seguridad del kernel y reducir la superficie de ataque. Por ejemplo, los drivers de hardware de terceros (como tarjetas gráficas, dispositivos de audio o adaptadores de red) que tradicionalmente se implementaban como KEXTs individuales, ahora deben ser empaquetados y firmados dentro de una Kernel Collection para poder ser cargados. Esto también se aplica a soluciones de seguridad o virtualización que requieren acceso a bajo nivel del sistema.
Para un Arquitecto de Sistemas, la Kernel Collection es crucial porque impacta directamente en la estrategia de integración de software de bajo nivel y en la seguridad de la plataforma. Obliga a los desarrolladores a adoptar un enfoque más riguroso en la firma y empaquetado de sus KEXTs, lo que reduce el riesgo de inyección de código malicioso o inestable en el kernel. Sin embargo, también introduce fricción en el desarrollo y despliegue, ya que cualquier cambio en una KEXT dentro de la colección requiere una nueva firma y validación. Los arquitectos deben considerar este trade-off entre seguridad reforzada y la complejidad de gestión, especialmente en entornos donde se utilizan soluciones de terceros que interactúan profundamente con el sistema operativo. La planificación de la cadena de suministro de software y la gestión de certificados se vuelven aspectos críticos.