Publicaciones

Ciberexperto. Inteligencia artificial en la esfera de la seguridad informática

¿Es posible definir la inteligencia humana de una manera tan precisa que se la pueda simular con la ayuda de máquinas? Esta sigue siendo en gran medida la manzana de la discordia en la comunidad científica. Los desarrolladores que intentan crear inteligencia artificial recurren a una amplia variedad de enfoques. Algunos se inclinan por las redes neurales artificiales; otros por la manipulación de símbolos. Actualmente, ningún dispositivo que contenga inteligencia artificial ha podido pasar la prueba Turing. El reconocido científico en informática británico Alan Turing afirmó que para que una máquina sea clasificada como verdaderamente inteligente, el usuario no debería ser capaz en absoluto de distinguir si está interactuando con una máquina o con otro ser humano. Una potencial aplicación de la inteligencia artificial autónoma se encuentra en el campo de la virología informática y en la provisión de mantenimiento remoto de ordenadores.

La principal tarea que enfrentan, hoy por hoy, los investigadores de la inteligencia artificial [IA] es la creación de un dispositivo autónomo de IA completamente capaz de aprender, tomar decisiones informadas y modificar sus propios patrones de comportamiento como respuesta a estímulos externos. Es posible construir sistemas a medida altamente especializados; es posible construir una IA más universal y compleja. Sin embargo, tales sistemas siempre se basan en la experiencia y conocimiento proporcionado por humanos en forma de ejemplos, reglas o algoritmos de comportamiento.

¿Por qué resulta tan difícil crear IA autónoma? Porque una máquina no posee cualidades humanas como el pensamiento animado, intuición y habilidad de distinguir entre crucial e insignificante, y más importante aún, carece de la sed por nuevos conocimientos. Todas estas cualidades confieren a los humanos la habilidad de solucionar problemas, aun cuando estos problemas no sean de tipo lineal. Para realizar un trabajo apropiado, la IA actualmente requiere de algoritmos predeterminados por humanos. Sin embargo, los intentos de alcanzar el santo grial de la verdadera IA son incesantes y algunos incluso dan señales de éxito.

Coste de la mano de obra

El proceso de detección de malware y de restauración de los parámetros normales del funcionamiento de un ordenador, consta de tres pasos básicos. La regla se aplica al sujeto que sigue cada uno de los pasos, sea humano o máquina. El primer paso consiste en la recolección de datos objetivos sobre el ordenador objeto de la investigación y de los programas que ejecuta. Esto se realiza de mejor manera si se usa un equipo automático y de alta velocidad capaz de producir informes que el equipo pueda descifrar, y que se pueda operar sin intervención humana.

El segundo paso implica someter los datos recopilados a un detallado escrutinio. Por ejemplo, si un informe muestra que se ha detectado un objeto sospechoso, dicho objeto debe ser puesto en cuarentena y analizado en profundidad a fin de determinar el nivel de amenaza que representa, y se debe tomar una decisión sobre la aplicación de otras medidas.

El tercer paso se refiere al procedimiento de tratamiento del problema, para lo cual se puede usar un lenguaje script especial que contenga los comandos necesarios para eliminar cualquier archivo malware y restaurar los parámetros de funcionamiento normal del ordenador.

En términos generales, hace apenas algunos años, el segundo y el tercer paso los realizaban analistas de compañías de seguridad informática y expertos en foros especializados, prescindiendo de casi toda automatización. Sin embargo, el aumento del número de víctimas de malware y su consecuente necesidad de ayuda, originó una serie de problemas, como los siguientes:

  • Cuando los protocolos y los archivos en cuarentena se procesan de forma manual, el experto antivirus se enfrenta con enormes volúmenes de datos cambiantes que deben ser absorbidos y completamente entendidos, lo cual es un proceso moroso.
  • El ser humano tiene naturales limitaciones sicológicas y fisiológicas: los especialistas se cansan o cometen errores. Cuanto más compleja sea la tarea, mayores serán las posibilidades de cometer errores. Por ejemplo, un experto antivirus sobrecargado de trabajo puedo pasar por alto un programa malicioso, o viceversa, puede eliminar una aplicación legítima.
  • El análisis de los archivos en cuarentena es una operación que requiere de mucho tiempo debido a que el experto necesita considerar las características únicas de cada muestra, es decir, dónde y cómo apareció y qué la hace sospechosa.

