Ugrás a tartalomra

SGX

Architektúra-hivatkozásFeex

Az Intel SGX, a Software Guard Extensions, enklávé-végrehajtási funkciókat nyújt meghatározott fenyegetettségi modellel és szoftverfelülettel. A CPU-támogatás nem elegendő annak megállapításához, hogy egy enklávé-alkalmazás futhat-e egy adott rendszeren.

Amit tudni érdemes

Az Intel SGX, a Software Guard Extensions, enklávé-végrehajtási funkciókat nyújt meghatározott fenyegetettségi modellel és szoftverfelülettel. A CPU-támogatás nem elegendő annak megállapításához, hogy egy enklávé-alkalmazás futhat-e egy adott rendszeren.

Hogyan működik

Az SGX definiálja az enklávé-memóriát, valamint a belépési/kilépési mechanizmusokat, az enklávé-oldalgyorsítótárat pedig platform- és operációsrendszer-támogatással kezeli. Egy enklávé-alkalmazás szétválasztja a megbízható és a nem megbízható komponenseket, és igazolást (attestation) használhat az enklávé identitásának megállapítására. A használható enklávé-memória mérete és a támogatott indítási házirend platformspecifikus.

Ahol hasznos

Egy alkalmazás egy szűk körű számítást és titkokat helyezhet el egy enklávéban, miközben a környező gazdagépet a megbízhatósági határain kívüliként kezeli. Az I/O, a nem megbízható bemenetek, a kivételkezelés és az oldalsó csatornák szempontjai továbbra is kifejezett tervezést igényelnek.

A támogatás és az engedélyezés ellenőrzése

Ellenőrizze a CPUID.07H.00H:EBX 2. bitjét és az SGX-specifikus CPUID 12H levél információit, majd ellenőrizze a firmware-konfigurációt, az illesztőprogram/futtatókörnyezet támogatását és az alkalmazás igazolási követelményeit. Kövesse a pontos platform támogatott konfigurációját.

A képességet, az engedélyezést és a kényszerítést külön kell ellenőrizni. Előfordulhat, hogy a processzor támogat egy védelmet, miközben az operációs rendszer, az alkalmazás vagy a virtuális gép házirendje nem aktiválja azt. Az adatbázisban található támogatási mező nem minősül egy futó rendszer igazolásának.

Amit a funkció nem biztosít

Az SGX címke nem garantálja az SGX1/SGX2 részleteket, a rugalmas indításvezérlést (Flexible Launch Control), az igazolási szolgáltatás elérhetőségét vagy egy adott enklávé-memóriakapacitást. Nem tesz tetszőleges, módosítatlan alkalmazást bizalmassá, és nem szüntet meg minden oldalsó csatornát.

Kompatibilitás és teljesítmény a gyakorlatban

Tartsa naprakészen az operációs rendszert, a firmware-t és az érintett futtatókörnyezetet. Ha egy védelmi funkció kompatibilitási problémát tár fel, először a gyártói diagnosztikát és a támogatott frissítéseket használja. Egy átfogó védelmi kapcsoló nem kapcsolódó alkalmazásokat is érinthet, ezért kifejezett bevezetési és helyreállítási házirendet kell követnie.

Gyakorlati ellenőrzőlista

  1. Rögzítse az érintett processzor vagy platform pontos modelljét, valamint az alkalmazás, az operációs rendszer és a futtatókörnyezet verzióját. Őrizze meg a tényleges hiba vagy követelmény pontos szövegezését.
  2. Ellenőrizze az adott modellhez tartozó gyártói referenciát, majd vizsgálja meg a tényleges képességet és az engedélyezett állapotot abban a környezetben, ahol a program fut.
  3. Vesse össze a kiválasztott bináris vagy háttérrendszer minden követelményét. Egy hasonló elnevezésű funkció, álnév vagy tág technológiai címke nem elegendő.
  4. Győződjön meg arról, hogy az alkalmazás a kívánt implementációt választotta ki. Használja annak dokumentált diagnosztikai eszközeit és egy támogatott tartalék megoldást, ha a követelmények nem teljesülnek.
  5. Egyszerre csak egy támogatott módosítást hajtson végre, és ismételje meg ugyanazt a munkaterhelést. Tartsa elérhetően az eredeti konfigurációt és a helyreállítási útvonalat.

Ha a funkció szerepel a listán, de a szoftver nem tudja használni

Kezdje a hibát jelző pontos komponenssel. A hardveradatbázis a rögzített képességet írja le; az operációs rendszer vagy a hipervizor ettől eltérő tényleges környezetet tehet elérhetővé. Az érvénytelen utasítás miatti hiba (illegal-instruction) esetén a ténylegesen hibát okozó utasítást és a bináris összeállítást is vizsgálni kell, mivel az adatsérülés vagy egy nem kapcsolódó, nem támogatott utasítás is hasonló tünetet produkálhat.

Telepítse az adott platformhoz támogatott alkalmazás-, illesztőprogram- vagy futtatókörnyezet-verziót, és szükség esetén használja a gyártó által dokumentált alapértelmezett vagy tartalék változatot. Egy szoftverfrissítés nem hozhat létre olyan utasítást, amellyel a processzor nem rendelkezik. A firmware- és biztonságipolitika-módosítások során a rendszer gyártójának eljárását és egy helyreállítási tervet kell követni egy általános optimalizálási recept helyett.

A magyarázat forrásai és hatóköre

Intel 64 and IA-32 Architectures Software Developer's Manual · Intel SGX fejlesztői referencia-implementáció

Ezek a hivatkozások az architekturális viselkedést és a szoftverkövetelményeket határozzák meg. Nem ellenőrzik függetlenül a hivatkozott hardvermodell oldalán található összes funkcióértéket. A modell támogatásához használja az adott oldal gyártói bizonyítékait, és ellenőrizze a tényleges rendszerkonfigurációt. Ez a cikk nem tartalmaz teljesítménytesztet, tanúsítást vagy független felülvizsgálati dátumot.

Források és ellenőrzés

Szerkesztői jogtulajdonos: Feex. Független felülvizsgálati dátum nincs rögzítve. Hogyan kutatunk.

Hasznos volt ez a cikk?

Egy igen vagy nem is elég. Válasszon egy indokot, ha szeretne, vagy írjon egy rövid megjegyzést.

Hasznos volt ez a cikk?