ES2967061T3 - Sistema y método para detectar un archivo malicioso mediante análisis de imagen previo a la ejecución del archivo - Google Patents

Sistema y método para detectar un archivo malicioso mediante análisis de imagen previo a la ejecución del archivo Download PDF

Info

Publication number
ES2967061T3
ES2967061T3 ES19800620T ES19800620T ES2967061T3 ES 2967061 T3 ES2967061 T3 ES 2967061T3 ES 19800620 T ES19800620 T ES 19800620T ES 19800620 T ES19800620 T ES 19800620T ES 2967061 T3 ES2967061 T3 ES 2967061T3
Authority
ES
Spain
Prior art keywords
file
processor
received file
engine
malicious
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19800620T
Other languages
English (en)
Inventor
William Finlayson
Hyrum Anderson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Endgame Inc
Original Assignee
Endgame Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Endgame Inc filed Critical Endgame Inc
Application granted granted Critical
Publication of ES2967061T3 publication Critical patent/ES2967061T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30121CRT, LCD or plasma display
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/09Recognition of logos
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

Las realizaciones comprenden un sistema y un método para analizar archivos utilizando señales visuales en la presentación del archivo. Estas ayudas visuales pueden extraerse mediante una red neuronal convolucional, clasificarse y usarse junto con los metadatos del archivo para determinar si es probable que un documento proporcionado sea malicioso. Esta metodología puede ampliarse para detectar una variedad de ataques relacionados con la ingeniería social, incluidos sitios de phishing o correos electrónicos maliciosos. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistema y método para detectar un archivo malicioso mediante análisis de imagen previo a la ejecución del archivo
CAMPO DE LA INVENCIÓN
La presente invención utiliza técnicas de procesamiento de imágenes para identificar un archivo malicioso antes de que un usuario pueda provocar inadvertidamente la ejecución de un código malicioso a través de las interacciones del usuario con el archivo.
ANTECEDENTES DE LA INVENCIÓN
Los ciberatacantes utilizan ataques cada vez más creativos para infiltrarse en ordenadores y redes. Con referencia a la Figura 1, un mecanismo de ciberataque común es enviar el archivo 103 desde el dispositivo cliente 101a operado por un ciberatacante a un usuario desprevenido. Por ejemplo, el ciberatacante podría enviar un correo electrónico adjuntando un archivo 103 al servidor 102, que en este ejemplo es un servidor de correo electrónico al que el usuario puede acceder desde el dispositivo cliente de ejemplo 101b. El ciberatacante también podría cargar el archivo 103 en el servidor 102 y enviar un mensaje al usuario para acceder al archivo 103.
Con referencia a la Figura 2, cuando el usuario abre el archivo 103 y lo ve, la imagen vista se parece visualmente a un archivo legítimo. Por ejemplo, la imagen vista puede parecer una factura de un sitio web de comercio electrónico válido o un extracto de una compañía de tarjeta de crédito válida.
Con referencia a la Figura 3, creyendo que el archivo es legítimo, el usuario podría interactuar con el archivo, por ejemplo haciendo clic en un enlace dentro del archivo. Esta acción hará que se ejecute el código malicioso. El código malicioso 104 puede entonces atacar el dispositivo cliente 101b y potencialmente cualquier red o dispositivo conectado al dispositivo cliente 101b. El código malicioso 104 típicamente borrará o corromperá los datos almacenados dentro de un dispositivo informático o recopilará y transmitirá datos desde un dispositivo informático a otro dispositivo operado por el ciberatacante.
El software de prevención demalwarede acuerdo con el estado de la técnica anterior normalmente comparará el archivo 103 con archivos maliciosos conocidos y evitará la apertura del archivo 103 si se encuentra una coincidencia. Por ejemplo, se podría usar un proceso de comparación de patrones estáticos para comparar el código malicioso incorporado 104 dentro del archivo 103 con un código malicioso conocido (por ejemplo, usando firmas) o para comparar los comportamientos dinámicos del código malicioso 104 con los de códigos maliciosos conocidos (por ejemplo, enlace API). Como tal, la técnica anterior requiere que se recopile y mantenga un conjunto de reglas que cotejen el código malicioso potencial con las muestras perniciosas conocidas o que inspeccionen los parámetros de función durante las llamadas API. Estos mecanismos del estado de la técnica existente son ineficaces si el archivo 103 es nuevo y diferente de los archivos maliciosos conocidos. Además, estos mecanismos de la técnica anterior no aprovechan el hecho de que el ciberatacante diseña intencionalmente el archivo 103 para imitar visualmente archivos legítimos.
Lo que se necesita es un sistema y un método mejorados que identifiquen con precisión archivos maliciosos analizando las características visuales del archivo antes de que un usuario interactúe con el archivo o provoque de otro modo la ejecución del código malicioso.
Un marco de análisis de amenazas para determinar el nivel de amenaza o la puntuación de maliciosidad de una muestra (es decir, un archivo de datos, código ejecutable, etc.) se describe en la publicación de solicitud de patente estadounidense n.° US 2018/0046799 A1. El nivel de amenaza o la puntuación de maliciosidad indican la probabilidad de que la muestra sea maliciosa. El marco comprende un conjunto tipoarrayde analizadores múltiples, donde se toma una decisión dinámica para analizar la muestra en tantos de estos analizadores como haya activado. Los analizadores de amenazas comprenden entornos tiposandbox,entornos nosandboxy otras herramientas de análisis de amenazas dinámicas y estáticas.
La solución descrita en la publicación de solicitud de patente estadounidense n.° US 2013/0097706 A1 permite a los suscriptores móviles enviar aplicaciones móviles para analizarlas en busca de comportamiento anómalo y malicioso utilizando datos adquiridos durante la ejecución de la aplicación dentro de un entorno altamente instrumentado y controlado para el que el análisis esté basado por ejecución, así como por una comparación de datos agregados desde otras muchas de estas ejecuciones de uno o más suscriptores.
En el artículo científico «Anti-Phishingbasado en Similitud Visual con la Combinación de Características Locales y Globales» de Y. Zhouet al.se propone un enfoque de detección dephishingbasado en similitud visual que compara el par de imágenes instantáneas de una página web sospechosa y una página web protegida. Este enfoque es puramente a nivel de imagen y, por lo tanto, puede abordar de manera efectiva los trucos dephishingque no son de texto que incluyen imágenes.
El artículo científico «Un SistemaAnti-Phishingbasado en el Intercambio de Información» de Y. Chenget al.presenta un diseño de un sistemaanti-phishingbasado en el intercambio de información o asistido por un servidor. Al visitar un sitioweb,unproxydel lado del cliente, instalado como complemento tipoplug-inde un navegador, decide sobre la legitimidad del sitiowebbasándose en una combinación de lista blanca, lista negra y heurísticas.
BREVE RESUMEN DE LA INVENCIÓN
La invención se define en las reivindicaciones independientes. Realizaciones particulares se establecen en las reivindicaciones dependientes.
En particular, se describe un sistema y un método para analizar archivos utilizando señales visuales en la presentación del archivo.
Estas ayudas visuales pueden extraerse utilizando una red neuronal convolucional, clasificarse y usarse junto con metadatos de archivos para determinar si es probable que un documento proporcionado sea malicioso. Esta metodología puede ampliarse para detectar una variedad de ataques relacionados con la ingeniería social, incluidos sitios dephishingo correos electrónicos maliciosos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 muestra un sistema de acuerdo con el estado previo de la técnica en el que se transmite un archivo desde un dispositivo cliente a un servidor.
La Figura 2 representa el sistema de acuerdo con el estado previo de la técnica de la Figura 1, donde el servidor recibe el archivo y otro dispositivo cliente accede a él.
La Figura 3 representa el sistema de acuerdo con el estado previo de la técnica de las Figuras 1 y 2 donde el dispositivo cliente 101b interactúa con el archivo 103 y provoca la ejecución de código malicioso 104.
La Figura 4 representa componentes dehardwarede acuerdo con el estado previo de la técnica de un dispositivo cliente.
La Figura 5 muestra los componentes desoftwaredel dispositivo cliente.
La Figura 6 representa componentes dehardwarede un servidor de acuerdo con el estado previo de la técnica. La Figura 7 muestra los componentes desoftwaredel servidor.
La Figura 8 muestra un módulo de detección de código malicioso ejecutado por un servidor y un dispositivo cliente. La Figura 9 muestra los componentes del módulo de detección de códigos maliciosos.
La Figura 10 muestra un generador de capturas de pantalla del módulo de detección de códigos maliciosos.
La Figura 11 muestra la generación de características del módulo de detección de códigos maliciosos.
La Figura 12 muestra la detección de objetos del módulo de detección de código malicioso.
La Figura 13 muestra el módulo de detección de códigos maliciosos analizando un archivo recibido y generando una alerta.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN
La Figura 4 representa componentes dehardwaredel dispositivo cliente 101. Estos componentes dehardwareson conocidos en el estado previo de la técnica. El dispositivo cliente 101 es un dispositivo informático que comprende la unidad de procesamiento 401, la memoria 402, el almacenamiento no volátil 403, la unidad de posicionamiento 404, la interfaz de red 405, la unidad de captura de imágenes 406, la unidad de procesamiento de gráficos 407 y la pantalla 408. El dispositivo cliente 101 puede ser un teléfono inteligente tiposmartphone,un ordenador portátil tiponotebook,una tableta, un ordenador de sobremesa, una unidad de juego, un dispositivo informático portátil, como un reloj o unas gafas, o cualquier otro dispositivo informático.
La unidad de procesamiento 401 comprende opcionalmente un microprocesador con uno o más núcleos de procesamiento. La memoria 402 comprende opcionalmente memoria volátil DRAM o SRAM. El almacenamiento no volátil 403 comprende opcionalmente una unidad de disco duro o un conjunto tipoarrayde memoria flash. La unidad de posicionamiento 404 comprende opcionalmente una unidad GPS o unidad GNSS que se comunica con satélites GPS o GNSS para determinar las coordenadas de latitud y longitud para el dispositivo cliente 101, generalmente generadas como datos de latitud y longitud. La interfaz de red 405 comprende opcionalmente una interfaz cableada (por ejemplo, interfazEthernet)o una interfaz inalámbrica (por ejemplo, 3G, 4G, GSM, 802.11, protocolo conocido por la marca registrada"Bluetooth",etc.). La unidad de captura de imágenes 406 comprende opcionalmente una o más cámaras estándar (como se encuentra actualmente en la mayoría de los teléfonos inteligentes tiposmartphonesy ordenadores tiponotebooks). La unidad de procesamiento de gráficos 407 comprende opcionalmente un controlador o procesador para generar gráficos para visualización. La pantalla 408 muestra los gráficos generados por la unidad de procesamiento de gráficos 407 y, opcionalmente, comprende un monitor, una pantalla táctil u otro tipo de pantalla.
La Figura 5 representa componentes desoftwaredel dispositivo cliente 101. El dispositivo cliente 101 comprende el sistema operativo 501 (tal como los sistemas operativos conocidos por las marcas comerciales "Windows", "Linux", "Android", "iOS" u otras) y el módulo de detección de códigos maliciosos 502. El módulo de detección de códigos maliciosos 502 comprende líneas de código desoftwareejecutadas por la unidad de procesamiento 401 para realizar las funciones que se describen a continuación.
Por ejemplo, el dispositivo cliente 101 puede ser un teléfono inteligente tiposmartphonevendido con la marca comercial "Galaxy" de Samsung o "iPhone" de Apple, y el módulo de detección de códigos maliciosos 502 puede ser una aplicación tipoappdescargable instalada en el teléfono inteligente tiposmartphone.El dispositivo cliente 101 también puede ser un ordenador portátil tiponotebook, un ordenador de sobremesa, un sistema de juegos u otro dispositivo informático, y el módulo de detección de códigos maliciosos 502 puede ser una aplicación desoftwareque se ejecuta en el dispositivo cliente 101. El módulo de detección de códigos maliciosos 502 forma un componente importante del aspecto inventivo de las realizaciones descritas en el presente documento, y el módulo de detección de código malicioso 502 no se conoce en el estado previo de la técnica.
La Figura 6 representa componentes dehardwaredel servidor 102. Estos componentes dehardwareson conocidos en el estado previo de la técnica y son similares o idénticos a los componentes dehardwaredel dispositivo cliente 101. El servidor 102 es un dispositivo informático que comprende una unidad de procesamiento 601, memoria 602, almacenamiento no volátil 603, unidad de posicionamiento 604, interfaz de red 605, unidad de captura de imágenes 606, unidad de procesamiento de gráficos 607 y pantalla 608.
La Figura 7 representa componentes desoftwaredel servidor 102. El servidor 102 comprende el sistema operativo 701 (tal como los sistemas operativos conocidos por las marcas comerciales "Windows", "Linux", "Android", "iOS" u otros) y módulo de detección de código malicioso 502. Por lo tanto, el módulo de detección de código malicioso 502 puede operar en el servidor 102, el dispositivo cliente 101 o en ambos.
Como se describe con mayor detalle a continuación, el módulo de detección de código malicioso 502 desacopla la presentación visual del archivo 103 del código malicioso subyacente 104. Esto permite que la presentación visual del archivo 103 se analice por separado, antes de que se ejecute el código malicioso 104 y antes de que incluso un usuario tenga la oportunidad de provocar inadvertidamente la ejecución del código malicioso 104.
Con referencia a la Figura 8, el dispositivo cliente 101a envía el archivo 103 al servidor 102 y/o al dispositivo cliente 101b como en las Figuras 1-2. Sin embargo, el módulo de detección de código malicioso 502 (ya sea que esté funcionando en el servidor 102, en el dispositivo cliente 101b o en ambos) actúa inmediatamente sobre el archivo 103.
Con referencia a la Figura 9, el módulo de detección de código malicioso 502 comprende un motor generador de capturas de pantalla 901, un motor de extracción de metadatos 902, un motor de detección de objetos 903 y un motor de determinación de maliciosidad 905. El Motor generador de capturas de pantalla 901, el motor de extracción de metadatos 902, el motor de detección de objetos 903 y el motor de determinación de maliciosidad 905 comprenden cada uno líneas de código desoftwareejecutadas por la unidad de procesamiento 401.
Con referencia a las Figuras 10-12, el motor generador de capturas de pantalla 901, el motor de extracción de metadatos 902 y el motor de detección de objetos 903 se utilizan para analizar archivos buenos y malos conocidos para generar un conjunto de datos de referencia visual 904 durante una fase de entrenamiento.
Con referencia a la Figura 10, el motor generador de capturas de pantalla 901 realiza una operación de «vista previa de impresión» en el archivo 103, que genera la captura de pantalla 1001, que es una imagen de lo que aparecería en la pantalla una vez abierto el archivo 103 con susoftwarenativo. En este ejemplo, el archivo 103 es un archivo con el nombre de archivo «archivo_entrada.doc» creado usando un programa procesador de textos conocido por la marca registrada Microsoft Word. Sin embargo, el motor generador de capturas de pantalla 901 realiza sólo la función limitada de generar la imagen de pantalla y no ejecuta ninguna de las funciones adicionales que estarían disponibles en elsoftwarenativo. En este ejemplo, la captura de pantalla 1001 es una imagen de lo que un usuario vería en la pantalla 408 o 608 cuando Microsoft Word abriera el archivo 103, pero las funciones de esesoftware(como la capacidad de editar un documento o hacer clic en un hipervínculo) no estaría disponible en la captura de pantalla.
El motor generador de capturas de pantalla 901 utiliza opcionalmente el enlace API, que indica al motor generador de capturas de pantalla 901 cuando el archivo 103 ha terminado de cargarse. Luego se toma una captura de pantalla, se recorta y se proporciona para su clasificación junto con la etiqueta de malicioso/benigno.
El siguiente paso en la fase de entrenamiento implica la evaluación del archivo de muestra 103 y su clasificación de malicioso versus benigno. Esto implica la cuantificación de características numéricas de los metadatos del archivo 1101 para el archivo 103 y la captura de pantalla 1001 para la clasificación de cada muestra. Con referencia a la Figura 11, cada archivo, tal como el archivo 103, tiene metadatos 1101 extraídos de él (por ejemplo, fecha de creación, varias propiedades del documento), se capturan datos contextualizados sobre el usuario (por ejemplo, hora del día en que el archivo se ha abierto, ubicación del usuario), y la imagen de captura de pantalla 1001 se transforma para su uso con el motor de detección de objetos 903. Luego, los metadatos 1101 se reenvían al motor de determinación de maliciosidad 905 y la captura de pantalla, tal como la captura de pantalla 1001, se ingresa en el motor de detección de objetos 903.
Con referencia a la Figura 12, el motor de detección de objetos 903 recibe como entrada una captura de pantalla 1001, que normalmente comprende un conjunto tipoarrayde datos de píxeles. Estos datos se proporcionan como entrada a una red neuronal convolucional 1201 dentro del motor de detección de objetos 903. La red neuronal convolucional 1201 genera un conjunto de límites de objetos con probabilidades asociadas 1202. Por ejemplo, un conjunto de límites de objetos con probabilidades asociadas 1202 podría ser [. 72, 0, 0,..., .83] para [«Logotipo de Office», «Logotipo de a MeX», «Logotipo de Word», ., «Candado»]. Debido a que la captura de pantalla 1001 contiene imágenes muy similares al logotipo de Office y al candado, las probabilidades de esos objetos son relativamente altas (0,72 y 0,83). Debido a que la captura de pantalla 1001 no contiene un logotipo de<a>M<e>X o de Word, las probabilidades de esos objetos son 0.
Durante la fase de entrenamiento, un analista definirá los límites del objeto 1203 de malas señales visuales conocidas en los datos de captura de pantalla, como se muestra gráficamente en la Figura 12. Estas imágenes anotadas luego se aumentan con ligeros cambios (para no cambiar los límites de objetos definidos) para generar un corpus muy grande de imágenes malas conocidas con límites de objetos. El analista anota que las imágenes buenas conocidas tienen 0 límites de objeto. A continuación, cada imagen se asocia con un vector 1204 de metadatos que se ha extraído del archivo y se entrena un modelo. Los resultados de la fase de entrenamiento se almacenan en el conjunto de datos de referencia visual 904, que comprende elementos visuales en algunos o todos los archivos de entrada, tales como el archivo 103.
Después de la fase de entrenamiento, el módulo de detección de código malicioso 502 se usa en una fase de implementación para detectar archivos potencialmente maliciosos.
En la Figura 13, un nuevo archivo, el archivo 1301, es recibido por el módulo de detección de código malicioso 502. El motor generador de capturas de pantalla 901 recibe el archivo 1301 y genera la captura de pantalla 1302. El archivo 1301 también se reenvía al motor de extracción de metadatos 902 que extrae metadatos 1304 del archivo 1301. La captura de pantalla 1302 se recorta, se normaliza y se reenvía al motor de detección de objetos 903. El motor de detección de objetos 903 utiliza la red neuronal convolucional 1201 para generar un conjunto de límites de objetos 1305 para señales visuales malas conocidas. Tanto los límites de objeto 1305 del motor de detección de objetos 903 como los metadatos 1304 del motor de extracción de metadatos 902 se envían al motor de determinación de maliciosidad 905 para hacer una predicción de maliciosidad.
El motor de determinación de maliciosidad 905 determina si se genera o no la alerta 1303 que indica que el archivo 1301 es potencialmente malicioso. Esta determinación se puede hacer comparando los límites del objeto 1305 para señales visuales del motor de detección de objetos 903 y los metadatos 1304 del motor de extracción de metadatos 902 con el conjunto de datos de referencia 906 que contiene datos de artefactos maliciosos y benignos conocidos en umbrales predeterminados. Esta configuración se puede resumir como un modelo que genera una puntuación de maliciosidad 1306 basada en el conjunto de datos de referencia 906. La alerta 1303 se puede generar si la puntuación de maliciosidad 1306 excede uno o más umbrales predeterminados. Opcionalmente, un administrador puede establecer los umbrales para que la generación de la alerta 1303 sea más o menos conservadora.
Se pueden tomar varias acciones en respuesta a la alerta 1303. Por ejemplo, el archivo 1301 se puede desactivar o poner en cuarentena para que no se pueda abrir en su aplicación desoftwarenativa en el servidor 102 o en el dispositivo cliente 101b. Como otro ejemplo, el servidor 102 o el dispositivo cliente 101b puede enviar un correo electrónico, un mensaje SMS o MMS, u otra comunicación, a un administrador.
Opcionalmente, como parte de la alerta 1303 o en respuesta a la alerta 1303, la pantalla 408 puede mostrar los elementos visuales en la captura de pantalla 1001 que contribuyeron sustancialmente a la puntuación de maliciosidad. Es decir, los elementos visuales que aumentaron sustancialmente la probabilidad de que el archivo 103 contenga código malicioso se muestran e identifican para el usuario, de modo que pueda educarse sobre los elementos visuales que utilizan los actores maliciosos. En el ejemplo de la Figura 12, un ejemplo de elemento visual que se mostrará e identificará podría ser el logotipo de "Office" que ha sido copiado por un actor malicioso en un intento de engañar a los usuarios haciéndoles creer que el archivo no es malicioso. El elemento visual se puede mostrar de forma aislada, o se puede resaltar o enfatizar de una manera como la que se muestra en la Figura 12, donde los elementos visuales se muestran con límites gráficos a su alrededor.
En comparación con el estado de la técnica anterior, el módulo de detección de códigos maliciosos 502 proporciona numerosos beneficios que incluyen: desacoplar la presentación de documentos maliciosos del código malicioso incrustado dentro o asociado con los documentos maliciosos; y eliminar la dependencia del código subyacente y los parámetros API para permitir que se descubra nuevomalwareúnicamente mediante la presentación del documento. Las realizaciones descritas en este documento pueden operar en cualquier tipo de archivo, como documentos de procesadores de textos, páginaswebde sitioswebdephishingy correos electrónicos dephishingpersonalizados. Debe entenderse que la presente invención no se limita a las realizaciones descritas anteriormente e ilustradas en el presente documento, sino que abarca todas y cada una de las variaciones evidentes a partir de la descripción anterior. Por ejemplo, las referencias a la presente invención en el presente documento no pretenden limitar el alcance de ninguna reivindicación o término de reivindicación, sino que simplemente hacen referencia a una o más características que finalmente pueden estar cubiertas por una o más reivindicaciones.

Claims (11)

REIVINDICACIONES
1. Un método para analizar un archivo recibido (1301) para determinar si el archivo recibido (1301) comprende código malicioso (104), con el archivo recibido (1301) capaz de abrirse mediante un programa desoftwarenativo, comprendiendo el método:
generar, mediante un motor de generación de capturas de pantalla (901) ejecutado por un procesador (401, 601), una imagen (1302) que se visualizaría si el archivo recibido (1301) se abriera mediante el programa desoftwarenativo;
analizar, mediante un motor de detección de objetos (903) ejecutado por el procesador (401, 601), la imagen (1302) y generar datos de límites de objetos (1305) para señales visuales en la imagen (1302), con el motor de detección de objetos (903) utilizando una red neuronal convolucional;
extraer, mediante un motor de extracción de metadatos (902), metadatos (1304) del archivo recibido (1301); y generar, mediante un motor de determinación de maliciosidad (905) ejecutado por el procesador (401, 601), una puntuación de maliciosidad (1306) comparando los datos de los límites del objeto (1305) para las señales visuales y los metadatos (1304) con un conjunto de datos de referencia (906) generados a partir de archivos benignos conocidos y archivos maliciosos conocidos.
2. El método de la reivindicación 1, que comprende además: generar una alerta (1303), por parte del procesador (401, 601), si la puntuación de maliciosidad (1306) excede un umbral.
3. El método de la reivindicación 2, que comprende además: en respuesta a la alerta (1303), deshabilitación de la ejecución del archivo recibido (1301).
4. El método de cualquiera de las reivindicaciones anteriores, en el que el archivo recibido (1301) es un archivo de procesamiento de textos.
5. El método de cualquiera de las reivindicaciones 1-3, en el que el archivo recibido (1301) es una página web.
6. El método de cualquiera de las reivindicaciones 1-3, en el que el archivo recibido (1301) es un correo electrónico.
7. El método de cualquiera de las reivindicaciones anteriores, en el que la imagen (1302) se genera sin que el procesador (401, 601) ejecute código malicioso (104).
8. El método de cualquiera de las reivindicaciones anteriores, en el que el procesador (601) está contenido en un servidor (102).
9. El método de cualquiera de las reivindicaciones anteriores, en el que el procesador (401) está contenido en un dispositivo cliente (101).
10. El método de cualquiera de las reivindicaciones anteriores, que comprende además:
mostrar, en un dispositivo de visualización (408, 608), las señales visuales en la imagen (1302) que contribuyeron sustancialmente a la puntuación de maliciosidad (1306).
11. Un dispositivo informático que comprende un procesador (401, 601) configurado para realizar el método de cualquiera de las reivindicaciones anteriores.
ES19800620T 2018-05-10 2019-05-07 Sistema y método para detectar un archivo malicioso mediante análisis de imagen previo a la ejecución del archivo Active ES2967061T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/976,539 US11275833B2 (en) 2018-05-10 2018-05-10 System and method for detecting a malicious file using image analysis prior to execution of the file
PCT/US2019/031177 WO2019217462A1 (en) 2018-05-10 2019-05-07 System and method for detecting a malicious file using image analysis prior to execution of the file

Publications (1)

Publication Number Publication Date
ES2967061T3 true ES2967061T3 (es) 2024-04-25

Family

ID=68463597

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19800620T Active ES2967061T3 (es) 2018-05-10 2019-05-07 Sistema y método para detectar un archivo malicioso mediante análisis de imagen previo a la ejecución del archivo

Country Status (4)

Country Link
US (2) US11275833B2 (es)
EP (1) EP3652647B1 (es)
ES (1) ES2967061T3 (es)
WO (1) WO2019217462A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275833B2 (en) 2018-05-10 2022-03-15 Endgame, Inc. System and method for detecting a malicious file using image analysis prior to execution of the file
US11816213B2 (en) * 2019-12-09 2023-11-14 Votiro Cybersec Ltd. System and method for improved protection against malicious code elements
CN111556065A (zh) * 2020-05-08 2020-08-18 鹏城实验室 钓鱼网站检测方法、装置及计算机可读存储介质
US20230185692A1 (en) * 2021-12-14 2023-06-15 John D. Campbell Highly Tested Systems
JP2025114170A (ja) * 2024-01-24 2025-08-05 株式会社Premo 感染通知送信装置、方法及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712560B2 (en) * 2007-11-05 2017-07-18 Cabara Software Ltd. Web page and web browser protection against malicious injections
EP2283446A4 (en) * 2008-04-21 2012-09-05 Sentrybay Ltd DETECTION OF FRAUDULOUS PAGES
US20100138775A1 (en) * 2008-11-28 2010-06-03 Sharon Kohen Method, device and system, for extracting dynamic content from a running computer application
US8839480B2 (en) 2011-04-18 2014-09-23 Raimundo Augusto Thomas Extend-a-brush
US8646100B2 (en) * 2011-06-03 2014-02-04 Apple Inc. Method for executing an application in a restricted operating environment
ES2755780T3 (es) * 2011-09-16 2020-04-23 Veracode Inc Análisis estático y de comportamiento automatizado mediante la utilización de un espacio aislado instrumentado y clasificación de aprendizaje automático para seguridad móvil
US8544060B1 (en) * 2012-01-27 2013-09-24 Symantec Corporation Method and system for detecting and protecting against potential data loss from unknown applications
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
EP2849407B1 (en) * 2013-09-17 2016-11-16 FIREGLASS Ltd. Method and system for prevention of malware infections
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9241010B1 (en) * 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10282431B1 (en) * 2015-12-18 2019-05-07 A9.Com, Inc. Image similarity-based group browsing
IL250797B (en) 2016-02-25 2020-04-30 Cyren Ltd An array for analyzing advanced cyber threats and methods of use
WO2018048355A1 (en) * 2016-09-08 2018-03-15 Aiq Pte. Ltd. Object detection from visual search queries
US20180183815A1 (en) * 2016-10-17 2018-06-28 Kerry Wayne Enfinger System and method for detecting malware
US10943176B2 (en) * 2017-03-22 2021-03-09 Ebay Inc. Visual aspect localization presentation
US10601866B2 (en) * 2017-08-23 2020-03-24 International Business Machines Corporation Discovering website phishing attacks
US10805346B2 (en) * 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11275833B2 (en) 2018-05-10 2022-03-15 Endgame, Inc. System and method for detecting a malicious file using image analysis prior to execution of the file

Also Published As

Publication number Publication date
EP3652647A4 (en) 2021-04-07
US20210382993A1 (en) 2021-12-09
WO2019217462A1 (en) 2019-11-14
US11275833B2 (en) 2022-03-15
EP3652647A1 (en) 2020-05-20
EP3652647B1 (en) 2023-08-30
US11809556B2 (en) 2023-11-07
US20190347412A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
ES2967061T3 (es) Sistema y método para detectar un archivo malicioso mediante análisis de imagen previo a la ejecución del archivo
Carlin et al. Detecting cryptomining using dynamic analysis
US11882134B2 (en) Stateful rule generation for behavior based threat detection
Andronio et al. Heldroid: Dissecting and detecting mobile ransomware
US11188650B2 (en) Detection of malware using feature hashing
US9973525B1 (en) Systems and methods for determining the risk of information leaks from cloud-based services
US8776196B1 (en) Systems and methods for automatically detecting and preventing phishing attacks
US8533831B2 (en) Systems and methods for alternating malware classifiers in an attempt to frustrate brute-force malware testing
US10986103B2 (en) Signal tokens indicative of malware
US8856937B1 (en) Methods and systems for identifying fraudulent websites
US9317679B1 (en) Systems and methods for detecting malicious documents based on component-object reuse
Ntantogian et al. Evaluating the privacy of Android mobile applications under forensic analysis
US10621343B1 (en) Generic and static detection of malware installation packages
US9781143B1 (en) Systems and methods for detecting near field communication risks
US20160094574A1 (en) Determining malware based on signal tokens
EP3422238A1 (en) Detecting a malware process
Kanwal et al. An app based on static analysis for android ransomware
Wressnegger et al. Comprehensive analysis and detection of flash-based malware
ES3057461T3 (en) Classifying ransom notes in received files for ransomware process detection and prevention
US9798878B1 (en) Systems and methods for detecting text display manipulation attacks
US9646158B1 (en) Systems and methods for detecting malicious files
US20260050670A1 (en) System and method of activating a security application on a mobile device for anti-virus scanning of objects
Moonsamy et al. Towards an understanding of the impact of advertising on data leaks
Vella et al. Volatile memory-centric investigation of SMS-hijacked phones: a Pushbullet case study
Andronio Heldroid: Fast and efficient linguistic-based ransomware detection