Luka „Sinkclose” – nie tylko Intel ma kłopoty, badacze wykryli fundamentalny błąd w chipach AMD istniejący od dawna
Problem jest poważny, ale – paradoksalnie – wcale nie jest nowy. Pozostawał niezauważony przez dziesięciolecia. Na czym polega luka „Sinkclose”? Najogólniej rzecz ujmując pozwala potencjalnemu agresorowi na przedostanie się do najbardziej uprzywilejowanych obszarów w komputerze z procesorem AMD. Za jej odkryciem stoją badacze z firmy IOActive.
Zacznijmy od pytania: jakie procesory AMD są podatne? Odpowiedzi udzieliło samo AMD publikując stosowny biuletyn bezpieczeństwa online, zainteresowanych odsyłam po szczegóły. Jednocześnie od razu na wstępie uspokajam. Cyfrowego armageddonu nie będzie, bo możliwość wykorzystania odkrytej luki wymaga w praktyce fizycznego dostępu do danej maszyny. Ujmując rzecz bardziej fachowo, potencjalny agresor musi mieć dostęp poziomu zerowego (Ring 0), co w praktyce oznacza dostęp atakującego do poziomu jądra atakowanego systemu. Zatem nie jest to coś, co złapiesz surfując na komputerze po internecie.
Niemniej problem jest poważny, bo utrudnia zachowanie odpowiedniego poziomu bezpieczeństwa szczególnie w dużych centrach danych. Na przykład Microsoft (zresztą, nie tylko ta firma, ale o tej wiem z pierwszej ręki) w swoich centrach danych rozsianych po całym globie stosuje zasadę fizycznego rozdzielenia ról. Jest to jeden z filarów strategii bezpieczeństwa, znanej jako “principle of least privilege” (zasada najmniejszych uprawnień). W uproszczeniu polega to na tym, że operatorzy serwerowni, którzy mają za zadanie utrzymanie infrastruktury, czyli odpowiednie zasilanie, chłodzenie, konserwacja sprzętu, fizyczne zabezpieczenia itp., nie mają dostępu do konsol administracyjnych serwerów, którymi się opiekują. Z kolei administratorzy systemu, czyli ci, którzy zarządzają systemami operacyjnymi, aplikacjami i danymi, mają pełny dostęp administracyjny ale absolutnie nie mają wstępu do serwerowni.
Co to ma wspólnego z „Sinkclose”? Po prostu dzięki tej luce ktoś, kto ma fizyczny dostęp do danej maszyny, jest w stanie obejść ograniczenie SMM Lock (czyli administracyjną blokadę trybu zarządzania systemem: System Management Mode Lock). Badacze z IOActive wykazali, że ktoś, kto będzie w stanie dotrzeć do maszyny, może użyć złośliwego oprogramowania do modyfikacji SMM i to nawet w sytuacji, gdy SMM Lock jest aktywny.
Pamiętajmy, że nie mówimy tu o danych wczytywanych podczas np. uruchamiania danej maszyny, czy o danych systemu operacyjnego. To zupełnie niższy poziom. System Management Mode (SMM) to specjalny tryb pracy procesora, który umożliwia wykonywanie zadań na niskim poziomie, takich jak diagnostyka, zarządzanie energią czy aktualizacja BIOS-u. SMM działa niezależnie od systemu operacyjnego i ma dostęp do absolutnie wszystkich zasobów sprzętowych maszyny, którą dany procesor zasila. Co zatem może agresor, który wykorzysta wykrytą lukę i udanie umieści kontrolowany przez niego kod w SMM? Odpowiedź jest krótka: WSZYSTKO.
Dokładnie tak. Nieuprawniony dostęp do SMM pozwala agresorowi o złych zamiarach na przejęcie całkowitej kontroli nad zaatakowanym systemem, pozwala to obejść wszelkie zabezpieczenia i wykonać dowolne operacje. To kwestia na tyle złożona, że zainfekowany SMM procesora AMD jest nieuleczalny żadnym oprogramowaniem antywirusowym. Jakiekolwiek oprogramowanie ochronne działające na poziomie systemu operacyjnego działa po prostu wyżej. Eksperci z IOActive twierdzą wręcz, że nie pomoże reinstalacja systemu, czy nawet oczyszczenie dysku/SSD i pamięci. Zmanipulowany, złośliwy kod ma szansę przetrwać każde działanie jakie jest w zasięgu nawet bardziej zaawansowanego użytkownika.
Czy zatem da się naprawić system, który zostanie zainfekowany wskutek wykorzystania przez potencjalnego agresora luki w procesorach AMD? Da się, ale nie jest to słynne „format C:”. Krzysztof Okupski z IOActive w wypowiedzi dla Wired mówi wprost:
Wyobraź sobie hakerów-cyberżołnierzy z wrogich państw lub kogokolwiek, kto chce pozostać w twoim systemie. Nawet jeśli wyczyścisz dysk, nadal tam będzie – mówi Okupski. Będzie prawie niewykrywalny i prawie niemożliwy do załatania. Tylko otwarcie obudowy komputera, fizyczne połączenie się bezpośrednio z określoną częścią jego układów pamięci za pomocą sprzętowego narzędzia programistycznego znanego jako programator SPI Flash i skrupulatne przeszukanie pamięci bit po bicie pozwoliłoby na usunięcie złośliwego oprogramowania — mówi Okupski.
Niemniej należy pamiętać, że samo wykorzystanie tej luki nie jest trywialnym zadaniem, delikatnie rzecz ujmując. AMD porównuje atak z wykorzystaniem Sinkclose do sytuacji, w której włamywacz ma owszem dostęp do skrytki bankowej, ale najpierw musi pokonać strażników, systemy alarmowe i drzwi skarbca. Na takie twierdzenia Okupski i jego współpracownik Enrique Nissim z IOActive, z którym wspólnie odkryli nową podatność procesorów AMD wyjaśniają, że exploity do wyższych warstw zabezpieczeń (czyli tych tzw. drzwi skarbca, strażników i alarmów) też są znane już od dawna.
Fakt, że ta luka jest obecna w procesorach AMD co najmniej od 2006 roku (a być może i wcześniej) zmusza w tym momencie do zastanowienia i do zadania sobie bardzo ważnego pytania: ile strategicznych systemów komputerowych, zasilanych układami AMD, już zostało zainfekowanych?