il (b)log da bere tutto in un sorso

Archivio del mese Gennaio 2008

Diversi tipi di RAMIn ritardo di più di una settimana ecco a voi il secondo episodio della serie Vista features, episodio in cui vi parlerò di ASLR: Address Space Load Randomization.

L’argomento, però, richiede alcune conoscenze più o meno tecniche, come il funzionamento della memoria centrale (la RAM) per poi arrivare al “mitico” buffer overflow. Cercherò anche in questo caso di colmare un po’ di lacune in maniera breve e davvero semplice. Chi conosce già l’argomento salti direttamente a Obiettivi di ASLR.

La RAM

La RAM (Random Access Memory) è la memoria centrale del nostro PC, dove vengono caricati i programmi per essere eseguiti. Il primo requisito della RAM è che l’accesso ai dati presenti al suo interno sia velocissimo: se al Sistema Operativo interessa una certa informazione deve poter accedere direttamente a essa, senza dover scorrerne altre mille prima di trovare quella richiesta. Per adempire al suo dovere la RAM è divisa in “celle” di dimensione prefissata, solitamente 512 byte. Ognuna di queste celle ha un indirizzo (indirizzo di memoria), grazie al quale è possibile alla CPU raggiungere direttamente quella cella. Per cui nella RAM troviamo diversi applicativi, ognuno dei quali è salvato in una o più celle e l’accesso ai dati di una singola cella è diretto. Immaginate la RAM come una lunghissima via, dove ogni cella ha un proprio numero civico. Se, per arrivare al numero 1042 dovessimo scorrere tutti i portoni precedenti la velocità di un PC sarebbe l’1% di quella attuale. Invece ogni numero civico è raggiungibile in maniera semplice perché il “postino” sa quanti metri (o kilometri) deve saltare per arrivare direttamente al 1042.

[IMAGE] Esempio semplice di immagine della RAM

Nell’esempio Firefox ha indirizzo di memoria 00000003 e occupa 2 celle, mentre Messenger ha indirizzo 0000FFFE e occupa 4 celle. Gli indirizzi normalmente sono espressi in esadecimale per poterli mantenere in forma compatta. In realtà, di solito in alto si trovano gli indirizzi più elevati e in basso quelli minori, io ho invertito per comodità di rappresentazione.

Buffer Overflow

Buffer overflow (in breve BOF) letteralmente significa “trabocco del buffer”. Cosa succede: un programma riceve in input una quantità di dati superiori a quelli attesi. Ora, se il programma implementa un controllo dell’input probabilmente verrà semplicemente sollevato un errore. Se questo controllo non c’è, o non è ben strutturato, allora si incappa proprio in un buffer overflow. Per cui il risaltato è che questi dati in eccesso possono finire in zone della memoria dove sono presenti altri dati sovrascrivendoli: questo è il primo passo verso un attacco. Ovviamente esistono diverse forme di questo tipo di exploit, ma non starò qui a divulgarmi. E’ sufficiente capire che in questo modo è possibile inserire del codice maligno all’interno del nostro sistema e farlo eseguire.

Obbiettivi di ASLR

Ammettendo che un programmatore mal intenzionato sia riuscito a individuare delle vulnerabilità sfruttabili attraverso un attacco di tipo buffer overflow, il malware da esso scritto ha bisogno delle librerie di Windows (Windows API) per potersi insidiare in maniera (più o meno) permanente all’interno della macchina. Il fatto che, queste librerie, avevano un indirizzo in memoria più o meno fisso in ambiente XP, ha sempre permesso agli attaccanti alcune assunzioni sull’indirizzo stesso. L’obiettivo di ASLR è proprio quello di rendere difficile la localizzazione delle Windows API in una maniera molto semplice: caricando le DLL di sistema ed eseguibili annessi, a indirizzi diversi ad ogni avvio.

Soluzioni implementate

All’avvio tutti processi dell’utente vengono allocati in memoria a partire da un certo indirizzo. Mentre con l’introduzione di ASLR l’indirizzo di partenza viene scelto in maniera casuale fra 256 possibili indirizzi all’interno dei primi 16 MB assegnati all’utente. Per quanto riguarda le librerie di sistema il meccanismo è lo stesso: c’è un indirizzo di partenza che si trova nella parte “bassa” della memoria, le librerie vengono allocate dal basso verso l’alto e il reale indirizzo di partenza è scelto all’interno dei 16 MB precedenti all’indirizzo di partenza prestabilito. Se questo non bastasse, le varie DLL di sistema conosciute vengono allocate in ordine casuale. Infine, ci sono altri componenti della memoria il cui indirizzo viene scelta in maniere più o meno casuale, e sono:

  • l’User stack, dove risiedono le strutture dati relative ai processi dell’utente;
  • i driver dei vari dispositivi;
  • (persino) l’immagine del kernel.

