ES2235115T3 - Procedimiento de deteccion generica de programas de ataque ocultos en cadenas de datos. - Google Patents

Procedimiento de deteccion generica de programas de ataque ocultos en cadenas de datos.

Info

Publication number
ES2235115T3
ES2235115T3 ES02800619T ES02800619T ES2235115T3 ES 2235115 T3 ES2235115 T3 ES 2235115T3 ES 02800619 T ES02800619 T ES 02800619T ES 02800619 T ES02800619 T ES 02800619T ES 2235115 T3 ES2235115 T3 ES 2235115T3
Authority
ES
Spain
Prior art keywords
data
data processing
instruction
input
register
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.)
Expired - Lifetime
Application number
ES02800619T
Other languages
English (en)
Inventor
Herve Debar
Dominique Assing
Benjamin Morin
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Application granted granted Critical
Publication of ES2235115T3 publication Critical patent/ES2235115T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/562Static detection
    • G06F21/563Static detection by source code analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

Procedimiento de tratamiento de datos de entrada de un sistema informático, que incluye al menos una etapa de detección de una palabra específica presente entre dichos datos, procedimiento caracterizado porque la palabra específica que debe detectarse representa una instrucción destinada a generar un valor numérico particular necesario para una ejecución de un programa presente entre dichos datos.

Description

