Dipende dal sistema operativo e dal metodo utilizzato per inoltrare i privilegi all'amministratore. In genere, la risposta è sì: la protezione di una finestra di dialogo di escalation dei privilegi da parte di operazioni di ricerca e spoofing è una sfida tecnica.
Per proteggere la password di un amministratore da un malware che ha infettato il tuo account ma non dall'account dell'amministratore, la richiesta della password deve essere sufficientemente isolata dalla normale interfaccia utente:
- Quando viene visualizzata una finestra di dialogo per la richiesta di password, il software senza privilegi non deve essere in grado di curiosare sulla pressione dei tasti in quella finestra di dialogo.
- Il software non privilegiato non deve essere in grado di spegnere surrettiziamente l'attenzione anche da quella finestra di dialogo.
- Ovviamente il software non privilegiato non deve essere in grado di curiosare nella memoria del processo che fornisce la richiesta della password, o influenzarne l'esecuzione in alcun modo.
- Inoltre, il software non privilegiato non deve essere in grado di visualizzare una richiesta di password convincente, in cui l'utente potrebbe credere che stava inserendo la sua password nella finestra di dialogo della password legittima, ma in realtà stava digitando una finestra di dialogo simile fornita dal malware .
X11 (la GUI di Linux) non fornisce un strong isolamento tra le finestre delle applicazioni, il che rende impossibile fornire una richiesta di password non snoopable. È una funzionalità che in X11, ad esempio, puoi definire metodi di input e macro che funzionano ovunque.
Penso che Windows sia un po 'più restrittivo, ma non so se il prompt della password dell'amministratore di sistema sia effettivamente protetto dal keylogging. La richiesta di escalation dei privilegi di Windows non è protetta dal phishing: qualsiasi programma può mostrare una schermata grigia con una richiesta di password nel mezzo.
Per ottenere una finestra di dialogo sicura di escalation dei privilegi, non solo l'interfaccia utente deve fornire componenti isolati (ad es. una finestra in cui non sono possibili macro o rebinding), ma deve anche fornire un modo per non dialogare spoofable, come ad esempio:
- Un modo affidabile per l'utente di richiedere l'escalation dei privilegi: una sequenza di input magica che non può essere reindirizzata. In linea di principio, il Ctrl + Alt + Del di Windows potrebbe farlo, tranne che penso che tu possa ricollegare la tastiera (e spostare i tasti pertinenti in giro) senza privilegi di amministratore.
- Un dialogo convincente che non può assolutamente provenire dal malware: la finestra di dialogo mostra una frase o un'immagine segreta scelta dall'utente e mai accessibile ai programmi non privilegiati. Questo tende a funzionare male perché la frase o l'immagine segreta non devono mai fuoriuscire e l'utente deve prestare attenzione. Gli utenti tendono a scegliere la stessa immagine dei loro bambini che usano come sfondo e tendono a fare clic su "ok" senza prestare attenzione, il che rende questa tecnica di praticabilità limitata.
- Un LED hardware che significa "l'interfaccia utente è in modalità privilegiata" (e che può essere modificato solo da un software privilegiato) - i computer non hanno questo. E ancora gli utenti devono prestare attenzione.
In ogni caso, alla fine, i tuoi dati sono preziosi, non la tua password di amministratore. Per un tipico computer dell'utente finale, non è molto importante rendere il sistema operativo e l'interfaccia utente molto più complessi solo per proteggere la password dell'amministratore.