Los problemas arriba mencionados sólo pueden resolverse con la automatización completa del análisis y del tratamiento del programa malicioso. Sin embargo, los varios intentos de hacerlo mediante distintos algoritmos no han tenido éxito. La razón principal de este fracaso es que el malware evoluciona de manera incesante, y cada día surgen en Internet docenas de nuevos programas maliciosos con métodos de camuflaje e incrustación cada vez más y más sofisticados. En consecuencia, los algoritmos de detección se hacen en extremo complejos, a la vez que se desactualizan con suma rapidez, lo que exige una constante actualización y reparación. Otro problema, por supuesto, es que la efectividad de cualquier algoritmo está naturalmente limitada por la habilidad de su autor.

El uso de sistemas expertos en ‘atrapar’ virus parece ser un poco más efectivo. Los desarrolladores de sistemas antivirus se enfrentan a similares problemas: la efectividad de un sistema depende de la calidad de las reglas y de las bases de conocimientos que utilice. Además, estas bases tiene que estar constantemente actualizadas y, una vez más, eso tiene un coste en recursos humanos.

Principios generales de funcionamiento del sistema Cyber Helper

A pesar de las dificultades, y con el tiempo, los experimentos en este campo han tenido algunos logros, como la creación del sistema Cyber Helper que constituye un intento exitoso de aproximación al uso de IA verdaderamente autónoma en la lucha contra los programas maliciosos. La mayoría de los subsistemas autónomos de Cyber Helper son capaces de sincronizar e intercambiar datos, y trabajar al unísono. Por supuesto que contienen algunos algoritmos y reglas ‘duras’ como cualquier programa convencional, pero en su mayoría funcionan recurriendo a una lógica difusa, y definen de manera independiente su propio comportamiento a medida que van resolviendo distintas tareas.

El núcleo del sistema Cyber Helper está conformado por una utilidad llamada AVZ, creada por el autor en 2004. AVZ se diseñó especialmente para, automáticamente, recolectar datos de ordenadores y programas maliciosos sospechosos, y guardarlos en un formato que el equipo pueda interpretar, a fin de que otros subsistemas puedan utilizarlos. La utilidad construye informes de sus análisis del sistema del ordenador en formato HTML, para el lector humano, y en formato XML, para lectura de la máquina. A partir de 2008, el programa básico AVZ está integrado en las soluciones antivirus de Kaspersky Lab.

 
Los seis pasos del algoritmo de funcionamiento del sistema Cyber Helper

El algoritmo de funcionamiento del sistema consta de seis pasos. En el primero, el programa básico AVZ realiza un análisis antivirus del equipo infectado y transfiere los resultados, en formato XML, a los otros subsistemas de Cyber Helper para su análisis.

 
Cuando se realiza una petición de tratamiento, es importante responder a todas
las preguntas sobre el sistema

El analizador del sistema estudia el protocolo recibido en base a las enormes cantidades de datos ya disponibles sobre malware conocido, acciones de tratamiento ya realizadas en casos similares, y sobre otros factores adicionales. Al respecto, Cyber Helper se parece al funcionamiento del cerebro humano que para ser productivo debe acumular conocimientos sobre su ambiente circundante, especialmente durante el periodo en el que se establece. Para que los niños se desarrollen completamente es vital que estén conscientes de lo que sucede en su mundo y que puedan comunicarse fácilmente con otras personas. En este caso, la máquina tiene la ventaja, en relación al humano, de que puede guardar, extraer y procesar volúmenes mucho más grandes de información en un determinado periodo de tiempo.

 
Ejemplo de una instrucción y un script para tratamiento/cuarentena elaborados por el sistema
Cyber Helper prescindiendo de toda intervención humana

Otra similitud entre Cyber Helper y un ser humano es que Cyber Helper puede, de manera independiente y casi sin ayuda, lanzar el proceso de análisis de protocolo y autoenseñarse constantemente en un ambiente que cambia también de forma constante. Respecto al autoaprendizaje, las principales dificultades que enfrenta Cyber Helper se refieren a estos tres problemas: errores cometidos por expertos humanos que la máquina no tiene la intuición suficiente para resolver, información incompleta e inconsistente sobre el programa, y el múltiple ajuste de los datos y retrasos en el ingreso de datos. Veamos esto con más detalle.

La complejidad de la realización