Procedimiento de detección genérica de programas de ataque ocultos en cadenas de datos.
La presente invención se refiere a un procedimiento de tratamiento de datos de entrada de un sistema informático, que incluye al menos una etapa de detección de una palabra específica presente entre dichos datos.
Tales procedimientos se utilizan comúnmente para detectar programas de ataque procedentes del exterior del sistema informático, que intentan perturbar el funcionamiento del sistema haciendo que ejecute acciones no autorizadas creadas por un atacante del sistema. Por tanto, estos ataques pueden quebrantar la integridad, la disponibilidad y la confidencialidad de un sistema informático. Pueden causar daños considerables, y afectan tanto a las administraciones como a las empresas privadas y, por tanto, al conjunto de la sociedad moderna. Por ello, es deseable dotar a los sistemas informáticos con medios que les permitan detectar tales ataques de modo fiable y sistemático.
La invención se asocia con las siguientes consideraciones:
La mayoría de los ataques identificados se aprovechan de fallos presentes en los sistemas a los que están destinados estos ataques. Los ataques observados con mayor frecuencia utilizan un principio conocido con la denominación "desbordamiento de pila". Estos ataques utilizan una propiedad de ciertos sistemas informáticos, según la cual, cuando una longitud de un flujo de informaciones destinado a una zona de memoria de longitud predefinida excede dicha longitud predefinida, la o las palabras que, por tanto, no pueden almacenarse en la zona de memoria por falta de espacio de memoria disponible, y que, por tanto, "sobrepasan" dicha zona de memoria, son consideradas por una unidad central de tratamiento incluida en el sistema como instrucciones de ejecución inmediata, y por tanto se ejecutan sin que el sistema de tratamiento realice verificación alguna de su legitimidad. De este modo, tales instrucciones pueden originar una llamada a un programa almacenado por el atacante, ya sea previamente en cualquier lugar en el espacio de memoria, ya sea simultáneamente en la zona de memoria que el atacante habrá elegido para desbordarla. En el estado actual de la técnica, se utilizan dos métodos para detectar ataques por desbordamiento de pila.
Un primer método de detección identifica cadenas de datos de longitud muy grande, dado que generalmente es necesario un gran número de datos para desbordar la zona de memoria en cuestión. Este primer método no satisface completamente, y cada vez será menos eficaz a medida que aparezcan herramientas informáticas cada vez más complejas, que necesiten en el transcurso de su funcionamiento normal intercambios de cadenas de datos de longitud siempre creciente. De este modo, cada vez será más difícil diferenciar una cadena de datos de longitud importante, pero inofensiva, de una cadena de datos perjudicial de longitud comparable.
Un segundo método de detección busca cadenas de datos que contengan un gran número de instrucciones de un tipo conocido en el lenguaje Ensamblador con el vocablo NOP, que son en sí mismas inofensivas ya que ordenan a la unidad central no hacer nada, pero cuya acumulación puede ser utilizada para desbordar la zona de memoria en cuestión. Este segundo método de detección, más minucioso que el primero, también está destinado a perder su eficacia a medida que aparecen nuevas formas de codificar instrucciones del tipo NOP. En el estado actual de la técnica, tras analizar ataques conocidos, se han catalogado cincuenta y tres formas distintas de realizar instrucciones de tipo NOP. Por tanto, el número de combinaciones ofrecidas para camuflar cadenas de instrucciones de tipo NOP es muy grande y sobrepasa las capacidades de detección de la mayoría de los sistemas actuales de tratamiento de datos.
El documento US-A-5 319 776 describe un procedimiento según el preámbulo de la reivindicación independiente 1. La presente invención tiene como objetivo paliar en gran medida estos inconvenientes proponiendo un procedimiento de tratamiento de datos que permita una detección genérica de programas de ataque incluidos en cadenas de datos de entrada de un sistema informático, efectuándose dicha detección independientemente de la longitud de dichas cadenas de datos y de la presencia de instrucciones de tipo NOP en dichas cadenas.
Efectivamente, según la invención tal como se define en la reivindicación independiente 1, un procedimiento de tratamiento de datos conforme al párrafo de introducción se caracteriza porque la palabra específica que debe detectarse representa una instrucción necesaria para una ejecución de un programa presente entre dichos datos.
Los trabajos de los inventores han puesto de manifiesto que cualquier programa de ataque debe incluir, para su ejecución, uno o varios caracteres particulares, generados por instrucciones representadas por palabras específicas presentes en los datos de entrada. Por tanto, tales instrucciones específicas pueden desvelar la presencia de un programa de ataque en una cadena de datos aparentemente inofensiva. Un carácter nulo es un ejemplo de un carácter particular de este tipo, constituido por una palabra de valor nulo destinada a señalar el fin de una cadena de caracteres. La presencia de un carácter nulo, tal cual, en una cadena de datos que incluye un programa de ataque será interpretado por el sistema que recibe esta cadena de datos como una interrupción de dicha cadena, e impedirá la ejecución del programa de ataque.
Por tanto, los inventores han identificado un criterio nuevo de sospecha, ideando un procedimiento que ya no pretende buscar en una cadena de datos de entrada medios para desbordar una zona de memoria, sino medios necesarios para la ejecución de un programa de ataque que estaría oculto en dicha cadena de datos y de esta manera, son reveladores de la presencia de dicho programa. Este principio de detección puede utilizarse de forma genérica para detectar otros ataques además de los ataques por desbordamiento de pila.
Tal como se ha expuesto anteriormente, un carácter nulo, como signo de puntuación que significa un final de cadena de caracteres y que, por tanto, debe ser generado por un programa de ataque, necesita la presencia de una instrucción particular para ello, pudiendo por tanto dicha instrucción desvelar la presencia de un programa de ataque en una cadena de datos aparentemente inofensiva. Una forma de generar un carácter de este tipo es realizar un O-EXCLUSIVO entre valores binarios idénticos.
En un modo de realización particular de la invención, la palabra específica que debe detectarse representará por tanto una instrucción del tipo O-EXCLUSIVO entre el contenido de un registro y el mismo contenido de dicho registro.
Los datos de entrada de un sistema informático pueden presentarse en distintos formatos. En particular, pueden estar codificados según un formato de tipo ASCII, y de este modo ser difícilmente manipulables.
Según una variante de la invención, un procedimiento tal como se ha descrito anteriormente incluye además, antes de la etapa de detección, una etapa de transcripción de los datos de entrada en código hexadecimal.
En el formato hexadecimal, se detectarán más fácilmente palabras, caracteres o instrucciones ocultas en una cadena de datos de entrada que en formato
ASCII.
El procedimiento según la invención puede utilizarse o bien para realizar una detección preventiva de ataques, es decir, para indicar a la unidad central de tratamiento la presencia de una palabra sospechosa potencialmente reveladora de la presencia de un programa de ataque oculto en el interior de una cadena de datos de entrada, antes del tratamiento de dicha cadena de datos por dicha unidad central, o bien para establecer un diagnóstico posterior a un ataque, en cuyo caso será deseable poder analizar retrospectivamente las circunstancias en las que se produce el ataque.
Por tanto, un procedimiento tal como el descrito anteriormente contendrá ventajosamente, antes de la etapa de detección, una etapa de memorización de los datos de entrada en un registro de entrada.
Cuando se detecta una palabra específica, y como consecuencia se identifica como sospechosa una cadena de datos que incluye dicha palabra específica, una sospecha de este tipo podrá corroborarse por la presencia en dicha cadena de datos sospechosa de otras instrucciones que suelen utilizar programas de ataque, por ejemplo, instrucciones de tipo "salto", "interrupción" o "llamada de sistema".
Para ello, un procedimiento tal como el descrito anteriormente incluye además una etapa de búsqueda, en una zona del registro de entrada que incluye una instrucción detectada en el transcurso de la etapa de detección, de instrucciones de al menos un tipo conocido por ser utilizada por virus informáticos existentes.
Tal como se ha expuesto anteriormente, un atacante del sistema intenta, en un ataque por desbordamiento de pila, desbordar una zona de memoria de la cual conoce la longitud predefinida. En caso de que existan zonas de memoria de este tipo en la mayoría de los sistemas informáticos, éstas son limitadas en número y difíciles de encontrar, de manera que los atacantes intentan aprovechar con frecuencia fallos que ya conocen por haberlos identificado y utilizado con éxito en el pasado, y utilizan varias veces, con ataques de morfologías distintas, una misma dirección de inicio de zona de memoria como blanco de ataque. Por tanto, la dirección empleada de esta forma constituye con frecuencia una firma del atacante, cuyo registro puede resultar ventajoso con fines de prevención y/o de diagnóstico.
Con este objetivo, un procedimiento tal como el descrito anteriormente incluye además una etapa de búsqueda, en una zona del registro de entrada que incluye una instrucción detectada durante la etapa de detección, de al menos un valor de dirección de memoria conocido por ser utilizado por virus informáticos existentes.
En uno de sus modos de implementación posibles, la invención se refiere también a un software apto para poner en práctica un procedimiento tal como el descrito anteriormente, software que podrá cargarse desde un soporte de datos en una memoria incluida en el sistema informático, para ser ejecutado por una unidad central de tratamiento incluida en dicho sistema.
En uno de sus múltiples modos de comercialización, la invención se refiere también a un soporte de datos que contiene de forma codificada un software tal como el descrito anteriormente. Un soporte de datos de este tipo podrá estar constituido, por ejemplo, por una banda o un disco magnético, un disco magnetoóptico o incluso un disco óptico de tipo CD o DVD.
En uno de sus modos de realización, la invención tal como se define en la reivindicación independiente 9, se refiere a un sistema de tratamiento de datos que incluye:
- un puerto de entrada destinado a recibir datos de entrada del sistema,
- una unidad central de tratamiento,
- una memoria, y
- medios de detección aptos para detectar al menos una palabra específica, presente en los datos de entrada, siendo representativa dicha palabra específica de una instrucción necesaria para una ejecución de un programa presente entre dichos datos y ejecutable por la unidad central de tratamiento.
En un modo de realización particular de un sistema de este tipo, la palabra específica que debe detectarse es representativa de una instrucción del tipo O-EXCLUSIVO entre el contenido de un registro incluido en la memoria y el mismo contenido de dicho registro.
En una de sus variantes, un sistema de este tipo incluye además medios para memorizar los datos de entrada del sistema en un registro de entrada, para un análisis de dichos datos por los medios de detección.
Tal como se ha expuesto anteriormente, un sistema según esta variante contendrá ventajosamente medios de búsqueda destinados a identificar, con fines de confirmación y/o de diagnóstico, instrucciones de al menos un tipo conocido por ser utilizado por virus informáticos existentes y/o al menos un valor de dirección de memoria conocido por ser utilizado por virus informáticos existentes.
Las características de la invención mencionadas anteriormente, así como otras, aparecerán más claramente con la lectura de la siguiente descripción de un ejemplo de realización, realizándose dicha descripción en relación con los dibujos adjuntos, entre los que:
la figura 1 es un esquema funcional que describe un sistema de tratamiento de datos según un modo de realización de la invención,
la figura 2 es un esquema que representa una parte de cadena de datos que incluye un programa de ataque, y
la figura 3 es un organigrama que describe un procedimiento de tratamiento de datos puesto en práctica en un sistema de este tipo.
La figura 1 representa un sistema SRV de tratamiento de datos, por ejemplo un servidor que forma parte de una red de telecomunicaciones, sistema que incluye:
- un puerto I/O de entrada destinado a recibir datos Din de entrada del sistema SRV;
- una unidad CPU central de tratamiento, y
- una memoria MEM.
Tales sistemas son vulnerables a programas de ataque, particularmente por desbordamiento de pila, que están ocultos generalmente en las cadenas de datos Din de entrada. Estas cadenas de datos Din, que pueden presentarse por ejemplo en un formato de tipo ASCII, se traducen a lenguaje ensamblador mediante una interfaz INT. Cuando un programa SC de ataque por desbordamiento de pila está presente en una cadena de datos de entrada, este programa intenta rellenar una zona de memoria VLZ vulnerable, dado que tiene direcciones Z0 y Z1 de inicio y de final predefinidas y conocidas por un atacante diseñador del programa de ataque, por medio de un flujo de datos que tiene una longitud que excede la longitud [Z0; Z1] de la zona de memoria vulnerable VLZ.
La o las primera(s) palabra(s) que por tanto no puede(n) almacenarse en la zona de memoria VLZ por falta de espacio de memoria disponible, representadas aquí en forma de un desbordamiento OVL, serán consideradas por la unidad CPU central de tratamiento como una instrucción HDINSTR de ejecución inmediata, y por tanto se ejecutarán sin que el sistema SRV realice ninguna verificación de su legitimidad. Una instrucción HDINSTR de este tipo puede originar por ejemplo, una llamada a un programa que el atacante puede haber almacenado previamente en cualquier parte del espacio de memoria MEM o simultáneamente en la zona de memoria VLZ que el atacante habrá elegido desbordar.
Con el objetivo de detectar tales ataques, el sistema SRV de tratamiento de datos representado aquí incluye medios DET(INSTR) de detección aptos para detectar al menos una palabra específica, presente en los datos Din de entrada, siendo representativa dicha palabra específica de una instrucción necesaria para una ejecución de un programa presente entre dichos datos Din y ejecutable por la unidad CPU central de tratamiento.
La unidad CPU central de tratamiento determina la naturaleza de la instrucción INSTR, de la cual es representativa la palabra específica que debe detectarse, por medio de una señal SET(INSTR) enviada por dicha unidad CPU central a los medios de detección DET(INSTR). Efectivamente, los medios de detección DET(INSTR) incluidos en este modo de realización particular de la invención son capaces de detectar varias palabras específicas distintas.
El sistema SRV de tratamiento aquí descrito incluye además medios para memorizar los datos de entrada del sistema en un registro LOG de entrada, para un análisis de dichos datos por los medios DET de detección. De este modo, los datos Din de entrada se memorizan en el registro LOG, bajo el control de la unidad CPU central, que suministra particularmente a dicho registro LOG informaciones de reloj para un registro por orden cronológico de dichos datos Din. Al estar estos datos en principio en formato ASCII, el sistema SERV de tratamiento comprende además medios HEX de transcripción, aptos para traducir, bajo el control de la unidad CPU central, dichos datos Din a un formato más fácilmente inteligible, como por ejemplo a código hexadecimal, que permite una identificación más fácil de las instrucciones en lenguaje Ensamblador.
Por otra parte, este sistema SRV de tratamiento incluye medios FLAG de señalización, que permiten inscribir en el registro LOG los resultados de las operaciones de detección realizadas por los medios DET(INSTR) de detección. Así, a cada cadena de datos Din se le asociarán informaciones relativas a su contenido, y cada cadena de datos que contiene una palabra específica identificada por los medios DET(INSTR) de detección como potencialmente reveladora de la presencia de un programa de ataque será señalada como tal, lo que facilitará ulteriores operaciones de diagnóstico.
La figura 2 representa esquemáticamente la estructura que puede presentar un programa SCH de ataque por desbordamiento de pila presente en una cadena de datos de entrada. Tal representación es el fruto de los trabajos de los inventores y permite comprender mejor la diferencia de principio que existe entre el procedimiento de detección precisado por ellos mismos y los métodos de detección de programas de ataque conocidos. Según esta representación, un programa SCH de ataque por desbordamiento de pila incluye una primera parte PAD, denominada de relleno, que contiene la mayoría de las veces un gran número de instrucciones de tipo NOP, que el atacante puede haber codificado bajo distintas formas para hacerles irreconocibles y por tanto indetectables. El volumen representado por esta parte PAD de relleno debe ser igual a la longitud de la zona de memoria vulnerable considerada por el programa, con el fin de rellenar esta zona de memoria hasta desbordarla. El programa SCH de ataque contiene una segunda parte DEC que, por tanto, está destinada a rebasar la zona de memoria considerada por el ataque y por tanto, la unidad central de tratamiento del sistema en cuestión considerará como un programa de ejecución inmediata. Este programa de ejecución inmediata puede estar constituido en sí mismo por una serie de instrucciones destinada a producir el efecto nefasto del ataque, o, en el caso de un programa de ataque polimorfo, constituir un decodificador destinado a decodificar una serie de informaciones presentes en una tercera parte PROG del programa SCH de ataque, tercera parte que contiene de forma codificada una serie de instrucciones destinada a producir el efecto nefasto y está destinada a ser descodificada por el decodificador incluido en la segunda parte DEC. Una codificación de este tipo vuelve más difícil incluso la detección del programa SCH de ataque por los métodos de detección conocidos. La tercera parte PROG contendrá además direcciones de llamada y de reenvío cuya identificación, que se vuelve posible gracias a la invención, puede revelarse útil para establecer diagnósticos con respecto a la naturaleza del ataque y a la identidad del atacante.
En cualquier caso, la segunda y tercera partes DEC y PROG del programa SCH de ataque deben estar separadas una de otra por al menos un carácter nulo que señala el final del programa PROG. Ahora bien, un carácter nulo de este tipo, si es evidente como tal en la cadena de datos Din que incluye el programa SCH de ataque, será interpretado como un elemento de puntuación de una cadena de caracteres e interrumpirá el desarrollo del programa SCH de ataque.
Los inventores han deducido que un programa SCH de ataque debe contener en lugar de un carácter nulo de este tipo, una palabra específica representativa de una instrucción XOR A,A que, efectuando una operación del tipo O-EXCLUSIVO entre el contenido de un registro A y el mismo contenido de dicho registro A, producirá una palabra de valor nulo durante la ejecución del programa SCH de ataque e indicará mediante este carácter particular el final de la cadena de instrucciones contenida en la segunda parte DEC de dicho programa SCH.
La invención pretende detectar tales caracteres particulares, que son indicativos de la presencia de un programa de ataque en el interior de una cadena de datos de entrada de un sistema de tratamiento de datos, y ello con independencia de la naturaleza del ataque, mientras que los métodos de detección conocidos pretenden principalmente detectar cadenas similares a la parte PAD de relleno.
La figura 3 ilustra en forma de un organigrama, un modo de realización posible de la invención, en un procedimiento de tratamiento de datos destinado a detectar la presencia de un programa de ataque oculto en el interior de una cadena de datos. En una etapa inicial INSTR=XOR A,A de este procedimiento, la unidad central de tratamiento informa a los medios de detección que la palabra específica que debe detectarse debe ser representativa de una instrucción de tipo O-EXCLUSIVO entre el contenido de un registro A y el mismo contenido de dicho registro A, por retomar el ejemplo mencionado anteriormente. En una etapa posterior Din, el sistema recibe una cadena de datos de entrada a través de su puerto de entrada. En una etapa posterior LogDin, estos datos de entrada se memorizan en un registro de entrada. En una etapa posterior HEX, los datos memorizados en dicho registro de entrada, que pueden estar, por ejemplo, en un formato de tipo ASCII, se transcriben a código hexadecimal. En una etapa posterior DET(INSTR), los datos transcritos de este modo son analizados por los medios de detección que buscan en el interior de estos datos una palabra específica representativa de la instrucción INSTR, es decir, en este punto de una instrucción de tipo XOR A,A. Si no se encuentra ninguna instrucción de este tipo, el procedimiento termina y no se hace ninguna mención particular en el registro de entrada en correspondencia con la cadena de datos Din de entrada.
Por el contrario, si los medios de detección detectan entre los datos Din de entrada una palabra específica representativa de una instrucción de tipo XOR A,A, se identifica una parte de la cadena de datos DCH correspondiente durante una etapa
IDDCH y se hace una mención que indica la presencia de una instrucción sospechosa y potencialmente reveladora de un programa de ataque, durante una etapa FLAGDCH, en dicho registro en correspondencia con la parte DCH identificada. Para corroborar estas sospechas, la unidad central de tratamiento puede cambiar la naturaleza de la instrucción, de la cual es representativa la palabra específica que debe detectarse durante una etapa posterior RS(INSTR), con el fin de realizar una búsqueda, en la zona del registro de entrada que incluye la parte de la cadena de datos DCH anteriormente identificada, de instrucciones INSTR de al menos un tipo conocido por ser utilizado por virus informáticos existentes, por ejemplo, instrucciones de tipo "salto", "interrupción" o "llamada de sistema". Tales búsquedas se realizan por tanto durante etapas HEX y DET(INSTR) ya descritas, estando consignados a su vez los resultados de dichas búsquedas, si son positivos, en el registro de entrada durante las etapas IDDCH y FLAGDCH ya descritas.
Además, la unidad central podrá realizar, por medio de la etapa RS(INSTR), una búsqueda de un valor de dirección de memoria conocido por ser utilizado por virus informáticos existentes, en lugar de ordenar la búsqueda de otra instrucción.
Tales direcciones presentan un interés particular porque constituyen con frecuencia una especie de firma del atacante, y permiten así acelerar el establecimiento de un diagnóstico relativo a los efectos nefastos que el diseñador pretende provocar con el ataque detectado, diagnóstico que será posible gracias a la invención mediante un examen del registro de entrada.