Quello che succede si vede bene nella prossima immagine:

[IMAGE] Immagine di memoria: XP vs Vista

Due PC in cui è presente Windows XP hanno immagine di memoria praticamente uguale. Questo implica due cose: la prima è che nell’implementare un attacco di tipo buffer overflow, il programmatore può fare diverse ipotesi a priori sugli indirizzi da colpire. La seconda cosa è che un attacco riuscito su una macchina, facilmente funzionerà anche sulla seconda, ovvero in una rete di computer si può puntare a colpire diverse macchine.

Mentre i due computer con Vista, non solo hanno i vari processi o servizi shiftati uno rispetto all’altro, ma l’ordine delle componenti fondamentali del sistema è anche esso diverso.

Vedere ASLR in azione

Per vedere ASLR in azione sul proprio PC è necessario Process Explorer (chi ha Vista deve assolutamente averlo!), una evoluzione del classico Task Manager di Windows. E’ sufficiente guardare l’indirizzo di memoria di una DLL, ad esempio kernel32.dell e verificare che alla prossima sessione quell’indirizzo sarà diverso. Nel mio caso prima era 0×77c10000, al successivo riavvio era 0×770f0000.

Conclusioni

Ci sarebbe ancora molto da dire su ASLR e sulla sua implementazione. Ad esempio nel mio articolo non ho fatto alcuna differenza fra la memoria virtuale e quella reale: il mapping degli indirizzi di memoria dal “punto di vista del Sistema Operativo” nella reale memoria hardware non è così semplice che può apparire leggendo questo articolo. Andare al fondo dell’argomento, però, avrebbe reso il post una guida di programmazione C/C++/.Net, cosa che non mi interessa. Inoltre trovare materiale su ASLR si è rilevato più difficile di quanto mi aspettassi, in italiano c’è il nulla.

Concluderei con due note:

  1. Questo meccanismo per la protezione dalle vulnerabilità di tipo buffer overflow è già stato implementato nel kernel Linux da diversi anni. Questo, a mio avviso, non sminuisce lo sforzo implementativo della Microsoft.
  2. ASLR non risolve il problema ma rende il compito decisamente più difficile all’attaccante.

Link sull’argomento

Vi saluto, ci vediamo fra qualche tempo per l’Episodio 3.

– Warning: Divide by zero.

Technorati tag: , , , , , , ,

Popularity: 19% [?] Condividi

Alvin t-shirtNon so so come mi sia fatto convincere ad andare al cinema a vedere Alvin Superstar… Forse quella maglietta rossa con l’A gialla ha fatto leva sul bambino che c’è in me. Quel bambino che ha amato le tre simpatiche pesti del cartone…

Veniamo al film. Divertente, si. Simpatico, si. Un po’ come quando chiedi ad un amico “Come è quella ragazza?”, e lui ti risponde “Simpatica” per non dirti “Una vera cozza!”. Tutto il film è disseminato di sketch veramente divertenti: nel cinema un boato di risate. Però i pregi sono finiti qui. Mettiamo insieme una storia talmente prevedibile che annoierebbe anche un bambino di 4 anni con degli attori di pessima fattura (molto meglio i tre Chipmunks virtuali, se non fosse per le loro voci acute insopportabili) e facciamo un bel flop!

Conclusione dei fatti? Risparmiate 7 euro (e forse anche di più) e andate al cinema a vedervi qualcos’altro… Oppure godetevi una bella birra con gli amici! ;-)
- Warning: Divide by zero.

Technorati tag: , , , , , ,

Popularity: 18% [?] Condividi

Diverso tempo fa ero intenzionato a passare a piattaforma Wordpress indipendente, dato che su Wordpress.com non si può incorporare nemmeno il più stupido javascript. Idea sempre più remota soprattutto ora, dopo l’upgrade dello spazio disponibile gratuitamente a 3 GB. Per prima cosa mi misi a cercare un tema che mi soddisfacesse. Alla fine avevo provato qualcosa come una ventina di temi. Durante il periodo di vacanza natalizio mi dissi “è ora di passare a WP.org, intanto scegliamo un tema definitivo”. E invece passai da 20 a 10… Alla fine sono ricapitato, casualmente, nella cartella dove tengo i temi provati: così mi è venuto in mente di pubblicare questo articolo.