Los expertos que procesan protocolos y archivos en cuarentena pueden cometer errores o realizar acciones que son lógicamente inexplicables desde la perspectiva de la máquina. Este es un típico ejemplo: cuando un especialista experto detecta un archivo desconocido en un protocolo, con las características de un programa malicioso, llamado %System32%ntos.exe, lo elimina sin previamente ponerlo en cuarentena y analizarlo en profundidad, apoyándose en su experiencia e intuición. Por esto, los detalles de las acciones realizadas por los especialistas y cómo llegan a sus conclusiones no siempre pueden transferirse directamente en algo que pueda enseñársele a una máquina. Muchas veces uno se encuentra con información de tratamiento incompleta y contradictoria, tal es el caso del usuario que antes de buscar la ayuda especializada de un experto, puede haber intentado reparar su ordenador borrando sólo una parte de un programa malicioso, restaurando archivos infectados y obviando limpiar el registro en el proceso.

Finalmente, el tercer problema típico: durante el procedimiento de análisis del protocolo, sólo están disponibles los metadatos de un objeto sospechoso, mientras que en el análisis de un archivo en cuarentena, sólo se cuenta con los datos iniciales sobre el objeto sospechoso. Después se procede a la categorización del objeto, dando como resultado que puede tratarse de malware o de un programa ‘limpio’. Se llega a contar con esta información sólo después de repetidos ajustes y de un considerable tiempo que puede ir desde minutos hasta meses, inclusive. El proceso de definición puede ocurrir tanto de forma externa, en un laboratorio de servicios analíticos, como de forma interna, en los subsistemas de Cyber Helper.

Veamos un ejemplo típico: un analizador verifica un archivo sin encontrar nada peligroso en su comportamiento y transfiere la información a Cyber Helper. Después de un tiempo, el analizador se actualiza y repite el análisis del archivo sospechoso que examinara anteriormente, pero esta vez su veredicto es opuesto al primero. El mismo problema puede ocurrir en relación a las conclusiones a las que llega el analista antivirus respecto a aquellos programas de discutible clasificación, como por ejemplo, los programas para la administración remota de sistemas, o utilidades que borran los rastros de un usuario: su clasificación puede variar de una versión a la siguiente. La peculiaridad arriba mencionada (la volatilidad y ambigüedad de los parámetros de los programas analizados) ha dado como resultado que cualquier decisión que tome Cyber Helper estará basada en más de cincuenta análisis diferentes e independientes. Las prioridades de cada tipo de investigación y la relevancia de sus resultados están en constante cambio, así como el proceso de autoaprendizaje del sistema inteligente.

En base a la información disponible actualmente, el analizador Cyber Helper proporciona una serie de hipótesis en relación a cuál de los objetos presentes en el protocolo puede constituir una amenaza y cuál puede añadirse a la base de datos de archivos ‘limpios’. A partir de estas hipótesis, AVZ automáticamente escribe un script para poner en cuarentena el objeto sospechoso. Después, este script se transfiere al ordenador del usuario para ejecutarse. (Paso 2 del algoritmo de funcionamiento del sistema Cyber Helper).

En la etapa en la que se escribe el script, puede suceder que el sistema inteligente haya detectado datos que son claramente maliciosos. En este caso, el script puede incluir el comando delete para malware conocido o una llamada a procedimientos especiales para restaurar el daño conocido en el sistema. Tales situaciones se dan con frecuencia debido a que Cyber Helper procesa de manera simultánea cientos de peticiones; esto es típico en situaciones en las que varios usuarios han sido víctimas del mismo malware y sus ordenadores necesitan ayuda. Tras recibir y analizar las muestras requeridas del ordenador de uno de estos usuarios, Cyber Helper puede proporcionar a los otros usuarios el script para el tratamiento de la infección, omitiendo por completo la etapa de cuarentena, ahorrándoles así tiempo y flujo de tráfico de datos. Los objetos recibidos del usuario se analizan bajo la supervisión de Cyber Helper y los resultados amplían la base de conocimientos de Cyber Helper cualquiera sea el resultado. De esa manera, la máquina inteligente puede verificar cualquier hipótesis adoptada en el paso 1 del algoritmo de funcionamiento, pudiendo entonces confirmar, o no, el resultado.

Subsistemas técnicos de Cyber Helper

