Přejít k obsahu

Stínové zásobníky CET

Referenční příručka k architektuřeFeex

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í

  1. 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.
  2. 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ěží.
  3. Porovnejte veškeré požadavky vybraného binárního souboru nebo backendu. Podobně pojmenovaná funkce, alias nebo obecné technologické označení nestačí.
  4. 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í.
  5. 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.

Byl tento článek užitečný?

Stačí ano nebo ne. Pokud chcete, vyberte důvod nebo přidejte krátkou poznámku.

Byl tento článek užitečný?