Se le denomina virus a los programas informáticos capaces de insertar parte de su código en otros con diversos propósito, es capaz de infectar a otros programas, insertando su código en ellos. Realiza operaciones no deseadas de forma ilegítima, destructivas o no.
Pueden ser:
- Transitorios: el código del virus ejecuta sólo cuando ejecuta el anfitrión
- Residente: al ejecutarse el anfitrión, el código del virus queda residente en memoria, y puede activarse incluso si el anfitrión ya no está ejecutando.
- Código de replicación, que se encarga de infectar otros programas
- Payload: código que ejecuta para realizar la acción maliciosa.
- bomba lógica (time bomb).
- Infectan cualquier programa involucrado en el arranque de la máquina
- Se pueden ocultar en sectores no usados o marcados como defectuosos del disco duro.
- Shell: recubren el programa infectado, que ejecutan después de realizar su tarea.
- Overwritting: sobrescriben parte de las instrucciones del programa infectado
- Non-overwritting: se adjuntan al código del programa infectado
- Intrusive: reemplazan rutinas seleccionadas del programa infectado (p. ej. un callback), a las que se llamará en algún momento.