Skoči na sadržaj

CET stogovi u sjeni

Arhitekturna referencaFeex

Također se naziva CET-SS

CET stogovi u sjeni pružaju zaštićeno stanje povratnih adresa kako bi pomogli u otkrivanju oštećenih povrata toka upravljanja. Procesorska mogućnost stoga u sjeni samo je jedan preduvjet za aktivno zaštićeni proces.

Što trebate znati

CET stogovi u sjeni pružaju zaštićeno stanje povratnih adresa kako bi pomogli u otkrivanju oštećenih povrata toka upravljanja. Procesorska mogućnost stoga u sjeni samo je jedan preduvjet za aktivno zaštićeni proces.

Kako funkcionira

Stog u sjeni drži zaštićenu kopiju povratnih informacija uz običan stog izvršavanja. Zaštićeni povrat provjerava dosljednost prema pravilima arhitekture. OS upravlja omogućavanjem, memorijskim dozvolama i stanjem niti, dok radna okruženja (runtimes) moraju ispravno rukovati iznimkama i prijelazima konteksta.

Gdje je korisno

Prepisivanje stoga koje mijenja običnu povratnu adresu može proizvesti iznimku zaštite upravljanja kada se ne podudara sa zaštićenim stanjem povrata. Debugger ili runtime moraju razumjeti okruženje stoga u sjeni umjesto da ga tretiraju kao običan stog s mogućnošću pisanja.

Kako provjeriti podršku i omogućavanje

CPUID.07H.00H:ECX bit 7 enumerira mogućnost stoga u sjeni. Koristite dokumentirano sučelje OS-a za status po procesu ili po niti kako biste utvrdili omogućavanje. Neobjašnjivo rušenje opravdava provjeru podržanih softverskih ažuriranja i kompatibilnosti prije promjene pravila zaštite.

Mogućnost, omogućavanje i provođenje moraju se provjeriti zasebno. Procesor može podržavati zaštitu dok je OS, aplikacija ili pravilo virtualnog stroja ne aktiviraju. Polje podrške u bazi podataka nije atestacija pokrenutog sustava.

Što ova značajka ne utvrđuje

Stogovi u sjeni ne uspostavljaju podršku za IBT, ne štite sve podatke aplikacije niti eliminiraju svaki napad na tok upravljanja. Oznaka procesora ne dokazuje da su svaka izvršna datoteka i učitana biblioteka obuhvaćene pravilima kompatibilnosti OS-a.

Kompatibilnost i performanse u praksi

Održavajte OS, firmware i zahvaćeno izvršno okruženje ažurnima. Ako zaštita izloži problem s kompatibilnošću, najprije upotrijebite proizvođačevu dijagnostiku i podržana ažuriranja. Široko uključivanje ili isključivanje zaštite može utjecati na nepovezane aplikacije i trebalo bi slijediti izričito pravilo uvođenja i oporavka.

Praktičan kontrolni popis za provjeru

  1. Zabilježite točan model procesora ili platforme te verzije aplikacije, OS-a i izvršnog okruženja. Sačuvajte formulaciju stvarne pogreške ili zahtjeva.
  2. Provjerite proizvođačevu referencu za taj točan model, a zatim pregledajte stvarnu sposobnost i omogućeno stanje u okruženju u kojem se program izvodi.
  3. Usporedite svaki zahtjev odabrane binarne datoteke ili pozadinskog sustava. Slično nazvana značajka, pseudonim ili široka tehnološka oznaka nisu dovoljni.
  4. Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njezinu dokumentiranu dijagnostiku i podržanu zamjensku opciju kada zahtjevi nisu ispunjeni.
  5. Napravite jednu po jednu podržanu promjenu i ponovite isto radno opterećenje. Zadržite izvornu konfiguraciju i put oporavka dostupnima.

Ako je značajka navedena, ali je softver ne može koristiti

Počnite s točnom komponentom koja zakazuje. Hardverska baza podataka opisuje zabilježenu sposobnost; operacijski sustav ili hipervizor mogu izložiti drukčije stvarno okruženje. Pogreška nedopuštene instrukcije također zahtijeva istragu stvarne instrukcije koja uzrokuje pogrešku i binarne građe, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.

Instalirajte verziju aplikacije, upravljačkog programa ili izvršnog okruženja podržanu za točnu platformu i upotrijebite proizvođačevu dokumentiranu osnovnu ili zamjensku građu ako je potrebno. Softversko ažuriranje ne može stvoriti instrukciju koja procesoru nedostaje. Promjene u firmwareu i sigurnosnim pravilima trebaju slijediti postupak proizvođača sustava i plan oporavka, a ne generički recept za optimizaciju.

Izvori i opseg ovog objašnjenja

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: Control-flow Enforcement Technology stog u sjeni

Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verificiraju neovisno svaku vrijednost značajke na povezanoj stranici hardverskog modela. Za podršku modela upotrijebite proizvođačeve dokaze s te stranice i provjerite stvarnu konfiguraciju sustava. Ovaj članak ne pruža mjerilo performansi, certifikaciju ili datum neovisnog pregleda.

Izvori i provjera

Uredničko vlasništvo: Feex. Nije zabilježen datum neovisnog pregleda. Kako istražujemo.

Je li ovaj članak bio koristan?

Dovoljno je odgovoriti s da ili ne. Odaberite razlog ako želite ili dodajte kratku bilješku.

Je li ovaj članak bio koristan?