¿Por qué los rootkits se ocultan en los controladores?

17

Muchos rootkits para Windows (¿quizás incluso Linux?) se ocultan en los controladores. ¿Por qué es eso?

Una de las razones por las que puedo pensar es que al usar un controlador se ejecutan en modo kernel y tienen acceso total al sistema, pero ¿no hay formas más fáciles de lograrlo? ¿O hay otras razones?

    
pregunta Erik 08.06.2012 - 09:30
fuente

3 respuestas

19

Como dijiste, la mayoría de los controladores se ejecutan en modo kernel, por lo que tienen acceso a todas las cosas interesantes y se pueden ocultar fácilmente de los depuradores.

Hay más razones que hacen que los conductores sean un lugar interesante:

  • Hay una gran cantidad de controladores de dispositivo, y los proveedores proporcionan nuevas versiones de controladores que difieren de la versión incluida en el sistema operativo. Así que, a diferencia de las partes principales del sistema operativo, no es fácil administrar una base de datos con hashes de buenos archivos conocidos.

  • Hay herramientas y documentación estándar para desarrollar controladores. Así que esto es mucho más fácil que parchear directamente la memoria del kernel o reemplazar el cargador de arranque.

  • El acceso directo a la memoria en un controlador de dispositivo no es sospechoso.

  • Algunos controladores se cargan temprano durante el proceso de arranque, por lo que pueden aplicar su magia antes de que se cargue un antivirus. Así que el antivirus solo ve lo que el rootkit quiere que vea.

respondido por el Hendrik Brummermann 08.06.2012 - 10:31
fuente
5

Un tipo de controlador particular que es interesante ocultar para un rootkit es un controlador de sistema de archivos. El rootkit puede filtrar fácilmente los resultados de las listas de directorios y ocultarse del usuario y otras herramientas del sistema.

Del mismo modo, la ocultación en un controlador de red puede filtrar algunas conexiones y eliminarlas de la lista de conexiones abiertas.

    
respondido por el Raku 08.06.2012 - 10:44
fuente
2

a nivel de controlador, las aplicaciones pueden tener acceso completo al hardware del sistema. Esto incluye controladores de filtro que se insertan entre el controlador HW y el sistema operativo de manera totalmente transparente, lo que hace casi imposible que otras aplicaciones detecten su presencia.

Se puede aplicar al controlador del sistema de archivos, al controlador de red, a los dispositivos de entrada (teclados ...).

las aplicaciones a nivel de controlador también se pueden hacer invisibles para procesar el monitoreo, lo que las hace realmente difíciles de detectar y eliminar.

    
respondido por el fduff 09.06.2012 - 10:49
fuente

Lea otras preguntas en las etiquetas