;

Co je confidential computing?

11. 8. 2021
Doba čtení: 4 minuty

Sdílet

 Autor: Depositphotos
IT bezpečnost prochází turbulentním obdobím. Jedním z nových konceptů, které by měly bezpečnost vylepšit, je confidential computing. Bezpečnost zůstává jednou ze tří hlavních obav prakticky všech podniků, a to jak těch, které provozují vlastní datová centra, tak těch, jež přešly na cloud – ať čistě veřejný či hybridní. Tvůrci aplikací, dodavatelé hardwaru i poskytovatelé cloudových služeb se usilovně snaží bezpečnost posílit.

Většina dosavadních snah o zajištění bezpečnosti se zaměřovala na ochranu uložených nebo přenášených dat pomocí šifrování a šifrování dat uchovávaných v databázích či putujících přes sítě LAN/WAN je dnes důležitou součástí prakticky všech systémů. Téměř každý výpočetní systém včetně chytrých telefonů disponuje interním šifrováním dat podporovaným hardwarově na úrovni procesorů. Jedna možnost překonání ochrany šifrováním však zůstávala opomenuta, a to situace, kdy útočník získá přístup k hardwaru zařízení buď prostřednictvím škodlivé aplikace, nebo průniku postranním kanálem.

Při zpracování musejí být data dešifrovaná, což představuje skutečnou zranitelnost. Má-li v této fázi útočník přístup k operační paměti, veškerá data mu jsou jednoduše k dispozici. Toto riziko odstraňuje koncept nazvaný Confidential Computing (CC), který má zajistit důvěrnost zpracovávaných dat.

Co je to?

V roce 2019 konsorcium Linux Foundation založilo organizaci Confidential Computing Consortium. Jeho cílem je definovat standardy confidential computingu a podporovat a propagovat vývoj otevřených CC nástrojů a rámců. Členy konsorcia jsou Alibaba, AMD, Arm, Facebook, Fortanix, Google, Huawei, IBM (Red Hat), Intel, Microsoft, Oracle, Swisscom, Tencent a VMware. Některé z těchto firem již vyvinuly vlastní nástroje, je ale pravděpodobné, že ty se v budoucnu stanou součástí otevřenějšího rámce CC vzhledem k tomu, že za celou iniciativou stojí Linux Foundation. Iniciativa se výslovně soustředí na „právě užívaná data“, nikoli na data „přenášená“ či „uložená“. Mezi dosavadní příspěvky podle webových stránek konsorcia CCC patří:

  • Software Guard Extensions (Intel SGX) SDK – pomáhá vývojářům aplikací chránit vybraný kód a data před únikem nebo pozměněním na hardwarové úrovni pomocí chráněných enkláv v operační paměti.
  • Open Enclave SDK – otevřený rámec, který umožňuje vývojářům budovat aplikace pro prostředí Trusted Execution Environment (TEE), přičemž jednou vytvořená aplikace by fungovala v různých TEE architekturách.
  • Enarx – projekt zaměřený na hardwarovou nezávislost zabezpečení aplikací pomocí TEE. Jde o probíhající snahu o standardizaci a do budoucna se bezpochyby objeví mnoho dalších projektů. Ty by však nakonec měly být začleněny do zmiňovaného otevřeného rámce CC.

Čím se CC odlišuje?

Na rozdíl od šifrování dat využívá CC hardwarové funkce k vytvoření „důvěryhodného běhového prostředí“ (TEE) pro data, výpočetní funkce nebo celou aplikaci. CC izoluje tuto uzavřenou oblast před operačním systémem nebo virtuálním strojem, a chrání ji tak proti potenciální kontaminaci, protože do ní nemá přístup nikdo, kdo není danému TEE přiřazen. TEE tedy zabrání veškerým pokusům o pozměnění kódu aplikace nebo manipulaci s daty. To je obzvlášť důležité u kritických systémů s mnoha uživateli, například virtualizovaných a veřejných cloudových systémů, kde je křížová kontaminace dat reálnou hrozbou. Někteří potenciální zákazníci veřejných cloudových služeb se konkrétně z tohoto důvodu rozhodli je nevyužívat.
Proč právě teď?

Klíčem k fungování CC jsou důvěryhodná běhová prostředí. Ta již nějakou dobu existují v architektuře Arm (Trust Zone) i x86 (např. Intel SGX). Prvotní implementace tohoto konceptu se začaly objevovat již před více než deseti lety v podobě TPM modulů poměrně běžně instalovaných do PC. Rozdíl oproti moderní verzi spočívá v tom, že dnešní TTE je nedílnou součástí procesoru, nikoli externím rozšířením napadnutelným přes sběrnici.

Navzdory tomu, že systémy TEE jsou již nějakou dobu k dispozici, jen málo podniků je využívá a mnoho dodavatelů aplikací je ani nepodporuje. Důvodem je obtížná implementace a potřeba specifického kódu v aplikaci, který vynutí užívání prostředí TEE. Prostředí TEE navíc nebylo univerzálně k dispozici u všech procesorů (např. některé modely Intel Xeon SGX podporují, jiné nikoli) a jeho implementace nebyla kompatibilní ani v rámci jednotlivých rodin procesorů. Výsledkem je, že mnoho podniků nevyužívá důležitou metodu zabezpečení.

bitcoin_skoleni

Co se změnilo?

Přechod do multitenantních cloudových prostředí vyžaduje lepší ochranu integrity dat zákazníků a některých proprietárních algoritmů pro jejich zpracování. Poskytovatelé cloudových služeb proto zákazníkům nabízejí snadný způsob, jak zprovozňovat nové CC instance. Díky tomu podniky nemusejí mít pro provoz aplikací vlastní CC systémy. Vydělají na tom obě strany – zákazníci dostávají, co potřebují k ochraně dat, a cloudoví poskytovatelé nabízejí něco, co sami klienti nemají k dispozici. To je možné díky podpoře konceptu CC u rostoucího okruhu procesorů. A vzhledem k tomu, že provozovatelé veřejných cloudů obvykle získávají nové špičkové procesory hned v prvních vlnách, dostávají se zákazníci k novým schopnostem mnohem dříve, než kdyby si je pořizovali sami. Dodavatelé aplikací mohou díky dostupnosti hardwaru a cloudových vývojových nástrojů do svých produktů CC rychle začlenit a počítat s lepší návratností svých investic.

Co by měly podniky dělat?

Koncepty, na nichž je confidential computing založený, nejsou nové, ale dostupnost prostředí TEE a CC v cloudu tyto technologie zpřístupňují podnikům, které potřebují chránit data před zranitelnostmi aplikací. Zákazníci by se měli obrátit na své dodavatele klíčových aplikací a implementaci CC požadovat v co nejkratším horizontu. CC může výrazně posílit informační bezpečnost tím, že prakticky eliminuje nebezpečí zneužití zpracovávaných dat v paměti. Samozřejmě neexistuje 100% zabezpečení, ale CC představuje významný pokrok a měl by být zaváděn všude, kde je to možné, zejména u aplikací provozovaných v cloudu. Lze očekávat, že během roku až dvou let se CC stane především v cloudu standardním přístupem.