¿Cómo Regin oculta las instancias en ejecución de sí mismo?

3

He estado leyendo Symantec & Análisis de Kaspersky Labs del malware Regin.

Según Symantec

  

[Etapa 2] también puede ocultar instancias en ejecución de la Etapa 1. Una vez que esto   sucede, no quedan artefactos de código visibles.

Según tengo entendido, la Etapa 1 se implementa como un Controlador de Windows, y no existe una forma segura de descargar un Controlador de Windows sin requerir un reinicio (incluso si la Etapa 2 en sí es otro controlador del núcleo).

Del mismo modo, por lo que puedo decir, no existe ninguna forma (ni debería existir) de interceptar y manipular la lista de controladores de Kernel en ejecución, como podría ser un rootkit para un archivo en el sistema de archivos.

Entonces, ¿cómo oculta la Etapa 2 las instancias en ejecución de la Etapa 1? Parece que hay poca información sobre esto en línea?

Fuente: enlace - Página 9

    
pregunta jammmie999 30.11.2014 - 22:49
fuente

1 respuesta

3

No soy un hacker del kernel, pero por lo que leo la técnica es análoga a un gancho de función en el espacio del usuario.

Premisa

  • El código de espacio del usuario interactúa con el kernel a través de llamadas al sistema.
  • Hay llamadas al sistema que revelan información sobre el estado del kernel, e. sol. f devuelve la lista de módulos de kernel cargados.
  • El kernel administra una tabla t de las llamadas del sistema y la ubicación de su implementación en la memoria.
  • Un módulo del kernel (a. k. a. "controlador") m se convierte en parte del kernel, cuando se carga, obteniendo acceso completo a todo lo que el kernel puede acceder.

Pasos

  1. m se carga / inyecta en el kernel de alguna manera. Ahora puede hacer todo lo que quiera para el sistema operativo, incluido el acceso a parte de su infraestructura.

  2. m reemplaza la entrada tf con una referencia a la función f , lo que ayudaría a Revelar la presencia de m . En su lugar, m coloca una referencia a una función similar f ' en tf , que forma parte de m y utiliza f , pero filtra y / o transforma los resultados para ocultar las huellas de m.

  3. Un programa de espacio de usuario está buscando módulos del kernel sospechosos y quiere llamar a f . Después de recibir la llamada al sistema, el núcleo busca tf , porque espera que tf contenga una referencia a f . En su lugar, encuentra y llama a f '. Por lo tanto, el programa de espacio de usuario recibirá un resultado controlado por m.

respondido por el David Foerster 02.12.2014 - 01:31
fuente

Lea otras preguntas en las etiquetas