Google zaprezentował projekt Open Se Cura w celu stworzenia zabezpieczonych systemów programowo-sprzętowych

Firma Google zaprezentowała kompleks sprzętowo-programowy Open Se Cura, skoncentrowany na uproszczeniu tworzenia zabezpieczonych chipów, które mają na celu rozwiązanie zagadnień związanych z uczeniem maszynowym i sztuczną inteligencją. Projekt obejmuje system operacyjny CantripOS oraz sprzęt oparty na platformie OpenTitan i rdzeniu procesora zbudowanym na architekturze RISC-V. Podczas rozwoju Open Se Cura i CantripOS używano nazw Sparrow i KataOS, jednak aby uniknąć nakładania się z innymi projektami, finałowe produkty zostały przemianowane. Materiały projektu, w tym kody źródłowe usług systemowych oraz schematy RTL (Register Transfer Level), są dystrybuowane na podstawie licencji Apache 2.0.

System operacyjny CantripOS oparty jest na mikrojądrze seL4, na którym działa środowisko systemowe napisane w języku Rust. Na systemach RISC-V mikrojądro seL4 ma matematyczne dowody niezawodności, które potwierdzają całkowite zgodność kodu ze specyfikacjami określonymi w języku formalnym. Architektura seL4 charakteryzuje się przeniesieniem niektórych części zarządzania zasobami jądra do przestrzeni użytkownika i zastosowaniem tych samych narzędzi ograniczenia dostępu do zarządzania zasobami, co w przypadku zasobów użytkownika.

Mikrojądro nie udostępnia gotowych, wysokopoziomowych abstrakcji do zarządzania plikami, procesami, połączeniami sieciowymi itp., zamiast tego zapewnia jedynie minimalne mechanizmy do zarządzania dostępem do fizycznej przestrzeni adresowej, przerwań i zasobów procesora. Wysokopoziomowe abstrakcje i sterowniki do interakcji ze sprzętem są realizowane oddzielnie, na poziomie użytkownika, w postaci zadań, które są wykonywane w tym środowisku. Dostęp tych zadań do zasobów mikrojądra jest organizowany poprzez określenie zasad.

Wszystkie komponenty systemu operacyjnego, z wyjątkiem mikrojądra, zostały pierwotnie napisane w języku Rust, z zastosowaniem bezpiecznych praktyk programowania, minimalizujących błędy w pracy z pamięcią. W języku Rust napisano m.in. ładowarkę aplikacji w środowisku seL4, usługi systemowe, framework do rozwoju aplikacji, API do dostępu do wywołań systemowych, menedżera procesów oraz mechanizm dynamicznego zarządzania pamięcią.

Aby zweryfikowana kompilacja mogła być wykorzystana, użyto narzędzi CAmkES, rozwijanych przez projekt seL4. Do tworzenia aplikacji końcowych, które mogą być dynamicznie ładowane przez usługi systemowe, zaleca się korzystanie z SDK AmbiML, a do realizacji modeli uczenia maszynowego używa się narzędzia IREE (Intermediate Representation Execution Environment). Komponenty w Rust i usługi systemowe zostały stworzone z wykorzystaniem frameworków Cantrip.

Zastosowania platformy obejmują wyspecjalizowane chipy, które wymagają szczególnego poziomu ochrony oraz weryfikacji braku awarii. Na przykład, platforma może być stosowana w produktach uczenia maszynowego związanych z przetwarzaniem poufnych informacji, takich jak systemy rozpoznawania osób i przetwarzania nagrań głosowych. Połączenie logicznie zweryfikowanego jądra systemu operacyjnego z godnymi zaufania komponentami sprzętowymi (RoT, Root of Trust) gwarantuje, że w przypadku awarii jednej części systemu, awaria ta nie rozprzestrzeni się na resztę systemu, w szczególności na jądro i części krytyczne.

Oprócz Google w rozwoju narzędzi i elementów infrastruktury udział wzięła organizacja non-profit lowRISC, która nadzoruje rozwój otwartego mikroprocesora opartego na architekturze RISC-V, a także firmy Antmicro i VeriSilicon. Rozwijany przez organizację lowRISC procesor został wykorzystany jako rdzeń do budowy godnych zaufania komponentów sprzętowych (RoT, Root of Trust). Firma Antmicro dostarczyła projektowi symulator Renode, który pozwala testować CantripOS i mikrojądro seL4 bez rzeczywistego sprzętu. Firma VeriSilicon podzieliła się swoim doświadczeniem w zakresie tworzenia chipów i opracowywania BSP (Board Support Package).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster