lunes, 1 de septiembre de 2014

ClamAv antivirus Ubuntu-Linux

1. Introducción.

Todos sabemos que la comprobación de los archivos descargados en busca de firmas de virus debe ser algo obligatorio hacer hoy en día a causa de todo el malware existente en el mundo. ClamAV puede ser utilizado para analizar los archivos descargados, mensajes de correo electrónico, pdf y rtf documentos, etc Podemos instalar ClamAV en todos los principales sistemas operativos, incluyendo Linux, Windows, BSD, Solaris e incluso MacOSX. Podemos instalar ClamAV en la distribución Ubuntu Linux con el siguiente comando: 

sudo apt-get install clamav clamav-base clamav-daemon clamav-dbg clamav-docs clamav-freshclam clamav-testfiles

2. Comandos ClamAV

Después de la instalación, es necesario actualizar la base de datos de virus. Podemos hacerlo con el siguiente comando: 

sudo freshclam

El comando freshclam comprobará primero si estamos corriendo una versión actualizada de ClamAV, que no somos (ya que aún no está en los repositorios de Ubuntu). Debido a esto, se imprimirá el siguiente mensaje:
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.97.5 Recommended version: 0.97.6
Después de que los freshclam descargas archivos main.cvd, daily.cvd y bytecode.cvd. El main.cvd contiene las principales firmas y daily.cvd contiene actualizaciones diarias adicionales mientras que el bytecode.cvd contiene firmas más avanzadas. También podemos descargar esos archivos manualmente con wget:
La ECV es un archivo de base de datos de virus ClamAV que contiene varios archivos. Podemos descomprimir el archivo CVD con el comando sigtool:

# sigtool --unpack main.cvd
Después del proceso de desembalaje, los archivos siguientes están presentes: COPIAR, main.db, main.fp, main.hdb, main.info, main.mdb, main.ndb y main.zmd. CVD es compatible con las extensiones de archivo que figuran:
  • cdb: metadatos contenedor
  • fp: base de datos de buenas archivos conocidos
  • hashes MD5 de los programas maliciosos conocidos: hdb
  • LDB: juego firmas, icono firmas y cadenas de metadatos PE
  • mdb: hashes MD5 de secciones de educación física en los programas maliciosos conocidos
  • ndb: firmas hexadecimales
  • RMD: firmas de metadatos de archivos
  • ZMD: firmas de metadatos de archivos
Hay otras extensiones de archivo como: cfg, db, ftm, hdu, BID, ign, ign2, info, MDU, NDU, pdb, y wdb, pero no vamos a describir aquí. Si lo desea, puede leer más acerca de las firmas en general y lo que está almacenado en los ciertos archivos (con ciertas extensiones de archivo) aquí .
El programa de línea de comandos clamscan analiza los archivos y directorios en busca de virus. 

Vamos a probar si ClamAV detecta el virus de prueba EICAR estándar, que no es realmente un virus, sino una manera segura de probar si el software antivirus está funcionando como debería. Por la normalización, cada software antivirus debe ser capaz de detectar el virus de prueba EICAR. El contenido del virus de prueba EICAR se presentan a continuación:

# cat eicar.com

X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Podemos ver que es sólo un galimatías que en realidad no hace nada.
Podemos descargar eicar desde: http://www.rexswain.com/eicar.html . Si escaneamos el eicar.com con ClamAV, se detecta como un virus, que se puede ver a continuación:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# clamscan -i -r eicar.com
eicar.com: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Known viruses: 1301403
Engine version: 0.97.5
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 4.530 sec (0 m 4 s)

Ahora podemos buscar la cadena "Eicar-Test-Signature" en todos los archivos previamente extraídos (de .cvd). Podemos observar rápidamente que la firma encontrado se encuentra en el archivo main.ndb:
 
1
2
3
4
5
# grep "Eicar-Test-Signature" main.ndb
Eicar-Test-Signature:0:0:58354f2150254041505b345c505a58353428505e2937434329377d2445494341522d5354414e444152442d414e544956495255532d544553542d46494c452124482b482a
Eicar-Test-Signature-1:0:*:574456504956416c51454651577a5263554670594e54516f554634704e304e444b5464394a45564a513046534c564e555155354551564a454c55464f56456c5753564a565579315552564e550a4c555a4a544555684a45677253436f3d0a

Podemos hacer eso mismo con el comando sigtool con la opción-f como esto

# sigtool -f "Eicar-Test-Signature"
[main.ndb] Eicar-Test-Signature:0:0:58354f2150254041505b345c505a58353428505e2937434329377d2445494341522d5354414e444152442d414e544956495255532d544553542d46494c452124482b482a
[main.ndb] Eicar-Test-Signature-1:0:*:574456504956416c51454651577a5263554670594e54516f554634704e304e444b5464394a45564a513046534c564e555155354551564a454c55464f56456c5753564a565579315552564e550a4c555a4a544555684a45677253436f3d0a

Si convertimos la representación hexadecimal en una representación ASCII, obtenemos el resultado a continuación:
 
1
2
3
<a href="mailto:X5O!P%25@AP">X5O!P%@AP</a>[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
WDVPIVAlQEFQWzRcUFpYNTQoUF4pN0NDKTd9JEVJQ0FSLVNUQU5EQVJELUFOVElWSVJVUy1URVNU?LUZJTEUhJEgrSCo=?

La representación ASCII es exactamente el mismo que el contenido del archivo de virus de prueba eicar.com. Podríamos cambiar la cadena a buscar variaciones similares de la cuerda y salvar las firmas en una nueva .ndb base de datos. Cuando se ejecuta clamscan después, tenemos que especificar la nueva base de datos para buscar con el parámetro de línea de comandos-d.
El formato de la firma anterior se construye a partir de cuatro campos separados por dos puntos ':'. En primer lugar hay un nombre de la firma que puede ser cualquier nombre exclusivo. Lo que sigue es el parámetro de destino, que especifica el tipo de archivo para que coincida. Después hay un desplazamiento que representa una posición específica en el archivo y una firma hexadecimal.
Si echamos un vistazo a nuestra firma de prueba, es bastante claro que el nombre de la firma es "Eicar-Test-Signature", el archivo de destino es 0 (lo que significa que cualquier tipo de archivo), el offset es 0, y la firma hexadecimal es: 58354f2150254041505b345c505a58353428505e2937434329377d2445494341522d5354414e444152442d414e544956495255532d544553542d46494c452124482b482a.
La firma hexadecimal puede tener comodines que se corresponden con las expresiones regulares en la búsqueda de alguna firma en los archivos. ClamAV es compatible con los siguientes comodines cuando se utiliza en la representación hexadecimal [1]:
- ?? : Adaptarse a cualquier byte
- Un? : Igualar los altos cuatro bits
- A:? Igualar los bajos cuatro bits
- *: Coincidirá con cualquier número de bytes
- {n}: partido n bytes
- {-N}: partido n o menos bytes
- {N}: partido n o más bytes
- {Nm}: partido entre n y m bytes
- (Aa | bb): aa partido o bb
! - (Aa | bb): coincide con ningún byte excepto aa y bb
- HEXSIG [xy] aa: coincide con una anclado a hex-firma
- (B): partido de límite de palabra
- (L): coincidir con CR, CRLF o archivos límites
 
3. ClamAV Daemon

También podemos ejecutar ClamAV como un demonio. Para iniciar un demonio ClamAV, tenemos que ejecutar el siguiente comando:
 
1
2
3
4
5
# /etc/init.d/clamd start
* Starting clamd ...                                                      [ ok ]
* Starting freshclam ...                                               [ ok ]

Mediante la ejecución de ClamAV como un demonio, el programa ya está cargado y en la memoria, lo que hace que el escaneo más rápido. Para buscar los archivos infectados y carpetas en un equipo que podemos utilizar el comando clamdscan lugar de los clamscan de comando con los mismos parámetros. Al utilizar el daemon ClamAV, otros programas pueden conectarse fácilmente a programas antivirus ClamAV, como cliente de correo electrónico, etc
Otro parámetro importante que podemos pasar a los comandos clamscan o clamdscan es el interruptor --remove que elimina todos los archivos infectados. Pero yo no le aconsejo que utilice ese interruptor, debido a los falsos positivos. Si el ClamAV identifica erróneamente archivo no malicioso como infectado y por lo tanto malicioso, se eliminará sin hacer una copia de seguridad. Para empeorar las cosas, ¿qué pasa si ese archivo contenía algunos documentos importantes que no teníamos otra copia de seguridad en algún lugar, los archivos se perdieron entonces. Es por esto que es mucho mejor para configurar ClamAV para notificarnos cuando se detecta un archivo infectado. De esta manera se puede comprobar si el archivo es realmente malicioso y eliminarlo a nosotros mismos.
Si corremos el clamdscan en el archivo eicar.com de nuevo podemos ver que el archivo fue escaneada al instante, ya que todas las definiciones de antivirus ya están cargados en la memoria. Podemos ver el resultado a continuación. ¿Te das cuenta de que el análisis se 0 segundos, pero con un comando clamscan Nos tomó 4 segundos.
 
1
2
3
4
5
6
7
8
9
# clamdscan -i  eicar.com
eicar.com: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Infected files: 1
Time: 0.000 sec (0 m 0 s)
 
4. Conclusión
Podemos concluir que el escaneo de archivos con ClamAV es muy útil en la detección de programas maliciosos. La gran ventaja de ClamAV es que es de código abierto, lo que significa que podemos extraer firmas, mira las firmas exactos utilizados para detectar cierto archivo como malicioso, etc
 
Referencias:
Creación de firmas para ClamAV 
Fuente 
 

No hay comentarios:

Publicar un comentario