Está en la página 1de 6

Instituto tecnológico de Santo Domingo

Nombre:
Charles Rafael Mendez Rivas

ID:
1100349

Profesor/a:
Harold Lawrence Marzan Mercado

Materia:
Algoritmos Maliciosos
3.1. Dependencia de la arquitectura informática

La mayoría de los virus informáticos se propagan en forma binaria ejecutable (también llamada forma compilada). Por
ejemplo, un virus de arranque se replicará como uno o dos sectores de código y se aprovechará de la secuencia de
arranque de la computadora. Entre los primeros incidentes de virus documentados se encuentra Elk Cloner en Apple II,
que también es un virus de arranque. Elk Cloner modificó el sistema operativo cargado con un enlace a sí mismo para
que pudiera interceptar el acceso al disco e infectar los discos recién insertados sobrescribiendo sus sectores de
arranque del sistema con una copia de su propio código y así sucesivamente. Brain, el virus informático para PC más
antiguo que se conoce, también era un virus del sector de arranque, escrito en 1986. Aunque las secuencias de
arranque de los dos sistemas, así como las estructuras de estos virus, muestran similitudes, los virus dependen en gran
medida de las particularidades de la arquitectura. en sí mismo (como la dependencia de la CPU que se describe más
adelante en este capítulo) y en el procedimiento de carga exacto y el diseño de la memoria. Por lo tanto, los virus
binarios normalmente dependen de la arquitectura de la computadora. Esto explica por qué un virus informático para
un Apple II generalmente no puede infectar una PC IBM y viceversa.

En teoría, sería factible crear un virus binario de arquitectura múltiple, pero no es una tarea sencilla. Es especialmente
difícil encontrar formas de ejecutar el código creado para que una arquitectura se ejecute en otra. Sin embargo, es
relativamente fácil codificar en dos arquitecturas independientes, insertando el código de ambas en el mismo virus.
Luego, el virus debe asegurarse de que el código adecuado obtenga el control de la arquitectura adecuada. En marzo
de 2001, el virus PeElf demostró que era posible crear un virus binario multiplataforma.

Los creadores de virus encontraron otra manera de resolver el problema de la arquitectura múltiple y el sistema
operativo al traducir el código del virus a un pseudoformato y luego traducirlo a una nueva arquitectura. El virus
Simile.D (también conocido como Etap.D) de Mental Driller utiliza esta estrategia para propagarse en sistemas
Windows y Linux en arquitecturas Intel de 32 bits (y compatibles).

3.2. Dependencia de la CPU

La dependencia de la CPU afecta a los virus informáticos binarios. El código fuente de los programas se compila en
código objeto, que se vincula en un formato binario, como un formato de archivo EXE (ejecutable). El ejecutable real
contiene el "genoma" de un programa como una secuencia de instrucciones. Las instrucciones consisten en códigos de
operación. Por ejemplo, la instrucción NOP (sin operación) tiene un código de operación diferente en un Intel x86 que
en un VAX o Macintosh. En las CPU Intel, el código de operación se define como 0x90. En el VAX, este código de
operación sería 0x01.

Por lo tanto, es muy probable que las secuencias de bytes se traduzcan en código basura de una CPU a otra debido a
las diferencias entre la tabla de códigos de operación y la operación de la CPU real. Sin embargo, hay algunos códigos
de operación que pueden usarse como código significativo en ambos sistemas y algunos virus pueden aprovechar esto.
La mayoría de los virus informáticos que se compilan en formato binario dependerán de la CPU y no podrán replicarse
en una arquitectura de CPU diferente.

3.3. Dependencia del sistema operativo

Tradicionalmente, los sistemas operativos estaban codificados para una arquitectura de CPU particular. Los primeros
sistemas operativos de Microsoft, como MS-DOS, solo admitían procesadores Intel. Incluso Microsoft Windows solo
admitía hardware compatible con Intel. Sin embargo, en los años 90 fue aumentando la necesidad de soportar más
arquitecturas de CPU con el mismo sistema operativo. Windows NT fue el primer sistema operativo de Microsoft que
admitía múltiples arquitecturas de CPU.

