Amministrazione di Windows

Gioco in un ambiente sicuro

Matt Clapham

 

Panoramica:

  • Scrittura in cartelle protette e chiavi del registro di sistema
  • Errori di protezione dalla copia
  • Problemi di firewall
  • Problemi con i client aziendali

Di giorno, lavoro come Program Manager di sicurezza presso Microsoft. Ma spesso scrivo articoli sulla sicurezza per TechNet Magazine. Inutile a dirsi, la sicurezza ha per me un'importanza fondamentale. Ma ho anche altri

interessi. Mi piace trascorrere il mio tempo libero eseguendo giochi basati su Windows®. In particolare mi appassionano i giochi che implicano soprattutto in prima persona, simulatori, i giochi di ruolo e giochi di strategia in tempo reale. C'è un problema, però. Come i miei amici Jesper Johansson e Aaron Margosis, mi rifiuto di eseguire i giochi con privilegi amministrativi eccetto quando assolutamente necessario. Faccio questo in parte per assicurarmi che, se vengo battuto in un gioco in rete, non è solo per la mia mancanza di abilità né perché qualcuno mi bombarda con un rootkit per impedirmi di prendere la mira (vedere Quake 3 Buffer Overflow Advisory nella barra laterale "Risorse").

Questo gioco mi appassiona a tal punto che spesso mi impedisce di cominciarne un altro (vedere la Figura 1). Se non è possibile eseguire il gioco utilizzando il mio account utente con limitazioni (LUA, Limited User Account) su un client che fa parte di un dominio Small Business Server (SBS) dopo aver installato e aggiornato un account amministratore, lo rimuovo subito. Non ci sono scuse per questa scarsa progettazione, e di certo non mi mancano i giochi tra cui scegliere. Ammetto che questo possa suonare come una posizione estrema da prendere, ma sono irremovibile su questo punto. Tuttavia, non sono contrario a trovare soluzioni per aggirare alcune pecche minori per amore di qualche momento di gioco di qualità ed è di questo che tratterò qui. Dunque mi sia consentito di condividere alcuni dei problemi riscontrati relativi ai giochi e le soluzioni individuate. Per un riepilogo veloce delle procedure consigliate, consultare "Suggerimenti per giocare come utente con limitazioni" nella barra laterale.

Figura 1 Problema di accesso ai file durante l'esecuzione di un aggiornamento manuale

Figura 1** Problema di accesso ai file durante l'esecuzione di un aggiornamento manuale **(Fare clic sull'immagine per ingrandirla)

Problemi comuni

Il problema relativo ai privilegi non è una novità. Numerosi giochi, nonché altri tipi di programmi, richiedono i privilegi amministrativi per essere eseguiti correttamente. Leggere l'articolo della Knowledge Base "Alcuni programmi non funzionano correttamente se si effettua l'accesso con un account utente con limitazioni" (vedere support.microsoft.com/kb/307091). Tale articolo elenca quasi 200 giochi e applicazioni che presentano difficoltà se eseguiti da un utente con limitazioni, compresi alcuni programmi Microsoft.

Voglio sia chiaro che non considero un problema la necessità di privilegi amministrativi per installare o aggiornare (manualmente) un gioco. Sarà così fino a quando non si potranno eseguire installazioni di routine per utente in Windows. Quel giorno sta per arrivare, ma non ci siamo ancora. Tuttavia, una volta installato e aggiornato un gioco, qualsiasi utente di un sistema dovrebbe essere in grado di utilizzarlo, anche uno con privilegi limitati.

Tentativi di scrittura in cartelle protette e chiavi del registro di sistema Il problema più comune da me individuato è quando un gioco presenta errori all'avvio o durante la partita perché tenta di scrivere in cartelle protette o chiavi del registro di sistema (comune in molte applicazioni basate su Windows). Per impostazione predefinita, soltanto gli amministratori (e gli utenti esperti obsoleti) possono scrivere in determinate cartelle (come %PROGRAMFILES%) e hive del registro di sistema (come HKEY_LOCAL_MACHINE). Gli errori possono essere abbastanza ovvi: "Errore 42: Impossibile scrivere i file di registro in C: \Programmi\CoolGamesInc\NewestFPS\Logs\” o "Gioco non installato correttamente, reinstallare e riavviare". A metà del gioco sono emersi alcuni esempi, come i messaggi di errore visualizzati durante il salvataggio dei progressi. A volte chi scrive i giochi avvisa in qualche modo l'utente che il gioco necessita attualmente del privilegio amministrativo per funzionare, come sperimentato con Age of Mythology®. I giochi MMO (Massively multiplayer online) spesso presentano problemi di privilegi poiché si aggiornano frequentemente. Inoltre, l'aggiornamento automatico è leggermente più complesso da risolvere tecnologicamente. Quando ho eseguito la versione di valutazione di EVE Online, ho notato che non solo collocava file di registro nelle posizioni improprie, ma tentava anche di auto-aggiornare i dati di contenuto del gioco nella cartella di installazione.

