¿Los productos antivirus usan "archivos canarios" para detectar rootkits?

9

Recientemente, he aprendido cómo algunos rootkits pueden ocultar ciertos archivos, servicios, etc. de los programas en el modo kernel o usuario.

Esto me hizo pensar: ¿hay algún programa antivirus u otro sistema de detección de intrusos que use "archivos canarios" con cadenas comunes en sus nombres de archivos que normalmente están ocultos por los rootkits para detectarlos?

es decir:

1.) MyRootkit.vir es conocido por ocultar archivos que incluyen la cadena ".vir" en su nombre de archivo.
2.) Tras la instalación (o la actualización de la firma) MyAV pone MyRootkitcanary.vir en C: \ Archivos de programa \ MyAV \ Canary Files \
3.) Durante una exploración, MyAV ejecuta cmd -c dir "C:\Program Files\MyAV\Canary Files\"
4.) Si MyRootkitcanary.vir no está incluido en la respuesta del sistema, MyAV alerta que el sistema puede estar infectado con MyRootkit.vir .

    
pregunta Iszi 11.11.2011 - 05:27
fuente

3 respuestas

5

No tengo conocimiento de ningún producto antivirus común para los usuarios finales que hacen esto.

Sin embargo, muchos kits de raíz utilizan rutas absolutas o colocan sus archivos en carpetas bien conocidas del sistema operativo. Por lo tanto, es probable que un enfoque que ponga los archivos canarios en una carpeta arbitraria no atrape muchos kits de raíz.

Pero si coloca los archivos canarios fuera de la carpeta del antivirus, es probable que surjan sospechas sobre una infección real. Esto hace que sea mucho más difícil para los proveedores de antivirus, ya que creará solicitudes de soporte adicionales y, en el peor de los casos, puede dar lugar a una mala cobertura de la prensa: "El antivirus A está infectado con el rootkit B como se descubrió por el virus C".

Las herramientas de detección de rootkit dedicadas podrían probar este enfoque. Sin embargo, a simple vista, chkrootkit , se basa principalmente en la detección de inconsistencias: por ejemplo, utiliza diferentes formas de enumerar procesos (chkproc) y carpetas (checkdirs).

    
respondido por el Hendrik Brummermann 11.11.2011 - 06:31
fuente
4

Una técnica de detección más robusta es leer el catálogo del sistema de archivos directamente desde el disco y comparar lo que informa con los resultados de preguntar al sistema operativo qué archivos hay. Si los resultados difieren en formas inesperadas, entonces es posible que tenga un kit de raíz. Como otras personas han informado, el mecanismo que usted propone se basa en que el kit raíz no es lo suficientemente bueno como para ocultar sus propios archivos.

Observe que hay diferencias esperadas en la salida: por ejemplo, el sistema de archivos HFS + tiene una colección de archivos en su archivo de catálogo para el mantenimiento interno que las buenas implementaciones no exponen al sistema operativo. / p>     

respondido por el user185 11.11.2011 - 12:25
fuente
1

Buena idea. Algunos cazadores de rootkits implementan pruebas canarias similares a las que usted describe. Vamos a formalizar un poco el concepto. Crea un recurso que se modificará por la presencia de un rootkit.

Muchos rootkits de Linux ocultan procesos / etc basados en uid o gid. Podría crear un canario para cada usuario / grupo:

for uid in {0..65535}; do
 touch /root/tmp/canary_$uid
 chown $uid:$gid /root/tmp/canary_$uid
done

luego cuente los archivos vistos por ejemplo, ls

if (( $(ls -la | head -n +1 | grep total | cut -d\  -f 2) -ne 65536 )); do
 echo "missing canary file, possible RK detected"
done

Además, algunos cazadores de rootkits también comprueban qué recursos deberían estar disponibles, pero no lo están. Es decir, sockets y identificaciones de proceso. Podría crear fácilmente un programa que intente vincularse a todos los puertos tcp / udp disponibles, y si falla, indicará que hay "algo oculto" que ya se ha enlazado a ese puerto.

Pero se trata de cuán lejos van estas técnicas y se pueden subvertir fácilmente. Los rootkits pueden ejecutarse dentro de otros procesos (como subprocesos) y pueden evitar la asignación de recursos compartidos para la comunicación (sniffing en lugar de enlace).

También, puede consultar: enlace

    
respondido por el Dog eat cat world 11.11.2011 - 08:48
fuente

Lea otras preguntas en las etiquetas