I miei 10 temi preferiti per wordpress (indipendente), elencati dal decimo in classifica fino al primo:

10.png Forte
Non lo so, ma mi piace. Peccato che sia AdSense-ready e non widget-ready. Dimensione fissa, 3 colonne.
help.png Autore & Info
layout-content.png Demo disk.png Download
09.png Cleacker 2.1
Un altro tema a 3 colonne, con una grossa immagine di header (con tanto di file PSD). Colori principali sono il grigio e il blu. Larghezza fissa, widget-ready.
help.png Autore & Info
layout-content.png Demo (n/d) disk.png Download
08.png TypoXP 2.02
Un tema che si basa su colori chiari e tante piccole icone. Sempre blu e grigio la coppia vincente! Larghezza fissa, 3 colonne.
help.png Autore & Info
layout-content.png Demo (n/d) disk.png Download
07.png cutline-screenshot.png Cutline
Semplicità e pochi colori. Immagine casuale nell’header. Larghezza fissa, 2 o 3 colonne, widget-ready (?)
help.png Autore & Info
layout-content.png Demo disk.png Download
06.png Curved
Un tema molto web2.0-like. Fra i dieci temi elencati forse l’unico a non essere esattamente sobrio. Larghezza fissa, 2 colonne, widget-ready.
help.png Autore & Info
layout-content.png Demo disk.png Download
05.png Mandingo 1.31
Un tema di impatto grazie all’uso di pulsanti che permettono di mostrare/nascondere la sidebar o gli articoli, con una grossa immagine di header. Dalla pagina del tema è possibile visualizzare alcune personalizzazioni. Larghezza flessibile, 2 o 3 colonne, widget-ready.
help.png Autore & Info
layout-content.png Demo disk.png Download
04.png Blue Zinfandel
Non credo che esista un tema più pulito di questo. Sono i piccoli particolari che lo rendono bello. Larghezza fissa, 2 o 3 colonne, widget-ready.
help.png Autore & Info
layout-content.png Demo disk.png Download
03.png freicurv-screenshot.png Freicurv
Un tema molto sobrio basato solo sul nero e grigio (e un pochino di azzurro). La sidebar si può utilizzare sia come un unica colonna che come 2 colonne più piccole (leggere la descrizione sul sito stesso).
help.png Autore & Info
layout-content.png Demo disk.png Download
02.png nerino2-screenshot.png Nerino 2.0
Tema veramente bene fatto, semplice e ordinato. Ciò che rende speciale questo tema è l’associazione automatica di icone ai link: Nerino integra il progetto Iconize. Inoltre sono presenti dei pulsanti per aumentare/diminuire la dimensione del carattere. E molto altro.
help.png Autore & Info
layout-content.png Demo disk.png Download
01.png dilectio-screenshot.png Dilectio
Un tema pulito e di grande impatto, tutto da guardare.
Il mio preferito!
help.png Autore & Info
layout-content.png Demo disk.png Download

- Warning: Divide by zero.

P.S= prometto a tutti i miei lettori (lettori?) che entro questa settimana pubblicherò il secondo episodio di Vista-features…

Technorati tag: , , , , , , , , , , , , , ,

Tutte le immagini e i temi rimangono dei legittimi proprietari; questo articolo non intende violare alcun copyleft o copyright.

Popularity: 17% [?] Condividi

Ne ho sentito parlare prima da Emanuele e poi da Nicopi, sicché ho deciso di aderirvi anch’io nella speranza di aumentare la visibilità del mio blog. Il Bloggatore è un idea semplice quanto funzionale: aggregare feed di blog italiani che parlano di informatica e dintorni. Ora tutti i miei post della categoria informatica (che ho dovuto creare appositamente…) saranno pubblicati sul Bloggatore.

Donkeys with computers in Greece
Donkeys with computers in Greece by davesag

 

Per iscriversi ci vuole un attimo: segnalate il vostro blog con l’apposito form, dopodiché sarà sufficiente inserire l’antipixel Il Bloggatore nel proprio blog e il gioco è fatto.