Errori di protezione dalla copia La seconda ragione più comune che ho visto per il mancato avvio dei giochi è quando la protezione dalla copia incorporata del gioco (o altra funzionalità anti-pirateria) non funziona come un utente con limitazioni. La causa potrebbe essere che il driver non è stato avviato correttamente o che un qualche servizio in background non è in esecuzione. Il problema più comune rilevato è quando durante il gioco viene chiesto all'utente di inserire un disco anche quando il supporto richiesto è già nell'unità. Ho notato anche dei giochi che richiedono assolutamente i privilegi di amministratore in base alla convinzione illegittima che soltanto gli amministratori possono eseguire correttamente la verifica di protezione dalla copia. Nei casi peggiori viene visualizzato un messaggio di errore mal formulato e insensato che non ha alcun riferimento sul sito di supporto del gioco.

Errore di richiesta di un'eccezione del firewall I giochi multiplayer che possono essere eseguiti su una rete locale o su Internet sono molto comuni e in Windows XP Service Pack 2 (SP2) è stato aggiunto un messaggio di avviso che indica all'utente quando le applicazioni sono in ascolto sulla rete. Questo errore mi porta a un altro problema comune: giochi che richiedono un'eccezione firewall, ma non l'aggiunta di tale eccezione al momento dell'installazione. Poiché gli utenti con limitazioni non possono alterare la configurazione del firewall, questo problema (vedere la Figura 2) non può essere risolto senza un'azione di configurazione eseguita da un amministratore. A volte il problema non è ovvio, poiché l'avviso viene visualizzato nella shell di Windows, non nell'interfaccia del gioco. Infatti, in genere, il messaggio di errore non viene visualizzato fino a quando non si esce dal gioco.

Figura 2 Quando le impostazioni del firewall arrestano tutto il divertimento

Figura 2** Quando le impostazioni del firewall arrestano tutto il divertimento **(Fare clic sull'immagine per ingrandirla)

Problemi con i client enterprise Ho individuato altro problema non direttamente correlato all'esecuzione come utente con limitazioni, ma vale la pena trattarlo comunque. Utilizzo il mio PC di casa come una piccola azienda (non andrò troppo in dettaglio qui, ma si può leggere in proposito nell'articolo "Master Your Domain: Build a Corporate Network at Home", in inglese, scritto in collaborazione con Jesper Johansson per il numero di Ottobre 2006 di TechNet Magazine). Utilizzando SBS 2003 (R2), ho preparato un dominio di Windows completo con una cartella Documenti reindirizzata a una condivisione su server. Ecco come ho scoperto l'ultimo problema più comune che andrò ad illustrare: i giochi che non possono gestire i client enterprise

Ho notato un doppio problema con Age of Empires® III (AoE3). È merito del team di sviluppo se il gioco inizia e prosegue correttamente come un utente con limitazioni. Tuttavia, ho notato che gli scenari venivano caricati lentamente a causa dei molti dati di registrazione scritti in rete. Inoltre, ogni volta che si usciva dal gioco, AoE3 perdeva la mia configurazione, i giochi salvati e i progressi. I file erano chiaramente nella cartella Documenti, ma il gioco non li caricava. È stata una grande delusione, soprattutto considerando il fatto che AoE3 era diventato semplice da usare per LUA rispetto alle versioni precedenti della serie.

Ho visto un gioco in grado almeno di riconoscere tali problemi di client enterprise. Quando ho provato Fable®: The Lost Chapters™, il gioco indicava che le cartelle remote Documenti non erano supportate e veniva chiuso. Il team di sviluppo ha fatto un grande lavoro nel riconoscere uno scenario non supportato e nell'averlo segnalato. Tuttavia, è sembrato alquanto strano che il gioco smettesse di funzionare, dato che prevedeva di collocare soltanto pochi megabyte di dati nella cartella Documenti.

