Virtualizzazione di Comodo tramite CPU con supporto VT - CFP è davvero sicuro???

Si può rendere più sicura l’istanza di comodo?
Non me ne intendo un granchè, ed è bene che lo specifichi subito per non passare da “uno che le cose le sà”. Io non le sò e per questo domando.

Tutto è successo per “spasso”, volevo terminare il processo CMDAGENT.EXE, però non ci riuscivo. Il fatto è che io sono ADMIN mentre lui è SYSTEM, lui è più potente di me come “rating” e non posso terminarlo. Perciò mi metto a cercare su internet come ottenere privilegi SYSTEM sfruttando un qualche exploit di windows. In pochi secondi raccatto una marea di link (ad esempio questo → doxaliber.it/exploit-per-ottenere-i-privilegi-di-amministratore-in-win-xp/166). Faccio come dice e riesco a terminare il processo CMDAGENT.EXE A questo punto può entrare chiuque, comodo è terminato, giusto?

Se beccassi un virus che riesce ad ottenere privilegi di SYSTEM, esso può disattivare comodo e altri software di sicurezza che operano sul kernel. Questa è la mia conclusione, e non mi sento affatto sicuro!

Mi sono messo a cercare affannosamente su internet qualunque tema trattasse la sicurezza di sistemi operativi, ho chiesto ad amici che usano linux (xkè linux ha la fama di essere “più sicuro”). Il risultato è questo:

  • I sisitemi operativi hanno kernel monolitici pieni di zozzerie e di exploit di ogni tipo
  • A causa di questo le applicazioni non sono isolate e quindi il kernel non è in grado di garantire la sicurezza e l’isolamento dei processi, perciò nemmeno dei software di sicurezza che operano a questo livello.
  • I malware-rootikit possono scalare i privilegi fino ad un livello più potente di SYSTEM, il ring0

Un amico che usa linux ha messo XEN. Stò coso (xkè non sò come definirlo) è un hypervisor (pare: gestore di macchine virtuali), su wikipedia c’è scritto un po’ come funziona. Questo XEN sfrutta una tecnologia implementata da poco nell’hardware dei processori (VT) che permette di trattare i processi ad un livello di ring più basso: ring -1, XEN quindi ha più privilegi del kernel.

Perciò adesso mi viene un’idea, il gioco delle matrioske russe. Posso far in modo di aprire i processi in modo che siano isolati e controllabili da chi ha più privilegi, all’interno ne posso aprire un’altro, e un’altro ancora. Così ho tanti processi isolati in una scala ben definita di priorità.

In questo modo, ammettiamo che un malware superfigo si accorga di essere virtualizzato 10 volte a matrioska e decida di scalare fino alla vetta, a quel punto dovrà accorgersi di essere fuori dalla macchina virtuale principale e a quel punto tentare di scalare i privilegi di sistema fino al ring0. Anche ammesso che ci arrivi, se esiste un’applicazione (Comodo?) che lavora a ring -1 lo può intercettare e terminare. Appatto xò che non esistano exploit alla base.

Se proprio sembra facile si può rifare il ragionamento ipotizzando che questo malware sia virtualizzato 10 volte, ma ogni volta su un SO differente. Quando sale di livello deve tirare a indovinare su quale sistema lavora. In ambito SAP questa cosa mi pare si chiami “sicurezza per confusione”.

Arrivo al punto:
La suite di comodo imho come tutte le altre suite (firewall, av, anti-qualcosa) non sono sicure, non xkè comodo è “debole” (anzi, penso che sia la migliore suite), ma xkè non hanno alla base un SO in grado di garantirne la sicurezza esecutiva. Perciò io penso che sia una buona idea sfruttare la virtualizzazione per rendere sicura l’istanza di comodo, almeno da garantirgli privilegi superiori a quelli del kernel.

bel post ma non so cosa dire…
comunque quell’exploit è relativo a win xp, probabilmente è stato corretto con i vari Service Pack visto che la data dell’articolo è del 22 sett 2006 e l’ultimo SP per XP cioè il 3 è stato pubblicato il 06/05/2008…

il tuo SO è aggiornato???

magari tra qlk giorno provo se succede anke su Vista SP2 anke se ne dubito visto che si tratta di un exploit datato…

Ovviamente ho scelto un WinXP che aveva sempre quell’exploit conosciutissimo. Ma risiamo punto e a capo, gli aggiornamenti non garantisono nessuna sicurezza, anzi talvolta tappano exploit e ne aprono di peggiori. Finchè i kernel sono come quelli attuali e nessuno si preoccupa di isolare i processi la sicurezza non sarà mai garantita da nessuna suite.

Non vorrei sbagliarmi, ma XEN “sposta” il kernel a ring 1, prendendo lui il ring 0:

Il sistema di virtualizzazione è effettivamente un bel passo in avanti verso la sicurezza, ma al momento ha alcuni pecche in termini prestazionali (a livello computazionale è più esoso).
Tanto per intenderci, è un’idea nata nei primi anni 70 e solo oggi inizia a muovere i primi passi.

Sempre se non ricordo male, mi pare esistano delle suite di sicurezza che hanno l’auto-protezione a livello di esecuzione, andando a lavorare a livello di Kernel (quindi ring 0), impedendone la terminazione.

Ciao Perseverance, benvenuto nel forum :slight_smile:

Ottimo ed interessante il tuo post… metto il link di un’intervista a Joanna Rutkowska che lessi tempo fa e che mi aveva colpito:
http://www.tomshw.it/cont/articolo/contro-i-veri-hacker-non-c-e-firewall-che-tenga/23817/1.html

Accidenti, vista così è davvero tragica!
Comunque credo che ogni utente debba scegliere (o almeno provarci) il tipo di protezione che più si adatta alla sue esigenze: una mega-corporazione avrà esigenze ben maggiori di un qualsiasi utente privato che naviga di tanto in tanto su internet o legge la posta.
Poi, tanto per spezzare una lancia a favore di Microsoft, dal primo service pack di Vista in poi (quindi Windows 7 compreso) è stato introdotto il Kernel Patch Protection, che rende più difficile (almeno per ora) modificare il kernel.

Da una parte mi dispiacerebbe che esistesse un software invulnerabile, è un po’ come se ti dicessero giorno, ora, minuti e secondi di quando morirai: che gusto c’è a vivere?!

Vista così è e sarà sempre una lotta inarrivabile da entrambi i fronti. ;D