Polimorfismo (virus informáticos)

Polimorfismo (virus informáticos)

Polimorfismo (virus informáticos)

Para otros usos del termino, véase Polimorfismo

En relación a los virus informáticos un código polimórfico o polimorfismo es aquel que se sirve de un motor polimórfico para mutarse a si mismo mientras mantiene su algoritmo original intacto. Esta técnica es utilizada comúnmente por virus informáticos y gusanos para ocultar su presencia.

Muchos productos antivirus y sistemas de detección de intrusiones intentan localizar programas maliciosos mediante búsquedas en los archivos de la computadora y en los paquetes enviados a través de una red informática. Si ese software encuentra patrones de código que coinciden con una amenaza conocida toman los pasos apropiados para neutralizar esa amenaza.

Los algoritmos polimórficos dificultan la detección de ese código malicioso modificandolo constantemente.

En la mayoría de casos los programas maliciosos que usan de técnicas de polimorfismo lo hacen conjuntamente con técnicas de cifrado, en esos casos el programador malicioso usa cifrado para evitar la detección de la mayor parte del código, y técnicas de polimorfismo para modificar la propia rutina de descifrado.

El primer caso de virus informático polimórfico conocido fue el 1260 creado por Mark Washburn en 1990.

Otro virus informático mas conocido fue el creado por Dark Avenger en 1992, Dark Avenger publicaría mas tarde su famosos Mutation engine, un motor polimórfico que muchos otros creadores de virus usarían mas tarde en sus creaciones.

Ejemplo simple

Un algoritmo que usa, por ejemplo, las variables A y B, pero no la variable C, puede permanecer intacto incluso tras añadir grandes cantidades de código que modifiquen la variable C

Algoritmo original:

Inicio:
GOTO Codigo_De_Descifrado
Cifrado:
    ...
    Mucho código cifrado
    ...
Codigo_De_Descifrado:
    A = Cifrado
Loop:
    B = *A
    B = B XOR ClaveDeDescifrado
    *A = B
    A = A + 1
    GOTO Loop IF NOT A = Codigo_De_Descifrado
    GOTO Cifrado
ClaveDeDescifrado:
    numero_aleatorio

El mismo algoritmo con código innecesario que modifica la variable C:

Inicio:
GOTO Codigo_De_Descifrado
Cifrado:
    ...
    Mucho código cifrado
    ...
Codigo_De_Descifrado:
    A = Cifrado
    C = 3
Loop:
    B = *A
    C = C + B
    B = B XOR ClaveDeDescifrado
    *A = B
    C = C * A
    A = A + 1
    C = C + 20
    GOTO Loop IF NOT A = Codigo_De_Descifrado
    C = A + C
    C = 2 + B
    GOTO Cifrado
ClaveDeDescifrado:
    numero_aleatorio

El código dentro de la sección "Cifrado" puede posteriormente buscar el código entre "Codigo_De_Descifrado" y "ClaveDeDescifrado" eliminando todo el código que altere la variable C. Antes de que el algoritmo de cifrado sea usado de nuevo, puede añadir de nuevo código que afecte a a la variable C, o incluso modificar el código del algoritmo por nuevo código con la misma finalidad.

Normalmente el creador del virus informático utiliza una clave nula (con valor cero) en la primera generación del virus, esto hace que sea todo mas fácil para el desarrollador ya que con esta clave el virus no se encuentra cifrado. Luego para las siguientes infecciones puede implementar una clave incremental o aleatoria.

Referencias

Obtenido de "Polimorfismo (virus inform%C3%A1ticos)"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Polimorfismo — Saltar a navegación, búsqueda En general, polimorfismo describe múltiples y posibles estados de una única propiedad. En biología, un polimorfismo genético son los múltiples alelos de un gen entre una población, normalmente expresados como… …   Wikipedia Español

  • Mutación (desambiguación) — La palabra mutación puede referirse a: Contenido 1 Biología 2 Adolescencia 3 Informática 4 Literatura 5 …   Wikipedia Español

  • ILoveYou — (o VBS/LoveLetter) es un gusano informático escrito en VBScript. En mayo del 2000 infectó aproximadamente 50 millones de computadores alrededor del mundo provocando pérdidas de más de 5.500 millones de dólares. Contenido 1 Arquitectura del virus… …   Wikipedia Español

  • Paranoia (juego de rol) — Saltar a navegación, búsqueda Paranoia (juego de rol) Diseñador(es) Greg Costikyan, Dan Gelber, Eric Goldberg Editorial(es) West End Games, Mongoose Publishing Fecha de publicación 198 …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”