Archive for the 'Vista' Category

Windows Vista: ripristinare l’ibernazione o la sospenzione ibrida scomparsa

Questo articolo è stato definitivamente spostato sul mio nuovo blog, lo puoi trovare al link:

Windows Vista: ripristinare l’ibernazione o la sospenzione ibrida scomparsa — viklog

Mi dispiace se ho arrecato disagio a qualcuno.

Annunci

Uscito il Service Pack (SP1) per Vista

Oggi (finalmente) troverete fra gli aggiornamenti di Vista il Service Pack 1. Io lo sto già scaricando (sul portatile della mia ragazza) ma i server della Microsoft sono evidentemente sovraccarichi. Nel frattempo mi chiedo: ma che fine ha fatto il Service Pack 3 per XP?

P.S.= il portatile è tornato. Tutto ok, alla fine non ho dovuto pagare nulla perché era una cavolata che si sistemava in 2 minuti. Aspettare 33 giorni per 2 minuti… Davvero divertente.

– Warning: Divide by zero.

, , , , ,

ASLR – Le feature di sicurezza del kernel di Vista spiegate in maniera semplice – Episodio 2

Questo articolo è stato definitivamente spostato sul mio nuovo blog, puoi trovarlo al seguente URL:

ASLR – Le feature di sicurezza del kernel di Vista spiegate in maniera semplice – Episodio 2 — viklog

Mi scuso se ho creato disagio a qualcuno.

UAC – Le feature di sicurezza del kernel di Vista spiegate in maniera semplice – Episodio 1

Ti interessa l’argomento? Abbonati al FEED di questa rubrica!

UAC (User Account Control) è sicuramente la feature più discussa e fischiata di Windows Vista, forse semplicemente perché la più evidente all’utente finale. Cercherò di fare un po’ di luce sul misterioso UAC, cercando di essere il più semplice possibile.

Obiettivi di UAC

L’obiettivo di UAC è uno e “semplice”: distinguere l’utente amministratore (Administrator, o in breve Admin) dagli utenti normali (Standar User), distinzione che non è mai realmente esistita nei sistemi operativi Microsoft precedenti. L’utente administrator è quell’utente che ha tutti i privilegi sulla macchina: può installare e disinstallare applicativi, aggiornare il sistema, modificare le chiavi di registro, etc etc. Insomma è quell’utente che potenzialmente può danneggiare il sistema. Un utente normale, invece, può solo utilizzare gli applicativi già presenti nel sistema, può creare ed eliminare file (tranne in alcune cartelle sensibili, come C:\Windows). In pratica è un utente che difficilmente può danneggiare il sistema. Ad esempio, non può accidentalmente installare un virus in quanto non può installare nessun programma. Comunque sia, gli Standard User possono acquisire i privilegi di Amdin per una singola operazione o per un certo periodo di tempo: questa funzione si chiama elevetion, un utente normale viene elevato a utente amministratore. Ovviamente, per effettuare l’elevation vengono richieste le credenziali (nei sistemi desktop, la password) di Admin altrimenti avrebbe poco senso.

Problemi da affrontare

Il passaggio da un sistema come Windows XP, in cui tutti gli utenti sono amministratori, ad uno come Vista (o Linux o MacOS X…), in cui alcuni utenti hanno un limitato numero di privilegi, implica diverse problematiche. In primo luogo bisogna rimuovere le ragioni per cui un utente debba spesso richiedere l’elevazione. Secondo problema è quello di rendere possibile alla maggior parte delle applicazioni di funzionare con privilegi di utente normale. Infine, bisogna incoraggiare le Software House a scrivere programmi che non richiedano i privilegi di amministratore per ogni sciocchezza.

Soluzioni implementate

La maggior parte delle applicazioni potrebbero funzionare con privilegi normali, ma necessitano di poter scrivere dati a run time utili all’utente in alcune parti del file system utilizzabili solo dal sistema (come C:\Program Files) e che richiedono, quindi, i privilegi di Admin per la scrittura. Per venir incontro a questi applicativi, normalmente scritti per Windows XP o sistemi precedenti e dette Legacy Application, in Vista è stata implementata una virtualizzazione del File System.

Virtualizzazione

