440 likes | 544 Views
ACI – 425 SEGURIDAD INFORMÁTICA. Unidad 5: Sistemas de detección de intrusos. Objetivos Específicos. Conocer las diferencias técnicas para detección de intrusos y aplicarlas en demostraciones practicas y en casos de la vida real. Contenidos. Conceptos preliminares.
E N D
ACI – 425SEGURIDAD INFORMÁTICA Unidad 5: Sistemas de detección de intrusos
Objetivos Específicos Conocer las diferencias técnicas para detección de intrusos y aplicarlas en demostraciones practicas y en casos de la vida real.
Contenidos • Conceptos preliminares. • Técnicas de detección de intrusos. • Herramientas para detección de intrusos. • Herramientas y métodos de hacking basados en ambientes Open Source.
Intrusos • Un problema significativo de seguridad para los sistemas en red es el acceso hostil o no autorizado por parte de usuarios ó de software. • La entrada ilegal de usuarios puede ser mediante acceso no autorizado a un equipo, adquisición de privilegios ó realizar acciones para las que no ha sido autorizado, mientras que en el caso del software puede tratarse de virus, gusanos ó caballos de Troya. • Un intruso, generalmente conocido como hacker ó cracker, puede ser clasificado como: • Suplantador: individuo NO autorizado a usar un computador • Usuario fraudulento: usuario legítimo que accede a datos, programas ó recursos a los que no está autorizado. Normalmente es un usuario interno. • Usuario clandestino: individuo que toma el control de supervisión del sistema y lo usa para evadir los controles de auditoría y de acceso ó para suprimir información de auditoría.
Técnicas de intrusión • El objetivo del intruso es obtener acceso a un sistema ó aumentar el rango de privilegios por él accesibles dentro del sistema, lo cual requiere que adquiera información protegida. • En la mayoría de los casos, la información se encuentra protegida bajo la contraseña de algún usuario. • El archivo de contraseñas puede ser protegido mediante: • Cifrado unidireccional: crypt • Control de acceso: /etc/shadow
Esquema de contraseñas UNIX Carga de una nueva contraseña Verificación de una contraseña
Dificultades para descubrir contraseñas • Probar las contraseñas predeterminadas que se usan con las cuentas estándar suministradas con el sistema. • Probar exhaustivamente contraseñas cortas. • Probar las palabras del diccionario en línea del sistema ó una lista de posibles contraseñas tomadas de tablones de hackers. • Recoger información sobre los usuarios. • Probar números asociados a los usuarios. • Probar las patentes de autos. • Usar un caballo de Troya para evitar restricciones de acceso. • Interceptar la línea entre un usuario remoto y el host.
Etapas de una intrusión • Escanear la red para localizar: • cuales direcciones IP se están usando, • cuál es el sistema operativo, • cuales puertos TCP o UDP están “open”, o sea, con servicios escuchando por peticiones de posibles clientes en ellos. 2. Ejecutar “Exploit scripts” contra los puertos abiertos. 3. Ganar acceso al programa Shell que tiene privilegios “root” porque es de nivel super usuario “suid”. 4. Obtener versiones especiales de los archivos del sistema de sitios Web de hackers que permitirán tener acceso libre en este equipo posteriormente sin que el tiempo de uso del procesador ni el espacio de disco utilizado sean detectados por programas de auditoría. 5. Utilizar IRC (Internet Relay Chat) para invitar a otros amigos (hackers – crackers) a disfrutar del banquete.
Escáner de puertos • El escaneo de puertos consiste en analizar por medio de un programa el estado de los puertos de una máquina conectada a una red de comunicaciones. • Detecta si un puerto está abierto, cerrado, o protegido por un cortafuegos. • Se utiliza para detectar qué servicios comunes está ofreciendo la máquina y posibles vulnerabilidades de seguridad según los puertos abiertos. • También puede llegar a detectar el sistema operativo que está ejecutando la máquina según los puertos que tiene abiertos. • Es usado por administradores de sistemas para analizar posibles problemas de seguridad, pero también es utilizado por usuarios malintencionados que intentan comprometer la seguridad de la máquina o la red. • Existen varios programas para escanear puertos por la red. Uno de los más conocidos es Nmap, disponible tanto para Linux como Windows.
Detección de intrusiones • Herramienta usada por el personal de seguridad para proteger una organización de ataques. • Concepto reactivo que intenta identificar a un hacker cuando éste intenta una penetración. • También puede ayudar a la identificación proactiva de las amenazas activas, proporcionando indicaciones y advertencias de que una amenaza está reuniendo información para un ataque.
Técnicas para detección de intrusos • El funcionamiento típico de las herramientas para detectar intrusos se basa en el análisis pormenorizado del tráfico de red, el cual, al entrar al analizador, es comparado con firmas de ataques conocidos o comportamientos sospechosos, como puede ser el escaneo de puertos, paquetes malformados, etc. • Comúnmente se utiliza un Sistema para Detección de Intrusos (Intrusion Detection System – IDS) que tiene sensores virtuales (sniffer de red) con los que el núcleo del IDS puede obtener datos externos sobre el tráfico de red. • Gracias a dichos sensores, el IDS detecta anomalías que pueden ser indicio de la presencia de ataques o falsas alarmas. • Un IDS no sólo analiza qué tipo de tráfico es, también revisa el contenido y su comportamiento. • Los IDS suelen disponer de una base de datos de “firmas” de ataques conocidos. • Dichas firmas permiten al IDS distinguir entre el uso normal del PC y el uso fraudulento, y/o entre el tráfico normal de la red y el tráfico que puede ser resultado de un ataque o intento del mismo.
Integración con firewall • Normalmente el IDS se integra con un firewall. • El detector de intrusos es incapaz de detener los ataques por sí solo, excepto los que trabajan conjuntamente en un dispositivo de puerta de enlace con funcionalidad de firewall. • Al integrarles, se obtiene una herramienta muy poderosa que une la inteligencia del IDS y el poder de bloqueo del firewall, el punto por donde forzosamente deben pasar los paquetes y donde pueden ser bloqueados antes de penetrar en la red.
Tipos de IDSs Existen tres tipos de sistemas de detección de intrusos: • HIDS (HostIDS): un IDS vigilando un único ordenador y por tanto su interfaz corre en modo no promiscuo. La ventaja es que la carga de procesamiento es mucho menor. • NIDS (NetworkIDS): un IDS basado en red, detectando ataques a todo el segmento de la red. Su interfaz debe funcionar en modo promiscuo, capturando así todo el tráfico de la red. • DIDS (DistributedIDS): sistema basado en la arquitectura cliente-servidor, compuesto por una serie de NIDS (IDS de redes) que actúan como sensores centralizando la información de posibles ataques en una unidad central que puede almacenar o recuperar los datos de una base de datos centralizada. La ventaja es que en cada NIDS se puede fijar unas reglas de control especializándose para cada segmento de red. Es la estructura habitual en redes privadas virtuales (VPN).
HIDS • Sus sensores pueden determinar diversos tipos de eventos, así como si el ataque tuvo éxito. • Los cinco tipos básicos de sensores son: • Analizadores de bitácoras (logs): Vigila los archivos apropiados del sistema. • Sensores basados en firmas: Compara el tráfico de la red con conjuntos de firmas de eventos de seguridad. • Analizadores de llamadas al sistema: Revisan las llamadas entre aplicaciones y sistema operativo. • Analizadores del comportamiento de la aplicación: Se analiza si la aplicación tiene permisos para ejecutar la acción. • Verificadores de la integridad de los archivos: No proporciona identificación de ataque, expone en detalle los resultados del ataque.
Ventajas Puede estar completamente oculto en la red de modo que un atacante no sabrá que está siendo monitoreado. Se puede emplear un NIDS simple para monitorear el tráfico en un gran número de sistemas objetivo potenciales. Puede capturar el contenido de todos los paquetes que viajan hacia un sistema objetivo. Desventajas Sólo puede dar alarma si el tráfico coincide con reglas ó firmas previamente configuradas. Puede perder tráfico de interés debido a uso de ancho de banda elevado ó de rutas alternas. No puede determinar si el ataque tuvo éxito. No puede examinar el tráfico que está cifrado. Las redes conmutadas requieren configuraciones especiales para que el NIDS pueda examinar todo el tráfico. NIDS
Detectando la intrusión Existen dos metodologías: • Detección estadística de anomalías: Recopilar datos sobre el comportamiento de los usuarios legítimos. • Detección de umbral (Treshold detection): Caracterizar la frecuencia con que se producen acontecimientos. • En base al perfil del usuario (Profile based): Caracterizar actividad típica de cada usuario. • Detección en base a reglas (Rule based detection): Definición de reglas que pueden usarse para determinar si corresponden a un comportamiento de intruso. • Detección de anomalías (Anomaly detection): Las reglas sirven para detectar desviaciones respecto a modelos de uso previos. • Identificación de penetración (Penetration identification): Se buscan comportamientos sospechosos mediante técnicas de Sistemas Expertos (Inteligencia Artificial).
Mediciones utilizadas para detectar intrusiones • Frecuencia de conexión por dia y hora (Login frequency by day and time). • Frecuencia de conexión desde diferentes lugares (Frequency of login at different locations). • Tiempo desde la última conexión (Time since last login). • Fallos con la contraseña al conectarse (Password failures at login). • Frecuencia de ejecución (Execution frequency). • Ejecuciones denegadas (Execution denials). • Frecuencia de lectura, escritura, creación y borrado (Read, write, create, delete frequency). • Conteo de fallas en lectura, escritura, creación y borrado (Failure count for read, write, create and delete).
Establecimiento de un IDS • Definir los objetivos: • Detección de los ataques • Prevención de los ataques • Detección de las violaciones a la política • Imposición de las políticas de uso • Imposición de las políticas de conexión • Recolección de la evidencia • Elegir que se monitorea • Elegir la respuesta • Establecer límites • Implementar la política
Detectada la intrusión • Puede identificarse al intruso y expulsarlo del sistema. • Un método efectivo para detectar intrusos puede evitar intrusiones. • La detección de intrusiones permite recolectar información sobre las técnicas de intrusión que puede emplearse para fortalecer las capacidades de prevenir intrusiones. • Las respuestas pueden ser: • Pasivas • Activas
Administración de un IDS • Eventos de reconocimiento • Exploraciones furtivas • Exploraciones de puertos • Exploraciones de caballos de Troya • Exploraciones de vulnerabilidades • Fisgoneo de archivos • Ataques • Violaciones a la política • Compartir archivos • Mensajería instantánea • Sesiones de telnet • Comandos “r” (rlogin, rsh, rexec,…) • Eventos sospechosos ó inexplicables • Identificar los sistemas • Registrar el tráfico adicional entre la fuente de emisión y el destino de la misma • Registrar todo el tráfico desde la fuente • Registrar el contenido de los paquetes desde la fuente
Herramientas para detección de intrusos • Registros de auditoría • Sistemas para detección de intrusos: • SNORT • NESSUS • Detección distribuida • Tarros de miel (Honeypots)
Auditoría de sistemas de información • Es realizada para verificar el funcionamiento y la distribución de los controles en los procesos de información de una empresa, organización o cualquier sistema que utilice medios de información. • Puede ser realizada por un equipo interno o externo, principalmente para encontrar fallas en el sistema analizado que permitan optimizar, homogenizar, acercar, y proteger los procesos informáticos, ya que el flujo de la información se facilita en cuanto se automatiza reduciendo el error humano.
Auditoría de seguridad de sistemas de información • Estudio que comprende el análisis y gestión de sistemas para identificar y posteriormente corregir las diversas vulnerabilidades que pudieran presentarse en una revisión exhaustiva de las estaciones de trabajo, redes de comunicaciones o servidores. • Una vez obtenidos los resultados, se detallan, archivan y reportan a los responsables quienes deberán establecer medidas preventivas de refuerzo, siguiendo siempre un proceso secuencial que permita a los administradores mejorar la seguridad de sus sistemas aprendiendo de los errores cometidos con anterioridad. • Permiten conocer en el momento de su realización cuál es la situación exacta de sus activos de información en cuanto a protección, control y medidas de seguridad. • Realizarlas con cierta frecuencia asegura la integridad de los controles de seguridad aplicados a los sistemas de información. Acciones como el constante cambio en las configuraciones, la instalación de parches, actualización de software y la adquisición de nuevo hardware hacen necesario que los sistemas estén continuamente verificados mediante auditoría.
Fases de una auditoría Los servicios de auditoría constan de: • Enumeración de redes, topologías y protocolos. • Identificación de sistemas y dispositivos. • Identificación de los sistemas operativos instalados. • Análisis de servicios y aplicaciones. • Detección, comprobación y evaluación de vulnerabilidades. • Medidas específicas de corrección. • Recomendaciones sobre implantación de medidas preventivas.
Tipos de auditoría Pueden ser de distinta índole: • Auditoría de seguridad interna. Se contrasta el nivel de seguridad y privacidad de las redes locales y corporativas de carácter interno • Auditoría de seguridad perimetral. El perímetro de la red local o corporativa es estudiado y se analiza el grado de seguridad que ofrece en las entradas exteriores • Test de intrusión. Método mediante el cual se intenta acceder a los sistemas para comprobar el nivel de resistencia a la intrusión no deseada. Es un complemento fundamental para la auditoría perimetral. • Análisis forense. El análisis forense es una metodología de estudio ideal para el análisis posterior de incidentes, mediante la que se trata de reconstruir cómo se ha penetrado en el sistema, a la par que se valoran los daños ocasionados. Si los daños han provocado la falta de operabilidad del sistema se denomina análisis postmortem. • Auditoría de páginas Web. Entendida como el análisis externo de la Web, comprobando vulnerabilidades como la inyección de código SQL, Verificación de existencia y anulación de posibilidades de Cross Site Scripting (XSS), etc. • Auditoría de código de aplicaciones. Análisis del código tanto de aplicaciones, páginas Web, así como de cualquier tipo de aplicación, independientemente del lenguaje empleado.
Registros de auditoría • Registros nativos: Los sistemas operativos multiusuarios incluyen software que recoge información sobre la actividad de los usuarios (accounting). La ventaja de utilizar esta información es que no se necesita un software adicional de recopilación de datos. La desventaja es que estos informes pueden no contener la información necesaria ó no contenerla de una manera conveniente. • Registros específicos para la detección: Se puede implementar una herramienta que contenga sólo la información requerida por el IDS. Las ventajas están en independencia del vendedor y portabilidad a diversos sistemas. La desventaja es el costo de procesamiento adicional involucrado.
Herramienta tcpdump • Herramienta en línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red. • tcpdumppermite al usuario capturar y mostrar en tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está atado: • Para depurar aplicaciones que utilizan la red para comunicar. • Para depurar la red misma. • Para capturar y leer datos enviados por otros usuarios o computadores: • Algunos protocolos como TELNET y HTTP no cifran los datos que envían hacia la red. • Un usuario que tiene el control de un router a través del cual circula tráfico no cifrado puede usarle para lograr contraseñas u otras informaciones. • Existe versión para Windows: WinDump.
Comando tcpdump (2) • Es necesario tener los privilegios del root para utilizarlo. • El usuario puede aplicar varios filtros para que sea más depurada la salida. • Un filtro es una expresión que va detrás de las opciones y que permite seleccionar los paquetes que se buscan. • En ausencia de filtros, tcpdump volcará todo el tráfico visible por el adaptador de red seleccionado. • Aún cuando es considerada una herramienta de auditoría muy útil, no se le considera un verdadero IDS, puesto que no analiza ni señala paquetes por anomalías: imprime toda la información de paquetes a la salida en pantalla o a un archivo de registro sin realizar ningún tipo de análisis.
Snort • Sniffer de paquetes y detector de intrusos basado en red que monitoriza todo un dominio de colisión. • Es un software muy flexible que ofrece la capacidad de almacenar sus bitácoras tanto en archivos de texto como en bases de datos abiertas como MySQL. • Implementa un motor de detección de ataques y barrido de puertos que permite registrar, alertar y responder ante cualquier anomalía previamente definida. • Así mismo existen herramientas de terceros para mostrar informes en tiempo real (ACID) o para convertirlo en un Sistema Detector y Preventor de Intrusos. • Este IDS implementa un lenguaje de creación de reglas flexible, potente y sencillo. • Al instalarlo, suministra filtros o reglas para backdoor, DDoS, finger, FTP, ataques Web, CGI, Nmap, etc...
Modos de funcionamiento de Snort • Puede funcionar: • como sniffer: modo en que puede verse en consola y en tiempo real lo que ocurre en nuestra red, todo nuestro tráfico; • registro de paquetes: permite guardar en un archivo los logs para su posterior análisis offline; • o como un IDS normal (en este caso NIDS). • Cuando un paquete coincide con algún patrón establecido en las reglas de configuración, se guarda la información correspondiente en el registro de auditoría (log). • Así se sabe cuando, de donde y cómo se produjo el ataque.
Ventajas de Snort • Está disponible bajo licencia GPL, gratuito y funciona bajo plataformas Windows y UNIX/Linux. • Dispone de muchos filtros o patrones ya predefinidos, así como actualizaciones constantes ante casos de ataques, barridos o vulnerabilidades que vayan siendo detectadas a través de los distintos boletines de seguridad. • Su característica más apreciada, además de su funcionalidad, es su subsistema flexible de firmas de ataques. • Snort tiene una base de datos de ataques que se está actualizando constantemente y a la cual se puede añadir o actualizar a través de la Internet. • Los usuarios pueden crear 'firmas' basadas en las características de los nuevos ataques de red y enviarlas a la lista de correo de firmas de Snort, para que así todos los usuarios puedan beneficiarse. • Esta ética de comunidad y compartir ha convertido a Snort en uno de los IDSes basados en red más populares, actualizados y robustos.
Nessus • Programa de escaneo de seguridad en diversos sistemas operativos. • Consiste en: • nessusd, el daemon Nessus, que realiza el escaneo en el sistema objetivo, y • nessus, el cliente (basado en consola o gráfico) que muestra el avance y reporte de los escaneos. • Desde consola, nessus puede ser planificado para hacer escaneos periódicos programados con cron. • En operación normal, nessus comienza escaneando los puertos con nmap o con su propio escaner para buscar puertos abiertos y después intentar varios exploits para atacarlo. • Las pruebas de vulnerabilidad, disponibles como una larga lista de plugins, están escritas en NASL (Nessus Attack Scripting Language, Lenguaje de Scripting de Ataque Nessus), un lenguaje scripting optimizado para interacciones personalizadas en redes. • Opcionalmente, los resultados del escaneo pueden ser exportados en reportes en varios formatos, como texto plano, XML y HTML. Los resultados también pueden ser guardados en una base de conocimiento para referencia en búsquedas futuras de vulnerabilidades. • Algunas de las pruebas de vulnerabilidades de Nessus pueden causar que los servicios o sistemas operativos se corrompan y caigan. El usuario puede evitar esto desactivando "unsafe test" (pruebas no seguras) antes de escanear.
Detección distribuida de la intrusión • La organización necesita defender un conjunto de hosts en una LAN ó en redes conectadas entre si. • Se puede lograr una defensa mas efectiva mediante la coordinación y cooperación entre los sistemas de detección de intrusos de toda la red. • La arquitectura general consta de tres componentes (módulos) principales: • Agente del host. • Agente monitor de LAN. • Administrador central.
Detección distribuida de la intrusión Agente Arquitectura
Características • La arquitectura es general y flexible. El esquema está diseñado para ser independiente de cualquier sistema operativo ó implementación de auditoría del sistema. • Su funcionamiento se realiza mediante el siguiente esquema: • A bajo nivel, el agente captura cada registro de auditoría. • Audita conexiones entre los diversos hosts, servicios usados y volumen de tráfico. • Un módulo lógico basado en plantillas analiza dichos registros en busca de actividades sospechosas. • El agente explora buscando acontecimientos importantes de interés tales como cambios repentinos en la carga de la red, uso de servicios de seguridad y actividades de conexión. • En un nivel superior, el agente busca secuencias de acontecimientos tales como patrones conocidos (firmas) de ataques. • Por último, el agente busca comportamientos anómalos de un usuario individual basado en un perfil histórico de dicho usuario. • Cuando se detecta una actividad sospechosa, se envía la alerta correspondiente al administrador. • El administrador central incluye un sistema experto que puede perfilar interferencias de los datos recibidos.
Honeypots • Se denomina Honeypot al software o conjunto de computadores cuya intención es atraer a crackers o spammers, simulando ser sistemas vulnerables o débiles a los ataques. • Es una herramienta de seguridad informática utilizada para recoger información sobre los atacantes y sus técnicas. • Constituyen una reciente innovación en las tecnologías para detección de intrusos. • Pueden distraer a los atacantes de las máquinas más importantes del sistema, y advertir rápidamente al administrador del sistema de un ataque, además de permitir un examen en profundidad del atacante, durante y después del ataque al honeypot. • Algunos son programas que se limitan a simular sistemas operativos no existentes en la realidad y se les conoce como honeypots de baja interacción y se usan fundamentalmente como medida de seguridad. • Otros trabajan sobre sistemas operativos reales y son capaces de reunir mucha más información. Sus fines suelen ser de investigación y se los conoce como honeypots de alta interacción. • Un tipo especial de honeypot de baja interacción son los sticky honeypots (pegajosos) cuya misión fundamental es reducir la velocidad de los ataques automatizados y los rastreos.
Honeyproxies • Exposing the Underground: Adventures of an Open Proxy Server • This paper discusses the abuse of misconfigured HTTP proxy servers, taking a detailed look at the types of traffic that flow through this underground network. • Also discussed is the use of a "honeyproxy", a server designed to look like a misconfigured HTTP proxy. • Using such a tool we can spy on the Internet underground without the need for a full-blown honeypot.
Preguntas • ¿Qué significa detección de intrusiones? • Mencione y explique las características de los principales tipos de IDSs • Si una organización desea proteger su servidor Web de alteraciones, ¿qué tipo de IDS sería la mejor selección? Caracterice. • Si el costo es la preocupación principal y la organización desea detectar ataques, ¿qué tipo de IDS sería la mejor selección? Caracterice.
Referencias en Internet(Conjunto mínimo en español) • SEGURIDAD EN UNIX Y REDES • Red Hat Enterprise Linux 4 - Manual de seguridad • Sistema de Prevención de Intrusos • Sistema de detección de intrusos • Sistemas de detección de intrusos (otro enlace) • Sistemas de Detección de intrusos y Snort
Referencias de apoyo en Internet Sitios útiles: • Seguridad de Puertos TCP/IP en Soporte técnico de NewPlanet • ADSL Ayuda Otras referencias (mínimo en Inglés): • Information Security Learning Guides • Linux Security Cookbook • The HoneyNet Project
Bibliografía en Textos • Eric Maiwald “Fundamentos de Seguridad de Redes” Parte III. Tecnologías de seguridad. • William Stalings “Fundamentos de Seguridad en Redes: Aplicaciones y Estándares” Segunda Parte. Aplicaciones de seguridad en redes. • Richard Bejtlich “El Tao De La Monitorización De La Seguridad De Redes” Prentice Hall 1ra ed. 2005, ISBN: 8420546003