DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 875352 - Ultima modifica: lunedì 10 giugno 2013 - Revisione: 14.8

In questa pagina

Sommario

La funzionalità Protezione esecuzione programmi è un insieme di tecnologie hardware e software per l'esecuzione di verifiche aggiuntive relative alla memoria allo scopo di impedire l'esecuzione di codice dannoso in un sistema. In Microsoft Windows XP Service Pack 2 (SP2) e Microsoft Windows XP Tablet PC Edition 2005 la funzionalità Protezione esecuzione programmi viene applicata da hardware e software.

Il vantaggio principale di questa funzionalità è quello di impedire l'esecuzione di codice dalle pagine di dati. In genere il codice non viene eseguito dall'heap e dallo stack predefiniti. La funzionalità Protezione esecuzione programmi applicata all'hardware consente di rilevare il codice in esecuzione da questi percorsi e viene generata un'eccezione al momento dell'esecuzione. La funzionalità Protezione esecuzione programmi applicata al software può impedire a codice dannoso di trarre vantaggio dai meccanismi di gestione delle eccezioni di Windows.

INTRODUZIONE

In questo articolo viene descritta la funzionalità Protezione esecuzione programmi di Microsoft Windows XP SP2 e di Microsoft Windows Server 2003 con Service Pack 1 (SP1) e vengono trattati i seguenti argomenti:

Informazioni

Protezione esecuzione programmi applicata all'hardware

Con la funzionalità Protezione esecuzione programmi applicata all'hardware tutti i percorsi di memoria di un processo vengono contrassegnati come non eseguibili a meno che un percorso non contenga esplicitamente codice eseguibile. Esiste un tipo di attacco che cerca di inserire ed eseguire codice da percorsi di memoria non eseguibili. La funzionalità Protezione esecuzione programmi consente di impedire questi attacchi intercettandoli e generando un'eccezione.

Questa funzionalità si basa sull'hardware del processore per contrassegnare la memoria con un attributo che indica che non deve essere eseguito codice da quella memoria. Protezione esecuzione programmi funziona in base alla pagina di memoria virtuale e la funzionalità stessa cambia in genere un bit nella voce PTE (Page Table Entry) per contrassegnare la pagina di memoria.

La modalità di implementazione di Protezione esecuzione programmi nell'hardware e il modo in cui viene contrassegnata la pagina di memoria virtuale sono determinati dall'architettura del processore. Tuttavia i processori che supportano la funzionalità Protezione esecuzione programmi applicata all'hardware possono generare un'eccezione quando il codice viene eseguito da una pagina contrassegnata da un insieme di attributi appropriato.

AMD (Advanced Micro Devices) e Intel hanno definito e reso disponibili architetture compatibili con Windows e con la funzionalità Protezione esecuzione programmi.

A partire da Windows XP SP2 la versione a 32 bit di Windows utilizza uno dei seguenti elementi:
  • La funzionalità del processore di protezione della pagina che impedisce l'esecuzione (NX, No Execute) definita da AMD.
  • La funzionalità del bit di disattivazione dell'esecuzione (XD, Execute Disable Bit) definito da Intel.
Per utilizzare queste funzionalità del processore, quest'ultimo deve essere in esecuzione in modalità PAE (Physical Address Extension). Tuttavia in Windows la modalità PAE è attivata automaticamente per supportare la funzionalità Protezione esecuzione programmi, quindi gli utenti non devono attivare separatamente la modalità PAE mediante l'opzione di avvio /PAE.

