Investigación
Inteligencia artificial para detectar malware informáticos
David Rodríguez Regueira, egresado del Grado de Ingeniería Informática de la Universidad Isabel I, analiza más de 100 000 archivos para definir, a través de un algoritmo de inteligencia artificial, un modelo de detección de archivos maliciosos
Las soluciones antivirus actuales no ofrecen una protección completa frente a las amenazas de los malwares informáticos, ya que basan sus patrones de análisis o firmas en lo que ya es conocido.
El objetivo del Trabajo de Fin de Grado “Machine Learning aplicado a la Ciberseguridad: Detección de Malware” del alumno del Grado de Ingeniería Informática de la Universidad Isabel I, David Rodríguez Regueira, “es el desarrollo de una solución software capaz de analizar archivos ejecutables de Windows que permita determinar, con un alto grado de precisión, si se trata de un archivo benigno o malicioso”.
Los sistemas de información y telecomunicaciones están bajo una amenaza constante, sometidos a ataques por parte de actores que buscan causar daño o acceder a información privilegiada. La mayor parte de este daño viene de la mano del malware, del que surgen nuevas variantes cada día y ante el que nos encontramos indefensos.
La raíz del problema radica en la rapidez con la que se desarrollan los avances tecnológicos y la facilidad con la que se puede desarrollar un software malicioso, lo que dificulta la actualización de los antivirus.
El auge de la llamada minería de datos y del machine learning o inteligencia artificial han llegado para “aportar una solución novedosa y eficaz que ofrezca seguridad a los sistemas informáticos y los proteja de lo desconocido”, señala Rodríguez Regueira. Con una interfaz sencilla e intuitiva se puede ofrecer una solución capaz de analizar archivos ejecutables y diferenciar si son benignos o maliciosos, por medio de un modelo predictivo que analiza grandes cantidades de datos obtenidos de diversas características.
El auge de la llamada minería de datos y del machine learning o inteligencia artificial han llegado para “aportar una solución novedosa y eficaz que ofrezca seguridad a los sistemas informáticos y los proteja de lo desconocido”
Identificar un virus informático antes de que cause un daño irreparable se ha convertido en un elemento crítico para empresas de antivirus y expertos en análisis de malware. Los avances en la ingeniería informática, tal y como indica la Ley de Moore, facilitan que cada dos años se duplique el número de transistores de un procesador, con lo que la capacidad de procesamiento y almacenamiento de datos crece de manera exponencial. Esta gran cantidad de datos puede costar a las empresas millones de euros si no se aplican también nuevas medidas en ciberseguridad, con modelos de Big Data que puedan identificar y detener las amenazas.
David Rodríguez Regueira seleccionó una muestra (con 77.228 archivos) de la web VirusShare, que comparte de forma gratuita con investigadores y analistas los archivos peligrosos y perjudiciales que hay en un sistema informático, y que tiene más de 33 millones de muestras. Y también otros archivos benignos (38.905) de diversas versiones de Windows con garantías de estar limpios, a los que posteriormente se añadieron nuevas muestras (13.187), correspondientes a aplicaciones portables, para disponer de un conjunto de datos más realista.
Los datos se procesaron a través de un algoritmo de inteligencia artificial con el objetivo de entrenar un modelo de capaz de diferenciar los archivos benignos de los que tenían virus. Después de 100 iteraciones y 17 horas de procesamiento, “se obtuvieron los resultados idóneos y optimizados, pero con limitaciones”, constata.
Rodríguez Regueira comprobó que, aunque el modelo de inteligencia artificial funciona y detecta los malware, “es necesario añadir retroalimentación al algoritmo para dotarlo de mayor inteligencia ya que cuando se añaden más características a la base de datos, hay que volver a entrenar al modelo de machine learning”. Por tanto, “también es necesario incluir actualizaciones en el programa, integrar fuentes externas que funcionarían como una segunda opinión sobre el cribado de los datos y crear una interfaz gráfica que aporte soluciones amigables y sencillas de utilizar por el usuario”, añade como conclusión a su trabajo de investigación.