Cifrado en la GPU, ¿es más seguro o no?

3

Me preguntaba si realizar el cifrado en la GPU era más seguro que en la CPU, en relación con la dificultad de leer la clave de cifrado de la memoria y / o varios otros ataques de hardware.

Sé que existe una extensa literatura sobre cómo extraer información de implementaciones criptográficas de software, pero en su mayoría asumen que una CPU estándar está ejecutando el código. ¿Se pueden extender tales ataques a una arquitectura de hardware de estilo GPU? ¿Se ha hecho?

Esto también podría ser útil en la administración de claves de propósito general, donde una clave de cifrado debe mantenerse en secreto por algún tiempo. En lugar de tenerlo en la memoria, puede ir a la memoria de la GPU (extra: no se puede transferir al disco ni a la caché), y si está haciendo el cifrado dentro de la GPU, ni siquiera necesita volver a moverlo y adelante. Pero estoy seguro de que hay programas de volcado de memoria de GPU por ahí.

¿Alguien tiene alguna experiencia con la criptografía GPU y alguna posible debilidad?

    
pregunta Thomas 11.04.2012 - 17:23
fuente

2 respuestas

8

Si bien es cierto que la memoria de la GPU no está paginada, todos los periféricos tienen una memoria direccionable en el sistema y las tarjetas gráficas no tienen un aspecto especial sobre ellas, que está diseñado pensando en la seguridad. En el mejor de los casos, es una cosa oscura que alguien no piense revisar allí o las herramientas listas para usar no abordan ese espacio. Con los controladores adecuados, se puede acceder a la memoria de la GPU a través de DMA, de modo que el disco duro puede escribir directamente en la GPU si la CPU dice que debe hacerlo.

En general, todos los recursos disponibles de una GPU están dedicados al trabajo de gráficos. Tendrías que jugar con los controladores para que respeten el espacio que intentas usar o correría el riesgo de ser golpeado por varios píxeles de gatos mientras ves videos en YouTube.

Si está buscando un uso más seguro del hardware para el cifrado y el almacenamiento de claves, es mejor buscar unidades dedicadas.

    
respondido por el Jeff Ferland 11.04.2012 - 21:20
fuente
0

Sí, la GPU tiene varias vulnerabilidades de seguridad (debilidades), como puede ver en detalle en nuestro documento de encuesta . Algunos de estos son:

  1. (Al menos las generaciones anteriores) de hardware / controladores de GPU no se borran sus memorias y así, en memoria compartida / local / global y registros, los datos persisten después de la desasignación.
  2. Si la clave de cifrado se almacena en la memoria compartida / global, el atacante puede explotar el canal de sincronización / lado de alimentación para filtrar cada byte de clave y, por lo tanto, recuperar toda la clave (consulte la encuesta anterior para ver los documentos que demuestran esto)
  3. Debido a que es probable que no se detecte un fuerte aumento en la carga de GPU más fácilmente en comparación con la carga de CPU, un malware de GPU es más sigiloso.
  4. Mecanismos de seguridad propuestos en las CPU, como una CPU El esquema de seguimiento de manchas puede no funcionar para las GPU, y por lo tanto, un atacante puede utilizar GPU como el extractor de malware polimórfico mediante el cual el host puede cargar el código comprimido / encriptado en la GPU y luego llamar a una GPU kernel para descomprimir / descifrar rápidamente el código.
  5. Los proveedores de GPU revelan muy poca información sobre la microarquitectura de GPU, por lo que diseñan la seguridad Las técnicas para GPU son un reto.
respondido por el user984260 03.04.2018 - 05:10
fuente

Lea otras preguntas en las etiquetas