Czip OpenTitan o otwartym kodzie źródłowym zastąpi zastrzeżone korzenie zaufania Intela i ARM

Czip OpenTitan o otwartym kodzie źródłowym zastąpi zastrzeżone korzenie zaufania Intela i ARM

Organizacja non-profit niskiRISC z Google i innymi sponsorami 5 listopada 2019 r представила projekt OtwórzTitana, który nazywa się „pierwszym projektem typu open source mającym na celu stworzenie otwartej, wysokiej jakości architektury chipów z elementem zaufania (RoT) na poziomie sprzętowym”.

OpenTitan oparty na architekturze RISC-V to chip specjalnego przeznaczenia do instalacji na serwerach w centrach danych oraz w każdym innym sprzęcie, gdzie konieczne jest zapewnienie autentyczności rozruchu, zabezpieczenie oprogramowania przed zmianami i wyeliminowanie możliwości rootkitów: są to płyty główne, karty sieciowe, routery, urządzenia IoT, gadżety mobilne itp.

Oczywiście podobne moduły istnieją w nowoczesnych procesorach. Na przykład moduł Intel Hardware Boot Guard jest źródłem zaufania do procesorów Intel. Weryfikuje autentyczność systemu UEFI BIOS poprzez łańcuch zaufania przed załadowaniem systemu operacyjnego. Pytanie jednak brzmi, na ile możemy ufać zastrzeżonym korzeniom zaufania, skoro nie mamy gwarancji, że w projekcie nie będzie błędów i nie ma możliwości, aby to sprawdzić? Zobacz artykuł „Zaufane pobieranie Schrödingera. Intel Boot Guard” z opisem „w jaki sposób błąd, który był klonowany przez lata w produkcji kilku dostawców, umożliwia potencjalnemu atakującemu wykorzystanie tej technologii do stworzenia ukrytego rootkita w systemie, którego nie można usunąć (nawet za pomocą programisty).

Groźba kompromisu sprzętowego w łańcuchu dostaw jest zaskakująco realna: najwyraźniej dotyczy to każdego inżyniera-amatora elektroniki może wlutować błąd w płytę główną serweraprzy użyciu sprzętu kosztującego nie więcej niż 200 dolarów. Niektórzy eksperci podejrzewają, że „organizacje z budżetami sięgającymi setek milionów dolarów mogą robić to przez wiele lat”. Chociaż nie ma na to dowodów, teoretycznie jest to możliwe.

„Jeśli nie możesz zaufać sprzętowemu programowi ładującemu, gra się skończyła” mówi Gavin Ferris, członek zarządu lowRISC. - Nie ma znaczenia, co robi system operacyjny - jeśli do czasu załadowania systemu operacyjnego zostaniesz naruszony, reszta jest kwestią technologii. Już skończyłeś.”

Problem ten powinna rozwiązać pierwsza w swoim rodzaju otwarta platforma sprzętowa OpenTitan (Repozytorium GitHuba, dokumentacja, specyfikacje sprzętu). Odejście od własnych rozwiązań pomoże zmienić „powolną i wadliwą branżę RoT” – twierdzi Google.

Sam Google rozpoczął prace nad Titanem po odkryciu systemu operacyjnego Minix wbudowanego w chipy Intel Management Engine (ME). Ten złożony system operacyjny rozszerzył obszar ataku w nieprzewidywalny i niekontrolowany sposób. Google próbowałem pozbyć się Intel Management Engine (ME), ale bezskutecznie.

Co jest źródłem zaufania?

Każdy etap procesu uruchamiania systemu sprawdza autentyczność kolejnego etapu, generując w ten sposób łańcuch zaufania.

Root of Trust (RoT) to uwierzytelnianie sprzętowe, które zapewnia, że ​​źródło pierwszej wykonywalnej instrukcji w łańcuchu zaufania nie może zostać zmienione. RoT to podstawowa ochrona przed rootkitami. Jest to kluczowy etap procesu rozruchu, który bierze udział w późniejszym uruchomieniu systemu - od BIOS-u po system operacyjny i aplikacje. Musi weryfikować autentyczność każdego kolejnego etapu pobierania. W tym celu na każdym etapie wykorzystywany jest zestaw kluczy podpisanych cyfrowo. Jednym z najpopularniejszych standardów ochrony kluczy sprzętowych jest TPM (Trusted Platform Module).

Czip OpenTitan o otwartym kodzie źródłowym zastąpi zastrzeżone korzenie zaufania Intela i ARM
Utworzenie źródła zaufania. Powyżej przedstawiono pięcioetapowy proces rozruchu, który tworzy łańcuch zaufania, zaczynając od programu ładującego w niezmiennej pamięci. W każdym kroku używany jest klucz publiczny w celu sprawdzenia tożsamości następnego komponentu, który ma zostać załadowany. Ilustracja z książki Perry'ego Lee „Architektura Internetu Rzeczy”

RoT można uruchomić na różne sposoby:

  • ładowanie obrazu i klucza głównego z oprogramowania sprzętowego lub pamięci niezmiennej;
  • przechowywanie klucza głównego w jednorazowo programowalnej pamięci za pomocą bitów bezpiecznikowych;
  • Ładowanie kodu z chronionego obszaru pamięci do chronionej pamięci.

