Reimpostazione dell'RNG di Windows

5

Secondo questa ricerca , Windows sembra produrre la stessa sequenza di casuale numeri indefinitamente quando un processo viene avviato prima che venga presa un'istantanea VM. Questo è un grosso problema, ovviamente, quando si clonano le VM; le macchine virtuali clonate genereranno tutti gli stessi numeri casuali, che potrebbero compromettere molte funzioni diverse basate su una buona casualità (generazione di chiavi, ecc.).

Se in qualche modo qualcuno dovesse reimpostare l'RNG o forzarlo a raccogliere di nuovo l'entropia dalle sue fonti, questo sarebbe meno problematico. È teoricamente possibile? Come potrebbe essere fatto?

    
posta Brian 23.11.2015 - 21:40
fonte

1 risposta

1

Questo dipenderà dal tuo ambiente. Istantanee, cloni e immagini con copia d'oro causano tutti problemi semplicemente perché utilizzano pool entropici identici per generare RNG per il sistema. VMWare offre i driver virtio che consentono all'entropia di aggiornare dal kernel principale ma non penso che questo esista per Windows.

In questo caso, un riavvio aggiorna il pool di entropia ma ha anche la finestra molto piccola della soglia di entropia inferiore a potenziali problemi discussi anche dal tuo riferimento. Ciò è facilmente impedito dal fatto che NON consente le funzioni RNG per OpenSSL o altre esigenze di Keygen fino al completo avvio del sistema.

Terza opzione e, a mio avviso, l'alternativa corretta è fare affidamento su un hardware esterno per aggiornare il tuo entropy pool e quindi trarne vantaggio. Ciò ti consente:

  • True fonti Entropy per popolare tutti i PRNGS su ogni virtual
  • La possibilità di monitorare il pool di entropia di ogni clone e aggiornare quando vengono colpite le soglie di entropia (riempiendo fino a 4k)
  • Non preoccuparti di utilizzare pool entropici duplicati da tutte le immagini clone

Nessuna se si tratta di un problema a meno che non si abbia un requisito di conformità e / o si abbiano esigenze keygen che saturino il pool di entropia di ogni VM e causino realmente potenziali scenari di numeri noti. In questi casi, vai all'hardware RNG.

TL; DR

  • Dato un tempo sufficiente, il pool di entropia viene agitato e questo problema diventa discutibile
  • Se ti stai affidando a Windows o Linux per le reali esigenze SSL, non fare affidamento sui pool entropy del kernel e utilizzare un metodo NIST 800-90 (A / B) approvato; hardware tramite API o programmazione personalizzata
  • Fai aggiornare la tua app in Windows: link
risposta data 05.12.2015 - 00:05
fonte

Leggi altre domande sui tag