Stínové zásobníky CET
Také nazýváno CET-SS
Stínové zásobníky CET poskytují chráněný stav návratových adres, který pomáhá detekovat poškození návratů v toku řízení. Schopnost procesoru podporovat stínový zásobník je pouze jedním z předpokladů pro aktivně chráněný proces.
Co potřebujete vědět
Stínové zásobníky CET poskytují chráněný stav návratových adres, který pomáhá detekovat poškození návratů v toku řízení. Schopnost procesoru podporovat stínový zásobník je pouze jedním z předpokladů pro aktivně chráněný proces.
Jak to funguje
Stínový zásobník uchovává chráněnou kopii informací o návratu paralelně s běžným zásobníkem provádění. Chráněný návrat kontroluje konzistenci podle pravidel architektury. Operační systém spravuje povolení funkce, oprávnění paměti a stav vláken, zatímco běhová prostředí musí správně obsluhovat výjimky a přechody kontextu.
Kde je funkce užitečná
Přepsání zásobníku, které změní běžnou návratovou adresu, může vyvolat výjimku ochrany řízení, pokud se neshoduje s chráněným stavem návratu. Ladicí program nebo běhové prostředí musí prostředí stínového zásobníku rozumět a nesmí k němu přistupovat jako k běžnému zapisovatelnému zásobníku.
Jak ověřit podporu a aktivaci
CPUID.07H.00H:ECX bit 7 enumeruje schopnost stínového zásobníku. K ověření aktivace použijte dokumentované rozhraní stavu operačního systému na úrovni procesu nebo vlákna. Nevysvětlený pád vyžaduje před změnou zásad ochrany kontrolu podporovaných aktualizací softwaru a kompatibility.
Dostupnost, aktivaci a vynucování je nutné kontrolovat samostatně. Procesor může ochranu podporovat, zatímco operační systém, aplikace nebo zásady virtuálního počítače ji neaktivují. Pole podpory v databázi není atestací běžícího systému.
Co tato funkce nezajišťuje
Stínové zásobníky nezakládají podporu IBT, nechrání všechna data aplikace ani neeliminují každý útok na tok řízení. Údaj u procesoru nedokazuje, že každý spustitelný soubor a načtená knihovna jsou v rámci zásad kompatibility operačního systému chráněny.
Kompatibilita a výkon v praxi
Udržujte operační systém, firmware a dotčené běhové prostředí aktuální. Pokud ochrana odhalí problém s kompatibilitou, použijte nejprve diagnostiku výrobce a podporované aktualizace. Plošné přepnutí ochrany může ovlivnit nesouvisející aplikace a mělo by se řídit explicitními pravidly pro nasazení a obnovu.
Praktický kontrolní seznam pro ověření
- Zaznamenejte přesný model procesoru nebo platformy a použité verze aplikace, operačního systému a běhového prostředí. Uchovejte přesné znění chybové zprávy nebo požadavku.
- Zkontrolujte dokumentaci výrobce pro daný konkrétní model a poté prověřte skutečně dostupnou kapacitu a stav aktivace v prostředí, kde program běží.
- Porovnejte veškeré požadavky vybraného binárního souboru nebo backendu. Podobně pojmenovaná funkce, alias nebo obecné technologické označení nestačí.
- Ověřte, že aplikace vybrala zamýšlenou implementaci. Pokud nejsou požadavky splněny, použijte její zdokumentovanou diagnostiku a podporované náhradní řešení.
- Provádějte vždy jen jednu podporovanou změnu a zopakujte identickou zátěž. Původní konfiguraci a postup obnovy mějte neustále k dispozici.
Pokud je funkce uvedena, ale software ji nemůže použít
Začněte u přesné komponenty, u níž dochází k selhání. Databáze hardwaru popisuje zaznamenané schopnosti; operační systém nebo hypervizor však může vystavit odlišné efektivní prostředí. Chyba neplatné instrukce vyžaduje také prozkoumání skutečné chybující instrukce a sestavení binárního souboru, protože poškození dat nebo nesouvisející nepodporovaná instrukce mohou vyvolat podobný projev.
Nainstalujte verzi aplikace, ovladače nebo běhového prostředí podporovanou pro danou platformu a v případě potřeby použijte výrobcem zdokumentované základní nebo náhradní sestavení. Aktualizace softwaru nemůže vytvořit instrukci, kterou procesor fyzicky postrádá. Změny firmwaru a zásad zabezpečení by se měly řídit postupem výrobce systému a plánem obnovy, nikoli obecným návodem na optimalizaci.
Zdroje a rozsah tohoto vysvětlení
Intel 64 and IA-32 Architectures Software Developer's Manual · Linuxové jádro: stínový zásobník Control-flow Enforcement Technology
Tyto referenční dokumenty stanovují architektonické chování a softwarové požadavky. Neověřují nezávisle každou hodnotu funkce na odkazované stránce hardwarového modelu. Informace o podpoře konkrétního modelu čerpejte z podkladů výrobce na příslušné stránce a zkontrolujte platnou konfiguraci systému. Tento článek neposkytuje benchmark, certifikaci ani datum nezávislého přezkumu.
Zdroje a ověření
Redakční vlastnictví: Feex. Není zaznamenáno žádné datum nezávislého přezkoumání. Jak provádíme výzkum.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Svazky 1 a 2 popisují jmenovité rodiny instrukcí a CPUID; Svazek 3 popisuje stav, stránkování, VMX a řízení ochrany. Architektonická dokumentace nepotvrzuje podporu pro konkrétní model.
- Linuxové jádro: stínový zásobník Control-flow Enforcement Technology · Rozlišuje hardwarovou podporu, binární značky, aktivaci zavaděčem a aktivní ochranu jednotlivých vláken. Popisuje IBT a stínové zásobníky jako oddělené prostředky.
Byl tento článek užitečný?
Stačí ano nebo ne. Pokud chcete, vyberte důvod nebo přidejte krátkou poznámku.
Děkujeme. Pomáhá nám to tuto stránku vylepšovat.