Siirry sisältöön

Ohjausvuon valvonta (CET)

ArkkitehtuuriviiteFeex

Kutsutaan myös nimellä CET

CET, Control-flow Enforcement Technology, lisää laitteistomekanismeja ohjausvuon suojaamiseksi, pääasiassa varjopinot ja epäsuorien haarojen seurannan. Laitteistotuki ja aktiivinen suojaus tietyssä prosessissa ovat eri tiloja.

Mitä sinun tulee tietää

CET, Control-flow Enforcement Technology, lisää laitteistomekanismeja ohjausvuon suojaamiseksi, pääasiassa varjopinot ja epäsuorien haarojen seurannan. Laitteistotuki ja aktiivinen suojaus tietyssä prosessissa ovat eri tiloja.

Miten se toimii

Varjopinot ylläpitävät suojattua paluuosoitetilaa, kun taas epäsuorien haarojen seuranta rajoittaa seurattujen epäsuorien haarojen kohteita. Ne käsittelevät erilaisia ohjausvuon siirtoja, ja niillä on erillinen luettelointi ja käyttöönotto. Käyttöjärjestelmä, lataaja, sovellusbinaari ja kirjastot osallistuvat suojatun suoritusympäristön toimintaan.

Missä siitä on hyötyä

Sopivasti käännetty sovellus voi toimia käyttöjärjestelmän hallinnoiman varjopinon kanssa, jolloin täsmäämätön paluuosoite laukaisee määritetyn poikkeuksen sen sijaan, että se ohjaisi suoritusta hiljaa toisaalle. Yhteensopivuuskäytäntö voi erota vanhojen moduulien osalta sekä käyttäjätilan ja valvojatilan suojauksen välillä.

Tuen ja käyttöönoton tarkistaminen

Tarkista CPUID.07H.00H:ECX-bitti 7 varjopinon ominaisuudelle ja EDX-bitti 20 epäsuorien haarojen seurannalle, ja tarkasta sitten käyttöjärjestelmän dokumentoitu prosessinsuojaustila. Pelkkä käytettävissä oleva CPU-bitti ei voi vahvistaa suojauksen toteutumista käynnissä olevalle ohjelmalle.

Kyky, käyttöönotto ja valvonta on tarkistettava erikseen. Suoritin voi tukea suojausta, vaikka käyttöjärjestelmä, sovellus tai virtuaalikonekäytäntö ei aktivoi sitä. Tietokannan tukikenttä ei ole todiste käynnissä olevasta järjestelmästä.

Mitä ominaisuus ei takaa

CET-kenttä ei todista, että molemmat aliohminaisuudet ovat läsnä tai käytössä. CET ei tee binaarista luotettavaa, estä jokaista muistin korruptoitumisvirhettä tai korvaa päivityksiä. Suojauksen poistaminen käytöstä maailmanlaajuisesti ei ole rutiininomainen korjaus sovelluksen kaatumiseen.

Yhteensopivuus ja suorituskyky käytännössä

Pidä käyttöjärjestelmä, laiteohjelmisto ja kyseinen suoritusympäristö ajan tasalla. Jos suojaus tuo esiin yhteensopivuusongelman, käytä ensin toimittajan diagnostiikkaa ja tuettuja päivityksiä. Laaja suojauksen vaihtokytkin voi vaikuttaa liittymättömiin sovelluksiin, ja sen tulisi noudattaa nimenomaista käyttöönottotapaa ja palautuskäytäntöä.

Käytännön tarkistuslista todentamiseen

  1. Kirjaa tarkka suoritin- tai alustamalli sekä kyseessä olevat sovellus-, käyttöjärjestelmä- ja ajonaikaiset versiot. Säilytä todellisen virheen tai vaatimuksen sanamuoto.
  2. Tarkista kyseisen tarkan mallin valmistajaviite ja tutki sitten todellinen suorituskyky ja käyttöönottotila ympäristössä, jossa ohjelma suoritetaan.
  3. Vertaa valitun binaarin tai taustajärjestelmän jokaista vaatimusta. Samankaltaisesti nimetty ominaisuus, alias tai laaja teknologiamerkintä ei riitä.
  4. Varmista, että sovellus valitsi aiotun toteutuksen. Käytä sen dokumentoitua diagnostiikkaa ja tuettua vararatkaisua, kun vaatimukset eivät täyty.
  5. Tee yksi tuettu muutos kerrallaan ja toista sama työkuorma. Pidä alkuperäinen kokoonpano ja palautuspolku saatavilla.

Jos ominaisuus on luettelossa, mutta ohjelmisto ei voi käyttää sitä

Aloita tarkasta vikaantuvasta komponentista. Laitteistotietokanta kuvaa tallennettua kykyä; käyttöjärjestelmä tai hypervisori voi tuoda esiin erilaisen todellisen ympäristön. Virheellisen käskyn virhe vaatii myös todellisen virheellisen käskyn ja binaarikäännöksen tutkimista, koska korruptio tai liittymätön tukematon käsky voi aiheuttaa samanlaisen oireen.

Asenna kyseiselle alustalle tuettu sovellus-, ajuri- tai ajoympäristöversio ja käytä tarvittaessa toimittajan dokumentoitua perus- tai varakäännöstä. Ohjelmistopäivitys ei voi luoda käskyä, joka suorittimelta puuttuu. Laiteohjelmisto- ja tietoturvakäytäntömuutosten tulee noudattaa järjestelmävalmistajan menettelyä ja palautussuunnitelmaa yleisen optimointiohjeen sijaan.

Tämän selityksen lähteet ja laajuus

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux-ydin: Control-flow Enforcement Technology -varjopino

Nämä viitteet määrittävät arkkitehtuurisen käyttäytymisen ja ohjelmistovaatimukset. Ne eivät itsenäisesti vahvista kaikkia ominaisuusarvoja linkitetyllä laitteistomallisivulla. Mallikohtaista tukea varten käytä kyseisen sivun valmistajan todisteita ja tarkista todellinen järjestelmäkokoonpano. Tämä artikkeli ei tarjoa suorituskykytestiä, sertifiointia tai riippumatonta arviointipäivämäärää.

Lähteet ja vahvistus

Toimituksellinen omistajuus: Feex. Riippumatonta tarkistuspäivämäärää ei ole kirjattu. Miten tutkimme.

Oliko tämä artikkeli hyödyllinen?

Kyllä tai ei riittää. Valitse halutessasi syy tai lisää lyhyt viesti.

Oliko tämä artikkeli hyödyllinen?