Integridad de las evidencias forenses VIVAS (por ejemplo, volcado de memoria)

4

Me pregunto cómo puedo probar la integridad de la evidencia forense de una computadora que se obtuvo de una máquina en ejecución (por ejemplo, una imagen de memoria). Tan pronto como haga algo con esa caja, conecto un pendrive, por ejemplo, modifico las secciones del registro en la memoria, y probablemente también en el disco, se alterará. ¿Cómo puedo asegurarme de que las pruebas siguen siendo admisibles? ¿Cómo puedo asegurarme de que la imagen de la memoria sea la misma que era en el momento del examen? Me temo que no hay solución para esto. ¿Alguien tiene alguna experiencia judicial con esto? ¿Qué podría ser aceptado por el tribunal?

Para evitar cualquier malentendido, no estoy hablando de crear imágenes de un disco duro independiente con writeblocker y esas cosas.

    
pregunta Richard Leonard Kirner 18.10.2016 - 17:46
fuente

1 respuesta

2

Descargo de responsabilidad: no soy abogado, por lo que mi consejo no es válido.

No hay una manera a prueba de fallas para mantener la memoria en un estado específico. Sin embargo, hay una forma de argumentar que un volcado de memoria se puede reproducir y / o argumentar que se puede decir qué partes de la memoria pueden haber cambiado.

táctica propuesta

En el momento en que está realizando un volcado de memoria completo, se están ejecutando varios procesos y un núcleo los está programando. Y, además, es posible que esté intercambiando páginas de memoria entre la memoria física y un área de disco (intercambio).

Entonces, lo primero que necesita es obtener el volcado de memoria y el intercambio está en un punto en el tiempo. En segundo lugar, necesita obtener el estado de los registros de la CPU (volveré en un momento)

Estoy pensando en términos de una máquina Linux porque es el sistema operativo con el que estoy más familiarizado. Para ese sistema operativo, puede volcar /dev/mem y dd las áreas de intercambio, o usar algo como LiME. Para otros sistemas operativos hay varias alternativas .

Ahora, para poder argumentar que el volcado de memoria se puede reproducir, deberá buscar y analizar la Tabla de paginación global (PT). Esa tabla reside en la memoria y vincula el acceso a la memoria del kernel con las partes reales de la memoria. La ubicación de la tabla debe estar en un registro (no lo recuerdes, lo siento. Pero es por eso que necesitas los registros, todos ellos no solo RAX, RBX, RCX, RDX, R5, R6, RSP, etc.), por lo que la unidad de CPU responsable de la paginación puede acceder a ella.

Es viable argumentar que si puedes hacer un índice del PT, puedes decir qué parte de la memoria puede actualizarse. ¿Cómo?

  • El PT contiene páginas en la memoria física y también en el intercambio, por lo que su índice cubre toda la memoria.
  • DLP (parte del PT) le dirá qué páginas son propiedad del núcleo y cuáles son propiedad de los procesos del usuario.

Ahora, en función de lo que hace la máquina, puede saber qué páginas de memoria se han visto afectadas y cuáles no. Por ejemplo, conectar una unidad de lápiz (asumiendo que la máquina no realiza una regla inteligente udev o similar) solo debería cambiar las páginas del núcleo (bueno, casi, sistemas de archivos virtuales, por ejemplo, /proc también se actualizaría).

Verificación de la realidad pesimista

Desafortunadamente, la mayoría de los sistemas operativos actuales ejecutarán demonios que explorarán periódicamente el espacio de usuario de la parte visible del kernel y actuarán sobre él. Posiblemente se desordene considerablemente el espacio del usuario (DLP 3). Definitivamente, necesitará un control físico de la máquina y un análisis de lo que sucede (en lo que respecta al espacio del usuario) cuando le hace algo a la máquina.

Notas optimistas

En el lado positivo, cuando tiene el volcado de memoria dividido en páginas, puede reproducir el estado de la máquina (en buena medida). Por ejemplo, puede iniciar una máquina virtual, iniciar un depurador del núcleo y sobrescribir todas las páginas de memoria una por una.

La forma en que lo vería un tribunal, aún puede depender de puntos forenses más clásicos. Por ejemplo, ¿cómo prueba que el volcado de memoria en cuestión es de la máquina que dice ser? Pero eso es algo que puede resolverse mediante procedimientos que documentan exactamente cómo se realizó el análisis forense en la máquina.

Referencias / Relacionado

respondido por el grochmal 18.10.2016 - 18:51
fuente

Lea otras preguntas en las etiquetas