Vaje deritto ô cuntenuto

Execute Disable (NX)

Riferimento 'e ll'architetturaFeex

Execute Disable, chiamato pure NX o XD dint'â terminuluggia x86, permette ê page table 'e marcà 'a memoria comme nun-eseguibbele. È 'nu blocco costruttivo hardware ausato d''e pulìteche 'e protezzione 'e ll'esecuzzione d''o sistema upirativo.

Chello ca t'hê 'a sapé

Execute Disable, chiamato pure NX o XD dint'â terminuluggia x86, permette ê page table 'e marcà 'a memoria comme nun-eseguibbele. È 'nu blocco costruttivo hardware ausato d''e pulìteche 'e protezzione 'e ll'esecuzzione d''o sistema upirativo.

Comme fonsiona

Quanno è abbilitato dint'â ll'ambiente 'e paginazzione applicàbbele, 'nu fetch 'e 'nstruzzione da 'na pàggena marcata nun-eseguibbele genera 'nu fault 'nvece 'e nne puté esequì 'e byte. 'E permesse d''e pàggene spàrtono ll'esecuzzione da ll'accesso ê date; 'o software è respunsàbbele 'e assegnà 'e permesse adatte e 'e gestì 'e passagge p''o còdice gennerato leggìttemo.

Addò serve

'N'OS po mappà 'nu buffer 'e date senza permesse 'e esecuzzione, accussì scriverce byte 'e machine-code dinto nun 'o fa addiventà 'na pàggena 'e còdice eseguibbele. 'E runtime JIT àusano API 'e gistione d''a memoria ducumentate e pulìteche 'e permesse p''o còdice gennerato.

Comme se cuntrolla 'o supporto e ll'abbilitazzione

CPUID.80000001H:EDX bit 20 elenca 'a capacità x86 execute-disable sott'â definizzione d''o produttore rillevante. L'applicazione effettiva dipende pure d''a modalità 'e paginazzione e 'a ll'abbilitazzione 'e ll'OS. Cuntrolla 'o stato 'e protezzione ducumentato 'e ll'OS 'nvece 'e s' 'o figurà a parte 'nu mudello 'e CPU.

Capacita, abbilitazzione e apprecazzione s'hann' 'a cuntrollà a parte. Nu prucessore po supportà na prutezzione mentre 'o sistema operativo, ll'applicazzione o 'a puliteca d' 'a macchina virtuale nun ll'attivano. Nu campo 'e supporto dint'a nu database nun e n'attestazzione 'e nu sistema ca sta giranno.

Chello ca 'a funzionalita nun stabbilisce

NX nun demostra ca 'nu file eseguibbele è sicuro, nun ferma ogne attacco 'e code-reuse e nun prova ll'eligibbilità p''a Windows. 'E date restano leggìbbele o scrivìbbele a seconna d''e permesse separate. 'Nu flag 'e na funzione nun vo dicere ca ogne mapping 'e memoria segue 'na pulìteca stretta 'e scrittura/esecuzzione.

Cumpatibbilita e prestazziune dint' 'a prateca

Mantieni 'o sistema operativo, 'o firmware e 'o runtime 'nteressato agghiuornate. Si na prutezzione mostra nu prubbrema 'e cumpatibbilita, ausa primma 'a diagnosteca e ll'aggiurnamiente supportate d' 'o costruttore. N'interruttore 'e prutezzione generale po tuccà applicazziune ca nun c'entrano e adda siguità na puliteca esplicita d'attivazzione e recuppero.

Na lista 'e verifeca prateca

  1. Riggistra 'o mudello esatto d' 'o prucessore o d' 'a piattaforma e 'e vversione 'e ll'applicazzione, d' 'o sistema operativo e d' 'o runtime cumbulute. Mantien' 'e pparole esatte 'e ll'errore o d' 'o requisito overo.
  2. Cuntrolla 'o riferimento d' 'o costruttore pe chillu mudello esatto, po verifeca 'a capacita effettiva e 'o stato abbilitato dint'a ll'ambiente addò gira 'o prugramma.
  3. Cunfrunta ogne requisito d' 'o binario o backend sciveto. Na funzionalita cu nu nomme sumigliante, n'alias o n'etichetta tecnologgeca generale nun abbasta.
  4. Cunferma ca ll'applicazzione ha sciveto ll'implementazzione vuluta. Ausa 'a diagnosteca documentata soja e n'alternativa supportata quanno 'e requisite nun songo rispettate.
  5. Fa nu sulo cagnamento supportato a ll'avota e ripete 'o stesso carico 'e fatica. Mantien' 'a cunfigurazzione origginale e 'a via 'e recuppero a portata 'e mana.

Si 'a funzionalita sta scritta ma 'o software nun 'a po ausà

Pparti d' 'o cumponente esatto ca falla. Nu database hardware descrive 'a capacita riggistrata; 'o sistema operativo o ll'hypervisor po mustrà n'ambiente effettivo diverzo. N'errore 'e struzzione illegale addimanna pure 'e verificà 'a struzzione ca sgarra overamente e 'a build d' 'o binario, pecché na corruzzione o n'ata struzzione nun supportata po dà nu sintomo simile.

Stalla 'a vversione 'e ll'applicazzione, d' 'o driver o d' 'o runtime supportata p' 'a piattaforma esatta, e ausa 'a baseline documentata d' 'o costruttore o na build 'e fallback si serve. N'aggiurnamento software nun po crià na struzzione ca 'o prucessore nun tene. 'E cagnamiente a 'o firmware e 'e puliteche 'e sicurezza hann' 'a siguità 'a prucedura d' 'o costruttore d' 'o sistema e nu pピアノ 'e recuppero mméce 'e na ricetta generale 'e uttimizzazzione.

Funte e ambito 'e sta spiegazzione

Intel 64 and IA-32 Architectures Software Developer's Manual

Sti riferimente stabbilisceno 'o cumpurtamento 'e ll'architettura e 'e requisite d' 'o software. Nun verificano 'e manera 'ndipennente ogne valore 'e funzionalita ngopp'a na paggena 'e nu mudello hardware culegato. P' 'o supporto d' 'o mudello, ausa ll'evidenze d' 'o costruttore 'e chella paggena e verifeca 'a cunfigurazzione effettiva d' 'o sistema. St'articulo nun furnesce benchmark, certificazzione o data 'e revisone 'ndipennente.

Funte e verìfeca

Prupietà editoriale: Feex. Nisciuna data 'e revisizzione 'ndipennente è riggistrata. Comme facimmo 'e recerche.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · 'E Vulume 1 e 2 descrivono 'e ffamiglie 'e struzzione cu nomme e 'o CPUID; 'o Vulume 3 descrive 'o stato, 'a pagginazzione, VMX e 'e cuntrolle 'e prutezzione. 'A documentazzione 'e ll'architettura nun stabbilisce 'o supporto pe nu mudello particulare.

È servuto chist'articulo?

Basta nu sì o nu no. Si vuó, sciglie na mutivazzione o miett' na nota corta.

È servuto chist'articulo?