Nota Poiché i kernel a 64 bit supportano la modalità AWE (Address Windowing Extensions), non esiste un kernel PAE separato nelle versioni a 64 bit di Windows.
Per ulteriori informazioni sulle tecnologie PAE e AWE di Windows Server 2003, fare clic sul numero dell'articolo della Knowledge Base riportato di seguito (il contenuto potrebbe essere in inglese):
283037  (http://support.microsoft.com/kb/283037/ ) Disponibilità del supporto per quantità di memoria estese in Windows Server 2003 e in Windows 2000

Protezione esecuzione programmi applicata al software

In Windows XP SP2 è stato aggiunto un ulteriore insieme di verifiche della protezione mediante Protezione esecuzione programmi. Queste verifiche, note come Protezione esecuzione programmi applicata al software, sono progettate per bloccare codice dannoso che sfrutta i meccanismi di gestione delle eccezioni di Windows. La funzionalità Protezione esecuzione programmi applicata al software viene eseguita su qualsiasi processore in grado di eseguire Windows XP SP2. Per impostazione predefinita, questo tipo di funzionalità consente di proteggere solo file binari di sistema limitati, indipendentemente dalle capacità del processore relative alla Protezione esecuzione programmi applicata all'hardware.

Vantaggi

Il vantaggio principale della funzionalità Protezione esecuzione programmi è la capacità di impedire l'esecuzione di codice dalle pagine di dati, ad esempio le pagine di heap predefinite, diverse pagine dello stack e pagine del pool di memoria. In genere il codice non viene eseguito dall'heap e dallo stack predefiniti. La funzionalità Protezione esecuzione programmi applicata all'hardware rileva il codice in esecuzione da questi percorsi e genera un'eccezione al momento dell'esecuzione. Se l'eccezione non viene gestita, il processo viene interrotto. L'esecuzione di codice dalla memoria protetta in modalità kernel causa un errore di interruzione.

La Protezione esecuzione programmi consente di bloccare una serie di intrusioni nella protezione e, in modo specifico, un programma dannoso in cui un virus o un altro tipo di attacco abbia introdotto un processo con ulteriore codice e il successivo tentativo di esecuzione di tale codice. In un sistema con attivata la funzionalità Protezione esecuzione programmi l'esecuzione del codice inserito causa un'eccezione. La funzionalità Protezione esecuzione programmi applicata al software può impedire ai programmi di trarre vantaggio dai meccanismi di gestione delle eccezioni di Windows.

Configurazione della funzionalità Protezione esecuzione programmi a livello di sistema

La configurazione della funzionalità Protezione esecuzione programmi per il sistema viene controllata mediante opzioni contenute nel file Boot.ini. Se si è connessi come amministratore, è possibile configurare facilmente le impostazioni della Protezione esecuzione programmi utilizzando la finestra di dialogo Sistema nel Pannello di controllo.

In Windows sono supportare quattro configurazioni a livello di sistema per la Protezione esecuzione programmi applicata all'hardware e al software.
Riduci questa tabellaEspandi questa tabella
ConfigurazioneDescrizione
OptInQuesta impostazione rappresenta la configurazione predefinita. Nei sistemi con processori in grado di implementare la Protezione esecuzione programmi applicata all'hardware, la funzionalità è attivata, per impostazione predefinita, per file binari di sistema limitati e per programmi in cui viene forzata. Per impostazione predefinita, con questa opzione solo i file binari di sistema di Windows sono protetti dalla funzionalità.
OptOutPer impostazione predefinita, la funzionalità Protezione esecuzione programmi è attivata per tutti i processi. È possibile creare manualmente un elenco di programmi specifici a cui non viene applicata la funzionalità utilizzando la finestra di dialogo Sistema nel Pannello di controllo. I professionisti IT (Information Technology) possono utilizzare l'Application Compatibility Toolkit per dissociare uno o più programmi dalla Protezione esecuzione programmi. La compatibilità di sistema esegue la correzione per fare in modo che la funzionalità abbia effetto.
AlwaysOnQuesta impostazione fornisce la copertura completa della funzionalità Protezione esecuzione programmi per l'intero sistema. Tutti i processi vengono sempre eseguiti con la funzionalità applicata. L'elenco delle eccezioni che esclude programmi specifici dalla protezione della funzionalità non è disponibile. La compatibilità di sistema consente di eseguire la correzione per fare in modo che la funzionalità non abbia effetto. I programmi esclusi mediante l'Application Compatibility Toolkit vengono eseguiti applicando la funzionalità Protezione esecuzione programmi.
AlwaysOffQuesta impostazione non fornisce alcuna copertura della funzionalità Protezione esecuzione programmi per nessuna parte del sistema, indipendentemente dal supporto della funzionalità applicato all'hardware. Il processore non viene eseguito in modalità PAE se l'opzione /PAE non è presente nel file Boot.ini.
La Protezione esecuzione programmi applicata all'hardware e al software viene configurata nello stesso modo. Se il criterio della Protezione esecuzione programmi a livello di sistema è impostato su OptIn, gli stessi file binari principali e i programmi di Windows verranno protetti dalla funzionalità applicata all'hardware e al software. Se il sistema non è in grado di utilizzare la funzionalità applicata all'hardware, i file binari principali e i programmi di Windows verranno protetti solo dalla funzionalità applicata al software.

In modo analogo, se il criterio della Protezione esecuzione programmi a livello di sistema è impostato su OptOut, i programmi esclusi dalla protezione della funzionalità saranno esclusi anche dalla funzionalità applicata all'hardware e al software.

Le impostazioni del file boot.ini hanno il seguente formato:
/noexecute=livello_criterio
Nota livello_criterio è definito come AlwaysOn, AlwaysOff, OptIn oppure OptOut.

Le impostazioni /noexecute esistenti nel file Boot.ini non vengono modificate quando si installa Windows XP SP2. Non vengono modificate nemmeno se un'immagine del sistema operativo Windows viene spostata da un computer all'altro con o senza il supporto della funzionalità Protezione esecuzione programmi applicata all'hardware.

Durante l'installazione di Windows XP SP2 e Windows Server 2003 SP1 o versioni successive il livello del criterio OptIn è attivato per impostazione predefinita, a meno che non venga specificato un diverso livello di criterio in un'installazione automatica. Se l'impostazione /noexecute=livello_criterio non è presente nel file Boot.ini per una versione di Windows che supporti la funzionalità Protezione esecuzione programmi, il comportamento sarà uguale al caso in cui fosse inclusa l'impostazione /noexecute=OptIn.

Se si è connessi come amministratore, è possibile configurare manualmente la funzionalità Protezione esecuzione programmi per passare tra i criteri OptIn e OptOut mediante la scheda Protezione esecuzione programmi delle proprietà del sistema. Nella procedura riportata di seguito consente di configurare manualmente la funzionalità Protezione esecuzione programmi nel computer in uso:
  1. Fare clic sul pulsante Start, scegliere Esegui, digitare sysdm.cpl, quindi scegliere OK.
  2. Nella scheda Avanzate in Prestazioni fare clic su Impostazioni.
  3. Nella scheda Protezione esecuzione programmi utilizzare una delle seguenti procedure:
    • Fare clic su Attiva Protezione esecuzione programmi solo per i programmi e i servizi essenziali di Windows per selezionare il criterio OptIn.
    • Fare clic su Attiva Protezione esecuzione programmi per tutti i programmi e i servizi tranne quelli selezionati per selezionare il criterio OptOut, quindi scegliere Aggiungi per aggiungere i programmi ai quali non dovrà essere applicata la funzionalità in questione.
  4. Scegliere OK due volte.
I professionisti IT possono controllare la configurazione della Protezione esecuzione programmi a livello di sistema utilizzando diversi metodi. Il file Boot.ini può essere modificato direttamente con meccanismi di scripting o con lo strumento Bootcfg.exe incluso in Windows XP SP2.

Per configurare la funzionalità Protezione esecuzione programmi per passare al criterio AlwaysOn utilizzando il file Boot.ini, attenersi alla seguente procedura:
  1. Fare clic sul pulsante Start, fare clic con il pulsante destro del mouse su Risorse del computer, quindi scegliere Proprietà.
  2. Scegliere la scheda Avanzate, quindi fare clic su Impostazioni nella sezione Avvio e ripristino.
  3. In Avvio del sistema scegliere Modifica. Il file Boot.ini verrà aperto in Blocco note.
  4. Nel Blocco note scegliere Trova dal menu Modifica.
  5. Nella casella Trova digitare /noexecute, quindi scegliere Trova successivo.
  6. Nella finestra di dialogo Trova fare clic su Cancella.
  7. Sostituire livello_criterio con AlwaysOn.

    AVVISO Assicurarsi di immettere il testo con precisione. Ora è possibile leggere l'opzione del file Boot.ini:
    /noexecute = AlwaysOn
  8. Nel Blocco note scegliere Salva dal menu File.
  9. Scegliere OK due volte.
  10. Riavviare il computer.
Per le installazioni automatiche di Windows XP SP2 o versioni successive è possibile utilizzare il file Unattend.txt per predefinire una specifica configurazione della funzionalità Protezione esecuzione programmi. È possibile utilizzare la voce OSLoadOptionsVar nella sezione [Data] del file Unattend.txt per specificare una configurazione della funzionalità Protezione esecuzione programmi a livello di sistema.

Configurazione della funzionalità Protezione esecuzione programmi per singoli programmi

Per garantire la compatibilità dei programmi, è possibile disattivare in modo selettivo la funzionalità Protezione esecuzione programmi per singoli programmi a 32 bit quando la funzionalità è impostata sul livello del criterio OptOut. Per effettuare questa operazione, utilizzare la scheda Protezione esecuzione programmi delle proprietà del sistema per disattivare in modo selettivo la funzionalità per un programma. Per i professionisti IT è disponibile in Windows XP SP2 una nuova correzione relativa alla compatibilità dei programmi denominata DisableNX. Tale correzione consente di disattivare la funzionalità Protezione esecuzione programmi per il programma a cui viene applicata.

La correzione può anche essere applicata a un programma mediante l'Application Compatibility Toolkit. Per ulteriori informazioni sulla compatibilità delle applicazioni Windows, vedere Compatibilità applicazioni Windows sul seguente sito Web Microsoft:
http://technet.microsoft.com/it-it/windows/aa905066.aspx (http://technet.microsoft.com/it-it/windows/aa905066.aspx)
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
912923  (http://support.microsoft.com/kb/912923/ ) Come determinare che la funzionalità Protezione esecuzione programmi applicata all'hardware sia disponibile e configurata sul computer

Riferimenti

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
899298  (http://support.microsoft.com/kb/899298/ ) L'argomento "Informazioni sulla protezione esecuzione programmi" specifica erroneamente le impostazioni predefinite per la funzionalità Protezione esecuzione programmi in Windows Server 2003 Service Pack 1

Le informazioni in questo articolo si applicano a:
  • Microsoft Windows Server 2003 Service Pack 1 alle seguenti piattaforme
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
Chiavi: 
kbtshoot kbinfo KB875352
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store