Page 18

BOT 55

en profundidad Fig. 2. Arquitectura del EAN. (Fuente: Universidad de Alcalá de Henares / DGAM). o si se desea, sobre clusters elásticos privados de manera transparente. El entorno de detección y toma de datos incorpora los sensores en la Web que sirven a la detección y se basa en versiones optimizadas de los modelos que han sido validados en el entorno de análisis. El entorno de generación de escenarios y simulación es la capa software encargada del despliegue de escenarios para el entrenamiento y la simulación. Para ello, utiliza tecnología de virtualización para el despliegue en cualquier tipo de red a modo de entorno de entrenamiento y recoge los datos de ejecución de los escenarios para alimentar al entorno de análisis. Los entornos de entrenamiento son externos a la solución, y constituyen la infraestructura de equipos y redes sobre las que se desplegarán y pondrán en ejercicio los escenarios para el entrenamiento y simulación. El funcionamiento de la arquitectura es la siguiente: • Primero, se generan los escenarios deseados con el componente del generador de escenarios, indicando las máquinas y configuraciones que se deseen. • Estos escenarios son monitorizados obteniendo de éstos ciertos datos sobre logs o trazas de red. • Este tipo de fuentes internas, unidas a otras fuentes externas, son recogidas por los recolectores, diseñados para soportar grandes cargas de extracción sin pérdida de datos. • La información de los recolectores es agregada, y analizada para observar si cumple algunos patrones de ataque recogidos. • Adicionalmente, el científico de datos puede solicitar datos agregados para su análisis, almacenándolos en un repositorio integrado de datos. • En el proceso de análisis se desarrollan modelos de predicción sobre los datos recogidos, y se exportan para su futura implementación. A continuación se describen cada uno de estos bloques o entornos funcionales en sus elementos técnicos concretos. Entorno de Análisis A la hora de analizar los datos, se busca obtener cierto tipo de patrones, predicciones o detección de anomalías dentro de éstos, en función del modelo escogido. Los datos a recoger deben de estar disponibles para uso, y ser solicitados por el científico de datos para trabajar con ellos. Los modelos se desarrollarán y evaluarán buscando la mayor puntuación cuando se lleve a cabo la validación de los modelos, y los escogidos serán enviados para su implementación, que ya dependen de la tecnología en la que se van a implementar. El entorno de análisis tiene una doble función: el almacenamiento y el análisis de datos. Además es el encargado de realizar el procesado de la información de amenazas en modo fuera de línea sobre cualquier tipo de infraestructura, ya sea propia, como en la implementación actual del proyecto (que emplea un entorno cloud elástico sobre una infraestructura de virtualización de sistemas TIC ubicada en el INTA), ya sea en infraestructuras proporcionadas por proveedores infraestructura como servicio (por ejemplo Microsoft Azure o Amazon). Dado el elevado volumen de datos a procesar, se ha seleccionado un esquema de paralelización de datos basado en arquitectura Lambda con Apache Spark. Los tres componentes que conforman el entorno de análisis son los siguientes: • Data Science Workbench: entorno interactivo para el analista incluido dentro del framework Anaconda, una distribución open source de los leguajes Python y R para la programación de algoritmos de procesado de datos a gran escala, analítica predictiva y cálculos científicos. Ese entorno interactivo corresponde con la tecnología Jupyter notebook, un entorno de aplicación web igualmente open source que permite crear y compartir documentos que contienen código ejecutable, ecuaciones, visualizaciones y textos explicativos, con aplicaciones en saneado y transformación de datos, simulación numérica, modelado estadístico y machine learning. • Framework Analítico: el conjunto de las librerías de analítica para poder llevar a cabo manipulaciones y modelaje de datos, todas en lenguaje Python 2.7, como Dask, Blaze o Pandas. Es el encargado de enviar los modelos desarrollados en el entorno de análisis a un integrador de modelos que se encargará de implementar reglas de seguridad en las diferentes capas del resto del sistema. • Repositorio integrado de datos: implementado en Python 2.7, gestiona una implementación a alto nivel de registros para poder manejar los datos contenidos en él. La comunicación con el resto de componentes se lleva a cabo mediante una API de Flask. Es el componente que recoge todos los datos listos para la analítica, que posteriormente 18 Boletín de Observación Tecnológica en Defensa n.º 55. Tercer y cuarto trimestre 2017


BOT 55
To see the actual publication please follow the link above