Visto che mi trovo voglio comunque dire 2 cose alla redazione de Il Bloggatore:

  1. Un maggiore controllo sulla presenza di articoli non inerenti all’informatica. Ne ho visti un paio.
  2. Da quando esiste Internet per antipixel si intende un immagine di 80×15 pixel. Per questo ne ho disegnate due mentendo i colori di quello già esistente: Il Bloggatore antipixel 01, Il Bloggatore antipixel 02. Se vi piacciono potete farne l’uso che preferite.

In bocca al lupo a tutta la redazione de Il Bloggatore.

- Warning: Divide by zero.

Technorati tag: , , ,

Popularity: 23% [?] Condividi

Sta mattina mi raggiunge l’ennesima catena si San Antonio, questa volta è davvero particolare:

Oggetto: Finalmente un’email utile!!!e nn la solita catena del cavolooo!!!

Corpo: SE GOOGLE AVESSE UNO SCHERMO NERO [in Italiano no?], VISTA LA GRANDE QUANTITA’ DI
PERSONE CHE LO USANO, SI CALCOLA CHE SI RISPARMIEREBBERO CIRCA
750MEGAWATT/ORA.
COME RISPOSTA A QUESTO GOOGLE HA CREATO UNA VERSIONE IN NERO, CHIAMATA
BLACKLE, CON ESATTAMENTE LE STESSE FUNZIONI DI QUELLA IN BIANCO, CON
UN CONSUMO DI ENERGIA MINORE…
FALLO SAPERE E USALO, OGNI PICCOLA COSA CONTA.
Ecco la Versione italiana di google con schermo nero, con risparmio
energetico ,provare per credere!!!!

http://www.nerooogle.com/

(se il link non funziona cercate “nero google” sul motore di ricerca)

Se cliccate sul link vedrete una versione a sfondo nero e testo grigio chiaro di Google. Come riporta il sito stesso si tratta di un’iniziativa italiana “per il risparmio energetico” che non ha alcun legame con Google.

Neroogle

Mi viene da fare un paio di considerazioni:

  1. Io non credo che mettere sfondo nero al mio schermo LCD faccia sì che questo consumi meno… Mica per rappresentare il nero si spengono dei pixel!!!
  2. Ammettendo che fosse vero, perché non creare un tema nero per iGoogle invece di un sito che sfrutta la Google Custom Search?
  3. Penso che Neroogle sia il logo più brutto che io abbia mai visto. Inoltre hanno inserito il Trade Mark. L’avranno davvero pagato?

Si, oggi sono proprio acido. Ma mi sbaglio?

[UPDATE] Se cercate BLACKLE scoprirete che esistono altri siti che anno avuto questa idea: Beackle.com, GoogleLightOff.com, …

Ah, se non si fosse capito lo studio mi sta distruggendo l’ultimo neurone… Per cui non so quando riuscirò a pubblicare il secondo episodio della rubrica Vista features.

- Warning: Divide by zero.

Technorati tag: , , ,

Popularity: 34% [?] Condividi

Dopo aver letto di Wubi sul blog di Daniele sono stato mosso da una forte curiosità: ho voluto provarlo sul fisso. Per chi non sapesse di cosa si tratta si vada a leggere l’articolo di Daniele.

Subito mi ha colpito il fatto che l’installazione di Ubuntu con questo tool richiede la stessa difficoltà dovuta per togliere il tappo a una penna bic. Non c’è nemmeno il bisogno di scaricare la ISO: anche a questo ci pensa Wubi.

download della ISO di Feisty Fawn

La seconda cosa che mi ha stupito è che l’istallazione ha richiesto appena 20 minuti. Ancora meno dell’installazione da live cd. Ho testato Feisty Fawn perché l’istaller di Gutsy Gibbon è ancora in alpha test.

Però dopo appena 2 minuti di utilizzo percepisco una forte perdita di prestazioni. Aprire Firefox richiedeva qualche minuto di attesa. Installo Deluge e aMNS. Al riavvio successivo, dopo il login, mi ritrovo il mouse muoversi nel nulla: sfondo del desktop e niente altro.

disistallato

Disinstallato. Peccato, davvero. Attendo comunque con curiosità il rilascio della versione stabile.

- Warning: Divide by zero.

Technorati tag: , , ,

Popularity: 18% [?] Condividi

Ho sentito diversi miei amici affermare di non fidarsi dei nuovi dischi a stato solido (SSD). Bene, questo breve video della Samsung chiarisce quali sono i motivi per cui il passaggio da HD ad SSD è solo consigliato. Inoltre la colonna sonora non è male ;)

