miércoles, 30 de marzo de 2016

Tsunami potente herramienta

Tsusen. Herramienta para detectar tráfico anómalo


En el episodio de hoy vamos a jugar con una herramienta del señor Miroslav Stampar llamada Tsusen para monitorizar el tráfico de red de nuestro equipo expuesto a Internet y detectar patrones de comportamiento raros. El propio autor define la herramienta como:



Tsusen (津波センサー) is a standalone network sensor made for gathering information from the regular traffic coming from the outside (i.e. Internet) on a daily basis (e.g. mass-scans, service-scanners, etc.). Any disturbances should be closely watched for as those can become a good prediction base of forthcoming events. For example, exploitation of a newly found web service vulnerability (e.g. Heartbleed) should generate a visible "spike" of total number of "intruders" on affected network port.

Para comprender la capacidad de esta sencilla herramienta vamos a ponerla en marcha en un equipo y vamos a escuchar al mundo.

sudo apt-get install python-pcapy
sudo pip install python-geoip python-geoip-geolite2
cd /tmp/
git clone https://github.com/stamparm/tsusen.git
cd tsusen/
sudo python tsusen.py



En el fichero tsuse.conf podemos modificar la configuración del interface de red que queremos poner a la escucha, puertos o direcciones ip que queremos excluir del informe, y el puerto del servidor web. Servidor web? Si, la potencia de la herramienta reside en ofrecernos un conjunto de gráficas y datos ya analizados en un webserver.

Ahora es cuando realmente vemos el por qué usar esta tool. Nos facilita gráficamente el número de direcciones ip que "han tocado" a algún puerto. Nos guarda todos los datos de ip-origen-destino-puertos y sobre todo, nos guarda el campo "primera vez visto" y el "última vez visto" además de un contador. Todo ello gráficamente para nuestros reportes y análisis.



Muy útil para no sobrecargar el firewall con las reglas y el log/siem. Muy útil para sistemas aislados o honeypots. Como podemos configurar que puertos obviar, podemos quitar los sistemas en producción y dejar algún puerto menos habitual, o cualquier necesidad que se te ocurre.

Espero que hayan disfrutado el aporte.
Atte. SKY

jueves, 24 de marzo de 2016

ESTRATEGIA

parte2
La estrategia planteada para realizar un analisis es como se muestra a continuación:

1. Recopilación de información
  • Localizar la documentación escrita.
  • Realizar entrevistas a las partes implicadas.
  • Realizar una inspección general del sistema.

2. Análisis y Brainstorming

  • Identificación de los activos críticos: Asegurar una inversión correcta en tiempo y recursos es el objetivo último de nuestro modelado. Por lo que resulta vital determinar cuales son los activos que no pueden ser comprometidos sin acarrear consecuencias negativas para el negocio.
  • Utilizando anotaciones, dibujos y un listado de componentes, el grupo de trabajo describe el sistema y se crea una lista de los activos, identificando los más críticos. Conviene prestar especial cuidado en no perder demasiado tiempo tratando de identificar activos intangibles, ya que suelen ser difíciles de describir.

3. Creación de un borrador del modelado

  • Descomponer el sistema.
  • Identificación de interdependencias con otros sistemas.
  • Identificación de posibles puntos de ataque y amenazas.
  • Clasificación y priorización de las amenazas.
  • Definición de las contramedidas.
4. Revisión y actualización


  • Corrección y mejora el modelado a medida que el sistema evoluciona y se toman decisiones sobre la tecnología utilizada.
  • Revisión de las amenazas, los riesgos y las contramedidas antes de su implementación.
  • Ajuste del modelado en función de los resultados obtenidos tras una revisión inicial de la seguridad, previa a la puesta en explotación.

5. Implementación de las medidas correctivas

  • En función de la magnitud del riesgo y el coste asociado a su mitigación, se implementan las diferentes contramedidas. Conseguiremos de este modo, no sólo obtener un marco de referencia que nos permitirá focalizar mejor la inversión en seguridad, sino que al mismo tiempo lograremos mitigar de manera más efectiva las posibles amenazas. No nos olvidemos tampoco que el hecho de implicar a los diferentes actores (desarrolladores, gerentes, administradores de sistemas, testers …. etc ) en cualquier proceso que ataña al término seguridad ya es de por sí todo un logro, muy positivo, y aún será mayor si esta planificación se realiza desde las primeras etapas del desarrollo.