Los principales subsistemas de Cyber Helper son entidades autónomas que analizan los contenidos y comportamientos de los archivos de programas. Gracias a ellos Cyber Helper puede analizar programas maliciosos y autoenseñarse a partir de los resultados de los análisis. Si el análisis confirma claramente que un determinado objeto es malicioso, éste pasa al laboratorio antivirus con una recomendación de alta prioridad para incluirlo en las bases de datos antivirus. A continuación se escribe un script de tratamiento para el usuario (paso 5). Es importante notar que aunque analiza el objeto, Cyber Helper no siempre puede tomar una decisión sobre la clasificación del mismo. Cuando tal situación se da, todos los datos y resultados inicialmente recopilados se pasan a un experto para su análisis (paso 6). El analista experto proporcionará entonces la solución adecuada para el tratamiento de la infección. Cyber Helper no se involucra en el proceso, pero continúa estudiando las cuarentenas y protocolos recibidos generando informes para el analista experto, liberándolo así de la parte más pesada de la rutina del trabajo.

 
Una vez que se formula una petición, el sistema vuelve a mostrársela al operador
para que éste verifique que todos los datos ingresados son correctos

Al mismo tiempo, no siempre se aplica la ‘política de no intervención’ de los sistemas de IA en relación al trabajo del experto; se sabe de docenas de casos en los que la máquina inteligente descubrió errores debidos a acciones humanas, gracias a la experiencia que acumuló y a los resultados de su propio análisis de un objeto. En tales casos, la máquina puede comenzar interrumpiendo el proceso analítico y de toma de decisión y enviar una advertencia al analista experto antes de proceder a bloquear los scripts que están por enviarse al usuario, lo que desde la perspectiva de la máquina podría dañar el sistema del equipo. La máquina ejecuta un estricto control sobre sus propias acciones. Mientras que se desarrollan los scripts de tratamientos, otro subsistema los evalúa simultáneamente, evitando que se produzcan errores. El ejemplo más sencillo de tal error sería cuando un programa malicioso sustituye a un componente importante del sistema. Por una parte es necesario destruir el malware, pero por otra, hacerlo podría ocasionar daños irreversibles en el sistema.

 
Los servicios de emergencia (911) disponibles en el sitio web VirusInfo
están a disposición de quien los necesite

Hoy en día, Cyber Helper está exitosamente integrado en el portal antivirus http://virusinfo.info y se constituye en la base del sistema experimental 911 http://virusinfo.info/911test/. En el “sistema 911’, Cyber Helper se comunica directamente con el usuario y le solicita protocolos, los analiza, escribe scripts para el análisis inicial y realiza el análisis de archivos en cuarentena. Según los resultados del análisis, la máquina puede realizar el tratamiento del ordenador infectado. Además, Cyber Helper apoya el trabajo de los analistas expertos encontrando y suprimiendo errores peligrosos, realizando análisis iniciales de todos los archivos que los expertos analistas ponen en cuarentena, y procesando los datos de la cuarentena antes de añadirlos a la base de datos de archivos ‘limpios’. La tecnología de Cyber Helper y su principio de funcionamiento están protegidos por patentes de Kaspersky Lab.

Conclusión

Los modernos programas maliciosos actúan y se propagan de una manera extremadamente rápida. Para responder de manera inmediata, se necesita un procesamiento inteligente de grandes volúmenes de datos no estándares. La inteligencia artificial es la herramienta ideal para esta tarea, ya que puede procesar enormes cantidades de datos de manera más eficiente que el cerebro humano. Cyber Helper es uno de un puñado de intentos exitosos de aproximación a la creación de inteligencia artificial autónoma. Como una criatura inteligente, Cyber Helper puede autoaprender y definir sus propias acciones de una manera independiente. Los analistas antivirus y las máquinas inteligentes se complementan mutuamente de manera extraordinariamente efectiva, dando como resultado una confiable protección para el usuario.

Este artículo se publicó en la revista Secureview del cuarto trimestre de 2010.

Ciberexperto. Inteligencia artificial en la esfera de la seguridad informática

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Informes

BlindEagle vuela alto en LATAM

Kaspersky proporciona información sobre la actividad y los TTPs del APT BlindEagle. Grupo que apunta a organizaciones e individuos en Colombia, Ecuador, Chile, Panamá y otros países de América Latina.

MosaicRegressor: acechando en las sombras de UEFI

Encontramos una imagen de firmware de la UEFI infectada con un implante malicioso, es el objeto de esta investigación. Hasta donde sabemos, este es el segundo caso conocido en que se ha detectado un firmware malicioso de la UEFI usado por un actor de amenazas.

Suscríbete a nuestros correos electrónicos semanales

Las investigaciones más recientes en tu bandeja de entrada