Różne procesory w różny sposób implementują pierwiastek zaufania. Intela i ARM'a
obsługuje następujące technologie:

  • Strefa zaufania ARM. ARM sprzedaje producentom chipów zastrzeżony blok krzemowy, który zapewnia źródło zaufania i inne mechanizmy bezpieczeństwa. To oddziela mikroprocesor od niepewnego rdzenia; działa na nim Trusted OS, bezpieczny system operacyjny z dobrze zdefiniowanym interfejsem do interakcji z niezabezpieczonymi komponentami. Chronione zasoby znajdują się w zaufanym rdzeniu i powinny być tak lekkie, jak to możliwe. Przełączanie między komponentami różnych typów odbywa się za pomocą sprzętowego przełączania kontekstu, co eliminuje potrzebę bezpiecznego oprogramowania monitorującego.
  • Intel Boot Guard to mechanizm sprzętowy służący do weryfikacji autentyczności początkowego bloku startowego za pomocą środków kryptograficznych lub poprzez proces pomiarowy. Aby zweryfikować blok początkowy, producent musi wygenerować 2048-bitowy klucz, który składa się z dwóch części: publicznej i prywatnej. Klucz publiczny jest drukowany na płytce poprzez „detonację” bezpieczników podczas produkcji. Bity te są jednorazowego użytku i nie można ich zmieniać. Prywatna część klucza generuje podpis cyfrowy w celu późniejszego uwierzytelnienia na etapie pobierania.

Platforma OpenTitan udostępnia kluczowe części takiego systemu sprzętu/oprogramowania, jak pokazano na poniższym schemacie.

Czip OpenTitan o otwartym kodzie źródłowym zastąpi zastrzeżone korzenie zaufania Intela i ARM

Platforma OpenTitan

Rozwój platformy OpenTitan jest zarządzany przez organizację non-profit lowRISC. Zespół inżynierów ma siedzibę w Cambridge (Wielka Brytania), a głównym sponsorem jest Google. Partnerami założycielami są ETH Zurich, G+D Mobile Security, Nuvoton Technology i Western Digital.

Google opublikował ogłoszenie projektu na firmowym blogu Google Open Source. Firma stwierdziła, że ​​OpenTitan jest zaangażowany w „zapewnianie wysokiej jakości wskazówek dotyczących projektowania i integracji RoT do wykorzystania w serwerach, pamięciach masowych, urządzeniach brzegowych i nie tylko w centrach danych”.

Korzeń zaufania to pierwsze ogniwo w łańcuchu zaufania na najniższym poziomie w zaufanym module obliczeniowym, któremu system zawsze ufa w pełni.

RoT ma kluczowe znaczenie dla aplikacji, w tym infrastruktur klucza publicznego (PKI). Stanowi fundament systemu bezpieczeństwa, na którym opiera się złożony system, taki jak aplikacja IoT czy centrum danych. Jasne jest więc, dlaczego Google wspiera ten projekt. Obecnie posiada 19 centrów danych na pięciu kontynentach. Centra danych, pamięć masowa i aplikacje o znaczeniu krytycznym stanowią ogromną powierzchnię ataku, dlatego aby chronić tę infrastrukturę, firma Google początkowo opracowała własne źródło zaufania na chipie Titan.

Zastrzeżony chip Titan dla centrów danych Google został po raz pierwszy wprowadzony w marcu 2017 r na konferencji Google Cloud Next. „Nasze komputery przeprowadzają kontrolę kryptograficzną każdego pakietu oprogramowania, a następnie decydują, czy udzielić mu dostępu do zasobów sieciowych. Titan integruje się z tym procesem i oferuje dodatkowe warstwy ochrony” – powiedzieli przedstawiciele Google podczas tej prezentacji.

Czip OpenTitan o otwartym kodzie źródłowym zastąpi zastrzeżone korzenie zaufania Intela i ARM
Chip Titan na serwerze Google

Architektura Titan była wcześniej własnością Google, ale obecnie stała się własnością publiczną jako projekt open source.

Pierwszym etapem projektu jest stworzenie logicznego projektu RoT na poziomie chipa, zawierającego mikroprocesor typu open source koziorożec lowRISC, procesory kryptograficzne, sprzętowy generator liczb losowych, hierarchie kluczy i pamięci dla pamięci nieulotnej i nieulotnej, mechanizmy bezpieczeństwa, urządzenia peryferyjne we/wy i bezpieczne procesy rozruchu.

Google twierdzi, że OpenTitan opiera się na trzech kluczowych zasadach:

  • każdy ma możliwość sprawdzenia platformy i wniesienia wkładu;
  • zwiększona elastyczność poprzez otwarcie logicznie bezpiecznego projektu, który nie jest blokowany przez zastrzeżone ograniczenia dostawcy;
  • jakość zapewnianą nie tylko przez sam projekt, ale także przez referencyjne oprogramowanie sprzętowe i dokumentację.

„Obecne chipy oparte na zaufaniu są bardzo zastrzeżone. Twierdzą, że są bezpieczne, ale w rzeczywistości przyjmujesz to za oczywistość i nie możesz tego sam zweryfikować, mówi Dominic Rizzo, główny specjalista ds. bezpieczeństwa w projekcie Google Titan. „Teraz po raz pierwszy możliwe jest zapewnienie bezpieczeństwa bez ślepej wiary w twórców autorskiego projektu root of trust. Zatem podstawy są nie tylko solidne, ale można je zweryfikować.”

Rizzo dodał, że OpenTitan można uznać za „projekt radykalnie przejrzysty w porównaniu z obecnym stanem rzeczy”.

Według twórców OpenTitan w żadnym wypadku nie powinien być uważany za gotowy produkt, ponieważ prace nad nim nie zostały jeszcze zakończone. Celowo udostępnili specyfikacje i projekt w połowie prac rozwojowych, aby każdy mógł je przejrzeć, przekazać uwagi i ulepszyć system przed rozpoczęciem produkcji.

Aby rozpocząć produkcję chipów OpenTitan, należy złożyć wniosek i uzyskać certyfikat. Najwyraźniej nie są wymagane żadne tantiemy.

Źródło: www.habr.com

Dodaj komentarz