Ciberseguridad: algo más que una palabra de moda

Buenas,

Ejecutar trabajo con los clientes me hace siempre replantearme las cosas, esepcialmente dado que soy de los que cree firmemente que la mejor manera de mejorar es aprender remangándonse en el terreno y usar ese conocimiento en trabajos venideros. Y en estos escenarios, cuanto más complejo, mejor.

Si existe un campo hoy en día dentro de la seguridad donde las cosas están poco claras y donde muchos caminan cual veletas, ese es el mundo de la ciberseguridad. Aunque no soy muy amante del sufijo ciber -independientemente de que esté aceptado por la RAE o no- creo que a muchos les puede servir para centrar la conversación. Yo prefiero hablar de operaciones de seguridad, o lo que viene a ser lo mismo, la traslación del mundo de operaciones en el ámbito de TI o los negocios a las actividades necesarias para mantener la seguridad de un entorno determinado. Un poco más abajo explicaremos de qué va esto, y por qué esto no es una colección adicional de buzz words de las muchas que tragamos día a día.

Cualquiera que lea noticias, siga blogs o comparta en Twitter información sobre operaciones de seguridad habrá notado que desde el año pasado este es un campo en ebullición. También por desgracia, salvo las excepciones del malware para ciber espionaje o ciber ataques, léase Stuxnet, Duqu o The Flame, casi todo el debate se centra en cuestiones triviales que de poco o nada sirven a las empresas que quieren afrontar con mejores garantías la problemática de la ciberseguridad.

Y digo con mejores garantías porque en este mundo en el que vivimos, y como todos ya sabemos, protegerse al 100% es imposible. En casa podemos lograr cómodamente un buen estado de seguridad, ya que podemos parchear cuando nos da la gana, no tenemos que mantener aplicaciones y sistemas que están fuera de soporte, no tenemos que someternos a una disciplina de gestión de cambios, ventanas de cambios en producción, ciclos de pruebas eternos, técnica de sistemas, no tenemos cientos de IPs expuestas al tráfico de Internet y sitios Web públicos, no tenemos que lidiar con 200 vendedores distintos y otras 200 maneras de hacer las cosas, no tenemos que integrar negocios que hemos comprado, no tenemos que segregar negocios que hemos vendido, no tenemos que formar equipos virtuales con gente que habla en 10 idiomas distintos, con 10 maneras y culturas de trabajo distintas, no hay necesidad de escribir casos de negocio para resolver problemas, no hay que lidiar con la aprobación de partidas presupuestarias, no hay que mantener 100.000 estaciones diseminadas en 40 países … podríamos estar horas enumerando aspectos que hacen que la seguridad en casa sea una cosa, y que la seguridad corporativa sea otra bien distinta. En resumen: no dependemos de nosotros mismos.

Precisamente el eterno y erróneo intento de intentar solucionar en la empresa las cosas como las solucionamos en casa es una de las causas principales de que los problemas para corporaciones sean importantes, crecientes y cada vez más difíciles de resolver. Cuando hablo con mis clientes les traslado la idea de un cambio de mentalidad que a muchos les impresiona en un principio y que resulta difícil de digerir: yo lo llamo el estado permanente de compromiso. Seamos honestos: por mucho test de intrusión que hagas, por mucho antivirus que corras y por mucho IDS que tengas desplegado, los amigos de lo ajeno van a encontrar siempre la manera de entrar. Son demasiadas las variables que tenemos que controlar para pretender que podemos controlarlas todas. Es imposible y hay que partir de esa base para construir mejor seguridad.

Añadamos a esto el hecho que los vectores de ataque, que eran puramente técnicos en el pasado en su amplia mayoría, están ahora centrados en las personas, lógicamente con el apoyo en la explotación de tecnología. Por eso hace 5 años era aceptable tener una granja de IDS/IPS, y confiar la seguridad a San Firewall, San Microsoft Update y San Test de Intrusión, y hoy en día confiar la seguridad sólo en esos sistemas es una pérdida de tiempo. Agreguemos al cóctel la pérdida del perímetro, que ya no existe como tal, la integración de business partners en las redes corporativas y la explosión de ofrecimiento de servicios que tradicionalmente eran de back-end en frontales web para la interacción con usuarios, que demamdamos más y más servicios en nuestros dispositivos.

