No existe nada 100% seguro. Bajo esta premisa, la ingeniería del caos trabaja con y contra el propio sistema para construir un entorno seguro y resiliente. ¿Cómo funciona? ¿Para qué sirve introducir fallos en él y cómo nos ayuda esto a segurizar el entorno digital? Comprender esta disciplina puede suponer una mejora sustancial.

¿Qué es y en qué consiste?

El concepto de Chaos Engineering o ingeniería del caos está basado en cuatro principios definidos por el gigante Netflix. Dichos principios consisten en definir un estado «estable», realizar una hipótesis del estado que le seguirá, introducir variables que reflejen eventos fieles a la realidad e intentar romper la hipótesis, por ese orden.

Mediante una serie de pruebas específicas, se pondrían a prueba características de la infraestructura, como lo son la disponibilidad, la seguridad y el rendimiento. El objetivo es que la resolución de los problemas en estos sistemas distribuidos proporcione una gran confianza y capacidad de recuperación de todo el sistema. Esto significa, en definitiva, conseguir estructuras que soporten condiciones extremas.

Resiliencia y “antifragilidad”

El concepto de ingeniería del caos solo se entiende si comprendemos la definición de “antifragilidad”, acuñada por Nassim Nicholas Taleb. Este es el concepto precursor de la ingeniería del caos y que, a su vez, se basa en la resiliencia. La resiliencia se define como la capacidad de absorber perturbaciones. Dichas perturbaciones están ocasionadas por elementos estresores, o factores de estrés, que desencadenan la desestabilización.

Es un concepto ampliamente utilizado en organismos vivos (ecología, fisiología, psicología…) y hace referencia a la capacidad de sobreponerse a los problemas de forma activa y adaptarse a la situación. Volviendo a la “antifragilidad”, esta va más allá de la resiliencia ya que implica la evolución del sistema, que sería capaz de crecer a partir del estrés al que se le ha sometido para adaptarse a nuevos fallos.

Precisamente, Panda Adaptive Defense es una herramienta que vela por los principios de la antifragilidad, aportando los valores inherentes de la resiliencia a la empresa. Así, al registrar y analizar toda la información de estado de la red corporativa, aumentamos la visibilidad necesaria para asegurar poder cumplir con la antifragilidad.

Otro aspecto crucial es el heurístico. Como decíamos. Adaptive Defense analiza, categoriza y correlaciona los datos provenientes de diferentes fuentes tanto externas como internas de manera que se pueden automatizar patrones de comportamiento que revelan conductas maliciosas incluso antes de que se ejecuten. Todo esto, es parte del espíritu de la ingeniería del caos.

Un ejército de monos

Teniendo todo esto en cuenta, las grandes empresas como Netflix o Amazon ven en la ingeniería del caos la posibilidad de poner a prueba su infraestructura para que sus sistemas sean más maduros y cada vez más robustos. Pero también más evolucionados. En definitiva, más resilientes. Puesto que realizar un análisis y corregir un problema de forma reiterativa y escalada es una tarea muy difícil, lo ideal es emplear estrategias heurísticas enfocadas en priorizar una buena toma de decisiones donde lo principal sea la sencillez de resolución.

Así, Netflix, por ejemplo, emplea su propia suite de aplicaciones denominada Simian Army, que pone a prueba la estabilidad de su red. Simian Army cuenta con más de una docena de elementos estresores que ponen a prueba el sistema de diversas maneras.

Security Monkey es una de las “piezas” de Simian Army y es empleada para implementar una estrategia de seguridad basada en ingeniería del caos en plataformas de computación en la nube. Esta permite supervisar, alertar e informar sobre irregularidades en la seguridad de forma sencilla.

¿Cómo puede ayudar a la empresa la ingeniería del caos?

La primera cuestión es, ¿por qué debería una empresa plantearse el usar ingeniería del caos? En opinión de algunos expertos “no se suele dar el peso adecuado a la seguridad, por lo que aun teniendo sistemas exitosos […] no se comprende el peso de la fragilidad. Se tiende a no ver que la supervivencia es más prioritaria que el éxito”.

Implementar una estrategia basada en ingeniería del caos ayuda a trabajar la antifragilidad de una plataforma, incluyendo el cumplir con los objetivos de control y requisitos de PCI-DSS en caso de auditorías. Así, cualquier empresa podría beneficiarse enormemente de implementar una herramienta como Security Monkey en su estrategia de seguridad.

Para ello haría falta “caotizar” la plataforma de forma controlada, lo que, en palabras de los expertos, podría constar de acciones del siguiente tipo: desactivar reglas de SG (Security Groups), modificar archivos en instancias de forma aleatoria, escuchar puertos de forma aleatoria, inyectar tráfico malicioso en los VPC (Virtual Private Cloud), matar aleatoriamente procesos en las instancias…

Con esta estrategia ejecutada, y gracias a esta herramienta, se puede conseguir una visibilidad más profunda de las consecuencias de los métodos de ataque, con la intención de mejorar la forma de defenderse. Esto, a la larga, es la base de un sistema más maduro y confiable, capaz de resarcirse de ataques y reducir las pérdidas ante un incidente grave de seguridad, algo que debería ser obligatorio para cualquier servicio de alta disponibilidad.