BIOS i UEFI: Czym jest Intel Management Engine i jak go wyłączyć
W ostatnich rozważaniach na temat BIOSu oraz optymalizacji ustawień pod kątem bezpieczeństwa pominęliśmy kilka kwestii, zakładając że należy poświęcić im oddzielną część. Jedną z nich jest funkcja AMT (Intel Active Management Technology), dostarczana przez niesławny, "wbudowany w procesor" układ Intel ME. Niesławny, ponieważ niemożliwy do wyłączenia, kiepsko udokumentowany i "niebezpieczny", z definicji. Trudno znaleźć przychylne opinie na temat ME, wszyscy polecają je wyłączać na ile tylko się da. Z tym, że nie zawsze to możliwe.
09.02.2020 | aktual.: 25.02.2020 07:56
Zamiast po raz setny powtarzać, że AMT jest zbędnym i słabo zabezpieczonym siedliskiem dziur, zanim go wyłączymy, spróbujmy go choć raz użyć. Bo co ten Intel AMT tak naprawdę robi? Czy ktokolwiek widział go w akcji? Może jest przydatny? Cóż, może jest. Ale bardzo wątpię. Poza wielkimi, jednorodnymi wdrożeniami w dużych firmach i instytucjach (a i tam bardzo często pozostaje nieużywany), przydatność Intel AMT jest śladowa, wręcz żadna. Tym bardziej martwi więc jego rozpowszechnienie.
Co to jest?
Silnik Intel ME to sprzętowy komponent wbudowany w chip definiujący platformę sprzętową PC: układ PCH, znany niegdyś pod nazwą mostka północnego (nie jest to już aktualna analogia). PCH rozwiązuje szereg klasycznych ograniczeń sprzętowych PC (jak taktowanie i problemy z przepustowością), ale pozbawia producentów płyt głównych pewnego pola kreatywności w definiowaniu swoich platform przez BIOS.
W konsekwencji prawie nie ma dziś chipsetów dla procesorów Intela które też nie pochodziłyby od Intela: platforma jest zrośnięta na fundamentalnym poziomie. Ponieważ PCH definiuje obecność Intel ME, układ ten jest "wszędzie". Teoretycznie, funkcje zarządzania zdalnego są dostępne tylko dla sprzętu z procesorami serii vPro, ale nazwa "Intel vPro" jest schizofreniczna i niejasna: tanie Celerony nie są "vPro", ale mogą znajdować się na płytach dostarczających niektóre jej cechy.
Intel ME "siedzi" w miejscu pozwalającym na dostęp do wszystkich przetwarzanych danych i komunikację z całym sprzętem. Jest to de facto mały, wysoko zintegrowany SoC, z 32-bitowym procesorem Intel Quark SE, kontrolerem I/O wspólnym z PC i partycją systemową flash z systemem operacyjnym MINIX. Ten "mniejszy pecet" pracuje w komputerze przez cały czas, w każdym trybie zasilania poza... brakiem zasilania (wyciągniętą wtyczką i brakiem akumulatora).
Po co?
Dzięki tak uprzywilejowanej pozycji w komputerze PC, układ Intel ME idealnie nadaje się do zastosowań administracyjnych. Dlatego funkcje AMT wykorzystujące go to między innymi:
- Możliwość zmiany stanu zasilania (zdalne wyłączanie, ale również zdalne uruchamianie
- Podpięcie zdalnych nośników masowych (np. obrazu ISO)
- Port szeregowy przez sieć lokalną (Serial-over-LAN, SOL)
- Filtr pakietów
- Pełny KVM
KVM działa z wykorzystaniem protokołu VNC. Server VNC działa na układzie ME, a nie w systemie operacyjnym. Możliwe jest zatem wejście do BIOSu przez KVM, instalacja systemów operacyjnych itd. System operacyjny nie musi wiedzieć, że jest podglądany (ale wie, sterownik mu o tym mówi, jeżeli jest obecny)
Sterowanie komputerami z ME zachodzi z wykorzystaniem narzędzia Intel Manageability Commander, lub przez... wystawiony na porcie 16993 serwer HTTPS(!) Dostęp do komputera jest chroniony hasłem, które może być ustawione przez użytkownika lub przez zaufany serwer zaopatrujący (provisioning). Domyślnie, dostęp sieciowy jest wyłączony a żaden serwer zaopatrujący nie jest skonfigurowany. AMT jest jednak włączone, a wraz z nim serwery zdalnego zarządzania. Są po prostu skonfigurowane tak, żeby nie odpowiadać (chyba, że ktoś wykorzysta dziurę w zabezpieczeniach, o czym później).
Jak to wyłączyć?
Aby wyłączyć Intel AMT, należy wyłączyć w BIOSie opcję "Intel Active Manageability", przestawiając ją w tryb "Disabled". Komputery z lat 2008-2014 zazwyczaj mają taką opcję. Nowsze nie. W komputerach, w których wyłączenie AMT jest niemożliwe, należy dokonać jego konfiguracji z poziomu "drugiego BIOSu" (Intel MEBx), do którego dostęp... nie jest ustandaryzowany. Czasami do MEBx da się dostać od razu z BIOSu. Czasem z listy nośników. A czasem z użyciem kombinacji klawiszy Ctrl+P.
Natomiast jest tutaj pewien hit: Intel twierdzi, że ta opcja nie jest zdefiniowana przez AMT, a przez dostawcę BIOSu! Co to znaczy? Otóż nie ma pewności, że "wyłączenie AMT" jest równoznaczne z zablokowaniem zdalnego dostępu. W przypadku niektórych komputerów ThinkPad, wyłączenie AMT polega na zresetowaniu ustawień do domyślnych oraz zablokowaniu dostępu do MEBx. Czy to oznacza, że AMT jest wyłączone? Nie!
Gdy uda nam się wedrzeć do środka MEBx (nie chroni przed tym hasło do BIOSu!), otrzymamy możliwość skonfigurowania układu ME oraz funkcji AMT. Konfiguracja ME umożliwia włączenie zdalnego zarządzania ("Activate Network Access"), a konfiguracja AMT pozwala włączać moduł zarządzania ("Manageability Feature Selection") oraz funkcje, jak zdalny port szeregowy KVM oraz komunikaty o nadchodzących połączeniach.
Pozorny wyłącznik
MEBx nie jest BIOSem. Przed dostępem do niego chroni oddzielne hasło. Domyślnie jest to "admin". Reset ustawień BIOSu nie resetuje ustawień AMT! Więc jeżeli nie możemy się dobić do ustawień Intel ME z powodu nieznanego hasła, całkiem możliwe, że do naszego komputera można się zdalnie połączyć. Sprzedawcy używanych komputerów niemal nigdy nie informują o stanie konfiguracji Intel AMT, bo często o nawet nie wiedzą o jego istnieniu. A ustawione w AMT hasło dotyczy nie tylko dostępu do MEBx, ale także właśnie do udostępnianych funkcji, jak wspomniany zdalny KVM.
Powyższe informacje przybliżają cechy środowiska Intel AMT i jego potencjalny zakres możliwości. Na tym etapie możemy zadać trzy konkretne, fundamentalne pytania:
- Jak się połączyć z naszym komputerem przez Intel AMT?
- Jak wyłączyć funkcje zdalnego zarządzania i upewnić się, że są wyłączone?
- Jakie są znane zagrożenia i podatności w AMT i jak przekłada się to na bezpieczeństwo użytkownika (krótka odpowiedź na to pytanie brzmi \CVSS 9.8)
W kolejnej części zajmiemy się połączeniem z AMT i opisaniem specyfiki takiego połączenia (protokół i uwierzytelnienie). Następnie wyłączymy usługi w całości, mając na uwadze różne warstwy, na których działają (niektóre istotnie pracują jako usługi Windows). Na koniec przyjrzymy się znanym lukom w zabezpieczeniach AMT. Nie będzie to łatwa przeprawa.
Wnioski
- Każdy \nowożytny\ (2008+) komputer z procesorem Intel zawiera niemożliwy do usunięcia moduł zarządzający (Intel ME)
- Platformy oznaczone jako biznesowe posiadają wiele opcji przezroczystego zarządzania zdalnego (Intel AMT)
- Wyłączenie funkcji AMT w BIOSie, jeżeli jest w ogóle obecne, nie musi oznaczać rzeczywistego zablokowania zdalnego dostępu, ponieważ specyfikacja AMT nie definiuje przełącznika wyłączającego
- Rzeczywiste ograniczenie działania AMT wymaga użycia innego środowiska niż BIOS (MEBx), do którego dostęp różni się w zależności od producenta płyty