Intel Management Engine: jak wykorzystać wbudowany zdalny pulpit
Po przedyskutowaniu czym jest i dlaczego powstał układ Intel ME będący sercem technologii AMT, czas zobaczyć do czego tak naprawdę da się go wykorzystać. Pozwoli to samodzielnie wyrobić sobie opinię na temat bezpieczeństwa całego rozwiązania. Zdecydowanie nie pomoże w tym bowiem sama dokumentacja Intela ani... portale technologiczne, często opisujące AMT w niepełny, nierzetelny i wewnętrznie sprzeczny sposób. Wiedza na temat AMT jest zaskakująco trudna do przyswojenia.
Intel AMT jest zaprojektowany do masowych wdrożeń. Układem da się zarządzać z wykorzystaniem mechanizmów centralnej administracji lub za pomocą nośników konfiguracyjnych, dostarczających podpisane pliki z ustawieniami. Pojedyncze maszyny da się zaopatrywać w konfigurację ręcznie, za pomocą panelu administracyjnego. To żmudne, ale wykonalne.
Uruchomienie KVM
Pierwszym krokiem jest dostanie się do owego panelu. Jak już wiemy, może to być niełatwe. W przypadku komputerów Lenovo jest to kombinacja klawiszy Ctrl+P oraz potwierdzenie przyciskiem 1. Pierwsze uruchomienie panelu na komputerze niezaopatrzonym (not provisioned) w konfigurację za pomocą narzędzi korporacyjnych powinno akceptować hasło "admin".
Hasło
Jeżeli hasło nie pasuje, to zapewne sprzęt został skonfigurowany wcześniej. To może być bardzo zła wiadomość: w optymistycznym przypadku, komputer ustawiono w jakiejś firmie i nie wyczyszczono ustawień. W gorszym, ktoś ma dostęp do mechanizmów zdalnego zarządzania naszym pecetem.W ramach pierwszego logowania konieczna jest zmiana hasła. Panel AMT ma podstawowe wymagania dotyczące złożoności haseł, nie mówi o nich, ale odrzuci hasła, które uzna za zbyt słabe.
Funkcje
Następnie należy przejść do opcji AMT ("Intel AMT Configuration") oraz do sekcji wyboru funkcji ("Feature Selection"). Pełny moduł KVM wymaga uruchomienia następujących składników:
- IDE-R Storage Redirection (starsza wersja przekierowywania nośników danych)
- SOL (port szeregowy przez sieć LAN)
- Manageability Feature (zdalne zarządzanie, to właśnie ta opcja musi być wyłączona, by Intel ME przestał działać)
- KVM
Po włączeniu wszystkich powyższych funkcji ("Enabled"), należy udać się do ustawień ME ("Intel ME Settings") i wybrać opcję "Active Network Access". Panel zapyta nas krzykliwie, czy na pewno wiemy co robimy. Nadużywając nieco naiwności owego pytania, wybierzmy "Yes". Od tego momentu Intel ME jest dostępny w sieci. Jest jednak dostępny w niej w bardzo dziwny i niekoniecznie oczywisty sposób, będący naturalnie zaprzeczeniem bezpieczeństwa. Za chwilę stanie się jasne, dlaczego.
Konfiguracja sieci
Panel Intel AMT zawiera również ekrany do konfiguracji sieci. Nie znajdziemy w nich jednak konfiguracji adresów IP (opcja pominięcia DHCP może być nieobecna). Zamiast tego jest bardzo dużo pól do odświeżania danych DNS, zdefiniowania alternatywnej nazwy komputera, łańcucha FQDN oraz filtrowania ICMP. Ta nietypowa, mocno odmienna od obecnej w klienckich systemach metodyka konfiguracji wynika z dwóch kwestii, definiujących naturę Intel AMT.
Active Management powstało jako narzędzie do wykorzystania w dużych przedsiębiorstwach stosujących rozległe, jednorodne wdrożenia. Duże firmy przeprowadzają wdrożenia na mniej więcej podobną modłę (różniąc się drastycznie szczegółami). Obowiązkowymi elementami owych wdrożeń są centralny dostawca tożsamości, autorytatywny i podpisany DNS oraz jednoznaczna sieć.
Zapewnienie owych elementów odbywa się nierzadko z użyciem domeny Active Directory z DNSSec. Jednoznaczność sieci jest trudniejsza do zapewnienia, zaskakująco łatwo bowiem "zatruć" sieć IP fałszywymi pakietami i podszywać się pod nieproszonych konsumentów DHCP. Niuanse bezpieczeństwa sieci zdecydowanie wykraczają poza możliwości systemu Windows Server, skutkiem czego są realizowane na innej warstwie.
Intel ME nie przejmuje się zatem tym, jaki dostanie adres IP, a zakłada że jest jednoznacznie rozpoznawany w sieci. Konsole zarządzające komputerami z AMT odwołują się do nich, korzystając z nazw hosta, a nie z adresów IP. Jeżeli w sieci nie ma autorytatywnego serwera DNS, wykorzystają nazwę rozgłaszaną przez system operacyjny (NetBIOS, LLMNR i nowsze). Na tej podstawie przeprowadzają odkrywanie komputera w sieci (discovery).
W sieciach przewodowych, pakiety są analizowane pod kątem bycia wezwaniami AMT przez sam kontroler ethernet, zanim przetwarzane dane zdążą dotrzeć do sterownika. Intel mówi o tym jasno w swojej dokumentacji, ale jak się okaże, podział obowiązków między systemem, usługami, sterownikiem, kartą sieciową i układem ME jest naprawdę daleki od bycia jasnym.
Konsola zarządzania
Kliencka konsola "Intel® Manageability Commander", czyli odchudzona wersja narzędzi zarządzania AMT, możliwa do pobrania z działu wsparcia Intela, pozwala dodawać komputery, podając ich hostname lub FQDN, ale nie adres IP. Po dodaniu i poprawnym wykryciu, narzędzie poprosi o hasło i przedstawi inwentarz urządzenia. Umożliwia to przejrzenie logów POST, sprawdzenie wersji oprogramowania mikrokontrolerów oraz przejrzenie zestawu odblokowanych funkcji AMT. Jeżeli zarządzanie zdalne jest włączone, ale LVM nie, możemy go sobie zdalnie włączyć sami.
Sekcja Remote Desktop jest dokładnie tym, co można podejrzewać. A nawet czymś więcej: "desktop" oznacza tu mechanizm interakcji, a nie pulpit Windows. Działa bowiem nawet, gdy system "leży" (bluescreen). Połączenie odbywa się za pomocą serwera VNC na porcie 5900... ale system operacyjny nie wie, że na tym porcie cokolwiek słucha. Bo nie słucha. To Intel ME podkrada pakiety bezpośrednio z karty sieciowej, wiedząc że są one kierowane z konsoli zarządzania AMT. W systemie może niezależnie działać drugi, prawdziwy serwer VNC, na tym samym porcie.
Połączenie nie jest jednak całkowicie niewidzialne. Podczas trwania sesji, w prawym górnym rogu przez cały czas miga ikona połączenia zdalnego, a pęk sterowników Intel ME optymalizuje wykorzystanie urządzeń wskazujących dodatkowymi, wirtualnymi urządzeniami. AMT zachowuje pewien poziom interakcji z systemem operacyjnym, ale potęguje to złożoność całego rozwiązania do tego stopnia, że chyba byłoby lepiej, gdyby tego nie robił.
Naturalnie, nie jest to kompletne voodoo. Łączność następuje przez warstwę TCP/IP, za pomocą pakietów adresowanych do konkretnego komputera, standardowym i szyfrowanym protokołem, tworząc wykrywalne połączenia i odwracalną komunikację. Server VNC być może jest "tajny" i zaszyty w chipset, ale nie jest aż taką egzotyką, jak można by zakładać. Niemniej, przeraża.
Jak się tego pozbyć?
Usunięcie ME jest niemożliwe, a wyłączenie AMT, jak wiemy, jest nieoczywiste. Przestawienie opcji w BIOSie może pogorszyć sytuację, nie wyłączając, a resetując ustawienia AMT (w tym hasło "admin"). Konieczne jest wejście do panelu zarządzania i wyłączenie widoczności w sieci oraz funkcji zdalnego zarządzania, jak opisano wyżej.
Ale to nie wystarczy. Należy także wyłączyć systemową usługę "Local Manageability Service", dostarczaną wraz ze sterownikiem. Komunikuje się ona z ME bezpośrednio, przez sterownik, wyprowadzając tę funkcję przez sieć. Więcej na jej temat w następnym odcinku. Wtedy też pojawią się konkluzje.