Claims (13)

1. Procedimiento de tratamiento de datos de entrada de un sistema informático, que incluye al menos una etapa de detección de una palabra específica presente entre dichos datos,
procedimiento caracterizado porque la palabra específica que debe detectarse representa una instrucción destinada a generar un valor numérico particular necesario para una ejecución de un programa presente entre dichos datos.
2. Procedimiento de tratamiento de datos según la reivindicación 1, caracterizado porque la palabra específica que debe detectarse representa una instrucción del tipo O-EXCLUSIVO entre el contenido de un registro y el mismo contenido de dicho registro.
3. Procedimiento de tratamiento de datos según la reivindicación 1, caracterizado porque incluye además, antes de la etapa de detección, una etapa de transcripción de los datos de entrada en código hexadecimal.
4. Procedimiento de tratamiento de datos según la reivindicación 1, caracterizado porque incluye además, antes de la etapa de detección, una etapa de memorización de los datos de entrada en un registro de entrada.
5. Procedimiento de tratamiento de datos según la reivindicación 4, caracterizado porque incluye además una etapa de búsqueda, en una zona del registro de entrada que incluye una instrucción detectada durante la etapa de detección, de instrucciones de al menos un tipo conocido por ser utilizadas por virus informáticos existentes.
6. Procedimiento de tratamiento de datos según la reivindicación 4, caracterizado porque incluye además una etapa de búsqueda, en una zona del registro de entrada que incluye una instrucción detectada durante la etapa de detección, de al menos un valor de dirección de memoria conocido por ser utilizado por virus informáticos existentes.
7. Software apto para implementar todas las etapas del procedimiento conforme a una de las reivindicaciones 1 a 6.
8. Soporte de datos que contiene de forma codificada un software según la reivindicación 7.
9. Sistema de tratamiento de datos que incluye:
- un puerto de entrada destinado a recibir datos de entrada del sistema,
- una unidad central de tratamiento,
- una memoria, y
- medios de detección aptos para detectar al menos una palabra específica, presente en los datos de entrada, siendo dicha palabra específica representativa de una instrucción destinada a generar un valor numérico particular necesario para una ejecución de un programa presente entre dichos datos y ejecutable por la unidad central de tratamiento.
10. Sistema de tratamiento de datos según la reivindicación 9, caracterizado porque la palabra específica que debe detectarse es representativa de una instrucción del tipo O-EXCLUSIVO entre el contenido de un registro incluido en la memoria y el mismo contenido de dicho registro.
11. Sistema de tratamiento de datos según la reivindicación 9, caracterizado porque incluye además medios para memorizar los datos de entrada del sistema en un registro de entrada, para un análisis de dichos datos por los medios de detección.
12. Sistema de tratamiento de datos según la reivindicación 9, caracterizado porque incluye además medios de búsqueda destinados a identificar, en una zona del registro de entrada que incluye una instrucción detectada por los medios de detección, instrucciones de al menos un tipo conocido por ser utilizado por virus informáticos existentes.
13. Sistema de tratamiento de datos según la reivindicación 9, caracterizado porque incluye además medios de búsqueda destinados a identificar, en una zona del registro de entrada que incluye una instrucción detectada por los medios de detección, al menos un valor de dirección de memoria conocido por ser utilizado de virus informáticos existentes.
ES02800619T 2001-10-05 2002-09-20 Procedimiento de deteccion generica de programas de ataque ocultos en cadenas de datos. Expired - Lifetime ES2235115T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0113063A FR2830638A1 (fr) 2001-10-05 2001-10-05 Procede de detection generique de programmes d'attaque caches dans des chaines de donnees
FR0113063 2001-10-05

