Niskopoziomowe klucze bezpieczeństwa płyty głównej wyciekły podczas naruszenia MSI, twierdzą badacze

Niskopoziomowe klucze bezpieczeństwa płyty głównej wyciekły podczas naruszenia MSI, twierdzą badacze

Węzeł źródłowy: 2641177

Miesiąc temu pisaliśmy o powiadomienie o naruszeniu danych wydany przez głównego producenta płyt głównych MSI.

Firma powiedziała:

Firma MSI niedawno padła ofiarą cyberataku na część swoich systemów informatycznych. […] Obecnie systemy, których dotyczy problem, stopniowo przywracały normalne działanie, bez znaczącego wpływu na działalność finansową. […] MSI namawia użytkowników, aby pobierali aktualizacje firmware/BIOS tylko z oficjalnej strony internetowej i nie używali plików z innych źródeł niż oficjalna strona.

Mea culpa firmy nastąpiła dwa dni po tym, jak gang cybernetyczny o nazwie Money Message twierdził, że ukradł kod źródłowy MSI, narzędzia programistyczne BIOS i klucze prywatne.

W tym czasie przestępcy nadal byli w trybie odliczania i twierdzili, że tak „opublikuj skradzione dane po upływie czasu”:

Zrzut ekranu na trzy godziny przed wygaśnięciem licznika czasu naruszenia [2023-04-07].

Zegar się zatrzymał

„Licznik czasu ujawnienia” na powyższym zrzucie ekranu wygasł 2023, nieco ponad miesiąc temu, ale witryna Money Message w ciemnej sieci jest poza tym niezmieniona od czasu pierwszego wpisu gangu:

Miesiąc później [2023-05-09].

Niemniej jednak badacze z firmy Binarly zajmującej się badaniem luk w zabezpieczeniach twierdzą, że nie tylko przejęli dane skradzione w wyniku naruszenia, ale także przeszukali je w poszukiwaniu wbudowanych kluczy kryptograficznych i uzyskali liczne trafienia.

Jak dotąd Binarly twierdzi Github i Twitter wyodrębnić liczne klucze podpisujące z posiadanych danych, w tym to, co opisuje [2023-05-09T14:00Z] jako:

  • 1 klucz OEM firmy Intel. Najwyraźniej ten klucz może być używany do kontrolowania debugowania oprogramowania układowego na 11 różnych płytach głównych.
  • 27 kluczy do podpisywania obrazów. Binarly twierdzi, że tych kluczy można używać do podpisywania aktualizacji oprogramowania układowego dla 57 różnych płyt głównych MSI.
  • 4 klucze Intel Boot Guard. Te ujawnione klucze najwyraźniej kontrolują weryfikację kodu oprogramowania układowego w czasie wykonywania dla 116 różnych płyt głównych MSI.

Sprzętowa ochrona systemu BIOS

Według Intela własna dokumentacja, nowoczesne płyty główne z procesorami Intela mogą być chronione przez wiele warstw zabezpieczeń kryptograficznych.

Najpierw przychodzi Ochrona BIOS-u, który umożliwia tylko kodowi podpisanemu kluczem kryptograficznym określonym przez producenta uzyskanie dostępu do zapisu w pamięci flash używanej do przechowywania tzw. Początkowy blok rozruchowylub IBB.

Jak sama nazwa wskazuje, IBB to miejsce, w którym znajduje się pierwszy składnik kodu startowego producenta płyty głównej.

Podważenie go dałoby atakującemu kontrolę nad zainfekowanym komputerem nie tylko na poziomie niższym od systemu operacyjnego, który później się ładuje, ale także poniżej poziomu jakichkolwiek narzędzi oprogramowania układowego zainstalowanych w oficjalnym EFI (rozszerzony interfejs oprogramowania układowego) partycja dysku, potencjalnie nawet jeśli ta partycja jest chroniona przez własny system podpisu cyfrowego Bezpiecznego rozruchu oprogramowania układowego.