Quizás la consecuencia más dramática del estado permanente de compromiso es la asunción, por dolorosa que sea, de que la prevención no es suficiente. Aunque sigue siendo buena idea prevenir, la prevención siempre termina fallando, y es entonces cuando es preciso tener medidas reactivas en plaza para intentar reducir el impacto de un evento de violación de la seguridad. Pero tampoco vale sólo con correr una consola SIEM escupiendo alertas, porque nuevamente, los mecanismos preventivos van a fallar, y cuando lo hagan, vas a tener un problema.

No hay soluciones fáciles a estos problemas. Los nuevos escenarios requieren nuevas maneras de hacer las cosas. Tener definido un mapa de amenazas es la parte básica, hay que identificar de manera cristalina qué queremos proteger, cómo y de qué. Este paso tan sencillo es ciencia ficción para muchos, y lógicamente, sin esta base es imposible intentar organizarse para afrontar las amenazas reales que puedan estar acechando a la vuelta de la esquina. Pero aquí no acaba todo. A todos se nos llena la boca con ArcSight, enVision o Q1, y muchos son los que corren estos SIEMs, pero, ¿cuántos tienen realmente un sistema adaptado a los tiempos modernos? ¿Cuántos SIEMs ha ahí fuera corriendo todavía los clásicos casos de usuario inútiles, como intentos de fuerza bruta, o logins en horario fuera de oficina?

Si queremos tener garantías de mínimo impacto, quizás convenga tener a mano fuentes creíbles de información de amenazas. Esto es lo que veréis anunciado como threat intelligence, y viene a ser información, generalmente generada por terceros, que emplearemos para detectar lo más cerano al tiempo real amenazas de seguridad que se van descrubriendo y sobre las que normalmente no tenemos visibilidad. Y sí, aquí si juega un papel importante un SIEM potente para articularlo todo: información de seguridad que emana de nuestros sistemas, integración con fuentes de inteligencia externas, plataformas de análisis automatizado de malware, y todo ello conjugado con casos de usuario específicos para nuestras pretensiones: recordad lo que hemos escrito sobre escenarios más arriba. Pero una vez más, esto no se resuelve con un SIEM únicamente, la correlación es vital en escenarios compejos de ataque, con lo que resulta también crucial establecer cómo hacer dicha correlación con datos cercanos al tiempo real y con datos no tan cercanos.

Y para terminar de complicar las cosas, y nuevamente me remito al estado permanente de compromiso, aún con todas estas cosas los malos van a encontrar la manera de entrar. Hay que saber reaccionar, lo que implica tener procedimientos de respuesta ante incidentes sólidos, entrenarse con escenarios red flag, tener habilitada una disciplina forense para el análisis de brechas de seguridad, instruir a los usuarios en temas de concienciación … y todo esto hay que coordinarlo de una manera centralizada, suficientementre flexible y orientada a los resultados. Es lo que conocemos como un centro de operaciones de seguridad, o SOC, que para más inri, no vale con articular de una manera técnica, ya que es preciso, como en cualquier otra área del negocio, gestionar con aspectos económicos y administrativos, lo que implica métricas, programas de mejora, evaluación de la respuesta de los operadores, del escalado y gestión de los incidentes, KPIs que se hayan establecido …. y ese larguísimo etcétera.

Como resulta fácil comprobar, dar el salto cualitativo de una manera de gestionar las operaciones de seguridad centrada en la tecnología hacia una manera eficiente y centralizada de gestionar un centro de operaciones de seguridad donde atendamos la problemática de las personas y los procesos además de la tecnología no es nada sencillo. Es harto complicado, para ser más concretos. El nivel de inversión y de cambios es tan brutal que muchos, directamente, miran hacia otro lado. Prefieren seguir confiando en test de intrusión, actualización de antivirus y parches en sus exploradores. Y rezando por las noches para que al día siguiente no sean ellos los que salten a los titulares.

