Sicurezza delle applicazioni sulla piattaforma .net

0

On .net usiamo SecureString class per mantenere le nostre variabili applicative in memoria, in sicurezza.

Microsoft says: Represents text that should be kept confidential. The text is encrypted for privacy when being used, and deleted from computer memory when no longer needed. This class cannot be inherited.

Questa classe si trova in una libreria chiamata mscorlib.dll Ho dei dubbi sulla sicurezza. Qualcuno può sostituire questa libreria con una corrotta? Un malware può corrompere questa classe per aggirare la sua sicurezza e dopo di ciò può scaricare la memoria e accedere alle mie variabili in testo semplice. È un possibile attacco? In tal caso, come posso proteggere il mio software da questo attacco?

    
posta Batuhan 10.05.2015 - 18:45
fonte

1 risposta

2

SecureString non ti protegge se hai già malware in esecuzione con privilegi elevati. Non è possibile farlo, per SecureString o qualsiasi altra cosa. Non è possibile proteggere il software da questo tipo di attacco; se non ti fidi della tua copia di mscorlib o di qualsiasi altra cosa in esecuzione nel tuo processo, hai già perso.

Ciò che SecureString fa è assicurare che se una macchina viene compromessa in futuro, qualsiasi malware appena installato non può ripristinare il contenuto storico di SecureString dallo storage precedentemente utilizzato. Ciò potrebbe rendere la vita più difficile per l'aggressore in quanto dovrebbe sostenere la corsa senza che l'infezione venga rilevata e rimossa, per raccogliere il contenuto mentre viene utilizzato, invece di scaricare il contenuto di massa in una volta sola.

Questa è una vittoria marginale al meglio. A seconda dell'applicazione e del relativo modello di minaccia, SecureString può essere una valida soluzione o potrebbe offrire un valore minimo o nullo.

    
risposta data 10.05.2015 - 18:54
fonte

Leggi altre domande sui tag