In pratica le modifiche operate in cartelle del sitema vengono ridirette nella cartella di profilo utente, dove uno Standard User ha pieni diritti di lettura e scrittura. Le cartelle in cui è attiva la virtualizzazione sono: %ProgramFiles% e(solitamente C:\Program Files), %AllUsersProfile% (quello che in XP era C:\Documents and Settings\AllUsers), %SystemRoot% (C:\Windows), %SystemRoot%\System32 (C:\Windows\System32). Quindi, tutte le operazioni di scrittura svolte in queste cartelle vengono in realtà effettuate nella cartella %UserProfile%\AppData\Local\VirtualStore. Questa virtualizzazione è implementata da un serivzio di Vista denominato File System filter driver. Si chiama così semplicemente perché si tratta di un vero e proprio driver e perché filtra tutte le richieste effettuate al gestore del File System.

Facciamo un esempio1: ci sono due programmi, uno realizzato per Windows XP (abbiamo detto Legacy Application) e uno scritto per Vista (che chiameremo, banalmente, Vista application) che vogliono scrivere all’interno del file App.ini presente nella cartella Windows. Entrambi questi applicativi sono stati lanciati da uno Standard User. Le richieste vengo filtrate dal Filtrer Driver: per quanto riguarda la Legacy Application, la richiesta viene ridiretta in …\VirtualStore\Windows\App.ini senza che l’applicazione percepisca alcuna differenza. Per la Vista application, invece, la virtualizzazione non è attiva: la richiesta arriva inalterata al gestore del File System che restituirà un errore: accesso negato.

Filter Driver

Come si distingue una Legacy application da una Vista application?

Da un file MANIFEST, ovvero un banale file xml presente all’interno del file exe stesso. Se il MANIFEST è presente e ben strutturato, l’applicazione è Vista-ready e la virtualizzazione non viene attivata. Viceversa, con MANIFEST assente2, la virtualizzazione è attiva.

Per verificare se su di un processo della propria macchina è attiva la virtualizzazione è sufficiente aprire Gestione attività Windows premendo CTRL+ALT+CANC (il vecchio Task Manager) e quindi spostarsi nel tab processi. Cliccare sul menu Visualizza e scegliere Seleziona colonne e infine spuntare Virtualizzazione. Si nota immediatamente che è possibile abilitare/disabilitare la virtualizzazione per ogni singolo processo.

Gestione Attività di Windows

Elevation

Cosa accade quando un processo richiede l’elevazione?

Ecco il fatidico prompt tanto criticato. Non tutte le richieste, ovviamente, sono uguali e si distinguono dal colore che assume la finestra sopra mostrata:

  • se la finestra è blu, allora si tratta di un applicativo facente parte di Vista stesso oppure un programma atto alla protezione del sistema (antivirus, antispyware, …), come nell’immagine: non ci dovrebbero esser problemi;
  • se la finestra è grigia allora si tratta di un applicativo di terze parti ma conosciuto: ancora una volta non ci dovrebbero essere problemi;
  • se la finestra è arancione allora l’applicativo è sconosciuto: bisogna essere sicuri di quello che si fa prima di cliccare su “Continua”.

Integrity Level e UIPI

In tutti i Sistemi Operativi moderni (anche non troppo moderni) ogni processo è identificato univocamente da un Id detto PID (Process ID). In Vista questo Id ha un campo chiamato Integrety Level che mantiene il “livello di privilegi” del processo3. Esistono quattro livelli:

  • System, assegnato soltanto ai processi e servizi del sistema locale;
  • High, il processo è stato elevato;
  • Medium, tutti gli altri processi;
  • Low, per adesso usato in un solo caso che consideremo dopo.

Un altro problema è che processi con IL pari a Normal potrebbero comunicare con altri che anno IL pari ad High: un processo mal intenzionato potrebbe demandare azioni a lui non concesse ad un altro processo elevato, questo ultimo magari ignaro del fine della richiesta4. Per evitare questo tipo di attacchi, in Vista sono presenti delle librerie denominate UIPI (User Interface Privilege Isolation) che hanno il compito di isolare i processi con privilegi pericolosi, in modo che quelli con privilegi standard non possano comunicare con essi. Un esempio di questa funzione si può vedere sulla propria macchina. Tutti dovrebbero sapere che se si trascina un file di testo (txt) da una cartella qualsiasi all’interno del Blocco Note, questo ultimo aprirà il file. Bene: provate a fare questa operazione dopo aver lanciato il Blocco Note con i privilegi di amministratore (è sufficiente cliccare sul destro sull’icona del blocco note e scegliere Esegui come Amministratore). Il Blocco Note non apre proprio un bel nulla… sorpresi? 😉 Questo accade perché la Shell di Windows ha IL pari a Normal, per cui non può passare informazioni al blocco note, il quale ha – in questa occasione – IL pari ad High. E pensare che, a lungo, questo “giochino” veniva confuso con un bug di Vista.

