¿Es mi ilustración de esta configuración lo suficientemente buena? [cerrado]

0

Hago un proyecto universitario sobre periféricos de hardware. Tengo poca experiencia con esto en el campo de la informática. El proyecto trata de conectar un periférico a la consola serie UART RS-232.

Podría fácilmente demostrar la shell raíz directa si abro la conexión UART serial y me conecto con minicom, luego obtuve una shell raíz sin una contraseña con el comando "humilde shell" en busybox / barebox usando uClinux.

Mi ilustración es la siguiente.

¿Estásdeacuerdoenquemiilustraciónes"suficientemente buena"? Voy a agregar Linux en la parte superior y luego podría pensar que podría ser aprobado por mi supervisor. ''

UP significa "proceso de usuario", DR significa "controlador" y K significa "clave criptográfica" o algún otro dato que deba protegerse.

    

3 respuestas

2

UARTS no lo hace en el esquema general de las cosas que hace DMA, por lo que no tienen acceso directo a la memoria en el sentido de que a veces algo como FireWire da.

La MMU es realmente una gran cosa en todo esto, ya que proporciona la protección de la memoria entre procesos, así como las asignaciones de memoria para los buses periféricos. Absolutamente lo mostraría (posiblemente como una tabla con punteros a los procesos en memoria o algo así).

Algo más cercano sería el UART que se comunica con un proceso de usuario (a través de un controlador de interrupción del kernel) que pone la superficie de ataque como la aplicación de espacio de usuario (y el controlador de la consola del kernel) que se ejecuta en conexión con el UART en la primera instancia, posiblemente una escalada de privilegios locales para obtener la raíz local, si corresponde, entonces puede leer las claves en / proc / mem.

Tampoco olvide las posibilidades de ataques de canal lateral utilizando la interfaz eléctrica en el nivel de hardware, a veces puede hacer que Crypto filtre fragmentos de datos clave a través de este canal. Demasiadas pruebas de seguridad ignoran el hecho de que se aplican a sistemas que se ejecutan en electrónica real con interfaces reales, no en una máquina abstracta.

Además, si tengo acceso físico, el juego está terminado, extraiga los módulos dramáticos (posiblemente después de rociarlos con spray congelador) y simplemente lea las teclas, use JTAG, lo que sea, muchos ataques posibles.

    
respondido por el Dan Mills
4

No.

Primero: la arquitectura que has mostrado en tu diagrama es extremadamente inexacta. El UART en un sistema ARM, como la Raspberry Pi, no está conectado directamente a la memoria. Normalmente está conectado a un bus periférico (por ejemplo, APB1 o APB2), que está separado del bus de memoria.

Segundo:

  

Podría fácilmente probar la shell raíz directa si abro la conexión UART serie y me conecto con minicom, luego obtuve una shell raíz sin una contraseña con la opción "humilde shell" en busybox / barebox usando uClinux.

Este comportamiento está mediado por el software que se ejecuta en la CPU. No tiene absolutamente nada que ver con la arquitectura de hardware, o con la propia UART, y se puede desactivar cambiando un archivo de configuración.

    
respondido por el duskwuff
-1
  

¿Estás de acuerdo en que mi ilustración es "suficientemente buena"?

Sí. es una descripción precisa de un mcu que accede a sus periféricos a través de DMA exclusivamente.

    
respondido por el dannyf

Lea otras preguntas en las etiquetas