1. [Wiki](https://feex.it/wiki/)
2. [Hardvér](https://feex.it/wiki/hardware/)
3. [Systémy a architektúra](https://feex.it/wiki/hardware/system/)
4. CET shadow stacks

# CET shadow stacks

Architektonická referencia: Feex

Tiež nazývané CET-SS

Tieňové zásobníky CET poskytujú chránený stav návratových adries, ktorý pomáha odhaliť porušené návraty toku riadenia. Schopnosť tieňového zásobníka na procesore je len jedným z predpokladov pre aktívne chránený proces.

## Čo potrebujete vedieť

Tieňové zásobníky CET poskytujú chránený stav návratových adries, ktorý pomáha odhaliť porušené návraty toku riadenia. Schopnosť tieňového zásobníka na procesore je len jedným z predpokladov pre aktívne chránený proces.

## Ako to funguje

Tieňový zásobník uchováva chránenú kópiu návratových informácií súbežne s bežným zásobníkom vykonávania. Chránený návrat kontroluje konzistenciu podľa pravidiel architektúry. OS spravuje povolenie, pamäťové oprávnenia a stav vlákien, zatiaľ čo run-time prostredia musia správne spracovávať výnimky a prechody kontextu.

## Kde je to užitočné

Prepísanie zásobníka, ktoré zmení bežnú návratovú adresu, môže vyvolať výnimku ochrany riadenia, keď nastane nesúlad s chráneným stavom návratu. Debugger alebo run-time musí rozumieť prostrediu tieňového zásobníka namiesto toho, aby k nemu pristupoval ako k bežnému zapisovateľnému zásobníku.

## Ako overiť podporu a povolenie

CPUID.07H.00H:ECX bit 7 enumeruje schopnosť tieňového zásobníka. Na zistenie stavu povolenia použite zdokumentované rozhranie operačného systému pre jednotlivé procesy alebo vlákna. Nevysvetlený pád si vyžaduje kontrolu podporovaných aktualizácií softvéru a kompatibility ešte pred zmenou politiky ochrany.

Schopnosť, povolenie a vynucovanie sa musia kontrolovať samostatne. Procesor môže ochranu podporovať, zatiaľ čo operačný systém, aplikácia alebo politika virtuálneho počítača ju neaktivujú. Pole podpory v databáze nie je atestáciou bežiaceho systému.

## Čo táto funkcia nezakladá

Tieňové zásobníky nezakladajú podporu IBT, nechránia všetky údaje aplikácie ani neodstraňujú každý útok na tok riadenia. Údaj o CPU nedokazuje, že každý spustiteľný súbor a načítaná knižnica spadajú pod politiku kompatibility operačného systému.

## Kompatibilita a výkon v praxi

Udržiavajte operačný systém, firmvér a dotknuté runtime prostredie aktuálne. Ak ochrana odhalí problém s kompatibilitou, použite najprv diagnostiku od dodávateľa a podporované aktualizácie. Plošné prepnutie ochrany môže ovplyvniť nesúvisiace aplikácie a malo by sa riadiť explicitnou politikou nasadenia a obnovy.

## Praktický kontrolný zoznam na overenie

1. Zaznamenajte presný model procesora alebo platformy a príslušné verzie aplikácie, operačného systému a runtime prostredia. Zachovajte presné znenie skutočnej chyby alebo požiadavky.
2. Skontrolujte referenčnú dokumentáciu výrobcu pre daný presný model a potom preverte efektívnu schopnosť a povolený stav v prostredí, kde program beží.
3. Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
4. Uistite sa, že aplikácia vybrala zamýšľanú implementáciu. Ak požiadavky nie sú splnené, použite jej dokumentovanú diagnostiku a podporované náhradné riešenie.
5. Vykonávajte vždy len jednu podporovanú zmenu a zopakujte rovnaké pracovné zaťaženie. Ponechajte si k dispozícii pôvodnú konfiguráciu a postup obnovy.

## Ak je funkcia uvedená, ale softvér ju nemôže použiť

Začnite presne pri zlyhávajúcom komponente. Hardvérová databáza popisuje zaznamenanú schopnosť; operačný systém alebo hypervízor však môže sprístupniť iné efektívne prostredie. Chyba neplatnej inštrukcie si vyžaduje aj preskúmanie skutočnej chybujúcej inštrukcie a zostavenia binárneho súboru, pretože poškodenie alebo nesúvisiaca nepodporovaná inštrukcia môže vyvolať podobný príznak.

Nainštalujte verziu aplikácie, ovládača alebo runtime prostredia podporovanú pre presnú platformu a v prípade potreby použite dodávateľom dokumentované základné alebo záložné zostavenie. Aktualizácia softvéru nedokáže vytvoriť inštrukciu, ktorú procesor nemá. Zmeny firmvéru a bezpečnostných politík by sa mali riadiť postupom výrobcu systému a plánom obnovy, nie generickým návodom na optimalizáciu.

## Súvisiace funkcie a užitočné rozdiely

[Control-flow Enforcement (CET)](https://feex.it/wiki/l/sk/hardware/system/cet/) · [CET-IBT](https://feex.it/wiki/l/sk/hardware/system/cet-ibt/) · [Execute Disable (NX)](https://feex.it/wiki/l/sk/hardware/system/execute-disable/)

## Zdroje a rozsah tohto vysvetlenia

[Intel 64 and IA-32 Architectures Software Developer's Manual](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html) · [Linuxové jadro: tieňový zásobník Control-flow Enforcement Technology](https://docs.kernel.org/arch/x86/shstk.html)

Tieto referencie definujú architektonické správanie a softvérové požiadavky. Neoverujú nezávisle každú hodnotu funkcie na prepojenej stránke hardvérového modelu. Podporu modelu nájdete v podkladoch od výrobcu na danej stránke a skontrolujte efektívnu konfiguráciu systému. Tento článok neposkytuje dátum benchmarku, certifikácie ani nezávislej recenzie.

## Súvisiace

Tieto entity sú prepojené s týmto článkom. Typ je zobrazený na každom odkaze.

[Control-flow Enforcement (CET): Architektonická referencia](https://feex.it/wiki/l/sk/hardware/system/cet/)[CET-IBT: Architektonická referencia](https://feex.it/wiki/l/sk/hardware/system/cet-ibt/)[Execute Disable (NX): Architektonická referencia](https://feex.it/wiki/l/sk/hardware/system/execute-disable/)

## Zdroje a overenie

Redakčné vlastníctvo: Feex. Nie je zaznamenaný žiadny dátum nezávislej kontroly. [Ako robíme výskum](https://feex.it/wiki/research/).

- [Intel 64 and IA-32 Architectures Software Developer's Manual ](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)· Zväzky 1 a 2 popisujú uvedené rodiny inštrukcií a CPUID; Zväzok 3 popisuje stav, stránkovanie, VMX a ovládacie prvky ochrany. Dokumentácia k architektúre nezaručuje podporu pre konkrétny model.
- [Linuxové jadro: tieňový zásobník Control-flow Enforcement Technology ](https://docs.kernel.org/arch/x86/shstk.html)· Rozlišuje hardvérovú podporu, binárne značky, povolenie v zavádzači a aktívnu ochranu na úrovni vlákna. Popisuje IBT a tieňové zásobníky ako oddelené prostriedky.

## Bol tento článok užitočný?

Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.

Rýchle fakty

Stručná identifikácia tejto stránky. Špecifikácie, zdroje a celý príbeh zostávajú v článku.

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/sk/hardware/system/cet-ss/)

[Developer guide](https://feex.it/wiki/developers/) | [API policy](https://feex.it/developers/api-policy/) | [Agent guidance](https://feex.it/wiki/llms.txt)
