Najczystszym postem, jaki widziałem na ten temat, jest Matthew Garrett (łącznie z komentarzami).
Matthew wydał teraz narzędzie do lokalnego sprawdzania systemu: zbuduj go, uruchom
sudo ./mei-amt-check
i poinformuje, czy AMT jest włączony i udostępniony, a jeśli tak, to wersje oprogramowania układowego (patrz poniżej). Plik README zawiera więcej szczegółów.
Aby przeskanować sieć w poszukiwaniu potencjalnie wrażliwych systemów, przeskanuj porty 623, 624 oraz 16992 do 16993 (zgodnie z opisem we własnym dokumencie firmy Intel dotyczącym łagodzenia skutków ); na przykład
nmap -p16992,16993,16994,16995,623,664 192.168.1.0/24
przeskanuje sieć 192.168.1 / 24 i zgłosi stan wszystkich hostów, które odpowiedzą. Możliwość połączenia z portem 623 może być fałszywie dodatnia (inne systemy IPMI używają tego portu), ale każdy otwarty port od 16992 do 16995 jest bardzo dobrym wskaźnikiem włączonego AMT (przynajmniej jeśli odpowiednio zareagują: z AMT, to znaczy odpowiedź HTTP na 16992 i 16993, ta ostatnia z TLS).
Jeśli zobaczysz odpowiedzi na portach 16992 lub 16993, połączenie z nimi i żądanie /
HTTP spowoduje zwrócenie odpowiedzi z Server
wierszem zawierającym „Intel (R) Active Management Technology” w systemach z włączoną obsługą AMT; ta sama linia będzie również zawierać używaną wersję oprogramowania układowego AMT, którą można następnie porównać z listą podaną w poradniku Intela, aby ustalić, czy jest podatna na ataki.
Zobacz odpowiedź CerberusSec na link do skryptu automatyzującego powyższe.
Istnieją dwa sposoby „poprawnego” rozwiązania problemu:
- zaktualizuj oprogramowanie wewnętrzne, gdy producent Twojego systemu dostarczy aktualizację (jeśli w ogóle);
- unikaj używania portu sieciowego zapewniającego AMT, albo używając interfejsu sieciowego nieobsługującego AMT w twoim systemie, albo używając adaptera USB (wiele stacji roboczych AMT, takich jak systemy C226 Xeon E3 z portami sieciowymi i210, ma tylko jeden AMT- zdolny interfejs sieciowy - reszta jest bezpieczna; pamiętaj, że AMT może działać przez Wi-Fi, przynajmniej w systemie Windows, więc korzystanie z wbudowanego Wi-Fi może również prowadzić do kompromisu).
Jeśli żadna z tych opcji nie jest dostępna, jesteś na terytorium ograniczającym ryzyko. Jeśli Twój system obsługujący technologię AMT nigdy nie został przygotowany na AMT, jesteś w miarę bezpieczny; włączenie AMT w tym przypadku najwyraźniej może być wykonane tylko lokalnie i, o ile wiem, wymaga użycia oprogramowania układowego lub oprogramowania systemu Windows. Jeśli funkcja AMT jest włączona, możesz ją ponownie uruchomić i użyć oprogramowania układowego, aby ją wyłączyć (naciśnij, CtrlPgdy podczas uruchamiania wyświetlany jest komunikat AMT).
Zasadniczo, chociaż luka w zabezpieczeniach jest dość paskudna, wydaje się, że nie dotyczy to większości systemów Intel. W przypadku własnych systemów z systemem Linux lub innym systemem operacyjnym podobnym do Uniksa eskalacja prawdopodobnie wymaga fizycznego dostępu do systemu, aby umożliwić AMT w pierwszej kolejności. (Windows to inna historia.) W systemach z wieloma interfejsami sieciowymi, jak zauważył Rui F Ribeiro , powinieneś traktować interfejsy obsługujące AMT w taki sam sposób, jak traktujesz dowolny interfejs administracyjny (obsługujący IPMI lub interfejs hosta) hiperwizora maszyny wirtualnej) i odizoluj go w sieci administracyjnej (fizycznej lub VLAN). Nie można polegać na hoście, aby się chronić: iptables
itp. Są tutaj nieskuteczne, ponieważ AMT widzi pakiety przed systemem operacyjnym (i zatrzymuje pakiety AMT dla siebie).
Maszyny wirtualne mogą komplikować sprawy, ale tylko w tym sensie, że mogą mylić AMT, a tym samym generować mylące wyniki skanowania, jeśli AMT jest włączony. amt-howto(7)
podaje przykład systemów Xen, w których AMT używa adresu podanego DomU przez DHCP, jeśli taki istnieje, co oznacza, że skanowanie pokazałoby AMT aktywne w DomU, a nie Dom0 ...