Google představil projekt Open Se Cura pro vytváření zabezpečených hardwarově-software systémů

Společnost Google představila programově-hardiní systém Open Se Cura, zaměřený na zjednodušení výroby zabezpečených čipů, určených pro úkoly související s strojovým učením a umělou inteligencí. Projekt zahrnuje operační systém CantripOS a hardwarové zařízení založené na platformě OpenTitan a procesorovém jádru vycházejícím z architektury RISC-V. Během vývoje Open Se Cura a CantripOS byly projekty známé jako Sparrow a KataOS, ale aby se vyloučilo překrývání s jinými projekty, byly finální produkty přejmenovány. Výsledky projektu, včetně zdrojových kódů systémových služeb a RTL schémat (Register Transfer Level), jsou distribuovány pod licencí Apache 2.0.

Operační systém CantripOS je založen na mikrojádru seL4, nad nímž běží systémové prostředí napsané v jazyce Rust. Pro mikrojádro seL4 existuje matematický důkaz spolehlivosti, který potvrzuje plné dodržení kódu specifikacím, které byly stanoveny ve formálním jazyce. Architektura seL4 je zajímavá tím, že odděluje části pro řízení prostředků jádra do uživatelského prostoru a používá pro tyto prostředky stejné mechanismy pro správu přístupu jako pro uživatelské prostředky.

Mikrojádro neposkytuje připravené vysoceúrovňové abstrakce pro správu souborů, procesů, síťových připojení apod., místo toho poskytuje pouze minimální mechanismy pro řízení přístupu k fyzickému adresnímu prostoru, přerušení a prostředkům procesoru. Vysoceúrovňové abstrakce a ovladače pro interakci s hardwarem se implementují odděleně nad mikrojádrem ve formě úloh, které běží na uživatelské úrovni. Přístup těchto úloh k dostupným prostředkům mikrojádr lze uspořádat prostřednictvím definice pravidel.

Všechny komponenty OS, s výjimkou mikrojádra, byly původně napsány v jazyce Rust s použitím bezpečných programovacích technik, které minimalizují chyby při práci s pamětí. V jazyce Rust jsou mimo jiné napsány načítač aplikací v prostředí seL4, systémové služby, rámec pro vývoj aplikací, API pro přístup k systémovým voláním, správce procesů a mechanismus dynamického rozdělování paměti.

Pro ověřenou sestavu byl použit nástroj CAmkES, který vyvíjí projekt seL4. Pro vývoj koncových aplikací, které mohou být dynamicky načítány systémovými službami, se doporučuje použít SDK AmbiML a pro provádění modelů strojového učení nástroj IREE (Intermediate Representation Execution Environment). Komponenty napsané v Rustu a systémové služby byly vyvinuty pomocí frameworků Cantrip.

Z oblastí použití platformy se zmiňují specializované čipy, které vyžadují zvláštní úroveň ochrany a potvrzení absence selhání. Například, platforma může být použita v produktech strojového učení, které se zabývají zpracováním důvěrných informací, jako jsou systémy rozpoznávání osob a zpracování hlasových záznamů. Kombinace logicky ověřeného jádra operačního systému s důvěryhodnými hardwarovými komponentami (RoT, Root of Trust) zaručuje, že v případě selhání jedné části systému se toto selhání nešíří na zbytek systému a zejména na jádro a kritické části.

Kromě Google se na vývoji nástrojů a prvků infrastruktury podílela nezisková organizace lowRISC, která dohlíží na vývoj volného mikroprocesoru založeného na architektuře RISC-V, a také společnosti Antmicro a VeriSilicon. Procesor vyvinutý organizací lowRISC byl použit jako jádro pro vytvoření důvěryhodných hardwarových komponent (RoT, Root of Trust). Společnost Antmicro poskytla projektu simulátor Renode, který umožňuje testování CantripOS a mikrojádra seL4 bez skutečného hardwaru. Společnost VeriSilicon sdílela své zkušenosti v oblasti výroby čipů a vývoje BSP (Board Support Package).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster