Sistemas, aparato, y métodos para detectar malware.
Un método para detectar posible malware que comprende:
crear una primera huella difusa de un archivo de malware conocido,
la primera huella difusa incluye un primerconjunto de aproximaciones de complejidad calculadas y ponderaciones para cada una de una pluralidad de bloquesdentro del archivo de malware conocido;
crear una segunda huella difusa de un archivo que se va a verificar, la segunda huella difusa incluye un segundoconjunto de aproximaciones de complejidad calculadas y ponderaciones para cada una de una pluralidad de bloquesdentro del archivo que se va a verificar;
comparar la segunda huella difusa con la primera huella difusa que incluye comparar las aproximaciones decomplejidad calculadas desde la segunda huella difusa con una pluralidad de las aproximaciones de complejidaddesde la primera huella difusa utilizando una comparación en forma de bloque;
cálculos de complejidad utilizados para calcular la primera y segunda huellas difusas derivadas de la entropía deinformación del bloque al calcular la suma de una función de probabilidad de masa por un logaritmo de la función deprobabilidad de masa del bloque datos,
las ponderaciones para la primera y segunda huellas difusas derivadas desde por lo menos una ubicación del bloqueen su formato de archivo particular y cómo la información indicativa en la ubicación del bloque dentro del archivo espara indicar que el archivo es malware;
calcular una probabilidad de similitud para cada una de las comparaciones en forma de bloque, el cálculo queincluye una ponderación respectiva para cada una de la pluralidad de bloques dentro del archivo de malwareconocido y para cada una de la pluralidad de bloques dentro del archivo que se va a verificar, y el cálculo queincluye una distancia entre los bloques comparados; y
calcular una probabilidad de similitud total para la pluralidad de bloques comparada para determinar si el archivo quese va a verificar se considera un malware.
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E08155001.
Solicitante: McAfee, Inc.
Nacionalidad solicitante: Estados Unidos de América.
Dirección: 3965 Freedom Circle Santa Clara, CA 95054 ESTADOS UNIDOS DE AMERICA.
Inventor/es: ALME,CHRISTOPH.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06F21/00 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › Disposiciones de seguridad para la protección de computadores, sus componentes, programas o datos contra actividades no autorizadas.
PDF original: ES-2400623_T3.pdf
Fragmento de la descripción:
Sistemas, aparato, y métodos para detectar malware Campo de la Invención La presente invención se relaciona con la seguridad de redes de ordenadores, y más particularmente, con un sistema y método para detectar posible malware.
Información de Antecedentes El acceso incrementado a Internet ha tenido el efecto no deseado de aumentar el alcance de los programas de software que capturan información personal de los usuarios sin su autorización (“Spyware”) o que corrompen los ordenadores sin el conocimiento y autorización del usuario (“Malware”) . Además, ha surgido una industria artesanal en el software que automáticamente descarga y exhibe publicidad mientras que se está utilizando una aplicación (“Adware”) . El término malware como se utiliza aquí incluye cualquier tipo de programas de software diseñados para infiltrarse o dañar un sistema de ordenador sin la autorización del propietario, independientemente de la motivación del software, e independientemente de los resultados provocados por el software sobre los dispositivos, sistemas, redes, o datos del propietario.
Cuando dichos programas se instalan en el ordenador del usuario, pueden espiar al usuario, recolectar información confidencial y, en algunos casos, tomar el control del ordenador del usuario. En algunos casos, estos programas de software envían mensajes a otros ordenadores o servidores, proporcionando un conducto para la transferencia de información potencialmente sensible.
Se pueden utilizar diversos programas de detección para intentar detectar la presencia de malware. En algunos casos, los programas de detección se basan en detectar una firma en un software que se examina para determinar si el programa es o contiene, malware. En algunos casos, un programa de detección utiliza un método con base en suma de control para determinar si un software es malware. Sin embargo, los autores del malware frecuentemente cambian partes de los programas con el fin de evitar la detección por firma o los métodos de suma de control. Se pueden crear nuevas variantes de malware conocido al reempacar o compilar dentro de intervalos de tiempo cortos con el fin de evadir la detección con base en firma o suma de control y tomar ventaja del retardo en la creación y distribución de firmas o sumas de control de detección actualizadas.
Los vendedores de software para detección tratan de contrarrestar la cantidad incrementada de nuevas variantes y ejemplos de malware al utilizar detecciones más genéricas, y detecciones mas heurísticas. Sin embargo, las detecciones genéricas tienen la deficiencia de requerir análisis manual de una, en la mayoría de casos de por lo menos dos variantes de malware con el fin de proporcionar una detección apropiada. Adicionalmente, las detecciones heurísticas tienen la deficiencia de falsos positivos Breve Descripción de los Dibujos La Figura 1 ilustra un sistema que incluye una puerta de enlace;
La Figura 2 ilustra un diagrama de un posible diseño para un archivo ejecutable;
La Figura 3 ilustra un diagrama de un posible diseño para un archivo ejecutable empacado en tiempo de ejecución;
La Figura 4 ilustra un diagrama de un archivo que incluye una porción 410 del archivo 402 que se ha dividido en una pluralidad de bloques;
La Figura 5 ilustra un diagrama que incluye una comparación de dos huellas ejecutables difusas de dos archivos diferentes;
La Figura 6 ilustra un diagrama que incluye una representación de bloques y sus valores de complejidad de un primer archivo y una representación de bloques y sus valores de complejidad de un segundo archivo;
La Figura 7 ilustra un diagrama que incluye una representación de bloques y sus valores de complejidad de un archivo;
La Figura 8 ilustra un diagrama de flujo para un método de acuerdo con diversas realizaciones; y
La Figura 9 ilustra un diagrama de flujo para un método de acuerdo con diversas realizaciones.
Descripción Detallada de la Invención En la siguiente descripción detallada de las realizaciones preferidas, se hace referencia a los dibujos acompañantes que forman una parte de esta, y en los que se muestra por vía de ilustración las realizaciones específicas en las que se puede practicar la invención. Se debe entender que se pueden utilizar otras realizaciones y se pueden realizar cambios estructurales sin apartarse del alcance de la presente invención.
La Figura 1 ilustra un sistema 100 que incluye una puerta de enlace 120. La puerta de enlace 120 acopla una pluralidad de dispositivos protegidos 154 a una red 110. Los dispositivos protegidos 154 no se limitan a ningún número o tipos de dispositivos, y pueden incluir cualesquier dispositivos, tales como pero no limitados a ordenadores, servidores, y bases de datos que se acoplan a una red externa 110 a través de una puerta de enlace 110. Los dispositivos 152A y 152B a 152N representan cualquier número de dispositivos, como se ilustra por la línea discontinua 152C, que se acoplan a y se protegen por la puerta de enlace 120. En diversas realizaciones, los dispositivos 152A y 152B a 152N se pueden acoplar mediante una o más redes 150, que también acoplan los dispositivos 152A y 152B hasta 152N a la puerta de enlace 120.
Los dispositivos 152A y 152B a 152N se denominan como “protegidos” porque estos dispositivos son los dispositivos configurados para recibir la protección anti-malware proporcionada por la puerta de enlace 120. En diversas realizaciones, los dispositivos 152A y 152B a 152N se acoplan a través de la puerta de enlace 120 a una red 110, y a uno o más dispositivos 108 acoplados a una red 110. La red 110 no se limita a un tipo o número particular de redes. En diversas realizaciones, la red 110 incluye la Internet. Los dispositivos 108 no se limitan a cualquier tipo o número particular de dispositivos, y en diversas realizaciones incluyen servidores ilustrativos 102A-102N. Los servidores 102A-102N pueden proporcionar uno o más recursos, tales como archivos o páginas web, que pueden ser requeridos por los dispositivos protegidos 152A y 152B a 152N. Debido a que estas solicitudes se acoplan a través de la puerta de enlace 120, la puerta de enlace 120 es operable para explorar el paso de comunicaciones a través de la puerta de enlace 120, y detectar y bloquear malware en las comunicaciones que van hacia, o proceden desde, los dispositivos protegidos 152A y 152B a 152N.
La puerta de enlace 120 no se limita a solo un dispositivo físico o lógico; por ejemplo, puede consistir de un clúster de dispositivos de puerta de enlace, o comunicaciones entre dispositivos protegidos y la red se puede manejar principalmente por un grupo lógico de dispositivos de puerta de enlace, aunque la protección anti-malware del contenido que se maneja se descarga a otro grupo de dispositivos de puerta de enlace.
En diversas realizaciones, la puerta de enlace 120 se puede operar para interceptar comunicaciones entre cualquiera de los dispositivos protegidos 152A y 152B a 152N, y para detectar malware en bloque en estas comunicaciones. En diversas realizaciones, la puerta de enlace 120 puede sondear cualquiera de los dispositivos protegidos 152A y 152B a 152N para determinar si el dispositivo sondeado está contaminado con malware.
En diversas realizaciones, la puerta de enlace 120 incluye un motor anti-malware 122. En diversas realizaciones, la puerta de enlace 120 incluye una base de datos de huellas generadas difusas 124, un controlador de huellas difusas 126, y un generador de huellas difusas 128. La base de datos 124, el comparador 126, y el generador 128 son parte de, y se acoplan lógicamente a, un motor anti-malware 122. En diversas realizaciones, la base de datos 124 se puede operar para almacenar un conjunto de huellas ejecutables difusas. Las huellas ejecutables difusas almacenadas en base de datos 124 incluyen huellas ejecutables difusas generadas desde archivos conocidos por ser malware. La generación de huellas ejecutables difusas no se limita a ningún medio en particular, y puede incluir generar manualmente una huella ejecutable difusa, o generar automáticamente una huella ejecutable difusa al determinar que un ejecutable es malware con base en la comparación con otras huellas ejecutables difusas.
En diversas realizaciones, el generador 128 se puede operar para generar una huella ejecutable difusa a un archivo. En diversas realizaciones, el generador 128 genera la huella ejecutable difusa para un archivo recibido en la puerta de enlace 120 y para la cual se realiza una comparación para determinar si el archivo recibido es malware. El comparador 126 se puede operar para comparar huellas exigibles difusas suministradas por el generador 128 y comparar la huella ejecutable difusa... [Seguir leyendo]
Reivindicaciones:
1. Un método para detectar posible malware que comprende:
crear una primera huella difusa de un archivo de malware conocido, la primera huella difusa incluye un primer conjunto de aproximaciones de complejidad calculadas y ponderaciones para cada una de una pluralidad de bloques dentro del archivo de malware conocido;
crear una segunda huella difusa de un archivo que se va a verificar, la segunda huella difusa incluye un segundo conjunto de aproximaciones de complejidad calculadas y ponderaciones para cada una de una pluralidad de bloques dentro del archivo que se va a verificar;
comparar la segunda huella difusa con la primera huella difusa que incluye comparar las aproximaciones de complejidad calculadas desde la segunda huella difusa con una pluralidad de las aproximaciones de complejidad desde la primera huella difusa utilizando una comparación en forma de bloque;
cálculos de complejidad utilizados para calcular la primera y segunda huellas difusas derivadas de la entropía de información del bloque al calcular la suma de una función de probabilidad de masa por un logaritmo de la función de probabilidad de masa del bloque datos,
las ponderaciones para la primera y segunda huellas difusas derivadas desde por lo menos una ubicación del bloque en su formato de archivo particular y cómo la información indicativa en la ubicación del bloque dentro del archivo es para indicar que el archivo es malware;
calcular una probabilidad de similitud para cada una de las comparaciones en forma de bloque, el cálculo que incluye una ponderación respectiva para cada una de la pluralidad de bloques dentro del archivo de malware conocido y para cada una de la pluralidad de bloques dentro del archivo que se va a verificar, y el cálculo que incluye una distancia entre los bloques comparados; y
calcular una probabilidad de similitud total para la pluralidad de bloques comparada para determinar si el archivo que se va a verificar se considera un malware.
2. El método de la reivindicación 1, que incluye detener las comparaciones en forma de bloque sí un número de umbral de comparaciones en forma de bloque en una fila cada una cae por debajo de un valor de umbral N para la probabilidad de similitud calculada.
3. El método de la reivindicación 1, calcular una aproximación de complejidad para cada una de una pluralidad de bloques dentro del archivo de malware conocido y calcular una aproximación de complejidad para cada una de la pluralidad de bloques dentro del archivo que se va a verificar incluye calcular la entropía de información para un bloque dado utilizando la fórmula:
donde H (X) se basa en el contenido de información o auto- información de X, que es en sí misma una variable arbitraria;
p (xi) = Pr (X=xi) es la función de probabilidad de masa de X; y
y se calcula con x = {0..255}, xi = i - l y n = |x|.
4. El método de la reivindicación 1, en donde calcular un valor de similitud para cada una de las comparaciones en forma de bloque incluye para cualquiera de los dos bloques dados que se comparan, calcular una desviación real de ambos valores de complejidad de bloques en relación con una desviación máxima posible por un factor de proximidad para la comparación entre un desplazamiento i en un primer archivo x, y un desplazamiento j en un segundo archivo x2, en donde:
y
5. El método de la reivindicación 4, que incluye sumar utilizando la fórmula de Bayes para generar una probabilidad de similitud total, en donde la fórmula de Bayes relaciona las probabilidades condicional y marginal de eventos estocásticos A y B:
donde L (A|B) es la probabilidad de A dando fijo a B.
6. El método de la reivindicación 1, en donde calcular la probabilidad de similitud total para la pluralidad de bloques comparada que incluye comparar la probabilidad de similitud total con un valor de umbral M para determinar si el segundo archivo se considera malware.
7. El método de la reivindicación 6, que incluye determinar que el archivo que se va a verificar es una variante del archivo de malware conocido cuando la probabilidad de similitud calculada total iguala o excede el valor de umbral M.
8. El método de la reivindicación 1, en donde calcular la probabilidad de similitud total para la pluralidad de bloques comparada que incluye comparar la probabilidad de similitud total con un valor de umbral X y un valor de umbral M para determinar si el segundo archivo se considera malware o se considera un archivo sospechoso, en donde el valor de umbral M es mayor que el valor de umbral X.
9. El método de la reivindicación 8, en donde cuando la probabilidad de similitud calculada total es menor que el valor de umbral X, se determina que el archivo que se va a verificar no es una variante del archivo de malware conocido, y cuando la probabilidad de similitud calculada total es mayor que el valor de umbral M, se determina que el archivo que se va a verificar es una variante del archivo de malware conocido, y el archivo que se va a verificar se considera un archivo sospechoso cuando la probabilidad de similitud calculada total es mayor que el valor de umbral X pero menor que o igual al valor de umbral para M.
10. Un aparato para detectar posible malware que comprende:
una puerta de enlace que incluye un motor anti-malware acoplada a una base de datos de huellas difusas generadas que incluye una pluralidad de huellas para archivos de malware conocidos;
un generador de huellas difusas acoplado al motor anti-malware, el generador de huellas difusas operable para producir una huella difusa que incluye una aproximación de complejidad y una ponderación para cada una de una pluralidad de bloques para un archivo proporcionado por el motor anti-malware; y
un comparador de huella acoplado al motor anti-malware, el comparador de huella operable para comparar una huella producida desde el generador de huella con una cualquiera de la pluralidad de huellas para la base de datos de huellas difusas generadas y para producir una probabilidad de similitud sobre una base en forma de bloque para determinar si el archivo suministrado se considera un malware los cálculos de complejidad utilizados para calcular la huella difusa derivada de la entropía de información del bloque al calcular la suma de una función de probabilidad de masa por un logaritmo de la función de probabilidad de masa del bloque datos,
las ponderaciones utilizadas para calcular la huella difusa derivada de por lo menos una ubicación del bloque en su formato de archivo particular y cómo la información indicativa en la ubicación del bloque dentro del archivo es para indicar que el archivo es malware.
11. El aparato de la reivindicación 10, que produce una aproximación de complejidad para cada una de una pluralidad de bloques incluye calcular la entropía de información para un bloque dado utilizando la fórmula:
donde H (X) se basa en el contenido de información o auto- información de X, que es en sí misma una variable arbitraria;
p (xi) = Pr (X=xi) es la función de probabilidad de masa de X; y
y se calcula con x = {0..255}, xi = i - 1 y n = |x|.
12. El aparato de la reivindicación 10, en donde producir la probabilidad de similitud sobre una base en forma de bloque incluye para cualquiera de los dos bloques dados que se comparan, calcular una desviación real de ambos valores de complejidad de bloques en relación con una desviación máxima posible por un factor de proximidad para la comparación entre un desplazamiento i en un primer archivo x1 y un desplazamiento j en un segundo archivo x2, en donde:
y
13. El aparato de la reivindicación 12, que incluye sumar utilizando la fórmula de Bayes para generar una
probabilidad de similitud total, en donde la fórmula de Bayes relaciona las probabilidades condicional y marginal de 15 eventos estocásticos A y B:
donde L (A|B) es la probabilidad de A dando fijo a B.
14. El aparato de la reivindicación 10, que incluye un mecanismo de actualización operable para recibir
versiones actualizadas de huellas difusas generadas para almacenamiento en la base de datos de huellas difusas 20 generadas.
15. El aparato de la reivindicación 10, en donde la base de datos de huellas difusas generadas incluye una tabla de precondición que contiene firmas de bytes mágicos para todos los tipos de medios cubiertos por la base de datos.
16. El aparato de la reivindicación 10, en donde la base de datos de huellas difusas generadas incluye una
tabla de salto operable para determinar un desplazamiento relativo en la base de datos de huellas difusas generadas con base en un tamaño de archivo del archivo que se va a verificar.
CREAR UNA PRIMERA HUELLA DIFUSA DE UN ARCHIVO DE MALWARE CONOCIDO
CREAR UNA SEGUNDA HUELLA DIFUSA
DE UN ARCHIVO QUE SE VA A VERIFICAR
COMPARAR LA SEGUNDA HUELLA
DIFUSA CON LA PRIMERA HUELLA
DIFUSA
CALCULAR UNA PROBABILIDAD DE
SIMILITUD PARA CADA UNA DE LAS
COMPARACIONES EN FORMA DE BLOQUE
CALCULAR UNA PROBABILIDAD DE SIMILITUD GENERAL PARA LA PLURALIDAD DE BLOQUES
ALMACENAR POR LO MENOS COMO UN CONJUNTO DE FORMACION UNAPLURALIDAD DE ARCHIVOS CONOCIDOS POR SER MALWARE
GENERAR PARA CADA ARCHIVO DE LA PLURALIDAD DE ARCHIVOS CONOCIDOS POR SER MALWARE UNA HUELLA EJECUTABLE DIFUSA
PROPORCIONAR A UNO O MAS MOTORES ANTI·MALWARE LAS HUELLAS EJECUTABLES DIFUSAS GENERADAS PARA CADA ARCHIVO DE LA PLURALIDAD DE ARCHIVOS
Patentes similares o relacionadas:
Funcionamiento de red de frecuencia única (SFN) para mejoras de cobertura de comunicaciones de tipo máquina (MTC), del 17 de Junio de 2020, de QUALCOMM INCORPORATED: Un procedimiento para comunicaciones de tipo máquina, MTC, inalámbricas realizado por un dispositivo remoto caracterizado por: detectar […]
Método y aparato de procesamiento de servicio, del 3 de Junio de 2020, de Advanced New Technologies Co., Ltd: Un método para el procesamiento de servicios, el método que comprende: después de recibir una solicitud de procesamiento de servicios de un usuario, […]
Dispositivo de a bordo para un vehículo, del 20 de Mayo de 2020, de AUTOSTRADE TECH S.p.A: Dispositivo de a bordo (100, 100', 100") para un vehículo, siendo adecuado dicho dispositivo de a bordo (100, 100', 100") para su uso en un sistema […]
Método para detectar software clonado, del 29 de Abril de 2020, de NAGRAVISION S.A.: Método para detectar un software clonado para ser usado en una unidad de usuario cliente que se comunica con un servidor para solicitar un servicio enviando una solicitud […]
Dispositivo multimedia y procedimiento de transmisión de datos por un dispositivo multimedia, del 18 de Marzo de 2020, de FM Marketing GmbH: Un dispositivo multimedia con un control remoto , que comprende: - un primer microprocesador , - un primer dispositivo de hardware para identificar el control […]
Proceso para asegurar la comunicación de un archivo digital a través de una red de comunicación, del 26 de Febrero de 2020, de AMADEUS S.A.S.: Proceso para comunicar un archivo digital (D1) desde un servidor a un Sistema de Manejo de Información (IHS), comprendiendo el IHS un conjunto […]
Método y aparato para proporcionar entorno virtual personalizado, del 15 de Enero de 2020, de Beijing Xiaomi Mobile Software Co., Ltd: Un método realizado por una plataforma de servicios para proporcionar acceso a una comunidad de servicios que comprende: comparar la información de identificación […]
Procedimiento y dispositivo para controlar la pantalla de seguridad en un dispositivo electrónico, del 28 de Agosto de 2019, de SAMSUNG ELECTRONICS CO., LTD.: Un dispositivo electrónico que comprende: un módulo de representación; una primera memoria que tiene datos de representación almacenados en […]