Soluzioni semplici

Ho riscontrato questi problemi diverse volte, su più giochi di quanti mi possa ricordare. Fortunatamente, la maggior parte di essi prevedeva soluzioni adatte. Generalmente, preferisco lasciare del tutto il gioco, passando a un titolo pronto per l'esecuzione come utente con limitazioni nello stesso genere fornito da un autore diverso. Potrebbe sembrare ancora una volta un atteggiamento estremista. E sicuramente non è una soluzione intelligente soprattutto dopo aver speso 60 dollari per un titolo nuovo e non poterlo restituire perché la confezione è già stata aperta. Pertanto si veda come poter aggiornare i giochi già in mio possesso.Suggerimenti per giocare come utente con limitazioni

  • Eseguire l'aggiornamento a Windows Vista.
  • Provare la demo prima di acquistare il prodotto. La demo evidenzierà molto probabilmente tutti i problemi di esecuzione come utente con limitazioni presenti nella versione completa.
  • Consultare l'elenco di programmi che notoriamente presentano problemi di esecuzione con un account utente con limitazioni ().
  • Cercare i giochi che portano il logo Designed for Windows.
  • Aggiornare il gioco dopo l'installazione e prima di eseguirlo come un utente con limitazioni.
  • Quando si trova un gioco che non funziona come un utente con limitazioni, esprimere le proprie lamentele all'autore e al servizio di supporto tecnico dell'azienda.
  • Se necessario, utilizzare un account utente esperto del sistema locale.

Correzione degli errori di protezione dalla copia Per prima cosa, affrontiamo il problema del driver di protezione dalla copia. I sistemi di protezione copia sono idonei, ma ciò non significa che debbano impedire agli utenti non amministratori di eseguire i giochi! La maggior parte dei giochi utilizza il meccanismo di protezione copia SafeDisc di Macrovision, che installa un driver che controlla la presenza di un disco del gioco originale. Per impostazione predefinita, il driver è configurato per l'avvio su richiesta (una funzione che gli utenti con limitazioni non sono autorizzati a utilizzare). Microsoft e Macrovision hanno distribuito alcune correzioni, ma io ho individuato un'altra soluzione:

  1. Aprire Gestione periferiche utilizzando un account amministratore.
  2. Andare al menu Visualizza e scegliere Mostra periferiche nascoste.
  3. Espandere il nodo Driver non Plug and Play.
  4. Aprire le proprietà per il driver di Protezione o SecDrv (vedere la Figura 3).
  5. Modificare il tipo di avvio in Automatico.