La mayoría de los virus informáticos solo pueden operar en un único sistema operativo. Sin embargo, la compatibilidad
cruzada entre DOS, Windows, Windows 95/98 y Windows NT/2000/XP todavía existe en las plataformas Intel incluso
hoy en día. Por lo tanto, algunos de los virus que se escribieron para DOS aún pueden replicarse en sistemas más
nuevos. Sin embargo, tendemos a usar software cada vez menos antiguo y "auténtico", lo que reduce el riesgo de tales
infecciones. Además, algunos de los trucos más antiguos de los virus informáticos no funcionarán en los entornos más
nuevos. En Windows NT, por ejemplo, los comandos de puerto no se pueden usar directamente para acceder al
hardware desde los programas de DOS. Como resultado, todos los virus de DOS que usan comandos de puerto directo
fallarán en algún momento porque el sistema operativo genera un error.

Esto podría evitar por completo la replicación del virus si los comandos del puerto (operaciones IN/OUT) ocurren antes
de que el virus se multiplique.

3.4. Dependencia de la versión del sistema operativo

Algunos virus informáticos dependen no solo de un sistema operativo en particular, sino también de una versión real
del sistema. Los jóvenes investigadores de virus a menudo tienen dificultades para analizar un virus de este tipo.
Después de unos minutos de infecciones de prueba fallidas en sus sistemas de investigación, pueden creer que un virus
en particular no funciona en absoluto. Especialmente al comienzo de una era de virus informáticos en particular,
podemos ver una ráfaga de virus informáticos que repiten los mismos errores que los hacen dependientes de algún
tipo de Windows. Por ejemplo, el virus W95/Boza no funciona en versiones de Windows 95 que no están en inglés,
como la versión húngara del sistema operativo.

Esto lleva al descubrimiento de que los virus informáticos pueden usarse para atacar las computadoras de una nación
en particular más que otras. Por ejemplo, los sistemas Windows rusos pueden ser lo suficientemente diferentes de las
versiones de EE. UU. para ser reconocibles, lo que permite que el autor de un virus, intencionalmente o no, se dirija
solo a un subconjunto de usuarios de computadoras. Sin embargo, en general, después de que se ha creado un virus,
su autor tiene muy poco o ningún control sobre el lugar exacto al que viajará su creación.

3.5. Dependencia del sistema de archivos

Los virus informáticos también tienen dependencias del sistema de archivos. Para la mayoría de los virus, no importa si
los archivos de destino residen en una tabla de asignación de archivos (FAT), utilizada originalmente por DOS; el
Sistema de archivos de nueva tecnología (NTFS), utilizado por Windows NT; o un sistema de archivos remoto
compartido a través de conexiones de red. Estos virus funcionan siempre que sean compatibles con la interfaz del
sistema de archivos de alto nivel del entorno operativo. Simplemente infectarán el archivo o almacenarán nuevos
archivos en el disco sin prestar atención al formato de almacenamiento real. Sin embargo, otros tipos de virus
dependen en gran medida del sistema de archivos real.

3.5.1. Virus de racimo

Algunos virus exitosos solo pueden propagarse en un sistema de archivos específico. Por ejemplo, el virus búlgaro, DIR-
II, es un virus de clúster, escrito en 1991. DIR-II tiene características específicas para ciertas versiones de DOS pero, lo
que es más importante, se propaga mediante la manipulación de estructuras clave de archivos basados en FAT.
sistemas En FAT en un sistema DOS, el acceso directo al disco se puede usar para sobrescribir el puntero (almacenado
en la entrada del directorio) al primer grupo en el que se almacena el comienzo de un archivo.

3.5.2. Virus de flujo NTFS

