NX-bit: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Modifica da mobile Modifica da web per mobile
m Wikipedia:Elenchi generati offline/Sezioni non riconosciute dopo una sezione predefinita
 
(5 versioni intermedie di 5 utenti non mostrate)
Riga 1:
{{F|componenti per computer|marzo 2013|Nessuna fonte}}
 
'''NX''' (''No eXecute'', "{{Lett|non eseguire"}})<ref>{{Cita web|autore = Microsoft Corporation|url = https://technet.microsoft.com/en-us/library/dn482072.aspx|titolo = PAE/NX/SSE2 Support Requirement Guide for Windows 8|accesso = 05/12/2014|editore = |data = }}</ref>, anche conosciuta con il nome di '''Enhanced Virus Protection''' (o semplicemente EVP), è una tecnologia usata generalmente nei [[CPU|processori centrali]] per isolare aree di memoria al fine di immagazzinare codice o dati.
 
Le sezioni di [[RAM|memoria ad accesso casuale]] contrassegnate con l'NX bit sono dedicate al deposito di soli dati, e le istruzioni non dovrebbero risiedervi. In poche parole è possibile scrivere o leggere dati ma non eseguirli se sono archiviati in queste zone di memoria. Questa funzionalità rende la tecnologia una valida difesa dai programmi nocivi nascosti all'interno dei dati di un altro ''software'', cioè dagli attacchi di [[buffer overflow]] ovvero gli errori di allocazione che generano un blocco di questo tipo.
 
Intel ha deciso di denominare la propria applicazione di questa tecnologia '''XD-bit''' da ''eXecute Disable'', ma le due non differiscono affatto se non nel nome.
 
== Supporto hardware ==
Nonostante questo meccanismo fosse presente da anni in altre architetture come lo [[SPARC]] della [[Sun Microsystems]], il [[DEC Alpha]], il [[PowerPC]] della [[IBM]] e anche nell'architettura [[IA-64]] della [[Intel]], il termine è stato coniato da [[Advanced Micro Devices|AMD]] per i propri processori [[AMD64]], come l'[[Athlon 64]] e l'[[Opteron]], e sta prendendo piede per definire questa tecnologia anche in altri processori.
 
L'NX è l'ultimo bit, il numero 63 (i bit si contano negli interi a 64 bit a partire da 0) dell'indirizzo nella [[paging|tabella di paginazione]] di un processore [[x86]]. Se il bit è uguale a 0, può essere eseguito codice proveniente da quella pagina di memoria; se è pari a 1, si presume che siano presenti solo dati, e l'eventuale codice ivi residente non sarà elaborato. Per il supporto di questa tecnologia il formato di paginazione della memoria deve essere il [[Physical Address Extension]] (PAE), e non il formato originale x86. L'NX bit fu introdotto nei processori AMD64, perché questa è una diretta espansione della x86, ma esso non richiede l'attivazione della modalità a 64 bit: perciò [[VIA Technologies]], [[Transmeta]] e naturalmente [[Intel]] stannohanno includendoincluso questa tecnologia nei propri processori x86.
 
== Emulazione software ==
Prima che fosse possibile il supporto hardware di questa caratteristica, con molti sistemi operativi si cercò di emularla attraverso il software, come col '''W^X''' o con l{{'}}'''Exec Shield''', descritti in seguito.
 
Un sistema operativo che emuli l'NX-bit può proteggere le aree di memoria ''[[Pila (informatica)|stack]]'' e ''[[Allocazione dinamica della memoria|heap]]'' dall'esecuzione di codice dannoso, e memoria con codice eseguibile dall'essere sovrascritta. Questo evita l'esecuzione di ''[[exploit]]'' di ''[[buffer overflow]]'', in particolare quelli che scrivono codice e poi lo fanno eseguire, come i ''[[worm]]'' [[SASSER]] e [[Blaster (virus)|Blaster]]. Questi attacchi sono diretti alla memoria che può essere sia scritta che eseguita, come la stack, e falliscono se questa non lo è.
 
<!-- In ampliamento, preferibilmente da rendere visibile al completamento
== Applicazioni nei sistemi operativi ==
Molti sistemi operativi includono o rendono disponibile questa tecnologia, mentre alcuni la emulano. Segue una lista dei sistemi interessati, in ordine alfabetico, le cui tecnologie sono ordinate cronologicamente. -->
== Note ==
<references />
 
<!-- In ampliamento, preferibilmente da rendere visibile al completamento
==Applicazioni nei sistemi operativi==
Molti sistemi operativi includono o rendono disponibile questa tecnologia, mentre alcuni la emulano. Segue una lista dei sistemi interessati, in ordine alfabetico, le cui tecnologie sono ordinate cronologicamente.
 
-->
{{Portale|informatica}}