Detección de malware en una red con machine learning
Abstract
En esta tesis se analizan diferentes métodos para la detección de malware en una red, es decir, aquel flujo de tráfico de red que se encuentran en nuestro conjunto de datos pero que no tiene un comportamiento normal. Encontrar patrones en el flujo de trafico de red, sigue siendo un reto interesante en la seguridad informática. Las anomalías en el flujo del tráfico de red aparecerán por varias razones como actividades maliciosas o caídas, en este sentido el flujo del tráfico de red y una combinación con técnicas de Machine Learning, puede convertirse en un buen aliado para ir más allá de las firmas y ser capaz así de encontrar patrones previamente desconocidos. En cada predicción realizada por un diferente modelo será precisa o no tan precisa, esto dependerá de cómo el algoritmo se comporte a nuestro DataSet y se logre ver si el algoritmo cumple con la predicción necesaria a donde se pretende llegar, que es la detección de malware en la red. Los algoritmos de detección de anomalías que se van a estudiar son el covarianza robusta que trata de encontrar una elipse que contenga los puntos considerados como normales. El segundo es de las máquinas de vectores de soporte de una clase, se basa en la construcción de árboles binarios con la idea de que las anomalías se encuentren en hojas más cercanas a la raíz mientras que los puntos normales se ubiquen a mayor profundidad. El tercero de los bosques de aislamiento se basa en la construcción de árboles binarios con la idea de que las anomalías se encuentren en hojas más cercanas a la raíz mientras que los puntos normales se ubiquen a mayor profundidad. Finalmente el del factor de anomalías local busca asignar a cada uno de los datos una puntuación en función de la distancia a la que se encuentran sus vecinos, de tal manera que los puntos más aislados sean considerados como anomalías. Después de analizar y evaluar cada método de métodos de predicción, los resultados obtenidos no tan precisos en la predicción de detectar malware son el del el Covarianza Robusta, Vector de una Clase y por último el método que nos ofreció mejores resultados Bosques de Aislamiento cumpliendo con nuestro objetivo que es detectar el malware.