Crittografia sulla GPU, più sicuro o no?

3

Mi chiedevo solo se l'esecuzione della crittografia sulla GPU fosse più sicura rispetto alla CPU, per quanto riguarda la difficoltà di leggere la chiave di crittografia dalla memoria e / o vari altri attacchi hardware.

So che esiste una vasta letteratura su come estrarre informazioni da implementazioni crittografiche software, ma per lo più presumono che una CPU standard stia eseguendo il codice. È possibile estendere tali attacchi a un'architettura hardware in stile GPU? È stato fatto?

Questo potrebbe anche essere utile nella gestione delle chiavi di uso generale, in cui una chiave di crittografia deve essere tenuta segreta per un certo periodo di tempo. Invece di metterlo in memoria, potrebbe entrare nella memoria della GPU (bonus: non può essere distribuito su disco o memorizzato nella cache), e se stai facendo la crittografia all'interno della GPU non hai nemmeno bisogno di spostarlo indietro e avanti Ma sono sicuro che ci sono programmi di scarico della memoria GPU là fuori.

Qualcuno ha esperienza con la crittografia GPU e eventuali punti deboli?

    
posta Thomas 11.04.2012 - 17:23
fonte

2 risposte

8

Anche se è vero che la memoria della GPU non è fuori servizio, tutte le periferiche hanno una memoria indirizzabile sul sistema e le schede grafiche non hanno alcun aspetto particolare su di esse progettato pensando alla sicurezza. È una cosa di oscurità nel migliore dei casi che qualcuno potrebbe non pensare di controllare lì o gli strumenti fuori dalla scatola non indirizzano quello spazio. Dati i driver corretti, è possibile accedere alla memoria della GPU tramite DMA, in modo che il disco rigido possa scrivere direttamente sulla GPU se la CPU dice di farlo.

Generalmente, tutte le risorse disponibili di una GPU sono dedicate al lavoro di grafica. Dovresti smanettare con i conducenti per fargli rispettare lo spazio che stai tentando di utilizzare o rischierebbe di essere sbalordito da vari pixel di gatti mentre guardi i video su YouTube.

Se stai cercando un uso più sicuro dell'hardware per la crittografia e l'archiviazione delle chiavi, è meglio esaminare le unità dedicate.

    
risposta data 11.04.2012 - 21:20
fonte
0

Sì, la GPU presenta diverse vulnerabilità di sicurezza (punti deboli), come puoi vedere in dettaglio nel nostro documento di indagine . Alcuni di questi sono:

  1. (Almeno generazioni precedenti di) hardware / driver della GPU non si cancellano i loro ricordi e quindi, nella memoria condivisa / locale / globale e registri, i dati persistono dopo la deallocazione.
  2. Se la chiave di crittografia è archiviata nella memoria condivisa / globale, l'utente malintenzionato può sfruttare il canale di temporizzazione / alimentazione per individuare ogni byte di chiave e quindi, recuperare l'intera chiave (fare riferimento al sondaggio precedente per vedere i documenti che dimostrano questo)
  3. Dal momento che un strong aumento del carico della GPU rischia di passare inosservato più facilmente rispetto a quello nel carico della CPU, un malware della GPU è più furtivo.
  4. Meccanismi di sicurezza proposti su CPU, come una CPU lo schema di tracciamento del taint potrebbe non funzionare per le GPU e, quindi, per un utente malintenzionato può usare GPU come estrattore di malware polimorfo per cui l'host può caricare il codice compresso / crittografato su GPU e quindi chiamare una GPU kernel per decomprimere / decifrare rapidamente il codice.
  5. I fornitori di GPU rivelano pochissime informazioni sulla microarchitettura della GPU, quindi progettano la sicurezza le tecniche per le GPU sono impegnative.
risposta data 03.04.2018 - 05:10
fonte

Leggi altre domande sui tag