Podemos definir Big Data como un conjunto de tecnologías que permiten el almacenamiento de enormes cantidades de datos procedentes de fuentes no homogéneas en un formato no estructurado, y con un procesamiento con un elevado rendimiento.
Generalmente, cuando se habla de Big Data desde el punto de vista de la seguridad de la información, se ve como una nueva amenaza: se almacenan grandes cantidades de datos de muy distinta naturaleza y apetecibles, y esto no es solo preocupante en el caso de datos personales, sino también en información con transcendencia económica, estratégica o que afecte a infraestructuras críticas.
El hecho de que los clusters de Big Data se compongan de máquinas y sistemas de almacenamiento que puedan estar en varias ubicaciones o incluso en la nube en una situación sobre la que el propietario tiene poco control, añade más dificultad al control del acceso a los datos almacenados.
Sin embargo, este artículo pretende relacionar el Big Data y la seguridad desde otro punto de vista. Si Big Data permite almacenar enormes cantidades de datos y procesarlos de manera muy eficiente, ¿por qué no lo usamos como una herramienta para la gestión de la seguridad? El manejo eficiente de cantidades ingentes de datos es precisamente uno de los problemas con los que se encuentran cada día los administradores de seguridad. Cualquier administrador de firewalls ha perdido en alguna ocasión –yo diría que muchas– varios minutos mientras espera a ver el log de una conexión entre los millones de logs almacenados. También es habitual que en caso de análisis forense después de un incidente, los ingenieros observen líneas de log que deberían haber alertado de que algo no iba bien, pero que nadie ha visto, sepultadas entre la inmensa cantidad de líneas que reportan actividades legítimas.
Sistemas Big Data
La utilización de herramientas SIEM (Security Information Event Management) ya permite la centralización de logs de diferentes sistemas y su correlación para generar alarmas. Sin embargo, si estos sistemas se basan en sistemas de computación y almacenamiento convencionales, seguirán teniendo problemas de almacenamiento y velocidad de procesamiento debido a la cantidad de datos que es necesario manejar.
Los sistemas de Big Data proporcionan la posibilidad de almacenar durante períodos de tiempos casi interminables los logs de múltiples sistemas, incluyendo algunos que generan logs de forma incontenible, como firewalls, IPS o servidores web. Incluso podrían almacenar los datos de flujos de tráfico proporcionados por el protocolo Netflow, o el mismo tráfico. Pero no solo permiten el almacenamiento de esta información, sino que lo más importante es que pueden permitir su procesamiento con un rendimiento suficiente para llevar a cabo una monitorización y respuesta en tiempo real.
Una tecnología relacionada con Big Data y que resulta esencial para el aprovechamiento de toda esta información es lo que se conoce como machine learning. Los sistemas que analizan los datos son capaces, mediante ciertos algoritmos de aprendizaje, de detectar los patrones habituales de comportamiento, predecir lo que debe ocurrir y señalar las anomalías, las cuales podemos definir como aquellos comportamientos que se desvían del observado habitualmente.
Si Big Data permite almacenar enormes cantidades de datos y procesarlos de manera muy eficiente, ¿por qué no lo usamos como una herramienta para la gestión de la seguridad?
Un administrador cuidadoso podría definir alertas en un sistema convencional cuándo el ritmo de crecimiento de un fichero de log es superior o inferior a un umbral, pero sería más complicado tener un sistema con tecnologías convencionales que, por ejemplo, fuera capaz de tener en cuenta las variaciones entre los días laborables y los fines de semana o entre las distintas horas del día. Sin embargo, un sistema que utilice machine learning puede ser capaz de medir el comportamiento del número de eventos a lo largo del tiempo y predecir en cada momento qué va a ocurrir, de forma que se alerte por desviaciones significativas de esta predicción. ¿Cuántas veces un administrador ha llegado un lunes a trabajar y se ha encontrado que el log del domingo, que habitualmente ocupa la décima parte del de un día laborable, tiene el mismo tamaño que el del viernes? Sin duda, eso es síntoma de un incidente del que un sistema que utilizara machine learning podría haber detectado y alertado a tiempo.
Esto es solo un ejemplo de aprovechamiento de las ventajas de las tecnologías Big Data para la gestión de la seguridad, pero las posibilidades son casi ilimitadas: detección de anomalías en la frecuencia de llegada de mensajes de correo electrónico, múltiples conexiones desde una IP que los sistemas no habían visto anteriormente, incremento súbito del tráfico entre dos equipos internos… Todos estos son ejemplos de síntomas claros de incidentes que normalmente no son detectados hasta que se analicen las cosas a posteriori, incluso algunas veces no se detectarán nunca. A pesar de ello, la utilización de herramientas Big Data puede permitir la detección de estos eventos en el mismo momento que se producen, facilitando la detección, el diagnóstico y la respuesta a los incidentes.
Big Data frente a las APT
Un caso en el que la utilización de Big Data puede ayudar es en la detección de APT. Estas siglas, que responden a Advanced Persistent Threats (Amenazas Persistentes Avanzadas), hacen referencia a un tipo de ataque focalizado en un objetivo concreto durante un largo periodo de tiempo. Para detectar este tipo de ataques es necesario percibir pequeñas anomalías a lo largo de un período prolongado, lo que resulta muy complicado con los sistemas convencionales. Sin embargo, un sistema que procesa largas series estadísticas como Big Data, correctamente programado, podría ser capaz de detectar tales circunstancias.
Por otra parte, la utilización de sistemas que permiten el almacenamiento de grandes volúmenes de datos correspondientes a series de tiempo prolongadas facilita notablemente las actividades de análisis forense una vez que ha ocurrido un incidente, tanto desde un punto de vista técnico como desde el punto de vista de la preservación de evidencias para propósitos legales.
Como contrapartida, la utilización de este tipo de sistemas presenta algunas dificultades para las organizaciones. Es necesario cambiar las rutinas habituales y disponer de personal con conocimiento del mundo de la ciberseguridad y que, al mismo tiempo, sea capaz de manejar estos sistemas. Definir las fuentes de datos, los procedimientos de adquisición y los algoritmos que se deben utilizar para el procesamiento de estos datos son puntos clave para que la solución implantada resulte efectiva. La necesidad de ese perfil de experto en ciberseguridad y en ingeniería de datos, unido a los costes de la propia tecnología Big Data, hacen que este discurso sea solo válido para grandes corporaciones públicas o privadas.
Un sistema que utilice machine learning puede ser capaz de medir el comportamiento del número de eventos a lo largo del tiempo y predecir qué va a ocurrir
Pero, ¿cómo hacer que estas posibilidades tecnológicas lleguen a las organizaciones medianas o pequeñas? Consiguiendo la colaboración entre entidades que permita la detección de ciberataques masivos o de nuevas amenazas cuando se observen anomalías similares que se repitan en sistemas no relacionados. Por ejemplo, si en varias organizaciones se empiezan a observar conexiones de equipos internos a una IP extraña, es un síntoma claro de una infección masiva con malware. La detección de este tipo de eventos en varias organizaciones simultáneamente podría agilizar la detección de ciberataques generalizados.
Esto no es fácil de llevar a cabo por la normal resistencia de las organizaciones a la cesión del acceso a sus datos por el miedo a la pérdida de confidencialidad de los mismos.
Independientemente de obligaciones normativas que puedan surgir, en mi opinión la clave para que este enfoque sea viable la tienen los SOC (Security Operations Center) comerciales, que actúan como terceros de confianza y que tienen acceso a datos de clientes heterogéneos, con distintos grados de complejidad TI (Tecnologías de la Información) y distribuidos en distintas zonas geográficas. El SOC del futuro deberá contar con estas herramientas de última generación y con personal capaz de aplicar su conocimiento para dar el mejor servicio a sus clientes. En Ingenia estamos ya en ello.