IE in Security Mode

IE7 logo Prima dicevo che c’è solo un processo che viene eseguito con Integrity Level pari a Low. Si tratta di Internet Exploer in Security Mode. In questo modo il browser – sicuramente uno dei pezzi più attaccati in tutti i Sistemi Operativi – non può comunicare direttamente con nessun altro processo presente nel proprio Sistema Operativo. Anche tutti i processi (e operazioni varie) che IE lancia hanno IL minimo: in questo modo ogni tentativo di danneggiare il sistema sarà evidente perché richiederà l’intervento dell’utente. Qui molti storceranno il naso: il rischio (concreto) è che l’utente o l’amministratore siano bombardati di richieste.

Un unico utente

Nel 90% dei casi Vista è configurato con unico utente con i privilegi di Administrator. Affinché il controllo di UAC abbia comunque senso anche in questo caso, i processi lanciati da esso hanno comunque Integrity Level pari a Medium, salvo esplicita richiesta. Dunque, anche nel caso di utente con pieni privilegi su quella macchina, i processi da lui lanciati normalmente devono comunque richiedere l’elevation attraverso il prompt visto precedentemente. La differenza sta nel fatto che non sarà richiesta alcuna password per confermare le proprie credenziali, sempre come è visibile nell’immagine precedente.

[UPDATE] Paperino mi ha fatto notare un imprecisione in questo passaggio: leggi il commento.

L’idea che sta alla base di questo meccanismo è fondamentalmente la stessa su cui si basa il sudo di Ubuntu, anche se poi tecnicamente l’implementazione è nettamente diversa.

Virtualizzazione dei registri

Esiste qualcosa di simile alla virtualizzazione del File System anche per i registri di sistema. Ancora una volta le modifiche effettuate a chiavi di registro vengono ridirette in luoghi sicuri se la virtualizzazione è attiva oppure viene restituito un errore se è disattiva. In questo caso non sarà un Filter Driver ad occuparsene, ma direttamente un processo del kernel di Vista.

Lo Standard User può qualcosa in più

Non so quanti di voi hanno mai attivato l’utente Guest in XP: questo poverino poteva a malapena accendere il PC.

Utente Guest in Windows XP

Per questo, alcune operazioni eseguibili solo da Admin in XP sono ora accessibili anche agli Standar User. Alcune di queste operazioni sono:

  • configurare il sistema per connettersi a reti protette da WEP (non so per la WPA, sinceramente);
  • modificare le impostazioni di risparmio energetico;
  • creare e configurare una rete VPN (Virtual Private Network);
  • installare aggiornamenti critici del sistema con Windows Update;

Conclusioni

In parte capisco le critiche mosse verso UAC che può apparire paranoico. Ma d’altra parte mi pare che nessun utente Ubuntu (o Linux in generale) si sia mai lamentato di dover inserire la password per effettuare certe operazioni (sudo). Inoltre, dopo qualche settimana di utilizzo, le richieste di UAC caleranno notevolmente, tranne per le operazioni di configurazione del sistema. L’unica critica che mi sento di muovere è la richiesta di privelgi di Admin per copiare un file su un hard disk esterno, cosa che mi pare un po’ assurda.

Non mi piace

Un ultima nota interessante: sempre al NSS07 Luca Sanson, rispondendo a una domanda, ha dichiarato che UAC più che una vera e proprio feature di sicurezza è uno strumento per accompagnare il passaggio da un sistema “solo amministratori” a uno veramente Multiuser, fino a che le Software House non scriveranno applicativi come Dio comanda per Windows. A suo avviso questo passaggio richiederà una decina di anni e, alla fine di questi, la Microsoft sarà pronta per far uscire un nuovo Sistema Operativo.

Links sull’argomento

– Warning: Divide by zero.

