Un alumno de la Universidad Isabel I desarrolla un software para detectar malware informáticos
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.
La aparición de la inteligencia artificial
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.
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.
Según la Agencia Europea de Seguridad de las Redes y de la Información, el malware es la mayor amenaza a la que se enfrentan los equipos informáticos, acaparando con un 30% de todos los incidentes relacionados con el robo de información. Los desarrolladores de malware emplean técnicas cada vez más difíciles de detectar. “El 79% de todos los malware detectados en el mundo estaban destinados a sistemas Windows y en un 94% de todos los ejecutables maliciosos, se consideraron prácticamente indetectables para la mayoría de los sistemas de seguridad actuales”, argumenta el autor del trabajo de la Universidad Isabel I.
Con las técnicas de inteligencia artificial se construyen algoritmos matemáticos que nos indican, por ejemplo, como hacer un reconocimiento biométrico, las búsquedas online, las predicciones en bolsa, o el análisis meteorológico, entre otros.
Trabajo de investigación
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.
Definiciones de malwares informáticos
Un virus informático se considera un tipo de malware. Su fin último es reproducirse, es decir, propagar copias de sí mismo e infectar otros equipos. Es capaz de ocultarse a los ojos del usuario o de los programas, inyectando su código en archivos legítimos del sistema, lo que causa que el código malicioso se ejecute cuando el usuario accede a los mismos, por lo que requiere de cierta interacción para poder activarse. Esto hace también que sea difícil detectarlos si no se usan herramientas de seguridad como el antivirus.
Una vez que ha infectado un equipo, los virus se emplean para multitud de acciones desde el robo de información, robo de dinero, difundir spam, dañar ordenadores o redes, o crear botnets (permite controlar ordenadores o servidores infectados con una red de robots de forma remota).
Los gusanos en cambio, muy similares a los virus, no infectan otros programas o archivos y no necesitan la interacción del usuario. Tienen la capacidad de replicarse y propagarse por sí solos, a través de la red, mediante la explotación de sistemas operativos vulnerables. Es habitual encontrarlos en el correo electrónico o programas de mensajería instantánea.
Y los troyanos, es todo el malware que se oculta como un archivo pero que en realidad tiene un fin malicioso. El troyano no infecta otras aplicaciones, pero los daños que puede llegar a causar son mucho más graves, ya que afectan a contraseñas, datos bancarios o información personal. Se considera que el 67% de los ataques de malware, son de troyanos, como el EternalBlue, que atacó el Departamento de Seguridad nacional de Estados Unidos y ha sido uno de los más costosos y destructivos de la historia.
Los Spyware, son programas que espían al usuario sin su consentimiento; o el adWare, diseñado para mostrar anuncios al usuario, son ventanas emergentes en los navegadores que resultan difíciles de cerrar o manipular. Están los Rootkit, que permiten el acceso al ordenador sin permiso del usuario o los Ransomware, que niegan el acceso del usuario a su propio equipo.
Técnicas de análisis de los malware
Existen dos técnicas de análisis: el análisis estático que implica estudiar el código fuente y sus propiedades y el análisis dinámico donde se ejecuta un archivo en un entorno controlado como en una máquina virtual que monitoriza su comportamiento. Sin embargo, “los estudios revelan que la detección inicial de un malware es menor al 5%, lo que indica la grave exposición del sistema a las nuevas amenazas. Y esto es debido a todas las técnicas que se emplean en el software antivirus, como la detección basada en firmas, basada en comportamientos de ciertos patrones o basada en el análisis de las características de un archivo, las cuales, son limitadas. Gracias a este trabajo de investigación, estamos un paso más cerca de conseguir detener los malware desconocidos, que están causando graves daños en el mundo basados en el robo de datos o cuentas bancarias”, concluye David Rodríguez Regueira.