Hauptmenü öffnen

Die Software Guard Extensions (Intel SGX) sind eine Erweiterung der x86-Architektur um sogenannte Enklaven zu erstellen. Diese sind Bereiche innerhalb des Addressraums eines Prozesses die speziell durch die CPU geschützt werden, und für die alle direkten Zugriffe, auch von privilegierten Prozessen, durch die CPU kontrolliert bzw. verhindert werden. Der spezielle Schutz dieses Speicherbereichs umfasst unter anderem transparente Speicherverschlüsselung mit Intergritätsschutz[1].

SGX wurde von Intel entwickelt und mit der Skylake-Mikroarchitektur eingeführt, in welchem Umfang eine CPU die SGX-Befehlssatzerweiterungen unterstützt kann mithilfe der CPUID Instruktion[2] abgefragt werden. Darüber hinaus ist Firmware-Support (BIOS) erforderlich, allerdings lediglich um einen durch SGX geschützten Speicherbereich im RAM zu deklarieren, der dann mittels e820 an das Betriebssystem gemeldet wird.

FunktionBearbeiten

Programmierer können mittels SGX unter anderem durch Prüfung digitaler Signaturen ihre Software besser vor Manipulationen schützen. Sogar auf bereits kompromittierten Betriebssystemen kann Code sicher ausgeführt werden. In geschützten Speicherbereichen, die Enklaven (engl. enclaves) genannt werden, die selbst vor Zugriffen des Betriebssystems geschützt sind, bleibt Software weiterhin ausführbar.[3]

Allerdings ist dafür eine Lizenz und ein "Attestation Key" von Intel nötig, und gemäß dem SGX-Konzept kann man darunter laufende Software weder analysieren noch überwachen.

EinzelnachweiseBearbeiten

  1. Intel® 64 and IA-32 Architectures Software Developer’s Manual. Abgerufen am 31. Januar 2019.
  2. Intel® Architecture Instruction Set Extensions and Future Features Programming Reference. Abgerufen am 31. Januar 2019.
  3. https://software.intel.com/en-us/blogs/2013/09/26/protecting-application-secrets-with-intel-sgx