Seguridad y Alta Disponibilidad Implantación de mecanismos de seguridad activa Félix Villanueva Molina Escuela Superior de Informática Universidad de Castilla-La Mancha Contenidos ● Ataques y software malicioso ● Herramientas http://www.esi.uclm.es 2 Ataques y software malicioso ● Introducción ● Clasificación de los ataques ● Software malicioso ● Anatomía de ataques http://www.esi.uclm.es 3 Introducción ● Redes abiertas heterogéneas ● Usuarios con mas confianza en la tecnología ● ● Mas peligrosos Herramientas de “Craking” mas sofisticadas – Requieren menos conocimientos técnicos Clasificación de los ataques: ● Interrupción del servicio ● Interceptación de información ● Modificación de información Interrupción del servicio ● Tambien llamado DoS (denial-of-service) ● La disponibilidad de un recurso es comprometida. – ● Ataques físicos: ● ● Se degrada su uso o directamente no se puede usar Cortes de cables, desconexión del hardware, interrupción del suministro eléctrico.. Ataques lógicos ● Apagado de servicios, saturar la red, saturar un servidor. Interceptación de información ● ● ● ● También llamado fuga de información Se obtiene información de sistemas diseñados para ser cerrados Programas como finger o el uso de la información de DNS pueden ayudar a saber quién esta en la red y su estructura. Se suelen utilizar para usarlos con posterioridad en otros ataques mas sofisticados. Interceptación de información ● Sistema operativo, parches de seguridad aplicados, navegador, etc. es información que proporcionan pistas de vulnerabilidad. ● Ej: a nivel de red la herramienta nmap. ● http://ccia.ei.uvigo.es/docencia/SSI/practicas/seg-redes-1/seg-redes-1.html Interceptación de información ● Ingeniería social ● El usuario como eslabón mas débil – – ● Según Kevin Mitnick – – – – ● Obtener información sensible Hacer ejecutar algún programa Todos queremos ayudar El primer movimiento es siempre de confianza hacia el otro No nos gusta decir No A todos nos gusta que nos alaben La educación de los usuarios es el único método eficaz Modificación de la información Incluye la creación, modificacion, borrado de datos relativos al sistema informático o de caracter personal/funcional de la persona/compañía que está siendo victima del ataque. ● Software malicioso: Clasificación ● Virus ● ● ● Malware que modifica el comportamiento normal de la computadora sin la autorización del usuario Archivos ejectuables, sectores de arranque, bios, tabla de participación. Gusanos: ● Iworm ● Malware que se duplica a si mismo ● No necesita modificar ficheros como el virus, puede residir en memoria. ● ● Pueden dejar el PC sin recursos, duplicarse a través de internet usando protocolos como SMTP, IRC, P2P Pueden ser la puerta de entrada de controles remotos por parte de terceras personas (ejemplo: Blaster Worm) Software malicioso: Clasificación ● Troyanos: ● ● Malware que se presenta al usuario como programas normales pero que al ejecutarlo realizan acciones dañinas. Se utilizan para establecer las denominadas botnet – ● Rootkits ● ● ● Redes de ordenadores infectados que a su vez se suelen usar para ataques de denegación de servicio. Conjunto de programas destinados a tener un ordenador bajo control, permitiendo su acceso remoto por personas no autorizadas y ocultar dicho control de cara al usuario. Se pueden utilizar junto con los troyanos para establecer una botnet Backdoors ● ● Secuencias de código especiales introducidas dentro de un sistema que permiten saltarse uno o varios sistemas de seguridad dentro del sistema. Muchas veces se introducen en el desarrollo del propio sistema con fines lícitos (testeo) Software malicioso: Clasificación ● Spyware ● ● Adware (Advertisement + software) ● ● Malware dedicado a recoger información del ordenador donde se encuentra instalado y a mandarla a través de la red sin la autorización del propietario del PC. Software que contiene publicidad que debe ser visualizada para usar el programa. Crimeware ● Software ideado para cometer crímenes (generalmente de tipo financiero y en el mundo empresarial) Software malicioso: Clasificación ● Dialer: ● Software que utilizan llamadas a números de teléfono para conectarse a internet. – – ● Hijacker ● ● Legitimos: usan los números de teléfono provistos por el proveedor de servicios. Malware: usan números de teléfono de tarificación especial Programas que cambian la configuración del navegador para cargar páginas no autorizadas. Joke ● Software que tratan de hacer pensar al usuario que ha sido infectado por un virus. Software malicioso: Clasificación ● Keylogger ● ● Malware que registra las pulsaciones de teclado y, eventualmente, puede mandarlas a través de la red para registrar sitios visitados, contraseñas, correos, etc. Hoax: ● ● Mensajes de correo que, mediante técnicas de ingeniería social, tratan de propagarse. El objetivo puede ser muy amplio, a veces, simplemente recoger direcciones de correo válidas para spam. Software malicioso: Clasificación ● Spam: ● ● ● Correo electrónico con publicidad no solicitada. Rogue: ● Falso programa de seguridad ● Ejemplo: ● http://blogs.eset-la.com/laboratorio/2008/12/02/animaciones-calidad-antivirus-falsos/ FakeAV: ● Simula ser un antivirus. (El rogue es una definición mas amplia) Anatomía de un Ataque ● Los ataques se pueden clasificar de varias formas. ● Somos un objetivo o un “Daño colateral” ● Un objetivo es cuando un hacker quiere explícitamente entrar en nuestro sistema. – ● Somos el centro de su ataque. Un “Daño colateral” es cuando somos infectados o la integridad del Sistema es vulnerada sin ser un objetivo explicito. – Esto puede ser causa de errores de usuario, virus, etc. Anatomía de Ataque ● Tipo de ataque a realizar: ● ● DoS, obtener información, eliminar información, modificar información, etc. Identificar objetivo: ● ● Ordenador particular, Ordenador corporativo (ej. servidor en la empresa), red corporativa, etc. Por que a nosotros? – – – Por hobby, Por interes económico, Por “odio” 1 Anatomía del ataque ● Obtener la máxima información del objetivo: ● Ingeniería social: ● Obtener datos del usuario/administrador del objetivo – – ● 2 Contraseñas pueden estar relacionadas con datos personales. Ejemplo: Pon tu nombre completo en google Herramientas para obtener información ● ● Sistema operativo, servicios activos, estructura de red, usuarios, recursos compartidos. Ej. nmap Anatomía del ataque nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all xx.xx.xx.xx […] Scanning est186.inf-cr.uclm.es (x.x.x.x.x) [1000 ports] Discovered open port 5900/tcp on x.x.x.x.x Discovered open port 80/tcp on x.x.x.x.x Discovered open port 111/tcp on x.x.x.x.x Discovered open port 22/tcp on x.x.x.x.x [...] Anatomía de un ataque Interesting ports on estxxx.inf-cr.uclm.es (x.x.x.x.x): Not shown: 1992 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.5p1 Debian 4 (protocol 2.0) |_ banner: SSH-2.0-OpenSSH_5.5p1 Debian-4 | ssh-hostkey: 1024 95:39:02:f7:61:5e:6a:7b:2d:38:fc:df:55:0c:e3:8b (DSA) |_ 2048 51:62:50:84:8e:f7:46:28:51:e1:53:65:99:d0:af:03 (RSA) 80/tcp open http Apache httpd 2.2.15 ((Debian)) |_ http-iis-webdav-vuln: ERROR: This web server is not supported. |_ html-title: Index of / 111/tcp open rpcbind | rpcinfo: | 100000 2 111/udp rpcbind | 100024 1 33252/udp status | 100000 2 111/tcp rpcbind |_ 100024 1 38407/tcp status 5900/tcp open vnc VNC (protocol 3.7) |_ banner: RFB 003.007 68/udp open|filtered dhcpc 111/udp open rpcbind 123/udp open ntp NTP v4 5353/udp open|filtered zeroconf No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ). Anatomía de un ataque Uptime guess: 22.001 days (since Thu Aug 12 11:41:10 2010) Network Distance: 0 hops TCP Sequence Prediction: Difficulty=203 (Good luck! ) IP ID Sequence Generation: All zeros Service Info: OS: Linux Host script results: | asn-query: | BGP: xx.xx.0.0/16 | Country: EU | Origin AS: 766 - REDIRIS RedIRIS Autonomous System |_ Peer AS: 1299 2914 3549 8928 20965 Anatomía de un ataque ● Con la información obtenida se buscan vulnerabilidades: ● Programas no actualizados, sistema operativo utilizado, estructura de red 2048 51:62:50:84:8e:f7:46:28:51:e1:53:65:99:d0:af:03 (RSA) 80/tcp open http Apache httpd 2.2.15 ((Debian)) |_ http-iis-webdav-vuln: ERROR: This web server is not supported. Servidor web no actualizado http://httpd.apache.org/security/vulnerabilities_22.html Anatomía de un ataque ● Acceso al equipo/Información: ● Atacar recursos compartidos ● Obtener contraseñas ● Instalar troyanos, puertas traseras, etc. ● Ingeniería social ● SQL Inyection ● Etc. 3 Anatomía de un ataque ● Hackers: ● Buscan vulnerabilidades en programas nuevos ● Crean la forma de explotarlos: – ● Ej. Obtener acceso al ordenador con los privilegios adecuados Es difícil defenderse de este tipo de personas – – – Se les puede complicar mucho la vida (IDS, Antivirus, politicas de seguridad) Afortunadamente hay pocos hackers Muchos de ellos sólo buscan aprender/ afrontar el reto Anatomía de un ataque ● El lamer: ● Se aprovechan del trabajo de los hackers, usan las vulnerabilidades encontradas por ellos ● Se aprovechan de servicios poco actualizados. ● Tienen menos conocimientos técnicos – ● Buscan explotar las vulnerabilidades con scripts o código de otras personas. La mejor defensa es tener los servicios actualizados Anatomía de un ataque ● Una vez que se tiene acceso al equipo: ● 4 Se consolida el ataque – – – Se trata de acceder a la máquina remota de forma rápida y efectiva cuando queramos Se trata de asumir el control total del equipo (privilegios de administrador) Se intenta acceder a otros recursos desde el equipo violado ● – Mas fácil supuesto estamos “Dentro” Se estudia el sistema de seguridad implantado. Anatomía de un ataque ● Borramos huellas ● ● 5 Eliminamos entradas en log Estudiamos el sistema para observar los rastros que podamos haber dejado y los eliminamos – Generalmente se automatiza este proceso auth.log.1:Sep 3 10:44:11 homer su[28548]: Successful su for root by xxxx auth.log.1:Sep 3 10:44:11 homer su[28548]: + /dev/pts/14 xxxx:root auth.log.1:Sep 3 10:44:11 homer su[28548]: pam_unix(su:session): session opened for user root by xxxx(uid=1000) Anatomía de ataques Fuente: http://www.segu-info.com/ataques/ataques.htm Enlaces interesantes ● ● http://www.seguridadenlared.org/es/index5esp.html http://sobrelistas.blogspot.com/2010/05/los-hackers-mas-famososde-la-historia.html http://www.galiciae.com/nova/48686.html Contenidos ● Ataques y software malicioso ● Herramientas 31 http://www.esi.uclm.es Contenidos A menudo son las mismas!! ● Herramientas preventivas: ● ● Herramientas paliativas: ● ● Evitar que el malware se instale en el sistema IT Evitar los daños provocados por el malware Actualizacion de sistemas y aplicaciones http://www.esi.uclm.es Herramientas preventivas/paliativas. ● ● Tratan de evitar cualquiera de los ataques que hemos visto en módulos anteriores. Incluyen: ● Encriptado de información en disco ● Antivirus ● Sistemas de detección de intrusos (IDS) ● Sistemas de prevención de intrusos (IPS) ● Backup 32 Encriptado de información en disco ● Este tipo de herramientas encriptan la información en disco. ● Permiten encriptar archivos y directorios – ● Mantienen la privacidad Ejemplos de este tipo de herramientas: ● FreeOTFE (windows) ● Crypt (windows, obsoleto) ● GNU privacy guard (GNU/Linux y con versión para MAC) ● Etc.. cuidado con los freeOTFE ● ● ● ● ● ● Crea discos virtuales. Al desmontar el volumen se cifra todo lo que se haya copiado. Al montar el volumen te pide la contraseña Gran variedad de posibilidades de encriptación (etapa 5/8). Licencia GPL, Versiones para windows, linux, windows mobile, etc. http://www.freeotfe.org/ freeOTFE freeOTFE freeOTFE freeOTFE freeOTFE freeOTFE freeOTFE freeOTFE freeOTFE freeOTFE freeOTFE Sistemas de detección/prevención de intrusos ● Sistemas IDS (Intrusion Detection System) ● Sistemas IPS (Intrusion Prevention System) ● Monitorizan la red ● En busca de ataques conocidos mediante firmas – – – – Cantidad de tráfico que se eleva de forma inusual Tráfico dirigido a todos los puertos o puertos no usuales Paquetes mal formados etc. Estructura IDS Fuentes de Datos (Interfaces de red, logs, etc.) Filtros y patrones Generación de Alarmas (SMS, e-mail, etc.) IDS ● Tipos de IDS ● HIDS: HOST IDS (ej. tripwire, aide) ● NIDS: NETWORK IDS (ej. snort) ● DIDS: DISTRIBUTED IDS HIDS ● ● ● Generalmente se trata de monitorizar archivos con el objeto de detectar si son modificados. Un ataque a través de la red incluye la modificación o reemplazo de ciertos archivos con el objetivo de tomar el control total del sistema. Los HIDS generalmente monitorizan archivos sensibles de forma periódica e informa si observa alteraciones HIDS:tripwire ● Dos versiones GPL y comercial. ● ● Monitoriza archivos según la configuración y la política que se desee. ● ● http://www.tripwire.com/it-compliance-products/te/ost/compare.cfm Altamente configurable La versión GPL disponible para GNU/Linux HIDS: tripwire HIDS: tripwire HIDS: tripwire HIDS: tripwire HIDS: tripwire HIDS: tripwire HIDS: tripwire HIDS:tripwire ● ● ● Archivos de configuración en /etc/ Los archivos twcfg.txt y twpol.txt definen la configuración y políticas respectivamente. ● Se editan y modifican en función del sistema ● Manten siempre una copia original twadmin permite configurar de nuevo toda la herramienta. felix@homer:/etc/tripwire$ ls homer-local.key site.key tw.cfg tw.pol twpol.txt twcfg.txt HIDS: tripwire ● ● ● La local key se usa para verificar/encriptar la base de datos con los archivos La site key-file se usa para verificar/encriptar los archivos de configuración y política Con tripwire se puede chekear el sistema: homer:/etc/tripwire# tripwire --check HIDS: tripwire Fuente: http://www.linuxjournal.com/article/8758?page=0,1 NIDS ● Generalmente cuando el HIDS notifica una intrusión puede ser demasiado tarde. ● ● ● ● El ya hacker esta dentro Si su objetivo es copiar/modificar información de nuestro equipo puede que llegemos tarde. No obstante evita que tomen el control de nuestra máquina. Los Network IDS tratan de detectar el tráfico de red del “Ataque” en curso y notificarlo ● Podría tomar acciones para evitarlo (IPS) NIDS: Emplazamiento Fuente: http://www.wikilearning.com/tutorial/taller_de_sistemas_de_deteccion_de_intrusiones_snortdonde_colocar_el_ids/4735-6 Herramienta IDS/IPS: Snort ● ● Licencia GPL http://www.snort.org Sniffer de red que permite configurar reglas de detección de los ataques mas frecuentes. ● Algunas reglas son de pago durante un tiempo ● http://www.snort.org/snort-rules/#rules ● Muy utilizado por los administradores de sistemas ● Muy flexible: ● http://www.snort.org/education Herramienta IDS/IPS: Snort homer:/home/felix# snort -vd Running in packet dump mode --== Initializing Snort ==-Initializing Output Plugins! *** *** interface device lookup found: eth0 *** Initializing Network Interface eth0 Decoding Ethernet on interface eth0 --== Initialization Complete ==-,,_ -*> Snort! <*o" )~ Version 2.8.5.2 (Build 121) '''' By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team Copyright (C) 1998-2009 Sourcefire, Inc., et al. Using PCRE version: 8.02 2010-03-19 Not Using PCAP_FRAMES 09/08-13:08:39.900234 ARP who-has 161.67.27.33 tell 161.67.27.243 09/08-13:08:40.438923 ARP who-has 161.67.27.104 tell 172.20.48.14 [...] Herramienta IDS/IPS: Snort [...] UDPdisc: 0 (0.000%) ICMPdis: 0 (0.000%) FRAG: 0 (0.000%) FRAG 6: 0 (0.000%) ARP: 3 (25.000%) EAPOL: 0 (0.000%) ETHLOOP: 0 (0.000%) IPX: 0 (0.000%) OTHER: 1 (8.333%) DISCARD: 0 (0.000%) InvChkSum: 0 (0.000%) S5 G 1: 0 (0.000%) S5 G 2: 0 (0.000%) Total: 12 ========================== Action Stats: ALERTS: 0 LOGGED: 0 PASSED: 0 ============ Snort exiting Backup ● ● ● Una política adecuada de copias de respaldo es, sin lugar a dudas, el pilar básico de la seguridad de sistema informáticos con independencia del tamaño y la complejidad de este último. Se puede considerar una herramienta de prevención y también paliativa. Multitud de herramientas existentes para todos los sistemas operativos del mercado. Backup FUENTE: http://es.wikipedia.org/wiki/Anexo:Aplicaciones_de_copias_de_seguridad Backuppc ● Licencia GPL, web http://backuppc.sourceforge.net/ ● Utiliza rsync para las copias ● Dotado de interfaz web de administración ● Archivo de configuración: ● /etc/backuppc/config.pl Backuppc ● Configuración: $Conf{RsyncClientRestoreCmd}: Sentencia que se ejecuta para hacer los backups. Ej: $Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l backuppc $host $rsyncPath $argList+'; Fuente: http://administradores.educarex.es/wiki/index.php/BackupPC._Backup_de_equipos_con_rsync BackupPC Fuente: http://www.xuni.it/index.php?c=p04 Backuppc: configuración Fuente: http://administradores.educarex.es/wiki/index.php/BackupPC._Backup_de_equipos_con_rsync $Conf{ServerHost}: Debe aparecer el nombre del equipo servidor. Ej: $Conf{ServerHost} = 'a01-pro.lacimurga.ex' $Conf{WakeupSchedule}: Indica durante que horas está levantado el demonio para realizar los backups. Ej: $Conf{WakeupSchedule} = [16..18] Levantado de 4 a 6 de la tarde. $Conf{BackupPCUser}: Es el usuario del servidor. El que creamos en la instalación. Ej: $Conf{BackupPCUser} = backuppc $Conf{FullPeriod}: Periodo de tiempo cada cuanto se quiere hacer un backup Completo (Full Backup) Ej: $Conf{FullPeriod} = 1 1 vez al día. $Conf{BlackoutPeriods} : Perido en el cual los equipos no están operativos para realizar un backup. No se si este parámetro es necesario indicarlo Ej: $Conf{BlackoutPeriods} = [ { hourBegin => 7.0, hourEnd => 8.0, weekDays => [1, 2, 3, 4, 5], },]; Le he puesto que no se pueden hacer backups de 7 a 8 de la mañana de Lunes a Viernes. $Conf{XferMethod} : Indica el método de copia de archivos. Mediante la herramienta rsync. Ej: $Conf{XferMethod} = 'rsyncd'; Backuppc Backuppc Backuppc Backuppc Backuppc Antivirus ● ● ● Herramienta imprescindible (en entornos windows) y que analizan un sistema IT en busca de virus/malware. Existen diversas técnicas para detectar virus Las mas comunes se basan en actualizaciones de bases de datos que contienen información sobre el malware existente. ● Cadenas que identifican a ese malware ● Dependen de la actualización de la base de datos Antivirus ● Las actualizaciones deben realizarse muy frecuentemente: http://www.kaspersky.com/viruswatch3 Antivirus ● También se usan tecnicas de IA para identificar código que generalmente se involucra en malware. ● ● ● En otras ocasiones se analiza el comportamiento de las aplicaciones. Generalmente los antivirus existentes actúan cuando la infección se ha producido. ● ● No hace falta un listado exhaustivo de los virus existentes. Demasiado tarde en algunas ocasiones. Existen multitud de opciones en el mercado ● Con distintas licencias, precios, características. Antivirus ● Comparativa: http://www.pcasalvo.com/ Actualización de sistemas y aplicaciones ● ● Los ataques a los sistemas provienen de la instalación y uso de herramientas. Las mas frecuentes y que son fuentes de problemas en los PC's de usuario: ● Correo electrónico ● Navegador Web ● Intercambio de archivos en redes P2P ● Aplicaciones tipo messenger Actualización de sistemas y aplicaciones ● ● Servidores de red y sistemas operativos también son vulnerables. Como norma general debemos actualizar de forma regular: ● Todos los servidores de red en nuestro sistema IT ● El sistema operativo de todas las máquinas ● Las aplicaciones en uso por los usuarios Actualización de sistemas y aplicaciones ● Las actualizaciones suelen reparar vulnerabilidades detectadas en la aplicación/servicio ● ● ● Automáticamente se inactiva todo el malware diseñado para esa vulnerabilidad. Todos los sistemas operativos cuentan con un método de actualización automático que podemos configurar. Los fabricantes de los servicios sacan parches de seguridad para resolver vulnerabilidades. Actualización de sistemas y aplicaciones Actualización de sistemas y aplicaciones Actualización de sistemas y aplicaciones Informática forense ● Una vez que hemos sido víctimas de un ataque podemos emprender acciones legales. ● Es dificil ya que: – – – ● Identificar la fuente original es difícil Puede involucrar diferentes paises, con diferentes leyes, etc. Debemos aportar pruebas del ataque y/o daño sufrido. Este último punto representa el objetivo de la informática forense Informática forense ● El Análisis Forense de Sistemas (Computer Forensics) comprende el proceso de extracción, conservación, identificación, documentación, interpretación y presentación de las evidencias digitales de forma que sean legalmente aceptadas en cualquier proceso legal (por ejemplo un juicio). Fuente: Juan Manuel Canelada Oset “Análisis Forense de Sistemas Linux” Informática forense ● Adquirir las evicencias sin alterar ni dañar el original. ● ● ● ● Sin utilizar las herramientas del propio sistema comprometido Conservando la Cadena de Custodia Comprobar que las evidencias recogidas son identicas a la original (herramientas hash) Analizar los datos sin modificarlos ● Copias “bit a bit” Fuente: Juan Manuel Canelada Oset “Análisis Forense de Sistemas Linux” Monitorización del tráfico en redes ● Las herramientas de monitorización son ampliamente usadas en: ● Depuración de protocolos ● IDS ● Para obtener información de la red y de su uso. Ejemplo: wireshark ● Sniffer de red muy utilizado ● GPL ● Disponible para windows y linux ● ● Con una gran funcionalidad en cuanto a filtros, análisis de “conversaciones”, protocolos reconocidos, etc. http://www.wireshark.org/ Ejemplo: wireshark Ejemplo: wireshark Ejemplo: wireshark Ejemplo: wireshark Ejemplo: wireshark Ejemplo: wireshark Y muchas mas.. ● Virtualización de servidores de red ● Scaneo de puertos ● ● ● http://www.seguridadenlared.org/es/index5esp.html Auditoría de contraseñas: ● http://www.microsoft.com/latam/protect/yourself/password/checker.mspx ● http://howsecureismypassword.net/ Etc..