Po pojawieniu się funkcji BIOS Guard Osłona butów, który weryfikuje kod załadowany z IBB.

Wydaje się, że pomysł polega na tym, że chociaż BIOS Guard powinien przede wszystkim zapobiegać flashowaniu wszelkich nieoficjalnych aktualizacji oprogramowania układowego, odmawiając dostępu do zapisu nieuczciwym narzędziom do aktualizacji oprogramowania układowego…

… nie może powiedzieć, że oprogramowanie układowe „oficjalnie” podpisane przez producenta płyty głównej nie może być zaufane z powodu wycieku klucza podpisywania obrazu oprogramowania układowego.

W tym miejscu wkracza Boot Guard, zapewniając drugi poziom atestacji, który ma na celu wykrycie w czasie wykonywania podczas każdego rozruchu, że w systemie działa oprogramowanie układowe, które nie jest zatwierdzone dla Twojej płyty głównej.

Przechowywanie kluczy jednokrotnego zapisu

Aby wzmocnić poziom weryfikacji kryptograficznej zapewnianej zarówno przez BIOS Guard, jak i Boot Guard oraz powiązać ten proces z konkretną płytą główną lub rodziną płyt głównych, używane przez nie klucze kryptograficzne nie są przechowywane w pamięci flash wielokrotnego zapisu.

Są zbawieni, lub nadęty, mówiąc żargonem, w pamięci jednokrotnego zapisu wbudowanej w samą płytę główną.

Słowo nadęty wynika z faktu, że obwód pamięci jest zbudowany jako seria nanoskopowych „przewodów łączących” zaimplementowanych jako maleńkie bezpieczniki elektryczne.

Te połączenia można pozostawić nienaruszone, co oznacza, że ​​zostaną odczytane jako binarne jedynki (lub 1, w zależności od tego, jak zostaną zinterpretowane) lub „przepalone” – innymi słowy połączone – w jednorazowej modyfikacji, która odwraca je na stałe na binarne 0 (lub 0).

Wyzwolenie procesu wypalania bitów samo w sobie jest chronione bezpiecznikiem, więc producent płyty głównej ma jednorazową szansę na ustawienie wartości tych tzw. Bezpieczniki programowalne przez użytkownika.

To dobra wiadomość.

Po zapisaniu kryptograficznych kluczy weryfikacyjnych funkcji BIOS Guard i Boot Guard w pamięci topikowej zostają one zablokowane na zawsze i nigdy nie może być obalona.

Ale odpowiednią złą wiadomością jest oczywiście to, że jeśli klucze prywatne odpowiadające tym kluczom publicznym bezpiecznym aż do końca wszechświata zostaną kiedykolwiek naruszone, wypalone klucze publiczne nigdy nie można zaktualizować.

Podobnie klucz OEM na poziomie debugowania, jak wspomniano powyżej, zapewnia producentowi płyty głównej sposób na przejęcie kontroli nad oprogramowaniem układowym podczas uruchamiania, w tym oglądanie go instrukcja po instrukcji, poprawianie jego zachowania, szpiegowanie i modyfikowanie danych to trzyma w pamięci, i wiele więcej.

Jak możesz sobie wyobrazić, ten rodzaj dostępu i kontroli nad procesem uruchamiania ma na celu pomóc programistom uzyskać kod bezpośrednio w laboratorium, zanim zostanie on wypalony na płytach głównych, które trafią do klientów.

Firmy Intel dokumentacja zawiera trzy poziomy debugowania.

Zielony oznacza dostęp do debugowania dozwolony dla każdego, który nie powinien ujawniać żadnych tajnych informacji niskiego poziomu ani umożliwiać modyfikowania procesu uruchamiania.

Orange oznacza pełny dostęp do debugowania w trybie odczytu i zapisu dozwolony dla osoby, która ma klucz prywatny odpowiedniego dostawcy.

