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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static 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.
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.
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.
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)
| 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)
| 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 |
-
2001
- 2001-10-05 FR FR0113063A patent/FR2830638A1/fr active Pending
-
2002
- 2002-09-20 EP EP02800619A patent/EP1433045B1/fr not_active Expired - Lifetime
- 2002-09-20 WO PCT/FR2002/003217 patent/WO2003032134A1/fr not_active Ceased
- 2002-09-20 AT AT02800619T patent/ATE288596T1/de not_active IP Right Cessation
- 2002-09-20 US US10/491,851 patent/US7891002B2/en not_active Expired - Fee Related
- 2002-09-20 DE DE60202887T patent/DE60202887T2/de not_active Expired - Lifetime
- 2002-09-20 ES ES02800619T patent/ES2235115T3/es not_active Expired - Lifetime
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 |