Linux Kernel Hardening - BugCON 2013

Post on 24-May-2015

673 views 1 download

Tags:

description

Slides for BugCON 2013 Security Conferences

transcript

Linux Kernel Hardening

Alvaro Soto ( @alsotoes )http://headup.ws - alsotoes@gmail.com

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