@ed0 brevemente, mi charla de hoy tendr? la siguiente estructura:
@ed0 comenzar? hablando nuestra estrategia fundamental a la hora de detectar gusanos
@ed0 desde ese punto hablar? de los conceptos de m?s alto nivel
@ed0 como el an?lisis del tr?fico
@ed0 all? analizaremos los datos para distinguir las tendencias que se ven cunado los gusanos comienzan a trabajar
@ed0 denominadas "tasas de tr?fico" y caracter?sticas
@ed0 desde ese punto hablaremos de los nuevos tipos de an?lisia que no he visto a otros realizar
@ed0 y que estoy actualmente desarrollando bajo el t?tulo de "an?lisis de correlaci?n"
@ed0 creo que se trata de una t?cnica muy potente y muy prometedora
@ed0 despu?s hablar? sobre an?lisis que podemos realizar actualmente de los gusanos como tales, una t?cnica muy interesante para comprender su capacidad de expansi?n
@ed0 por ?ltimo hablar? de los honeynets y los monitores "ciegos", algunos de mis mecanismos favoritos para examinar la actividad de los gusanos
@ed0 no creo que tengamos tiempo para hablar de t?cnicas basadas en firmas tipo snort o prelude
@ed0 jfs ya dio una buena charla de estos temas y os sugiero que mir?is en los logs de su charla y sus transparencias
@ed0 Voy a intentar focalizarme m?s en las t?cnicas de detecci?nd e guasnos hol?sticas ???
@ed0 e incluso en la detecci?n inmediata de gusanos
@ed0 snort y otros tipos de detecci?n similares requieren conocimiento previo del tipo de ataque
@ed0 An?lisis de tr?fico
@ed0 Lo m?s importante en la detecci?n de gusanos en una red es el an?lisis del tr?fico
@ed0 aqu? capturamos tr?fico y analizamos sus propiedades para intentar deducir sus tendencias
@ed0 esto es un indicador t?pico de algo raro en la red, y un an?lisis m?s profundo puede llevarnos a detectar un gusano
@ed0 por supuesto, antes de detectar un comportamiento extrano en la red debemos conocerla perfectamente
@ed0 este conocimiento implica una ?nlisis previo de protocolos, puertos y niveles de carga
@ed0 pero esta t?cnica se aplica con mejores resultados cuando el gusano busca activamente sus objetivos por medio de barridos aleatorios
@ed0 estas t?cnicas pueden aplicarse a gusanos que tienen listas predefinidas de objetivos o utilizan m?todos pasivos, pero eso requiere un mayor an?lisis
@ed0 cuando un nuevo gusano se detecta en una red, el nivel de tr?fico para un determinado servicio se incrementar? en una forma que aparecer? como exponencial
@ed0 esto se muestra m?s abajo en un gusano que afect? a los sistemas windows
@ed0 los datos fueron capturados en una red con un patr?n de tr?fico destinado al puerto UDp 137, utilizado para la compartici?n de ficheros en windows
@ed0 este gusano usaba t?cnicas de barrido activo para identificar los objetivos a los que atacar, provocando un incremento en la actividad de red asociada a este servicio
@ed0 en esta imagen puede verse la fase previa al gusano, donde se aprecian tasas bajas de este tipo de tr?fico
@ed0 y entonces, cuando el gusano comenza a expandirse, el nivel crece de forma muy apreciable
@ed0 es un patr?n t?pico.
@ed0 se puede ver mucha variabilidad en estos datos, incluso entre unos d?as y otros (estos datos se han obtebido desde un firewall durante un perido concreto de tiempo)
@ed0 puede ser analizado con esta simple ecuaci?n para determinar su nivel de expansi?n y el n?mero de hosts afectados
@ed0 P(t) = (KP0)/(P0-(K-P0)e^-rt)
@ed0 podemos ajustar esta ecuaci?n a varios valores de r, que define la tasa de crecimiento
@ed0 en la siguiente figura podemos ver representada esta ecuaci?n con diversos valores de e
@ed0 percibiendo que a menudo que r crece, la tasa de creciemiento la sigue
@ed0 (en este gr?fico el valor se muestra como k)
@ed0 http://monkey.org/~jose/presentations/worms-infosec03/figs/growth1.png
@ed0 obviamente, cuando "r" crece y crece la tasa en la que nos acercamos al valor "plateau" se incrementa
@ed0 el valor de "r" para el code-red fue significativamente m?s bajo que el correspondiente al gusano sapphire
@ed0 este modelo conformar? la base central de nuestra estrategia de detecci?n
@EMPEROR un analisis de conducta de la red
@ed0 / fuentes de datos //
@EMPEROR capturas de paquete crudo es hecho normalmente por herramientas como tcpdump y etereas.
@EMPEROR aqui un servidor escucha libertinamente a todos trafico de otro y paquetes de capturas para analysis. estos poder ser pre filtrado, por ejemplo "mostrarme solo tcp trafico a y desde esta red,"
@EMPEROR o el puede ser todo y el puede ser ordenado fuera en una fecha mas tarde. captura de paquete crudo es rapidamente mostrando sus limitaciones de velocidad como alcance de redes gigabit red de eter al escritorio. sin embargo, si usted desea examinar la carga util del trafico,
@EMPEROR usted tendra a captura los paquetes crudos. una estrategia alternativa es a captura de empleo
@EMPEROR caro/analysis hardware en su infrastructure equipo, tal como una rmon2 cuchilla en un cisco catalyst enchufe.
@EMPEROR  tambien, porque tantos paquetes son capturas, ellos son el mejor analyzed en tiempo real como opuesto a corpulencia analysis en una fecha mas tarde.
@EMPEROR flujo (red)neto es una abstractocion del trafico de capa de paquete. en flujo (red)neto, usted obtiene los resumenes de las IP cabeceras
@EMPEROR este es hecho tipicamente por el infrastructure equipo, tal como un enchufe o un mas mandar. unos aspectos de representacion de flujo (red)neto tipico como el siguiente:
@EMPEROR  Start             End               Sif   SrcIPaddress    SrcP  DIf   DstIPaddress    DstP    P Fl Pkts       Octets
@EMPEROR <jose_n> 1030.22:56:34.0   1030.22:56:34.0   0     10.10.32.1      44262 0     203.36.198.97   80    6   0  1          66
@EMPEROR en algunos caminos usted obtiene un lote mas informacion, por ejemplo usted puede ver que interfaces eran implicados en su trafico.
@EMPEROR sin embargo, usted perde toda informacion sobre la carga util de sus paquetes aparte desde el tamagno.
@ed0 netflow escala incre?blemente bien en redes grandes y puede ser utilizado para detectar gusanos adem?s de
@ed0 otros tipos de ataques en la red.
@ed0 Netflow tambi?n escala en redes muy r?pidas
@EMPEROR (red)neto tambien basculas muy bien a redes mas rapidas, con el routers realizando "muestra" en los datos. en este scenario 1 de cadas 1000 paquetes o asi pueden ser muestras (esta proporcion es variable).
@ed0 con los routers "muestrando" datos
@ed0 en este escenario uno de cada 1000 paquetes puede ser muestreado (este ratio es variable)
@ed0 Cisco dispone de soporte netflow
@ed0 al igual que caida (en su kit de herramientas cflowd)
@ed0 adem?s el kit "flow-tool" de la universidad de Ohio es muy ?til
@ed0 por ?ltimo, los ficheros de logs tambi?n pueden ser analizados
@ed0 por ejemplo, los gusanos que atacan los servidores web pueden dejar huellas en los ficheros de logs
@ed0 por ejemplo, Code-Red y Nimda dejaban en los ficheros de logs rastros como estos:
@ed0 192.168.37.175 - - [05/Aug/2001:07:53:40 -0400] "GET /default.ida?XXX ... HTTP/1.0" 404 205
@ed0 simplemente analizando los ficheros de log en un sistema o en varios pod?a medirse la actividad del gusano
@ed0 / an?lisis de correlaci?n //
@ed0 Ahora que ya estamos capturando datos vamos a analizarlos
@ed0 recordad que mientras que estos gusanos buscan activamente equipos para comprometer,
@ed0 contactar?n aleatoriamente con equipos contra los que intentar?n su ataque
@ed0 adem?s, esta lista de ataques est? normalmente bien definida
@ed0 si sabemos esto podremos cruzar esta informaci?n para detectar gusanos incluso sin conocer todos sus detalles
@ed0 El an?lisis de correlaci?n presupone que cualesquiera dos eventos que est?n vinculados de alg?n modo (por ejemplo vinculados al mismo origen o evento) suceder?n el el mismo intervalo de tiempo
@ed0 este an?lisis ha sido muy popular en el an?lisis de mol?culas, donde dos eventos o m?todos de detecci?n son realizados para ver si las mol?culas interact?an.
@ed0 si las se?ales muestran muchos enlaces temporales, las dos mol?culas est?n probablemente enlazadas
@ed0 aqu? hacemos el mismo tipo de an?lisia pero para eventos en la red
@ed0 el primer tipo de an?lisis de correlaci?n de eventos que he estado divulgando se denomina "correlaci?n de eventos cruzado"
@ed0 en el caso de un gusano como slapper, que afectaba a los servidores con el m?dulo mod_ssl
@ed0 el ataque del gusano estaba precedido por un barrido en la red para detectar los servidores web a los que atacar
@ed0 por este motivo hab?a un peque?o intervalo de tiempo entre ek barrido de la red para identificar los servidores web y el atque
@ed0 en las redes normales puede observarse este mismo patr?n, pero cuando interviene un gusano los tiempos entre unso y otros son menores
@ed0 la siguiente figura muestra una peque?a muestra del gusano slapper en una red de pruebas
@ed0 http://monkey.org/~jose/presentations/worms-infosec03/figs/cross-correlation.png
@ed0 <jose_n> the y axis shows the number of events and the x axis shows the time interval bet
@ed0 el eje de las "y" refleja el n?mero de eventos y el de las "x" el intervalo de tiempo entre el barrido y el ataque del gusano
@ed0 l?gicamente, este tipo de datos es muy dif?cil de obtener cuando se trata de una amenaza nueva (de d?a 0)
@ed0 puesto que es muy dif?cil conocer el comportamiento del gusano para poder vincular ambos eventos
@ed0 Sin embargo pueden establecerse filtros gen?ricos que intenten detectar barridos en una red para un host y un puerto concreto que luego son seguidos por un ataque en dicho puerto
@ed0 estos ataques pueden ser detectados por los IDS o por el an?lisis de los logs que muestra actividad anormal en un servicio concreto
@ed0 Una m?s poderosa (y f?cil de calcular) correlaci?n es la "auto-correlaci?n"
@ed0 En este tipo de an?lisis, el intervalo de tiempo entre dos muestras de la misma actividad
@ed0 Se caracteriza como m?s potente porque es m?s f?cil de detectar en tiempo real
@ed0 ???
@ed0 En este caso veremos distintos intentos contra el servidor SSL ???
@ed0 http://monkey.org/~jose/presentations/worms-infosec03/figs/auto-correlation.png
@ed0 En el eje de las "y" tenemos el n?mero de detecciones y en las "x" el tiempo entre dos del mismo gusano.
@ed0 aqu? puede apreciarse una tendencia fuerte para que el intervalo entre dos ataques sucesivos de un gusano sea muy breve (en este caso peticiones del fichero "root.exe")
@ed0 Bajo condiciones normales el intervalo entre estos sucesos ser?a aleatorio.
@ed0 Este an?lisis tiene un problema con dos tipos de eventos
@ed0 el primero es el efecto "slashdot" (barrapunto.com para los de aqu?)
@ed0 por el cual un servidor web se convierte en algo muy popular muy r?pidamente
@ed0 y el tr?fico se ve incrementado de forma muy significativa
@ed0 El segundo es un DDOS (denegaci?n de servicio distribuida)
@ed0 durante el cual un servidor es atacado por muchos otros sitios
@ed0 en cada caso el an?lisis b?sico reflejar? como si las peticiones se produjeran en un per?odo muy corto
@ed0 sin embargo un an?lisis posterior revelar?a que no se trataba de un gusano sino de otra "anomal?a"
@ed0 / analizando el motor de an?lisis //
@ed0 El an?lisis del tr?fico puede estar asistido por el an?lisis aislado de un engine que genera direcciones de red aleatorias para que el gusano ataque.
@ed0 En este caso se requiere acceso al c?digo fuente del gusano o descompilarlo
@ed0 en las siguientes figuras podemos ver el resultado de este an?lisis en los generadores de "objetivos" de dos gusanos distintos
@ed0 El primero es el SQLsnake que usa una lista de redes predefinidas a las que atacar
@ed0 el gusano estaba codificado en javascript y enfocado a barrer unos segmentos de red m?s que otros, basandose precisamente en el n?mero de hosts que encontraba en cada segmento
@ed0 sin embargo terminaba buscando e direcciones aleatorias para encontrar m?s equipos por los que expandirse
@ed0 http://monkey.org/~jose/presentations/worms-infosec03/figs/SQLsnake.png
@ed0 Esta tendencia de afectar a unas redes frente a otras se puede observar inmediatemante en el siguiente diagrama de direcciones de red frente a muestras
@ed0 esto significa que determinadas redes, como la de cable de USA (64/8) ser? m?s atacada que la 50/8
@ed0 otro gusano que fue analizado es el Slapper
@ed0 podemos ver 1000 muestras en las que se aprecia que algunas redes son aleatorias pero otras no
@ed0 http://monkey.org/~jose/presentations/worms-infosec03/figs/Slapper.png
@ed0 Lo que podemos aprender de esto es c?mo el gusano puede extenderse y c?mo podemos detectarlo y defendernos de el
@ed0 usando esta informaci?n podemos instalar sistemas de detecci?n en los sitios correctos y monitorizar su actividad algo mejor que si estuvi?ramos a ciegas.
@ed0 /blackhole detectors and honeypots//
@ed0 / trampas, para que nos entendamos //
@ed0 La siguiente es una de mis t?cnicas favoritas de detacci?n, la red "agujero negro"
@ed0 estas redes son aquellas que no se usan pero que son enrutadas (es decir, reciben tr?fico)
@ed0 su valor consiste en el hecho de que un gusano que intenta propagarse activamente intantar? contactar con equipos en esta red, con la ventaja que ning?nj otro tr?fico ir? destinado all? normalmente
@ed0 mientras que el gusano ser? incapaz de propagarse por esa red, podr? ser detectado y correlado como un evento an?malo
@ed0 un simple filtro de tcpdump para 3 subredes "agujero negro" podr?a ser:
@ed0 tcpdump -ni fxp1 net 10.11.12.32/27 or 10.11.12.96/27 or 10.11.12.128/27 -w /var/log/blackhole.pcap
@ed0 as? capturar?amos la informaci?n en el fichero /var/log/blackhole.pcap que podr?amos analizar despu?s
@ed0 tambi?n puedes "pillar" a los que escanean tu red, pero si comienzas a ver un creciemiento exponencial en el n?mero de equipos que intentan conectarse con este rango de direcciones lo m?s posible es que tengas un gusano en tu red
@ed0 un script sencillo que puede usarse para analizar estos datos puede encontrarse en:
@ed0 http://monkey.org/~jose/wiki/wiki.php?page=DetectingsWorms
@ed0 no es algo tan eficiente como podr?a ser (estar?a mejor en C, python o perl), pero muestra c?mo puedes totalizar la informaci?n
@ed0 Sin esto, la b?squeda de tendencias ser?a muy dif?cil
@ed0 [omito el script, es muy grande]
@ed0 puedes incluso intentar sacar un gr?fico con los datos de tal modo que te permitir? ver las tendencias.
@ed0 Por ejemplo puedes dibujar los puertos destino en el tiempo contra las direcciones IP origen, y cualquier incremento en la densidad de puntos te permitir? identificar un evento
@ed0 la representaci?n visual de gran cantidad de informaci?n resulta muy ?til en estos casos
@ed0 ahora, cuando ejecut?is el programa contra nuestra captura de datos ver?is el resultado de la actividad en la red "agujero negro"
@ed0 $ tcpdump -ntttr /var/log/blackhole.pcap | ./process.sh
@ed0 packet logs from Nov 03 18:11:48.527192 to Nov 04 13:01:56.111967
@ed0 top ten source addresses are:
@ed0   45 65.4.18.253
@ed0 [el resto se omite]
@ed0 aqu? tenemos unos cuantos datos, y si los comparamos con la actividad del per?odo previo podemos empezar a ver una tendencia
@ed0 este es el motivo por el cual hay veces que es mejor sacar gr?ficos de las cosas
@ed0 tales como el n?mero de or?genes y destino en determinados per?dos de tiempo
@ed0 una t?cnica muy buena para identificar este tipo de actividad es montar un honeypot (trampa) dentro de la red "agujero negro"
@ed0 en ella se usar? un demonio arpd para aceptar tr?fico de una subred completa y as? resp?nder a las solicitudes de conexi?n (pero a nada m?s)
@ed0 el primer paquete de datos contendr? suficiente informaci?n como para identificar a la mayor?a de los gusanos (pero no a todos)
@ed0 las "honeypots" (trampas) pueden usarse como mecanismo de respuesta ante yun nuevo gusano, tal como el del UDP 137 que hemos comentado antes
@ed0 aqu? se pueden observar el tr?fico de la red y detectar incrementos de indicar?an un gusano
@xpato ok
@ed0 tambi?n puede instalarse un honeypot (trampa) y dejar que sea atacado e infectado para poder desconectarlo posteriormente e investigar el gusano con detalle.
@ed0 puedes obtener mucha informaci?n del gusano , y normalmente binarios / ejecutables, pero normelmente no conseguir?s gran cobertura. ???
@ed0 Herramientas como "honeyd" de Niels Provos son muy buenas
@ed0 pero por el simple hecho de que no pueden ser infectadas como un equipo normal
@xpato requerda que los "honyepots" pueden admeas atacarte, lo que significa que debes controlar su comportamiento para ser un buen ciudadano
@ed0 no te ayudar?n a capturar algunos de los ejecutables de los gusanos
@xpato un "honeypot" es una labor intensta, ssignifica que tienes que identificar cual es el tipo ataque, construir y desplegar un sistema para imitarlo y permitir que sea comprometido
@xpato para alguno operadores de seguridad, esto puede no valer el tiempo, todos ellos quieren saber en que host apagar el firewall y en que servicios
@xpato aun asi, para el investigador o alguien quien construya sus propias firmas para su IDS, proxy scanner, o sistemas retroactivos, este es un paso necesario
@xpato conclusiones:
@ed0 / conclusiones //
@xpato este es solo un breve  paso sobre las tecnicas para detectar gusanos
@ed0 Es importante detectar r?pidamente y de forma precisa los gusanos
@ed0 tales como el siguiente code-red o e sapphire
@ed0 si quieres proteger tu red
@xpato la premisa basica aqui es observar tu red y detectar fallas, tipicamente cuando mas y mas host empiezan a actuar en forma anomala
@ed0 la premisa b?sica aqu? es inspeccionar tu red  y detectar tendencias
@xpato si esta informacion es dificil desplegar defensas para la red
@xpato estas tecnicas se ha mostrado utiles para un numero creciente de gente, pero todavia estan en su infancia
@xpato gracias por su tiempo y atencion, espero que les halla resultado interesante
@xpato APLAUSOS!!
@MJesus clap clap clap clap clap clap clap clap clap clap

Generated by irclog2html.pl 2.1 by Jeff Waugh - find it at freshmeat.net!