Se non bastasse la Samsung ha presentato il primo hard disk SSD da 128 GB. Peccato che i prezzi siano ancora esorbitanti.

Technorati tag: , , ,

[P.S.= oggi ho fatto un esame e il 24 ne ho un altro, quindi non sto molto dietro al blog...]

Popularity: 17% [?] Condividi

Siamo tornati al periodo dell’oscurantismo.

Veltroni: l’intolleranza fa male alla democrazia

Berlusconi: intolleranza e fanatismo

Casini: onda di vergogna sull’università

Cicchitto: bravi nipotini di Zdanov e Goebbels

Udeur: pessima figura italiana

Ferrara: vergogna inaccettabile

Castelli: hanno vinto i nazisti rossi

[fonte]

Quello che è stato fatto è violenza. Non ci sono altri aggettivi. E’ un momento storico-culturale veramente triste. Ancor più grave dell’emergenza spazzatura…

Technorati tag: , , ,

Popularity: 9% [?] Condividi

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: , , , ,

Popularity: 18% [?] Condividi

I matematici di tutti i tempi hanno lavorato a lungo per modellizzare fenomeni reali. Solo Hari Seldon, con l’uso della psicostoriografia, è riuscito a creare il modello perfetto: un modello con il quale è possibile predire azioni e reazioni delle masse. Ma tale studio lo porterà, a breve, a una tremenda predizione: l’Impero Galattico sta per decadere. A questo crollo seguiranno almeno trentamila anni di guerre e caos nell’Universo. L’unica cosa da fare è cercare di limitare questo periodo tremendo a soli mille anni. Per mettere in atto il “Piano Seldon” gli scienziati fisici e chimici vengono inviati sul pianeta Terminus, all’estremità dell’universo conosciuto dove nacque la Prima Fondazione. La Seconda, composta da scienziati di altri campi, come la psicologia e la sociologia, fu creata in luogo sconosciuto.

Copertina della Trilogia della Fondazione È questo il punto di partenza della Trilogia della Fondazione (composta da Prima Fondazione, Fondazione e Impero, Seconda Fondazione) di Isaac Asimov, il must di tutte le saghe fantascientifiche, un po’ come lo “Star Wars dei libri”. Un libro (anzi tre) che colpisce e stupisce. Stupisce per l’originalità di molte su trovate come il Piano Seldon. Colpisce per i continui cambi di tipologia narrativa: prima è un romanzo, poi un thriller psicologico. Stupisce per come riesce a introdurre sempre nuovi personaggi senza bisogno di presentarli. Colpisce per come Asimov riesce a immettere personaggi normali, con problemi normali, in un mondo fantastico.

Già a partire da questo primo episodio Isaac Asimov ci mostra una fantascienza diversa da quella a cui siamo oggi abituati: una fantascienza senza alieni, senza epiche battaglie intergalattiche, senza misteriose forze sovrannaturali. Ognuna delle numerose avventure che vedranno protagonista la Fondazione toccherà problemi assolutamente conosciuti anche alla nostra realtà quotidiana: religione, mercato, politica, diplomazia sono i temi che Asimov utilizza per dipingere il futuro della storia dell’umanità. [fonte]

Quando ho finalmente letto il finale sono rimasto 10 minuti in silenzio a pensare “Era ovvio, perché non ci ho pensato prima? Asimov è un genio!”. La tentazione di rileggerlo da capo era forte, se non fosse che ho già cominciato il nuovo arrivato.

Insomma, un libro che i fan della fantascienza devono aver letto, ma io mi sento proprio di consigliarlo a tutti. Ora che l’ho finito ho messo il libro fra 1984 di George Orwell e Fahrenheit 451 di Ray Bradbury. Non so se mi spiego che onore.

- Warning: Divide by zero.

Technorati tag: , , , , ,

Popularity: 8% [?] Condividi

Questo blog nasce dalla mia passione per l'informatica, nonché la mia materia di studio. Troverete anche articoli riguardanti altri argomenti: cinema (con alcuni miei amici teniamo un cineforum), fotografia, fatti universitari...
Aggiungi viklog a del.icio.us StumbleUpon Altro...

Io ne ho viste cose che voi umani non potreste immaginarvi. Navi da combattimento in fiamme al largo dei bastioni di Orione… e ho visto i raggi B balenare nel buio vicino alle porte di Tannhäuser. E tutti quei momenti andranno perduti nel tempo come lacrime nella pioggia. È tempo di morire. — Blade Runner