Of course, it will be vulnerable to key loggers and programs that read the decrypted data from RAM, but I don't think its possible to protect against these.
A meno che il contenuto che desideri proteggere sia estremamente prezioso, direi che probabilmente hai ragione di ignorarli. Leggere i dati decrittografati dalla RAM non sarebbe banale e probabilmente suggerisce un attacco mirato se si trova dopo la RAM dell'applicazione in particolare.
Lo storage isolato sembra essere un'astrazione .net su Windows piuttosto che un'estensione dell'API di Windows. Questo articolo MSDN rivela che le posizioni sono essenzialmente i soliti percorsi dei dati dell'applicazione. L'impatto dei flag utente, dominio e assembly è riepilogato in questo articolo .
Non sono uno sviluppatore .net di per sé, quindi ho deciso che il modo migliore per verificare cosa sarebbe successo sarebbe stato utilizzare la demo di codeproject , dai un'occhiata alle directory e guardala con procmon .
Quindi, in primo luogo, che tipo di attributi di sicurezza ha C:\Users\username\AppData\Local\IsolatedStorage
avere?
Inlicenza,sembrachenoncisianodirittidiaccessospecificioltreaquellicheunutentenormalepotrebbeaspettarsidiutilizzare.
In effetti, come vedi sopra, posso entrare in valzer. Infine, provarci con procmon:
Potrebbeesserenecessarioingrandirlo,macomeinterpretazione,èsolounsetstandarddichiamateAPIWindowseunpo'diaccessoalfile.Perchépotrebbeesserediinteresse,quellochestavocercandoeraunachiamataa SetNamedSecurityInfo()
che si presenta come IRP_MJ_SET_SECURITY
.
In breve, penso che IsolatedStorage sia isolato come un'astrazione .net, ma .net gira attualmente su Win32, da cui non fornisce alcuna difesa a cui possa pensare. Quindi, è sicuro come scrivere file su My Documents o su qualsiasi altra posizione di App Settings che ti interessa prendere dalla prospettiva di un'app Win32. Che è esattamente quello che ha detto Ross: nessuna difesa dal codice non gestito. Mi piacciono le foto.