Un lujo que podrías permitirte en casa, pero que te acabará hundiendo en el mundo de los negocios. Es hora de cambiar el chip. Tú decides.

BONUS 10 consejos prácticos para implementar un SIEM/SOC

Os dejo una lista de cosas que veo en el terreno y que pueden daros una idea de cómo no afrontar la problemática de la ciberseguridad. El orden no implica importancia: todas estas cosas son vitales.

  1. Este es un tema que requiere cambiar a las personas, tecnología y procesos. No dejes estas tareas en manos de personas que sólo son hábiles con el nmap y el Nessus, o sólo con el Powerpoint.
  2. Desconfía de implantadores que no tengan credenciales. Pídelas. Y verifícalas. Montar un SIEM/SOC es algo que no está al alcance de cuaquiera que clame ser consultor de seguridad. Requiere experiencia en el terreno, y preferiblemente, en el mismo vertical donde tú vas a implementar. Esto no es un proyecto de una semana y media.
  3. Haz tus inversiones de manera escalonada. No quieras hacerlo todo en 6 meses, o te atragantarás. Y lo que es peor: el CFO se atragantará también. Construye un pla creíble que ofrezca resultados escalonados, que te ayudarán a vender mejor lo que haces en la organización, lo que al final te posibilitará accesoa presupuesto de manera incremental.
  4. Mide tus posibilidades. Si esto se te escapa de las manos, acude a gente externa para que te ayude. Lo mismo aplica a la operación, si no tienes gente en casa que pueda hacerlo, ya que construir un 24×7 requiere sudor y euros, contrátalo fuera. Sin dudarlo.
  5. Si escoges primero la tecnología y tratas después de que todo gire alrededor de ella, acabarás estampándote contra la pared. Hazlo al revés: primero entiende tu negocio y luego selecciona la tecnología que te ayude a protegerlo. Suena elemental pero es la primera causa de fallo en estas integraciones.
  6. Cuando hables con tu CFO, déjale claro que esto es un tema que requiere no sólo CAPEX, sino también OPEX. Que nadie se lleve a engaños, un SIEM/SOC además de inversión inicial requiere financiación continua.
  7. Presta mucha atención a los casos declarados en el SIEM. Cuando no estén documentados desde la A a la Z, para cubrir cada uno de los riesgos principales del negocio, alerta roja. Cada operador del SOC tiene que tener muy claro qué hacer en cada uno de los casos y sus etapas, revisa con tu integrador otras implantaciones similares antes de contratar, y no te cortes un pelo a la hora de pedir estas cosas como prueba de que se ha implantado algo creíble y no un spaghetti inútil de alertas.
  8. Invierte en ajustar y en probar. No esperes, ni de lejos, que estas integraciones sean 100% exitosas cuando concluya el despliegue. Nada más lejos de la realidad.
  9. Cuando selecciones tecnología, presta mucha atención a la integrabilidad de las plataformas que quieras someter a disciplina del SIEM/SOC. Es normal tener en casa muchas tecnologías distintas que no hablan entre sí, salvo que tengas un middleware decente, así que pídele a tu integrador que te explique con pelos y señales cómo piensa conectarlo todo. Y que te explique qué viene out of the box, y qué hay que desarrollar. Costes ocultos a la vista …
  10. Por último, entrena los casos de reacción ante indicadores de compromiso hasta la saciedad. Son lo que marcan la diferencia a la hora de lidiar con lo verdaderamente complicado, aka lo que puede hundirte.

Saludos,

Snort en un router DD-WRT: Instalación, configuración y operación básica en 10 pasos

Buenas,

Os dejo unas notas sobre un experimento reciente que he estado realizado con una instalación peculiar de Snort, en este caso en el propio router, por si fueran de vuestro interés.

