¿Cómo saben los virus si ya han infectado un sistema o hecho algo?

2

Sé que algunos virus repiten las mismas acciones una y otra vez sin interrupción, lo que detiene la red. Pero otros "toman un descanso" de ahí acciones repetitivas.

Por ejemplo, Nimda realiza su envío masivo rutina cada 10 días ¿Cómo se sabe "10 días"? No puede crear un archivo con la fecha en que lo hizo por última vez, eso sería un regalo para los AV.

Otro es el Sasser worm . "Intenta crear un mutex denominado JumpallsNlsTillt y se cierra si el intento falla. Esto garantiza que no se puede ejecutar más de una instancia del gusano en una computadora en cualquier momento". ¿No sería esto un regalo para los AV? ¿Qué es exactamente un mutex?

    
pregunta Celeritas 28.06.2012 - 21:34
fuente

2 respuestas

2

No hay una forma establecida de que un virus se comporte. Depende de la creatividad y habilidades del creador del virus. Para comprobar si un ejecutable ya está "infectado" puede ser tan simple como: ¿el archivo F contiene X ?

Por ejemplo:

Propagación

while (true)
    file = random executable
    if (file does not start with 123)
        prepend virus to file

Cada nuevo archivo contendrá el virus (lo más probable es que se trate de una versión del virus) que luego entrará en la propagación.

Fase de activación

El virus se activa; Esto puede basarse en el reloj (como lo describe Andrew Smith) o por el número de veces que el virus se ha copiado. Incluso puede ser tan simple como un archivo / proceso en otro lugar que mantiene la pista ("archivo con la fecha"), posiblemente MUTEX.

Supongo que estoy tratando de decir que no hay una forma definida en que un virus se comporte o haga cosas. Se reproduce a sí mismo por A , se dispara con B y realiza C ; Esa es la belleza de ello.

A , B y C son iguales a lo que quieras que sean iguales.

Si haces algo de google, encontrarás algunos virus históricos que pueden ser interesantes y te darán una idea de cómo funcionaron algunos de ellos en lo que respecta a la propagación y la activación.

Mutex

Podría responder o podría dirigirte a esta página y wiki :)

    
respondido por el Kurt 29.06.2012 - 05:59
fuente
4

Nimda está usando una función simple. Al tomar el número de segundos desde el inicio de la época, lo divide por 60 segundos, 60 minutos, 24 horas y luego por 10 y si módulo = 0, entonces realiza el ataque, siempre y cuando el módulo = 0, lo que sucede cada 10 días. Por un periodo de 24h. enlace 10 mod 10 = 0, por lo que al tomar el número de días desde el inicio de la época, puedes ejecutar el ataque durante 24 horas cada 10 días.

El proceso de exclusión mutua es un tipo de bloqueo que ayuda a gestionar el proceso de una manera que no se inicia una vez que ya se está ejecutando de esta manera. Esto es muy útil al parecer.

enlace

    
respondido por el Andrew Smith 28.06.2012 - 21:40
fuente

Lea otras preguntas en las etiquetas