Asi debe iniciar un analisis forence

Antes de ir al analisis de data, debemos hacer un modelado de amenazas


El modelado de amenazas es una técnica de ingeniería cuyo objetivo es ayudar a identificar y planificar de forma correcta la mejor manera de mitigar las amenazas de una aplicación o un sistema informático.

Para aprovechar mejor los beneficios que proporciona su uso, en un escenario ideal debería iniciarse desde las primeras etapas del desarrollo y planificación de cualquier aplicación o sistema. La verdadera ventaja de esta técnica reside en el hecho de que al aplicarse como un proceso durante todo el ciclo de vida de desarrollo del software, supone un enfoque diferente al tradicional análisis de riesgos y la posterior aplicación de medidas que contribuyan a mejorar la seguridad. Es por esto que el análisis y modelado de amenazas, aunque es un campo relativamente nuevo, está despertando un gran interés.

El análisis y modelado de amenazas, trata por lo tanto, de un proceso que nos va a facilitar la comprensión de las diferentes amenazas de seguridad a las que va a estar expuesto un sistema o una aplicación, y cuya finalidad es preparar las defensas adecuadas durante las fases de diseño, implementación y también durante su posterior revisión y testeo. Se trata de identificar las amenazas y definir una política adecuada que nos permita mitigar el riesgo a unos niveles aceptables,
de una forma efectiva y en base a unos costes razonables. Básicamente, consiste en revisar el diseño y/o la arquitectura siguiendo una metodología que nos facilite encontrar y corregir los problemas de seguridad actuales o futuros. La idea que persigue esta técnica es que los diferentes actores
involucrados (desarrolladores, testers, gerencia, administradores de sistemas, pentesters, consultores …etc.) participen en el proceso de identificación de las posibles amenazas. Tomando una actitud defensiva y también poniéndose en ocasiones, en el papel de un posible atacante. Siguiendo este enfoque, se fuerza a todos ellos a explorar las debilidades que puedan surgir o que ya estén presentes, y se determina de este modo si existen las oportunas contramedidas, o en caso
contrario, se definen.
Al mismo tiempo, la realización de un modelado de amenazas contribuye a identificar y cumplir con los objetivos de seguridad específicos de cada entorno y facilita la priorización de tareas en base al nivel de riesgo resultante.

Consideraciones previas al proceso de modelado
No está de más tener presente que la explotación con éxito de un sólo fallo de seguridad podría comprometer todo el sistema. Por ello, y para conseguir que nuestro modelado de amenazas resulte efectivo, es importante tener en cuenta que se debe realizar como un proceso sistemático, en continua actualización. De este modo conseguiremos identificar y mitigar el mayor número posible de
amenazas y vulnerabilidades.
En tal sentido nuestro modelado de amenazas debería ser capaz de:


  1. Identificar amenazas potenciales así como las condiciones necesarias para que un ataque se logre llevar a cabo con éxito.
  2. Facilitar la identificación de las condiciones o aquellas vulnerabilidades que una vez eliminadas o contrarrestadas, afectan a la existencia de múltiples amenazas.
  3. Proporcionar información relevante sobre cuales serían las contramedidas más eficaces para contrarrestar un posible ataque y/o mitigar los efectos de la presencia de una vulnerabilidad en nuestro sistema/aplicación.
  4. Proveer información sobre cómo las medidas actuales previenen la consecución de ataques.
  5. Transmitir a la gerencia la importancia de los riesgos tecnológicos en términos de impacto de negocio.
  6. Proporcionar una estrategia sólida para evitar posibles brechas de seguridad.
  7. Facilitar la comunicación y promover una mejor concienciación sobre la importancia de la seguridad.
  8. Simplificar la posterior actualización mediante el uso de componentes reutilizables



Hasta la próxima y felíz jueves
atentamente:
sky