Necesitamos:

  • Un router con DD-WRT. En mi caso es un Asus RT-N16
  • Preparar el router para optware, y aquí la recomendación es seguir los pasos descritos en el wiki
  • El router debe tener entrada USB, porque lo aconsejable es instalar optware en un dispositivo externo, en este caso una llave o disco USB, para no agotar el escaso espacio disponible en el router. Es recomendable emplear ext2 (cosa que yo no he hecho, por cierto), ya que ext3 como sabéis es un sistema de ficheros con journaling y por tanto, con ext2 podemos acelerar el acceso al disco al no tener que efectuar dicho journaling. Recomendación: Leer el wiki.
  • Habilitar en el router JFFS (Journalling Flash File System). JFFS/JFFS2 proporciona un area de reescritura en el router que es necesario para instalar paquetes vía ipkg, así que hay que habilitarlo. Es una opción dentro de la administración de DD-WRT:

    snort ddwrt

Paso 1. Conectamos el medio externo y verificamos que monta adecuadamente

snort ddwrt

Los incrédulos pueden tirar de la shell para verificar, lo cual nos vendrá bien para verificar también que tenemos soporte JFFS. Es fácil observar parte de la estructura flash de almacenamiento montada en /jffs en la línea /dev/mtdblock/4 on /jffs type jffs2 (rw)

snort ddwrt

Paso 2. Lanzamos la preparación de optware

Esto se hace vía consola en dos cómodos pasos:

1. Descarga wget -O /tmp/prep_optware http://wd.mirmana.com/prep_optware
2. Ejecución del script de preparación sh /tmp/prep_optware

Paso 3. Una vez finalizada la instalación de optware, lanzamos una consulta de disponibilidad de Snort

snort ddwrt

Paso 4. Instalamos, siendo recomendable forzar la instalación de dependencias

ipkg -force-depends install snort

Paso 5. Verificamos la instalación

snort ddwrt

Paso 6. Nos fabricamos un fichero de configuración de snort al uso para nuestras pruebas

snort ddwrt

Si alguien quiere copiar y pegar, el fichero está disponible aquí. Es un ejemplo muy sencillo en el que emplearemos el preprocesador stream5 para generar dos tipos de alerta: una para cualquier tráfico externo hacia nuestra red, y cualquier tráfico puramente interno, tal y como se muestra en el fichero de configuración.

Paso 7. Lanzamos Snort

Para ello indicamos el fichero de configuración recién creado y una ruta donde escribir las alertas y los logs. En mi caso por comodidad, las he ubicado también dentro de /opc para evitar el colapso por agotamiento de almacenamiento:

snort -i vlan1 -c /opt/etc/snort/test.conf -l /opt/etc/snort/snortlog

Nótese que lanzo sobre la primera vlan (vlan1) que tengo definida en el router y que corresponde al primer puerto LAN del dispositivo. Cada cual que escoja la que desee.

snort ddwrt

Paso 8. Observamos si el invento funciona

snort ddwrt

Aprovechando que SSH está activo, nos asomamos con un cliente gráfico, o bien lanzamos un ls por la consola. El caso es comprobar que se estén generando logs y alertas.

Paso 9. Nos damos una vuelta

Pues eso, dejamos que corra el aire un poquito antes de ir impacientes a ver las alertas :)

Paso 10. A investigar

Pues en ausencia de procedimientos de asignación de prioridad, escalada y notificación, y habida cuenta de que nuestras reglas dispararán mútiples veces antes numerosos eventos, inspeccionamos el fichero de alertas a mano. En mi caso he detectado a un impresentable haciendo un ataque de fuerza bruta sobre el servidor SSH de otra máquina de la infraestructura:

snort ddwrt

Mmmm. Espera. 192.168.1.120. Esa es la IP de mi portátil … y la máquina destino es una máquina virtual del laboratorio que también reconozco. Y la propia alerta me dice que es un evento ocurrido en la red interna. Oh wait…. :)

Saludos,