[1] L’esempio è liberamente ispirato dalle slide del talk di Luca Sanson al NSS07. Torna su
[2] In realtà la tecnica del file MANIFEST esiste già da molto tempo, ma in Vista sono state introdotti alcuni nuovi campi riguardanti il controllo degli accessi. Torna su
[3] Non solo ai processi è associato un IL, ma a tutti gli oggetti presenti nella memoria. Torna su
[4] Lo so che i processi non sono essere senzienti, ma era la maniera più semplice per spiegare il particolare scenario che si può verificare. Torna su

Technorati tag: , , , ,

Sfondi (tamarri) per Vista

Questo articolo è stato definitivamente spostato sul mio nuovo blog, lo puoi trovare al link:

Sfondi (tamarri) per Vista — viklog

Mi scuso se ho arrecato disagio a qualcuno.

Le feature di sicurezza del kernel di Vista spiegate in maniera semplice – Episodio 0

Ti interessa l’argomento? Abbonati al FEED di questa rubrica!

Windows Vista Ultimate Packaging OpenedUltimamente ho avuto di nuovo a che fare con Vista. È così che mi sono deciso di indagare un po’ di più su le famose e discusse feature di sicurezza implementate nel kernel dell’ultimo sistema operativo di casa Microsoft. Ora, come persona informata sui fatti non posso proprio più tollerare articoli come Non illudetevi, Windows Vista è sicuro come Windows 95!. Possiamo non essere d’accordo su molte scelte della Microsoft, come sul costo delle licenze di Vista: sottoscrivo a pieno. Ma dal punto di vista della sicurezza non c’è proprio confronto fra Vista e i precedenti sistemi operativi Windows.

Dopo aver seguito il talk di Luca Sanson al Net&System Security di questo anno, ho deciso di fare un po’ di luce su alcune di queste feauture. Gli episodi avranno frequenza settimanale (credo: si avvicina la sessione d’esame), nella discussione utilizzerò un linguaggio il più semplice possibile, evitando tecnicismi (comunque, in ogni episodio inserirò anche link ad articoli che approfondiscono l’argomento).

Per l’occasione ho anche creato una categoria dal nome (banalmente) Vista features. Nell’episodio 1 parleremo un po’ di UAC. Bye!

– Warning: Divide by zero.

Technorati tag: ,

==
Crediti immagine: Windows Vista Ultimate Packaging Opened by sixs†eps

Belarc Advisor: controllare lo stato di una macchina Windows

PadlockA lavoro ho avuto la necessità di controllare lo stato dei pc su cui è installato Windows. Per stato intendo le periferiche presenti, gli utenti, i programmi installati e gli aggiornamenti di sicurezza.

Con Belarc Advisor è possibile verificare tutto ciò con un solo click: eseguita la scansione, che dura pochi minuti, il programma crea un file html in cui fornisce svariate informazioni sul nostro sistema Windows. Ecco la lista di alcune di esse:

  • versione del sistema operativo (build);
  • processore, ram e periferiche presenti;
  • utenti del sistema operativo;
  • stato di aggiornamento dell’antivirus, firwall, etc;
  • lista di tutti gli aggiornamenti di sicurezza Microsoft, segnalando quelli mancanti nel sistema;
  • programmi installati, loro versione e chiave di licenza.

Veramente comodo, soprattutto per quanto riguarda la lista degli aggiornamenti Microsoft. Di questi, segnala anche gli aggiornamenti che probabilmente vanno reinstallati e rappresentano una falla di sicurezza. Se non bastasse, per ogni hotfix è disponibile il link al sito della Microsoft dove è spiegato di che falla si tratta. Inoltre, viene anche dato un voto allo stato di sicurezza generale del pc, con elencati i motivi per cui questo voto (nel 90% dei casi) è insufficiente.

Se aggiungiamo a tutto questo il fatto che Belarc Advisor è gratuito e funziona con diverse versioni di Windows, dal 95 a Vista, allora è evidente che si tratta di un ottimo prodotto, molto utile soprattutto per tecnici dei computer e sistemisti. Io, dopo averlo utilizzato a lavoro, l’ho installato anche sul portatile e ho scoperto che nel mio XP mancava un aggiornamento critico per Internet Explorer 7.

– Warning: Divide by zero.

===
Crediti immagine: Padlock by zebble

Technorati tag: , , , ,


Questo blog si traferisce…

Divide by zero si sta piano piano trasferendo sul mio nuovo blog: viklog.net
Cosa aspetti a farci un salto?

Licenza

Creative Commons License Questo blog è pubblicato sotto una Licenza Creative Commons.