Publications (1)

Publication Number Publication Date
ES2235115T3 true ES2235115T3 (es) 2005-07-01

Family

ID=8868144

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02800619T Expired - Lifetime ES2235115T3 (es) 2001-10-05 2002-09-20 Procedimiento de deteccion generica de programas de ataque ocultos en cadenas de datos.

Country Status (7)

Country Link
US (1) US7891002B2 (es)
EP (1) EP1433045B1 (es)
AT (1) ATE288596T1 (es)
DE (1) DE60202887T2 (es)
ES (1) ES2235115T3 (es)
FR (1) FR2830638A1 (es)
WO (1) WO2003032134A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251735B2 (en) * 2003-07-22 2007-07-31 Lockheed Martin Corporation Buffer overflow protection and prevention
US7653518B2 (en) * 2005-03-14 2010-01-26 Autodesk, Inc. System and method for generating matched contour profiles
US20080134326A2 (en) * 2005-09-13 2008-06-05 Cloudmark, Inc. Signature for Executable Code

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319776A (en) * 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
US5442699A (en) * 1994-11-21 1995-08-15 International Business Machines Corporation Searching for patterns in encrypted data
US5826013A (en) * 1995-09-28 1998-10-20 Symantec Corporation Polymorphic virus detection module
US5696822A (en) * 1995-09-28 1997-12-09 Symantec Corporation Polymorphic virus detection module
US5765030A (en) * 1996-07-19 1998-06-09 Symantec Corp Processor emulator module having a variable pre-fetch queue size for program execution
US5951698A (en) * 1996-10-02 1999-09-14 Trend Micro, Incorporated System, apparatus and method for the detection and removal of viruses in macros
IL120632A0 (en) * 1997-04-08 1997-08-14 Zuta Marc Multiprocessor system and method
US5964889A (en) * 1997-04-16 1999-10-12 Symantec Corporation Method to analyze a program for presence of computer viruses by examining the opcode for faults before emulating instruction in emulator
US20030079158A1 (en) * 2001-10-23 2003-04-24 Tower James Brian Secured digital systems and a method and software for operating the same
US7409717B1 (en) * 2002-05-23 2008-08-05 Symantec Corporation Metamorphic computer virus detection

