Windows Vista: attenzione alla Data Redirection

Windows Vista utilizza un compromesso per aumentare la sicurezza del sistema e mantenere al contempo una certa compatibilità con quei programmi che qualcuno definirebbe 'maleducati', che hanno il 'vizio' di andare a scrivere dati in zone delicate come la cartella Program Files.
Come ormai è ben noto, Vista di default avvia i programmi senza pieni diritti da administrator, per cui questi non hanno il permesso di andare a scrivere in queste aree sensibili.

Questa tecnica si chiama Data Redirection (aka Data Virtualization), Igor ne aveva già parlato tempo fa, anche se per un aspetto un po' diverso (non so se in realtà quella cui lui si riferiva fosse proprio la Data Redirection).

In breve, la Data Redirection consiste nel dirottare le operazioni di scrittura effettuate dai programmi in aree 'delicate', come le directory c:\windows o c:\program files, o in chiavi del registry, verso altre zone legate all'utente.
Ad esempio, se un programma residente in una sotto-directory di c:\program files\ prova a scrivere un file di log nella stessa directory in cui risiede l'exe (o in una sotto-directory), il file verrà in realtà scritto in una directory 'gemella' residente in C:\Users\nomeutente\AppData\Local\VirtualStore\Program Files, quindi all'interno dell'area dedicata ai dati dell'utente.
Questa feature è trasparente per l'applicazione, che crederà di andare a scrivere e leggere direttamente in c:\program files.

C'è, però, una particolarità in questa tecnica, che imho può creare un po' di confusione all'utente, se esegue particolari operazioni (come è capitato a me).

I programmi, al momento della compilazione, possono essere contrassegnati con un run level indicante che la Data Redirection non deve essere supportata. Tutti i programmi che vogliono essere certificati compatibili con Windows Vista (e quindi anche i programmi già inclusi nel sistema operativo, come il notepad), devono avere questo flag, ed essere quindi progettati ed eseguibili secondo i prinicipi del 'least privilege', senza ricorrere alla Data Redirection (cioè devono andare a scrivere i dati direttamente nelle aree dedicate, come quella del profilo utente, e non in c:\program files).

La 'confusione' può nascere se con un programma che usa la Data Redirection si va a modificare un file in c:\program files\, e quindi in realtà la modifica verrà salvata in un file in c:\users\, e poi lo si va a riaprire da c:\program files con un programma come il notepad, compilato in modo tale da non usare la Data Redirection: il file che verrà visualizzato dal notepad sarà quello originale realmente presente in c:\program files, e non quello modificato.

Nel mio caso specifico, avevo modificato dei file in c:\program files con WinMerge, effettuando il merge con altri file: riaprendo quei file modificati da tool come WinMerge o Windows Grep, che usano la Data Redirection, vedevo correttamente le modifiche, mentre se lo aprivo con il notepad o con il visual studio vedevo il file originale.
Per apportare effettivamente in c:\program files quelle modifiche, in modo da vederle anche da applicazione come notepad, era sufficiente utilizzare il tool, nel caso specificio WinMerge, eseguendolo con diritti da admin...per il momento li ho semplicemente spostati da c:\users a c:\program files (previo consenso alla UAC!).

Per chi è interessato ad approfondire l'argomento, e altre security features di Vista, ecco un riferimento.

PS: grazie a colui che sul newsgroup mi ha aiutato a capire cosa accadesse realmente...peccato non sappia il nome!

posted @ domenica 4 febbraio 2007 15:37

Print

Comments on this entry:

# re: Windows Vista: attenzione alla Data Redirection

Left by Andre at 18/05/2007 01:37
Gravatar
Ottimo articolo, stavo diventando pazzo a cercare in C:\ la cartella program files senza successo... Sto usando vista da qualche mese ma questi stratagemmi di pseudo sicurezza mi stanno già facendo saltare i nervi, credo che all'amministratore del sistema non dovrebbero essere applicati.

# re: Windows Vista: attenzione alla Data Redirection

Left by GHIU at 18/12/2008 12:59
Gravatar
Your metin2 yang character begins the game with one free stat point and will receive an additional stat point for every increase in lastchaos gold level.

Equip your last chaos gold weapon and get ready to help save Isya! Hit the “I” key or click the Inventory icon in the lower right portion of the lastchaos gold screen. Your weapon will be in your inventory; right-click to equip fly for fun. To attack a flyff penya monster, double click on it. Mages start with an additional skill – the magic missile spell in their dofus skill bar. Select a monster and right-click on a spell or skill to use dofus kamas. Slain monsters often will drop items, so be sure to pick them up! Some are valuable Warhammer Online gold
Comments have been closed on this topic.