Los sistemas de archivos FAT son simples pero muy ineficientes para discos duros más grandes (en términos FAT, una
unidad de varios Gigabytes se considera muy grande). Los sistemas operativos como Windows NT exigían sistemas de
archivos modernos que fueran rápidos y eficientes en discos grandes y, lo que es más importante, en las matrices de
discos grandes que abarcan muchos terabytes, como las que se utilizan en las bases de datos comerciales.
3.5.3. Virus de compresión NTFS

Algunos virus intentan utilizar la función de compresión de NTFS para comprimir el programa anfitrión y el virus.
Dichos virus utilizan la API DeviceIoControl() de Windows y establecen el modo de control FSCTL_SET_COMPRESSION
en ellos. Obviamente, esta función depende de un NTFS y no funcionará sin él. Por ejemplo, el virus W32/HIV, del
escritor de virus checo Benny, depende de esto. Algunos virus también utilizan la compresión NTFS como marcador de
infección, como el virus WNT/Stream.

3.5.4. Infección de imagen ISO

Aunque no es una técnica común, los virus también atacan los formatos de archivo de imagen de los CD-ROM, como el
ISO 9660, que define un sistema de archivos estándar. Los virus pueden infectar una imagen ISO antes de que se grabe
en un CD. De hecho, varios virus se propagaron de forma salvaje desde los discos CD-R, que no se pueden desinfectar
fácilmente después. Las imágenes ISO a menudo tienen un archivo AUTORUN.INF para iniciar automáticamente un
ejecutable cuando se usa el CD-ROM en Windows. Los virus pueden aprovechar este archivo dentro de la imagen y
modificarlo para ejecutar un ejecutable infectado. Esta técnica fue desarrollada por el creador de virus ruso, Zombie, a
principios de 2002.

3.6. Dependencia del formato de archivo

Los virus se pueden clasificar según los objetos de archivo que pueden infectar. Esta breve sección es una introducción
a los infectores de formato binario. Muchas de las técnicas se detallan más en el Capítulo 4, "Clasificación de las
estrategias de infección".

3.6.1. Virus COM en DOS

Los virus como Virdem y Cascade solo infectan archivos binarios de DOS que tienen la extensión COM. Los archivos
COM no tienen una estructura específica; por lo tanto, son blancos fáciles de los virus. Existen docenas de variaciones
de técnicas para infectar archivos COM.

3.6.2. Virus EXE en DOS

Otros virus pueden infectar archivos DOS EXE. Los archivos EXE comienzan con una pequeña estructura de encabezado
que contiene el punto de entrada del programa, entre otros campos. Los virus EXE infector a menudo modifican el
campo del punto de entrada del host y se agregan al final del archivo. Existen más técnicas para infectar archivos EXE
que para infectar archivos COM debido al propio formato.

1. Memory management:

RtlAllocateHeap()
RtlFreeHeap()
2. Directory and file search:

RtlSetCurrentDirectory_U()
RtlDosPathNameToNtPathName_U()
NtQueryDirectoryFile()

3. File management:

NtOpenFile()
NtClose()
NtMapViewOfSection()

3.6.3. Virus de código objeto y LIB

Las infecciones por objetos y LIB no son muy comunes. Solo hay alrededor de una docena de estos virus porque
tienden a depender de los entornos de desarrollo.

El código fuente se compila primero en código objeto y luego se vincula a un formato ejecutable:

Source Code - Object code / Library code - Executable.


NtUnmapView
OfSection()
NtSetInform
ationFile()
NtCreateSec
tion()

Listing 3.1. A Corrupted Macro Example

Sub MAIN
SourceMacro$= FileName$
()+ "Foobar"
DestinationMacro$ =
"Global:Foobar"

MacroCopy(SourceMacro$, DestinationMacro$)

//
Corruption
here // End
Sub

Debido a que la mayoría de los virus de macro incluyen un controlador de errores al comienzo de su
código, la compilación y ejecución de los virus de macro ha tendido a ser resistente a todas las
corrupciones, excepto a las más traumáticas.

También podría gustarte