Also Published As

Publication number Publication date
DE60202887T2 (de) 2005-07-14
FR2830638A1 (fr) 2003-04-11
US7891002B2 (en) 2011-02-15
EP1433045A1 (fr) 2004-06-30
ATE288596T1 (de) 2005-02-15
US20050091528A1 (en) 2005-04-28
WO2003032134A1 (fr) 2003-04-17
EP1433045B1 (fr) 2005-02-02
DE60202887D1 (de) 2005-03-10

Similar Documents

Publication Publication Date Title
ES2835793T3 (es) Autenticación de punteros de código para el control de flujo de hardware
ES2359466T3 (es) Método y aparato para detectar fraude informático.
US9230455B2 (en) Steganographic embedding of executable code
CN110582988B (zh) 安全的系统操作
KR101798672B1 (ko) 코드 불변식을 이용한 스테가노그래픽 메시징 시스템
JP4995170B2 (ja) 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム
US20170169737A1 (en) Steganographic embedding of hidden payload
JP5616528B2 (ja) ソフトウェアの完全性を保証するためのプロセッサにより実施される方法
ES2669536T3 (es) Sistema de auditoría de contraseñas
ES2295800T3 (es) Procedimiento y dispositivo para autenticacion de datos digitales a partir de un modulo de extension de autenticacion.
US11200317B2 (en) Systems and methods for protecting a computing device against malicious code
CN105844161B (zh) 安全防御方法、装置与系统
KR20060092832A (ko) 웜 봉쇄 방법
ES2855749T3 (es) Procedimiento de cifrado, procedimiento de cifrado, dispositivos y programas correspondientes
US9396336B2 (en) Automatic correction of security downgraders
US20120278883A1 (en) Method and System for Protecting a Computing System
ES2636972T3 (es) Sistema de comunicaciones con dispositivo de seguridad, así como método correspondiente
KR20120001656A (ko) 소프트웨어 애플리케이션을 실행하기 위한 방법, 시스템 및 보안 프로세서
CN116305322A (zh) 一种程序签名校验方法、装置、存储介质及电子设备
US20150302211A1 (en) Removable storage medium security system and method thereof
CN115580467B (zh) 内网潜伏病毒的检测方法、装置、电子设备及存储介质
US7891002B2 (en) Generic method for detecting attack programs hidden in data chains
CN113868655B (zh) 木马查杀方法、装置、电子设备及计算机可读存储介质
CN104252597A (zh) 一种指示移动设备操作环境的方法和能够指示操作环境的移动设备
Maggio Improving Memory Forensics Through Emulation and Program Analysis