• No se han encontrado resultados

5.2 Diseño de la Red Neuronal Artificial

5.2.1 Topología

La topología de las Redes Neuronales, como ya se ha mencionado en la sección 3.2.3, es- tá compuesta por lo menos de dos capas, una de entrada y otra de salida. Para el sistema propuesto la salida está compuesta por una sola neurona que representa la eficiencia de la respuesta para cada una de las respuestas lanzadas por el sistema cada vez que llega una in- trusión.

Para determinar los parámetros de entrada de la Red Neuronal se han analizado distin- tas opciones a partir de la información de contexto obtenida a través del módulo Context

Receiverde la Figura 4.2.1:

Opción 1: Los parámetros de entrada se podrían corresponder directamente con los parámetros obtenidos del contexto del sistema y la red tras la ejecución de la respuesta. En este caso las entradas de la Red Neuronal serían incluidas directamente de la salida obtenida del móduloContext Receiver.

Opción 2: Los parámetros de entrada al algoritmo se podrían corresponder con el grado de anomalía del contexto del sistema y la red tras la respuesta. Este valor puede ser obtenido basado en la variación de la entropía incluida en [ML13].

La desventaja de laOpción 1radica en que los valores del contexto que podríamos deter- minar como fuera de ataque o atacado, son dependientes de la máquina o dispositivo en donde se está produciendo el ataque y del uso de dicha máquina dentro de la organización. Por tanto, para que el sistema sea totalmente independiente de la organización, es necesario que la entrada de la Red Neuronal se base en laOpción 2. Dentro de esta opción hay dos posibilidades que pueden ser aplicadas:

Opción 2a: Grado de anomalía entre elcontexto normaly el contexto tras aplicar la res- puesta: Para esta solución es necesario obtener previamente elcontexto normalen una fase de entrenamiento anterior al sistema en producción, quedando almacenado en una base de datos. El contexto tras aplicar la respuesta se obtiene en dicho momento a partir de los valores retornados por el móduloContext Receiver.

Opción 2b: Grado de anomalía entre el contexto en ataque y el contexto tras aplicar la respuesta: En este caso, los valores del contexto serán obtenidos desde el módulo Context Receiver en el momento en que se detecta el ataque y tras la aplicación de la respuesta por parte del AIRS.

La Figura 5.2.1 muestra como varía el grado de anomalía de un valor de contexto, como por ejemplo podría ser la latencia del sistema. El valornrepresenta el máximo valor de gra- do de anomalía aceptado para considerar que el sistema está fuera de ataque o en estado

Figura 5.2.1: Ejemplo de variación en el grado de anomalía

normal. La línea roja de ataque representa el momento en que el AIRS considera que se está produciendo un ataque, por ejemplo un DoS, debido a las alertas reportadas por el IDS y el aumento del grado de anomalía del contexto. La primera línea azul de respuesta indica cuando se ejecuta la respuesta seleccionada por el AIRS. En el caso de que la Red Neuronal utilice como entradas laOpción 2a, la medida delContexto Normalse obtiene de la base de datos y el valor de contexto después de la respuesta es medido tras la estabilización del sis- tema atacado, en el caso de la Figura 5.2.1 la medida del contexto se tomará a los 1.898ms. Para el caso de una Red Neuronal basada en laOpción 2bse tendria que medir el contexto tras la detección del ataque y tras la respuesta, que al igual que en el caso anterior se tomaría a los 1.898ms. Ambas opciones son válidas para que la Red Neuronal calcule la efectividad de la respuesta para cualquier activo de la organización, la diferencia radica en el número de solicitudes al móduloContext Receiveren producción y en si es necesario que previamente se almacene información del contexto de los activos de la organización. La decisión depen- de del entorno en el que se implante el sistema, siendo vital la capacidad de almacenamiento

y la velocidad a la que se extrae la información de contexto. Debido a que en el entorno de validación utilizado para la tesis doctoral, el móduloContext Receiverera lento, realizar dos solicitudes de parámetros de contexto para el cálculo de la efectividad de la respuesta afecta- ría al tiempo de respuesta del AIRS, debido que hasta que no tengamos el valor de contexto en ataque no es posible ejecutar la respuesta. Por lo que se optó por el almacenamiento de los parámetros decontexto normalde nuestro entorno de pruebas (emphOpción 2a), aun- que esta opción repercuta en la necesidad de almacenamiento previo del contexto de todos los activos de la organización donde se quiera desplegar el sistema.

En concreto, se consideran siete parámetros del contexto del sistema (estado, latencia, uso de CPU, espacio de disco, número de procesos activos, número de usuarios y número de procesoszombie) y un parámetro que evalúa el contexto de la red. El grado de anomalía del contexto es calculado por la varianza de la entropía basada en la Teoría de Shannon y es aplicada a cada uno de los distintos ámbitos de contexto considerados. A continuación se muestra el grado de anomalía del contexto deuso de CPU, siendo igual para el resto de parámetros.

ΔHCPU = log

ContextoAtaque

ContextoNormal

(5.1) Hay que tener en cuenta que la varianza de la entropía calculada debe ser numérica y nor- malizada, ya que valores muy grandes pueden perjudicar la efectividad del algoritmo em- pleado. Debido a ello, como el rango de representación del grado de anomalía es un número entre 0 y 10, cada uno de estos valores será divididos entre 10 quedando un valor entre el rango [0,1].

Durante esta etapa de diseño se ha considerado que es mejor no dejar fijado el número de capas ocultas y sus neuronas, debido a que es necesario una fase de experimentación con distintas topologías para determinar la optima para una Red Neuronal que calcule la efectivi- dad de la respuesta basado en el contexto de la red y del sistema. Para ello la implementación llevada a cabo es totalmente parametrizable respecto al número de capas y de neuronas con el fin de encontrar la mejor topología durante la fase de experimentación y entrenamiento

de la Red Neuronal.