Inoltre, non sono del tutto sicuro di aver capito - quindi lasciatemi offrire alcune soluzioni possibili:
- Utilizza tre macchine virtuali separate come descritto qui da una sicurezza piuttosto famosa ricercatore. In sostanza, ogni macchina virtuale è un ambiente completamente separato, idealmente parlando come se avessi tre computer separati. Per fare ciò, avrai bisogno di una soluzione di virtualizzazione di qualche forma (virtualbox, vmware ecc.)
- Utilizza account diversi e non utilizzare RunAs. Rischiate di perdere i dati in questo modo, ma è molto più semplice della rotazione della macchina virtuale richiesta.
- Utilizza RunAs e accetta il rischio.
- Non utilizzare RunAs.
Dovrei parlare brevemente di quelle funzioni di virtualizzazione. Queste funzionalità sono fornite per consentire alla modalità XP di funzionare tramite VirtualPC di Microsoft.
Chiaramente, non usare RunAs non è accettabile e usare tre VM potrebbe essere un po 'doloroso, dato che si disconnette costantemente come in 2. Potrebbe esserci un modo per far funzionare questo per tre:
In termini di account di amministratore correnti, ciò che effettivamente accade è che la tua capacità di agire come amministratore è ridotta dai livelli di privilegio. Tre componenti entrano in gioco: UIPI , Controllo di integrità obbligatorio e desktop separati tramite CreateDesktop . Il modo in cui interagiscono è complicato:
- MIC dice che ogni processo è Alta, Media o Bassa Sicurezza. Penso che includa anche un livello di DRM - e so che include anche un livello di sistema. In entrambi i casi, l'idea è che un oggetto Medio non possa interferire con un oggetto Alto. Vedi qui e here . Allo stesso modo un oggetto High non può leggere un oggetto medio - questo non è un write up / nessun read down in azione.
- UIPI dice che solo alcuni messaggi possono essere inviati da processi Low to Medium e Medium to High. L'intero modello della GUI risolve l'invio di messaggi; se l'hardware genera un evento, questo è un messaggio nella routine di elaborazione dei messaggi (di solito chiamato
WndProc
).
-
CreateDesktop
crea un desktop completamente nuovo vuoto. Il rootkitrevealer di Sysinternal lo fa, così come KeePass , come fa consent.exe
, il tuo processo di dialogo UAC.
Ciò che rende consent.exe
sicuro è la combinazione - non solo il processo viene eseguito come NT AUTHORITY\SYSTEM
(che normalmente non sarebbe una barriera per un utente amministratore) ma viene eseguito anche su un desktop separato (richiede uno screenshot di il desktop attuale e lo appallisco per ottenere quell'effetto credo) e funziona come un livello di privilegio HIGH, il che significa che non solo i media / altri processi non possono ottenerlo se eseguito come amministratore, ma il desktop è unico e non c'è nient'altro su di esso per inviare messaggi ad esso.
Quindi, puoi usare i controlli di integrità obbligatori per isolare alcuni dei tuoi processi. Uno svantaggio è che non puoi utilizzare facilmente il meccanismo CreateDesktop
te stesso: è un'istruzione di programmazione. È comunque possibile combinare MIC con account separati su un singolo desktop. Ti potrebbe piacere leggere alcuni pensieri su questo della famosa sicurezza menzionata in precedenza ricercatore. Con un po 'di sperimentazione potresti essere in grado di adattarlo alle tue esigenze.