
La European
Open Source Summit 2018 se celebró la semana pasada en Edimburgo, Escocia. Le presento una selección de informes interesantes sobre el kernel de Linux a los que he podido asistir.
1. Entre los discursos principales, me gustaría destacar The Kernel Report de Jonathan Corbet. Describió las principales tendencias de desarrollo del kernel de Linux en los últimos años. Por separado, se centró en eliminar las vulnerabilidades sensacionales de Spectre y Meltdown. Sus pensamientos me parecieron interesantes acerca de cómo eBPF desdibuja los límites entre el usuario y el espacio del núcleo.
2. Los especialistas de OTH Regensburg y Siemens han desarrollado el tema de Spectre y Meltdown en relación con tareas en tiempo real. Hablaron sobre cómo corregir estas vulnerabilidades afectaba el rendimiento del kernel de Linux con el parche Preempt-RT y el rendimiento del hipervisor Jailhouse.
3. Christoph Lameter hizo una excelente introducción a la gestión de memoria del kernel de Linux. Habló sobre la organización de la memoria física y virtual del proceso, sobre cómo rastrear en detalle su estado desde el espacio del usuario. En resumen, perfectamente distribuido todo en los estantes. ¿Y de qué otra forma puede realizar un mantenedor del asignador nuclear? Diapositivas:

4. Permítanme contarles también sobre mi informe sobre las lecciones de participación en el Proyecto Kernel Self Protection. El propósito del informe era involucrar a más entusiastas en la seguridad del kernel de Linux y compartir mi experiencia en el desarrollo de herramientas de protección del kernel. Hablé sobre la alineación de las fuerzas en la comunidad de seguridad y el
mapa de las principales herramientas de defensa personal . Luego, sobre el bloqueo de la desasignación de memoria doble en el kernel de Linux y trabaje para introducir PAX_MEMORY_STACKLEAK en el kernel de vainilla. Después del informe, siguió una comunicación útil e intercambio de ideas. Diapositivas:

5. Darren Hart habló sobre ordenar el kernel de Linux con Kconfig usando fragmentos de configuración. El núcleo tiene más de 10,000 opciones diferentes, dependen unas de otras de manera compleja, por lo que es muy inconveniente rastrear los cambios en la configuración del núcleo utilizando el sistema de control de versiones. Para facilitar la tarea de gestión de la configuración, el script merge_config.sh se introdujo desde el proyecto Yocto al núcleo de vainilla, lo que le permite trabajar con fragmentos de configuración. Darren le dijo cómo usarlo.
6. Will Deacon hizo una excelente y compleja charla sobre las primitivas del kernel de Linux que establecen el orden de las operaciones de E / S y DMA. Comenzó describiendo un modelo formal de memoria del núcleo, revisó las barreras de memoria regulares y luego pasó a la semántica de las barreras de E / S. Su excelente manera de hablar mantuvo a la audiencia enfocada hasta el final.
7. Lukas Bulwahn de BMW habló muy bien sobre el proyecto de investigación
SIL2LinuxMP , en el que también participé este año. Este proyecto está explorando la posibilidad de usar Linux en sistemas con sistemas críticos de seguridad incrementados. En primer lugar, Lucas explicó el concepto de confiabilidad desde el punto de vista de la ingeniería, luego habló sobre los aspectos técnicos y organizativos del proyecto SIL2LinuxMP, que involucra a una serie de grandes empresas manufactureras, personas de la comunidad académica y expertos independientes.
8. Matthew Garrett, quien recientemente trabaja en Google, habló sobre una serie de parches llamados
Kernel Lockdown . La idea es muy buena: es necesario poder proteger el núcleo del superusuario, por ejemplo, para que no pueda colocar el rootkit. Esto es lo que ha estado haciendo el núcleo de Windows durante mucho tiempo. Resulta que todas las principales distribuciones de Linux ya vienen con Kernel Lockdown. Sin embargo, esta serie de parches aún no está en el núcleo de la vainilla, y Matthew también explicó el trasfondo político de este hecho.
9. En el foro KVM, asistí a una excelente presentación sobre el modelo de seguridad QEMU. Stefan Hajnoczi describió la arquitectura de virtualización basada en QEMU / KVM, el perímetro de ataque de sus componentes y las formas de reducirlo. Diapositivas:

10. Greg Kroah-Hartman hizo una charla ferviente sobre cómo la comunidad del kernel de Linux eliminó varias opciones de Meltdown y Spectre, cómo se comportó Intel, qué lecciones se aprendieron de toda la historia y qué deberíamos esperar en el futuro. Por alguna razón, no hay diapositivas o videos en el dominio público, pero solo tengo que mencionar su discurso.
11. También quiero hablar sobre el informe de Knut Omang (Knut Omang) sobre el sistema de prueba unitaria para el kernel de Linux. Realmente me gustó su desempeño y el trabajo en sí. El orador trabaja en Oracle y, desafortunadamente, se le asignó la tarea de admitir un controlador de kernel de Linux de 20,000 líneas. Este controlador es de muy mala calidad y no es adecuado para el núcleo de vainilla. Sin embargo, Oracle lo proporciona y necesita mantener este código. Pero Knut no se desesperaba, decidió rectificar sistemáticamente la situación con la ayuda del desarrollo basado en pruebas y pruebas unitarias. El orador habló sobre el
Kernel Test Framework , que está desarrollando para esto.
12. Finalmente, hablaré sobre el informe anual de Kees Cook sobre el estado del Proyecto de autoprotección del núcleo (KSPP). La idea del proyecto es que la seguridad del sistema operativo es más que solo corregir errores en el código y compartir el acceso a los recursos. El sistema operativo debe ejecutarse de manera segura en caso de error o intento de ataque. Por lo tanto, KSPP tiene como objetivo eliminar clases enteras de vulnerabilidades y métodos de explotación en el kernel Linux de vainilla. Case Cook es el líder de este proyecto y también el encargado de mantener varios subsistemas nucleares. En su discurso, dio una visión general de los resultados de KSPP de la versión del kernel 4.14 a 4.20. Diapositivas:
Que tengas una linda vista!