Intel załatał lukę bezpieczeństwa. I akurat tym razem nie ma powodów do radości
Wszyscy lubimy rozmaite łatki bezpieczeństwa. Oczywiście jeszcze bardziej lubimy, gdy nie są one potrzebne, kiedy jednak zajdzie taka potrzeba, dobrze mieć świadomość troskliwej opieki ze strony producenta. W teorii – bo jak pokazuje niniejsza historia, nadgorliwość w łataniu także bywa zgubna i potrafi istotnie obniżyć walory sprzętu.
09.05.2020 10:37
Grudzień 2019 r. Grupa badaczy uniwersyteckich publikuje dowód koncepcji kolejnego już ataku na procesory Intela. Nadają mu wdzięczną nazwę Plundervolt. Metoda ta, w dużym skrócie, polega na wprowadzeniu jednostki na skraj stabilności poprzez obniżenie napięcia zasilającego i wykorzystaniu pojawiających się wówczas błędów w obliczeniach do analizy różnicowej i ataku z tekstem jawnym na enklawę bezpieczeństwa Intel SGX.
128-bitowy AES zostaje złamany przy niziutkiej złożoności 2^32 + 256 szyfrowań, średnio. Upada tym samym twierdzenie o efektywnej izolacji procesów, a właściciele wszelkiej maści centrów obliczeniowych i chmur danych zaczynają mieć realny problem. Jak upewnić się, że jeden klient nie podkradnie danych drugiemu? Na gwałt potrzeba łatki – to pewne.
Niszowość wpisana w charakterystykę
Niemniej w warunkach domowych, wydaje się, można spać spokojnie. Jasne, tu też jest miejsce na nadużycia, ale stanowi ono margines tak symboliczny, że w tym samym czasie n-krotnie więcej osób natnie się na nigeryjskiego księcia w ramach kampanii phishingowej. Bo też trzeba zrozumieć, co złamanie Intel SGX tak właściwie oznacza – a nie jest to bynajmniej równoznaczne z możliwością uzyskania dostępu do zaszyfrowanego dysku czy jakichkolwiek innych wrażliwych danych na dysku maszyny prywatnej.
Najprościej rzecz ujmując, SGX to zestaw instrukcji x86_64, które umożliwiają procesorowi zaszyfrowanie pewnej puli pamięci i deszyfrację jej tylko wtedy, gdy żądanie zostanie wydane wewnętrznie. Nie ma to nic wspólnego z szyfrowaniem w ujęciu danych na dysku. Przy czym taka funkcjonalność występuje tylko w procesorach Intel Core 6. generacji (i pochodnych Xeon) lub nowszych, a do tego pula stron ma ograniczenie do 128 MB.
Przy okazji debiutu SGX chwalono się, że może posłużyć chociażby do ochrony zapamiętywanych haseł w przeglądarce, a nawet gier przed ingerencją z zewnątrz, czyli odpalania do nich wszelkiej maści hacków. Niemniej finalnie nic z tego nie wyszło. Na razie ani jedna przeglądarka nie doczekała się implementacji enklawy, nie mówiąc już o grach, a szczytowe osiągnięcie to biblioteka SSL/TLS, wolfSSL, do systemów wbudowanych. Dość powiedzieć, że większość płyt i laptopów ma opcję SGX domyślnie nieaktywną w BIOS-ie.
Zabrać wszystkim – z urzędu
Wróćmy jednak do sedna sprawy, a mianowicie luki w SGX, Plundervolt, i jej łatania. Ustaliliśmy już, że użytkownika domowego ten błąd w praktyce nie jest w stanie dotknąć. Więc zgodnie z logiką, jeszcze w grudniu ubiegłego roku Intel wydał aktualizację mikrokodu dla serwerowych Xeonów. Idąc po linii najmniejszego oporu, po prostu wyłączył w nich możliwość programowego sterowania napięciem z poziomu systemu operacyjnego – ale też możliwe, że była to jedyna skuteczna metoda i tego akurat krytykować nie zamierzam. Kuriozalne jest to, co stało się dalej.
Zaktualizowane mikrokody trafiły również do producentów laptopów, a jako że Intel utrzymuje tylko jedną linię aktualizacji, oczywiście okazały się analogiczne. Tymczasem niektórzy producenci notebooków, niewiele myśląc, zaktualizowali swoje BIOS-y. I często zostały one wgrane użytkownikom automatycznie poprzez Windows Update czy wszelkiej maści aplikacje zarządzające. Efekt? Zupełnie niepotrzebnie pozbawiono ludzi możliwości undervoltingu poprzez oficjalne narzędzie Intel XTU. Działa jedynie nieoficjalny ThrottleStop, ale też nie zawsze i nie każdemu.
Możliwości tak przecież kluczowej w sytuacji, gdy lwia część laptopów ma znacząco zawyżone napięcia i tylko ich obniżenie pozwala uzyskać rozsądną kulturę pracy i/lub temperatury. Sam jestem posiadaczem Della G5 5590 z Core i7-9750H, który na ustawieniach fabrycznych potrafi dobijać do 100°C. Rozwiązaniem był undervolting, ale już nie jest, gdyż go wyłączono.
Żeby nie było – nie jeden Dell tak postąpił. Podobnie jest z laptopami co najmniej paru innych znanych producentów, w tym m.in. MSI oraz Acera, a także znaczną większością sprzętu z najnowszymi procesorami Intel Core 10. generacji. Pół biedy, gdy istnieje starszy BIOS, umożliwiający edycję napięć, jak również sposób na jego wgranie. Tak właśnie postąpiłem z moim G5. Gorzej, jeśli BIOS bez funkcji undervoltingu jest jedynym dostępnym dla danego modelu – a takie przypadki ponoć też występują, na co skarżyło mi się już kilkoro znajomych.
Intel: "Równowaga między wydajnością a bezpieczeństwem"
Napisałem w tej sprawie do Intela. Trochę to trwało, bo polski przedstawiciel musiał szukać wyjaśnienia w centrali, ale w końcu się udało. Fragmentarycznie przynajmniej. "Intel współpracuje z producentami systemów, aby zapewnić równowagę między wydajnością a bezpieczeństwem" – napisał producent w odpowiedzi, przyznając przy tym, że faktycznie zamierza lukę Plundervolt łatać. Wszędzie. Z jednym wyjątkiem.
"Na płytach głównych, które obsługują odblokowane procesory, preferowane może być odpowiednie ustawienie bitu blokady podkręcania, aby można było modyfikować ustawienia napięć" – wyjaśnił Intel. Należy przez to rozumieć, że platformy z płytami "Z" nie zostaną naruszone. Ale w pozostałych przypadkach decyzja należy do końcowego producenta, któremu to jednak rekomenduje się wprowadzenie blokady. Krótko: obłęd i nonsens.
Wciąż czekam jeszcze na odpowiedzi od producentów końcowych, ale – przyznam – nie spodziewam się niczego ponad komunały o bezpieczeństwie. Z jednej strony jest to przykre, z drugiej zaś – trudno oprzeć się wrażeniu, że sami sobie zgotowaliśmy ten los. Bo nadgorliwości nie byłoby, gdyby nie powszechna paranoja. Media trąbią o kolejnych lukach w intelu, nie analizując zbytnio ich przełożenia na codzienne scenariusze. Użytkownicy domagają się poprawek, więc je otrzymują. Proste, prawda? Cóż, tym razem - obosieczne.