Una respuesta trivial es que SEL4 es un microkernel seguro comprobado que prácticamente no tiene todo lo que necesita en un sistema operativo completamente funcional. Es seguro asumir todo lo que es tan no determinista que los expertos en el campo no pueden escribir tanto como una función auxiliar demostrablemente segura o un controlador demostrablemente seguro para un subconjunto bien definido es intrínsecamente inseguro.
Esta es la razón por la cual la mayoría de los sistemas operativos “seguros” tienen un núcleo de seguridad que efectivamente compartimenta los problemas de seguridad. Mientras el núcleo de seguridad sea correcto y todo lo atraviese, los problemas estarán confinados.
Esto, por supuesto, significa que el núcleo de seguridad debe implementarse, atravesarse y configurarse correctamente. El último es donde surgen muchos problemas en Linux. Los dos últimos, si no está utilizando un sistema Linux específicamente reforzado.
- ¿Puedo hacer investigación en informática si no estoy interesado en las matemáticas?
- ¿Cuáles son los documentos fundamentales sobre detección comprimida?
- ¿Qué es el modelo computacional y su relación con la arquitectura informática?
- ¿Cuál es más eficiente de usar para la investigación: Matlab o Python? ¿Hay mejores opciones?
- ¿Cuán cercanos / similares son el procesamiento de imágenes digitales y la visión por computadora? ¿Cuál es más difícil / importante?
Con OpenBSD, la auditoría y el endurecimiento han resultado en una inmunidad cercana a los ataques remotos, siempre que solo use la instalación estándar y el software de terceros auditado por igual (un fenómeno raro), con una contención mínima si alguien supera esa primera línea de defensa .
La seguridad de tipo OpenBSD es la estrategia del muro del castillo, el núcleo de seguridad está más cerca de un sistema de control militar moderno, el microkernel probado es una ciudad en una ciudad.
Los tres tienen problemas, diferentes para cada uno. Sin embargo, el denominador común es que los flujos no deterministas en un entorno no determinista nunca pueden estar libres de vulnerabilidades y que las decisiones de diseño harán que sea imposible solucionar algunos de los problemas. Un sistema no puede ser completo y correcto, y las vulnerabilidades pueden existir por estar incompletas o ser correctas.