Quanto è sicura la mia chiave privata nell'archivio dei certificati digitali di Windows?

1

Molti file scaricati non hanno firme digitali. I file potrebbero essere infettati o qualcuno potrebbe modificarli intenzionalmente sul nostro disco rigido.

Così ho scritto un semplice programma di hashing di file in c # che crea un hash SHA-256 di ogni file & lo memorizza in un documento XML firmato. La chiave privata viene prelevata dall'archivio certificati di Windows con un livello di sicurezza elevato. (Cioè, ogni volta che uso la chiave privata mi chiede la password.) Ho anche creato una scheda delle proprietà per le cartelle & icona sovrapposizioni (in pratica mostra un'immagine di controllo sull'icona di un file se l'hash è ok) in modo da poter vedere a colpo d'occhio quali file sono ok. Questo programma esegue anche il backup dell'elenco di hash su Google Drive e sincronizza automaticamente il nostro database hash. Ho anche aggiunto Authenticode ai miei file di programma.

Quindi ho alcune domande in mente:

  1. È possibile che malware o qualsiasi tipo di exploit in esecuzione con i privilegi di amministratore esegua il dump della chiave privata senza la password? (Le chiavi sono in User Store con alta sicurezza.)

  2. È possibile sfruttare il mio programma in modo che anche se un file viene modificato, lo mostrerà come corrispondente all'hash memorizzato? (Sono su Windows 8 x64 con DEP e ASLR attivo.)

  3. L'eseguibile del programma controlla la propria firma digitale & altre DLL caricate. Quindi se non è valido esiste. Va bene?

  4. Se il programma non è sicuro, come posso migliorarlo per sicurezza?

Principalmente, voglio assicurarmi che i file che uso non vengano manomessi anche se il mio computer è compromesso. (Conosco Open PGP ma voglio solo archiviare hash di file e altri attributi come lunghezza del file in byte, che l'utente ha creato ogni firma, data / ora in chiaro in XML firmato, in modo che i miei amici possano anche controllare l'hash con altri software, ecc.)

    
posta Ankush 02.05.2013 - 08:43
fonte

1 risposta

5

Regole di base:

  • Il codice con "privilegi di amministratore" può fare tutto ciò che desidera con la tua macchina. Non puoi proteggerti contro di esso. Al meglio , il codice dannoso dovrà attendere la prossima volta che digiti la password, a quel punto saccheggerà la tua chiave privata (e tutti i tuoi segreti).

  • Lo stesso "admin exploit" modificherà le sovrapposizioni delle icone in modo da nascondere qualsiasi modifica che desideri eseguire.

  • È inutile che un programma verifichi la propria firma. Un eseguibile dannoso messo al posto del tuo rivendica che tutto va bene indipendentemente dall'invalidità della firma.

Esiste un certo impegno da parte di Windows in una maggiore protezione per l'archiviazione delle chiavi private; questo è chiamato DPAPI . Non si tratta di nulla contro gli aggressori attivi con i privilegi di amministratore. DPAPI aggiungerà una certa resistenza agli aggressori in un altro contesto: ladri di laptop. Quando il tuo laptop viene rubato, non ce l'hai più, quindi non dovrai digitare di nuovo la tua password. Poiché i segreti in DPAPI sono in definitiva crittografati con una chiave derivata dalla tua password, l'utente malintenzionato dovrà crackare la tua password, che può richiedere un po 'di tempo (a seconda di come lo scegli tu).

Per evitare di manomettere i tuoi file, esistono diverse strategie:

  1. Avvia il computer da un supporto di sola lettura (ad esempio un DVD o una chiave USB con un interruttore "di sola lettura" esterno).
  2. Applica tutte le correzioni per la sicurezza pubblicate per il tuo sistema operativo (questo, ovviamente, è in disaccordo con i media di sola lettura).
  3. Non eseguire software di dubbia provenienza. Idealmente, non navigare nel Web in generale tranne alcuni siti selezionati dal proprio computer. Se devi accedere al Web, applica l'isolamento: esegui una macchina virtuale con il browser in essa contenuto , isolandolo dal resto del sistema. In questo modo, se gli hacker entrano nel tuo sistema attraverso la navigazione incurante, l'attaccante prenderà il controllo della VM, non del tuo sistema principale. Il sistema operativo Qubes è un sistema operativo che utilizza questo principio (anche se con Linux, non con Windows).
risposta data 02.05.2013 - 13:26
fonte

Leggi altre domande sui tag