lunes, 11 de mayo de 2015

Seguridad Defensiva vs Ofensiva

En los 90, el mundo de la seguridad informática prácticamente se limitaba a los conceptos “cifrado”, “política de seguridad” y “análisis de riesgos”. Casi nadie se planteaba un enfoque ofensivo (mucha gente en la industria aun piensa así).

Con enfoque ofensivo nos referimos al estudio de la seguridad de un entorno desde el punto de vista del atacante. Es decir buscar puntos débiles o vulnerabilidades que permitan burlar el diseño original de un sistema para comprometer su integridad, su confidencialidad o su disponibilidad.

En los 2000, salió a la luz la gran fragilidad de los enfoques solamente defensivos: Infecciones masivas, Exploits remotos para casi todo, Famosos defacements. Los atacantes eran principalmente “amateurs” y aun así conseguían entrar en cualquier sitio.

Fue entonces cuando se vio la gran importancia de aportar un enfoque ofensivo.



Inicialmente parece más sencillo un enfoque ofensivo; al atacante le basta con encontrar un único punto débil que le permita iniciar una intrusión, mientras que el enfoque defensivo debe tener en cuenta todos los elementos de una red para protegerlos.

Sin embargo los roles ofensivos requieren de una mayor especialización y capacidades (su calidad es más fácil de medir). Si un atacante no es bueno, no va a conseguir burlar las medidas de seguridad de una red.

En cambio la calidad de los procesos defensivos es mucho más compleja de medir ya que depende de muchos factores: el tipo de los datos sensibles, la complejidad de la red, el número de ataques recibidos, la pericia de los atacantes e incluso muchas veces simplemente de la suerte.

Es por esto que es mucho más fácil ocultar la falta de capacidades en los roles defensivos que en los roles ofensivos.

Recuerdo que cuando empecé haciendo Tests de Intrusión, era normal tener un ratio de entrada cercano al 100%. Es decir, siempre era posible romper la seguridad perimetral de una red y obtener acceso a los datos sensibles objetivo. Incluso en empresas que se preocupaban de su seguridad y se gastaban dinero en hacer este tipo de pruebas (que en esa época no eran comunes).

Casi 2 décadas después, ese ratio ha bajado un poco. Por una parte han mejorado mucho las herramientas defensivas (mejor segmentación, mejor autenticación, procesos de calidad de software, actualizaciones de seguridad, detección de intrusiones, etc.) y por otro lado los Test de Intrusión se han convertido en un servicio “Comodity”; mucho más automatizados, menos especializados, más baratos y realizados en menos tiempo.

Pero si los Test de Intrusión se realizasen como hace años, probablemente estaríamos hablando de un ratio de entrada todavía cercano al 90% y si además dispusiésemos de tiempo ilimitado para este tipo de pruebas (como sucede en el caso de las operaciones APT) estaríamos de nuevo cerca del 100%.

Y es que el factor tiempo es crítico, mientras los Tests de Intrusión o algunas operaciones ofensivas están constreñidas a un plazo temporal, otros tipos de ataques, como podría ser una operación APT, pueden llevarse a cabo durante meses e incluso años (un requisito en algunas operaciones de información es la paciencia).

Por tanto podríamos decir que el estado general de seguridad ha mejorado poco. Se lo ponemos más difícil a los “malos” pero seguimos siendo vulnerables.

Eso explica porque seguimos viendo casi todos los días noticias sobre graves incidentes de seguridad en grandes compañías. Aunque el perfil de los atacantes ahora es mucho más profesional.

Una cosa si ha cambiado en gran medida, ahora es mucho más difícil “que no te pillen”. Y por lo tanto juegan un papel mucho más importante el estudio de las estrategias ofensivas.

Me gusta mucho el modelo americano que se está popularizando de gestionar la seguridad a partir de 2 equipos: el “red-team” (ofensivo) y el “blue-team” (defensivo), que trabajan de forma coordinada y colaborativa.

Tener estos 2 enfoques trabajando a la vez nos permite:

  •  Generar una sana competencia.
  • Que un equipo sirva como indicador de la calidad del trabajo del otro.
  • Saber cuáles son los puntos más fáciles de atacar permite priorizar mejor las medidas defensivas.
  • Saber lo que es más difícil de defender permite priorizar mejor las estrategias ofensivas.
  • Conseguir métricas que nos den una visión de nuestro estado de seguridad desde 2 puntos de vista complementarios.

Aunque hay que tener en cuenta que no vale de mucho un red-team si luego se limita el alcance de las pruebas a realizar. Lo podemos comparar con las ROE (Rules of Engagement) de los ejercicios militares reales, no sirve de nada tener fuerzas especiales si luego no les dejas hacer lo que saben hacer.

La existencia del blue-team garantiza que el impacto que pueda tener la actividad del red-team sobre los sistemas en producción sea controlado y no “rompan” nada.

Por eso ojo a los que dicen “es mejor invertir en un red-team” o “para que queremos un red-team si tenemos un blue-team”. El modelo solo sirve si trabajan los 2 equipos a la vez.

Por cierto, ojo también a las empresas o profesionales que dicen que mantienen ese ratio de entrada del 100% habitual hace tiempo. Probablemente estemos ante casos de gente que no hace tests de intrusión serios desde hace años, los hace de forma puntual o su perfil de clientes son pymes sin una inversión sería en seguridad.

O tal vez estemos ante gente que se dedica a hacer operaciones APT y tiene tiempo ilimitado para realizar sus intrusiones.