Luka w chipsetach Intela umożliwiająca wyodrębnienie klucza głównego platformy

Naukowcy z Pozytywnych Technologii ujawnił słaby punkt (CVE-2019-0090), który umożliwia, jeśli masz fizyczny dostęp do sprzętu, wyodrębnienie klucza głównego platformy (klucz chipsetu), który jest używany jako główny element zaufania podczas weryfikacji autentyczności różnych komponentów platformy, w tym TPM (Trusted Platform Module) i Oprogramowanie układowe UEFI.

Przyczyną luki jest błąd w sprzęcie i oprogramowaniu Intel CSME, który znajduje się w boot ROMie, co uniemożliwia naprawienie problemu w już używanych urządzeniach. Ze względu na obecność okna podczas restartu Intel CSME (na przykład podczas wznawiania z trybu uśpienia), poprzez manipulację DMA możliwy jest zapis danych do pamięci statycznej Intel CSME i modyfikacja już zainicjowanych tablic stron pamięci Intel CSME w celu przechwycenia wykonania, odzyskać klucz platformy i uzyskać kontrolę nad generowaniem kluczy szyfrujących dla modułów Intel CSME. Szczegóły wykorzystania luki zostaną opublikowane w późniejszym terminie.

Oprócz wyodrębnienia klucza błąd umożliwia także wykonanie kodu z zerowym poziomem uprawnień Intel CSME (Konwergentny silnik bezpieczeństwa i zarządzania). Problem dotyczy większości chipsetów Intela wydanych na przestrzeni ostatnich pięciu lat, jednak w 10. generacji procesorów (Ice Point) problem już nie występuje. Firma Intel dowiedziała się o problemie około rok temu i wypuściła go aktualizacje oprogramowania sprzętowego, które choć nie mogą zmienić podatnego kodu w ROM-ie, starają się blokować możliwe ścieżki exploitów na poziomie poszczególnych modułów Intel CSME.

Możliwe konsekwencje uzyskania klucza głównego platformy obejmują obsługę oprogramowania sprzętowego komponentów Intel CSME, naruszenie systemów szyfrowania multimediów opartych na Intel CSME, a także możliwość fałszowania identyfikatorów EPID (Ulepszony identyfikator prywatności), aby uchodzić za inny komputer i ominąć ochronę DRM. W przypadku naruszenia bezpieczeństwa poszczególnych modułów CSME firma Intel zapewniła możliwość ponownego wygenerowania powiązanych kluczy przy użyciu mechanizmu SVN (Security Version Number). W przypadku dostępu do klucza głównego platformy mechanizm ten nie jest skuteczny, gdyż klucz główny platformy służy do wygenerowania klucza do szyfrowania bloku kontroli integralności (ICVB, Integrity Control Value Blob), którego uzyskanie umożliwia z kolei sfałszuj kod dowolnego modułu oprogramowania sprzętowego Intel CSME.

Należy zauważyć, że klucz główny platformy jest przechowywany w postaci zaszyfrowanej, a do całkowitego skompromitowania konieczne jest dodatkowo określenie klucza sprzętowego przechowywanego w SKS (Secure Key Storage). Podany klucz nie jest unikalny i jest taki sam dla każdej generacji chipsetów Intel. Ponieważ błąd umożliwia wykonanie kodu na etapie przed zablokowaniem mechanizmu generowania klucza w SKS, przewiduje się, że prędzej czy później ten klucz sprzętowy zostanie wykryty.

Źródło: opennet.ru

Dodaj komentarz