Czerwony oznacza to samo, co pomarańczowy, ale odnosi się do głównego klucza prywatnego należącego do firmy Intel, który może odblokować płytę główną każdego vnedora.

Jak Intel dość wyraźnie i bez ogródek stwierdza w swojej dokumentacji:

Zakłada się, że Producent Platformy nie udostępni swojego klucza uwierzytelniającego [Tryb Pomarańczowy] żadnemu innemu zestawowi debuggerów.

Niestety Binarly twierdzi, że oszuści ujawnili teraz klucz trybu pomarańczowego, który umożliwia niskopoziomowe debugowanie podczas rozruchu na 11 różnych płytach głównych dostarczonych przez HP, Lenovo, Star Labs, AOPEN i CompuLab.

Uważaj na bootkita

Twierdzenia Binarly wydają się zatem sugerować, że przy użyciu klucza podpisującego oprogramowanie układowe i klucza podpisującego Boot Guard osoba atakująca może nie tylko być w stanie oszukać Ciebie i Twoje narzędzia do aktualizacji oprogramowania układowego w celu zainstalowania czegoś, co wygląda na oryginalną aktualizację oprogramowania układowego…

… ale także być w stanie oszukać płytę główną, która została zablokowana sprzętowo za pomocą ochrony Boot Guard, aby zezwoliła na załadowanie nieuczciwego oprogramowania układowego, nawet jeśli aktualizacja załata sam początkowy blok rozruchowy.

Podobnie, możliwość uruchomienia skradzionego komputera w trybie debugowania oprogramowania układowego może pozwolić atakującemu na uruchomienie lub wszczepienie nieuczciwego kodu, wydobycie tajemnic lub inną manipulację procesem uruchamiania niskiego poziomu, aby pozostawić komputer ofiary w niezaufanym, niebezpiecznym i niepewnym państwo.

Mówiąc najprościej, możesz, przynajmniej teoretycznie, skończyć nie tylko z rootkit, Ale a zestaw rozruchowy.

A rootkit, w żargonie, to kod, który manipuluje jądrem systemu operacyjnego, aby nawet sam system operacyjny nie mógł później wykrywać, zgłaszać lub zapobiegać niektórym rodzajom złośliwego oprogramowania.

Niektóre rootkity mogą zostać aktywowane po załadowaniu systemu operacyjnego, zwykle poprzez wykorzystanie luki w zabezpieczeniach jądra w celu dokonania nieautoryzowanych wewnętrznych zmian w samym kodzie systemu operacyjnego.

Inne rootkity omijają potrzebę luki w zabezpieczeniach na poziomie jądra, podważając część sekwencji startowej opartej na oprogramowaniu układowym, dążąc do aktywacji backdoora bezpieczeństwa przed rozpoczęciem ładowania systemu operacyjnego, narażając w ten sposób część podstawowego kodu, na którym działa opiera się na własnych zabezpieczeniach systemu.

I a zestaw rozruchowy, luźno mówiąc, posuwa to podejście jeszcze dalej, tak że niskopoziomowy backdoor jest ładowany tak wcześnie i możliwie niewykrywalnie, jak to możliwe w procesie ładowania oprogramowania układowego, być może nawet zanim komputer w ogóle zbada i odczyta cokolwiek z dysku twardego.

Bootkit w dół na tym poziomie oznacza, że ​​nawet wyczyszczenie lub wymiana całego dysku twardego (w tym tzw Rozszerzona partycja systemowa interfejsu oprogramowania układowego, w skrócie EFI lub ESP) nie wystarczy do wyleczenia systemu.

Typowa konfiguracja dysku Mac.
Partycja EFI jest odpowiednio oznaczona.
Typowa konfiguracja dysku systemu Windows 11.
Rodzaj Nieruchomości c12a7...ec93b oznacza partycję EFI.