Figura 3** Corretta esecuzione della protezione copia **(Fare clic sull'immagine per ingrandirla)

Poiché il driver adesso viene avviato all'avvio del computer, è pronto a eseguire il gioco quando l'utente inserisce il disco.

Correzione dei problemi di accesso al file system e al registro di sistema Il problema dell'accesso libero a qualunque parte del file system o del registro di sistema è comune con molti programmi correnti e legacy, non solo con i giochi. L'articolo di Aaron Margosis "Problems of Privilege: Find and Fix LUA Bugs" (in inglese) entra nei dettagli delle soluzioni ai vari problemi che portano a richiedere i privilegi di amministratore (vedere ).

Tenere traccia dei problemi di accesso può risultare difficile, ma una volta individuati il gruppo di file, cartelle e chiavi del registro di sistema richiesti, risulta semplice estendere gli elenchi di controllo di accesso (ACL) che consentono a utenti con limitazioni di utilizzare il gioco. Il risultati migliori li ho ottenuti con il seguente metodo:

  1. scaricare le versioni più recenti di Filemon e Regmon da microsoft.com/technet/sysinternals.
  2. Eseguire gli strumenti come un amministratore ed iniziare a raccogliere i log.
  3. Giocare per qualche minuto come amministratore, eseguendo le attività più comuni (iniziare una nuova campagna, salvare un gioco, ospitare un gioco di rete, e così via).
  4. Filtrare i risultati di Filemon e Regmon per concentrarsi sugli accessi dal gioco in fase di test.
  5. Se necessario, estendere gli ACL sulle cartelle e le chiavi del registro di sistema in questione.
  6. Eseguire il gioco come utente non amministratore per accertarsi che ora funzioni.

Un consiglio sull'estensione degli ACL: non estenderli troppo (ad esempio Everyone-Full Control) o a un livello troppo alto (ad esempio HKEY_CLASSES_ROOT). È preferibile evitare di modificare tutte le autorizzazione sulle cartelle di sistema come %SYSTEMROOT% e %PROGRAMFILES% per impedire di danneggiare completamente Windows o lasciare il sistema in uno stato non sicuro.

Un'altra potenziale soluzione consiste nell'eseguire il gioco come utente esperto del sistema locale. Non è la prima opzione da me seguita, ma utilizzando un account locale del sistema, se qualcosa non dovesse andare per il verso giusto, l'ambito dell'impatto sarebbe limitato a una sola workstation. Questa correzione è adatta per la maggior parte dei giochi che sembrano funzionare correttamente solo come amministratore.

Ho scoperto che se si esegue il gioco per un breve periodo come amministratore l'aggiornamento avviene in maniera automatica. In genere, eseguo il gioco come amministratore, ne richiamo l'opzione di aggiornamento ed esco dal gioco per tornare al mio account utente con limitazioni per giocare davvero. (Vale la pena menzionare che Windows Vista™ consente agli utenti con limitazioni di aggiornare le applicazioni, presupponendo che la patch sia firmata dall'autore originale).

Windows Vista consente anche di risolvere i problemi di acceso a file e registro di sistema riscontrati da giochi e altre applicazioni. Per impostazione predefinita, i programmi eseguiti dagli utenti con limitazioni hanno shim di virtualizzazione abilitati che reindirizzano gli accessi fuorviati a file e registro di sistema alla cache di uno specifico utente. Ho visto personalmente dei giochi progettati nell'era di Windows 9x, (per esempio, The Neverhood) che non venivano eseguiti correttamente su Windows XP (a causa dei problemi di autorizzazione) funzionare perfettamente in Windows Vista con gli shim predefiniti. Non vedo l'ora di verificare altri giochi problematici su Windows Vista, ma il mio sospetto è che sarà difficile trovare un gioco di cui Windows Vista non possa eseguire lo shim correttamente.

Risoluzione dei problemi di firewall. Il problema del firewall viene risolto al meglio alla prima installazione del gioco. Tuttavia, quando l'installazione del gioco non richiede e non configura gli adattamenti necessari al firewall, ecco un metodo che ho visto funzionare bene:

  1. Accedere come un amministratore.
  2. Aprire il Pannello di controllo di Windows Firewall.
  3. Scegliere di aggiungere un programma all'elenco di eccezioni firewall.
  4. Scegliere il gioco dall'elenco o ricercarne l'eseguibile quando richiesto.

Aggiungendo l'eseguibile del gioco alle eccezioni firewall, il gioco potrà accedere ad alcune o tutte le porte di cui necessita per funzionare correttamente. Molti problemi sono così risolti.

Correzione dei problemi con i client enterprise I problemi riscontrati dai giochi sui client enterprise col tempo svaniranno. Il numero di famiglie con più computer e connessione a banda larga è in aumento e c'è una comunità crescente di utenti che eseguono SBS a casa. Ma per adesso, è ancora necessaria una soluzione.

Nel mio caso particolare, ho scoperto che un account utente con limitazioni del sistema locale ha risolto il problema della cartella Documenti reindirizzata. Sia Age of Empires III che Fable: The Lost Chapters funzionano bene come utente con limitazioni finché la cartella Documenti non viene reindirizzata a una cartella di rete.Risorse

Conclusioni

Consiglio vivamente di eseguire il gioco come utente con limitazioni così da poter sfruttare i vantaggi associati all'esecuzione come utente non amministratore. Non è sempre facile giocare in un ambiente con connessione aziendale e privilegi minimi, ma non è impossibile. Negli anni, mi sono imbattuto in moltissimi giochi di ogni genere che funzionano correttamente come utente con limitazioni. E ho scoperto alcune correzioni che fanno funzionare diversi altri titoli. Nel frattempo, grazie alla virtualizzazione in Windows Vista, i giochi che non potevano essere eseguiti come un utente con limitazioni su Windows XP ora funzionano di nuovo.

Matt ClaphamProgram Manager per la sicurezza presso Microsoft, partecipa attivamente alla community di sicurezza IT di Seattle ed è membro del team di gestione dei rischi in un progetto di incubazione IT.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.