Upload
alvaro-soto
View
680
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Slides for BugCON 2013 Security Conferences
Citation preview
Linux Kernel Hardening
Alvaro Soto ( @alsotoes )http://headup.ws - [email protected]
Friday, February 15, 13
Alvaro que?
• Developer
• Infraestructura // Arquitecturas OpenSource
• Hardening & Tuning geek... freak
• Linux (Gentoo Lover)
• Kernel Vanilla Sources
Friday, February 15, 13
• Por triste que suene... el Kernel de Linux no posee herramientas contra muchos tipos de ataques.
• En cuanto a la memoria, por defecto deja hacer lo que se antoje.
• Y en controles de acceso DAC estrictamente no cuenta como esquema de seguridad... avanzado
Por que hardening al Kernel ?
Friday, February 15, 13
Estatus de vulnerabilidades
Integer Overflows
Buffer Overflows
Race/tmpfiles
Race/non-tmpfiles
Bad malformed data handling
Lack of environment checks
Generic bugs and bad design
Kernel/Generic
Kernel/Buffer Overflow
0 12.50 25.00 37.50 50.00
USN AnalysisFriday, February 15, 13
Entonces:
¿ Es seguro el Kernel de Linux ?¿ Que tan seguro es ?
Friday, February 15, 13
Entonces:
¿ Se puede asegurar ?¿ Que tanto ?
Friday, February 15, 13
Estatus de vulnerabilidades
Integer Overflows
Buffer Overflows
Race/tmpfiles
Race/non-tmpfiles
Bad malformed data handling
Lack of environment checks
Generic bugs and bad design
Kernel/Generic
Kernel/Buffer Overflow
0 12.50 25.00 37.50 50.00
USN AnalysisFriday, February 15, 13
Contra que necesitamos protección?
?Friday, February 15, 13
Contra que necesitamos protección?
Friday, February 15, 13
Contra que necesitamos protección?
Friday, February 15, 13
Contra que necesitamos protección?
• Controles de acceso
• DAC v/s MAC..... no mas chmod 777 a todo lo que se pueda.
• El usuario root es omnipotente.
• Memoria.
• Modificación del address space.
• Ejecución de codigo arbitrario.
• Filesystem.
• Races (tmp races).
• chroot
Friday, February 15, 13
Condideraciones “básicas”
• De bajo a alto nivel.
• Configurar cada rincón del sistema.
• Estándares y politicas de seguridad.
• Instalar parches de seguridad continuamente.
• Auditar cada acción del sistema.
Friday, February 15, 13
RTFMFriday, February 15, 13
DAC v/s MAC
Friday, February 15, 13
DAC v/s MAC
• Usuarios no pueden cambiar sus politicas de seguridad.
• Se puede separar el espacio de trabajo de los usuarios con distintos contextos.
• Politicas muy bien definidas:
• Usuarios, archivos, directorios
• Memory, Sockets, tcp/udp ports... etc., etc.
Friday, February 15, 13
Memory Protection
• DEP (Data execution prevention).
• Se divide la memoria en ejecutable y lectura.
• ASLR (Address space layout randomization).
• Tareas del kernel.
• Posición de las librerias.
• Tareas del usuario (userland stack).
• UNA VIOLACION DE ALGUNA DE ESTAS POLITICAS PRODUCE QUE EL KERNEL MATE EL PROCESO, CAMBIANDO UN POSIBLE ACCESO POR UN DOS.
Friday, February 15, 13
GRSecurity & PAX
V/S
SELinux
Friday, February 15, 13
GRSecurity & PAX
• Control de acceso Mandatorio por medio de RBAC definidas en ACL.
• Generación automatica de reglas.
• Proteccion del filesystem con bloqueos de:
• chroot
• mount
• mknod
Friday, February 15, 13
SELinux
• Un ejemplo de Mandatory Access Control para Linux.
• Etiquetar todo a lo que necesita aplicar una politica.
• user:role:type:level(opcional)
• Comandos con argumentos extendidos ----->>>> -Z
• ls -Z
• id -Z
• ps -Z
• netstat -Z
Friday, February 15, 13
Preguntas ????
Friday, February 15, 13
GRACIAS !!!!!
Friday, February 15, 13