Jako analogię można pomyśleć, że rootkit, który ładuje się po systemie operacyjnym, przypomina trochę próbę przekupienia ławy przysięgłych w celu uniewinnienia oskarżonego w procesie karnym. (Ryzyko takiego zdarzenia jest jednym z powodów, dla których ławy przysięgłych mają zazwyczaj 12, 15 lub więcej członków).

Rootkit, który ładuje się późno w procesie oprogramowania układowego, przypomina trochę próbę przekupienia prokuratora lub głównego śledczego, aby wykonał złą robotę i pozostawił przynajmniej kilka luk w dowodach, przez które winni mogą się przecisnąć.

Ale bootkit bardziej przypomina skłonienie samego ustawodawcy do uchylenia prawa, na podstawie którego oskarżony jest oskarżony, tak aby sprawa, bez względu na to, jak starannie zebrano i przedstawiono dowody, w ogóle nie mogła się toczyć.

Co robić?

Klucze publiczne Boot Guard, raz wypalone na płycie głównej, nie mogą być aktualizowane, więc jeśli odpowiadające im klucze prywatne zostaną naruszone, nie można nic zrobić, aby rozwiązać problem.

Złamane klucze do podpisywania oprogramowania układowego można wycofać i wymienić, co daje narzędziom do pobierania oprogramowania układowego i narzędzi do aktualizacji szansę ostrzeżenia w przyszłości o oprogramowaniu układowym podpisanym niezaufanym kluczem, ale nie zapobiega to aktywnie użyciu skradzionych kluczy do podpisywania .

Zgubienie kluczy do podpisu przypomina trochę utratę fizycznego klucza głównego do każdego piętra i każdego apartamentu w biurowcu.

Za każdym razem, gdy zmieniasz jeden ze złamanych zamków, zmniejszasz użyteczność skradzionego klucza, ale dopóki nie zmienisz każdego zamka, nie rozwiążesz właściwie swojego problemu z bezpieczeństwem.

Ale jeśli natychmiast wymienisz wszystkie zamki w budynku na noc, zamkniesz wszystkich, więc nie będziesz mógł pozwolić prawdziwym najemcom i pracownikom nadal korzystać ze swoich biur przez okres karencji, podczas którego będą mogli wymienić swoje stare klucze dla nowych.

Najlepszym rozwiązaniem w tym przypadku jest zatem ścisłe trzymanie się oryginalnej porady MSI:

[O]otrzymuj aktualizacje oprogramowania sprzętowego/BIOS tylko z oficjalnej strony internetowej [MSI] i [nie] używaj plików ze źródeł innych niż oficjalna strona internetowa.

Niestety, ta rada prawdopodobnie sprowadza się do pięciu nie do końca pomocnych słów i wykrzyknika.

Uważajcie tam, ludzie!


Aktualizacja. Dział PR firmy Intel wysłał do nas wiadomość e-mail z informacją, że firma „jest świadomy tych raportów i aktywnie prowadzi dochodzenie”. Poprosili nas również o zwrócenie na to uwagi „Klucze Intel Boot Guard OEM są generowane przez producenta systemu, [więc] nie są to klucze podpisywania firmy Intel”. Skrót OEM jest skrótem od producent oryginalnego wyposażenia, nieco mylące, ale znane od dawna określenie, które nie odnosi się do dostawcy lub dostawców poszczególnych komponentów wbudowanych w produkt, ale do sprzedawcy, który wyprodukował cały system. Na przykład, gdy kupujesz coś, co możesz nazwać „płytą główną Intela” od MSI, MSI jest OEM, podczas gdy Intel jest dostawcą chipa procesora i być może innych komponentów chipsetu, w sercu gotowego produktu. (Gdyby Twoja płyta główna była linką zabezpieczającą do roweru, Intel wykonałby blokadę, ale producent OEM zespawałby linkę, pokrył produkt powłoką ochronną i wybrał cyfry dla kombinacji.) [2023-05 -09T22:45Z]


Znak czasu:

Więcej z Nagie bezpieczeństwo