¿Puede un kernel en ejecución estar protegido por anillos subyacentes, BIOS, etc.?

1

La mayoría de las veces encontré ejemplos al revés: comprometer el sistema operativo, p. A través de una BIOS comprometida o Intel ME. Pero, ¿hay ejemplos conocidos donde las cosas se ejecutan debajo del núcleo y se pueden usar para protegerlo o al sistema operativo en general? Con respecto al modo de anillo -1 / hipervisor, encontré algunos ejemplos pero no pude encontrar nada más. No estoy pensando en SecureBoot et al, sino en la protección contra exploits de un kernel en ejecución.

    
pregunta ballab 23.08.2017 - 13:56
fuente

2 respuestas

1

Sí , con diversos grados de éxito. De estos, solo el primero se usa comúnmente en producción:

  • RKP (Protección en tiempo real del kernel) de Samsung Knox, que bloquea el acceso no autorizado o modificación al código del kernel por el espacio de usuario, y monitorea las credenciales confidenciales en el kernel.
  • Varios hipervisores experimentales basados en BitVisor, como SecVisor , con diferentes objetivos.
  • Cappsule de Quarkslab, que ejecuta una copia de CoW del kernel para cada proceso generado.
  • McAfee DeepSAFE , un hipervisor que proporciona una vista de los eventos del sistema a prueba de manipulaciones.
  • Protección de integridad basada en el coprocesador, como la experimental Copiloto .

Creo que también hubo algún módulo Intel ME personalizado de corta duración ("anillo -3") que fue diseñado para propósitos similares, pero me olvido del nombre. SMM ("ring -2") también podría ser utilizado teóricamente para la integridad, dependiendo de qué eventos pueden desencadenar un SMI (Interrupción de administración del sistema). Tenga en cuenta que estos no son anillos de protección "verdaderos", como expliqué con mayor detalle en otra respuesta .

    
respondido por el forest 27.12.2017 - 08:19
fuente
-1

Eres muy vago. Reducirlo: ¿qué sistema operativo? ¿Qué protecciones del procesador?

PERSPECTIVA DE ATACADOR

Si estás hablando de Linux, puedes usar el kernel para subvertir el kernel (en un módulo del kernel).

Windows es un poco menos sencillo según la plataforma (x64 requiere controladores firmados, etc.).

Dependiendo del hardware, se puede usar Rowhammer, etc.

PERSPECTIVA DEL DEFENSOR

Windows: desde el nivel bajo hacia arriba, la mayoría de los AV descargan los controladores para realizar enganches de paquetes de solicitud de E / S (IRP), reescribir / instalar o enganchar su propia tabla de distribución de servicio del sistema (SSDT), manipular la tabla de descriptor intteruptual (IDT), o incluso manipular todas las tablas de direcciones de importación (IAT) de todos los procesos, etc .:

enlace

Incluso puedes ver esto con la herramienta gmer AV: enlace

Linux: no estoy muy familiarizado con RE en Linux, solo OSX. Sin embargo, puede haber algún mérito en un kernel verificado formalmente, p. Ej. SeL4: enlace

    
respondido por el grepNstepN 06.10.2017 - 19:53
fuente

Lea otras preguntas en las etiquetas