U niebieskich bez zmiany. Cztery kolejne luki sprzętowe w procesorach Intela
Meltdown, kilka wariantów Spectre, Foreshadow, Spoiler i można tak wymieniać – a teraz do tego grona sprzętowych luk procesorów Intela dochodzi nie jedna, ale cztery kolejne. Plus jest taki, że tym razem to sam producent informuje o problemie i od razu gwarantuje stosowną instrukcję bezpieczeństwa, jak również aktualizacje mikrokodów.
14.05.2019 | aktual.: 15.05.2019 01:55
Wszystkie cztery luki dotyczą jednej kwestii, a mianowicie możliwości wycieku danych poprzez umożliwienie złośliwemu procesowi odczytu danych z innego procesu uruchomionego na tym samym rdzeniu. Scenariusz ataku zakłada wykorzystanie buforów rozkazów w rdzeniu.
Znów to wykonywanie spekulatywne
Technicznie rzecz biorąc, problem okazuje się zaskakująco oczywisty. Dane w buforach służące do wykonywania spekulatywnego nie są usuwane podczas przełączania między procesami. Napastnik może wejść jak do siebie; zinterpretować zawartość buforów i odczytać informacje z poziomu innego procesu na tym samym rdzeniu procesora. Co istotne, może się to zdarzyć podczas przełączania między jądrem a przestrzenią użytkownika, hostem i gościem lub dwoma różnymi procesami przestrzeni użytkownika. Czyli de facto w każdym scenariuszu.
Luki zyskały oznaczenia: CVE-2018-12126, CVE-2018-12127, CVE-2018-12130 oraz CVE-2019-11091. Stwarzają identyczne zagrożenie dla użytkownika, ale różnią się sposobem wymaganym do uzyskania (próbkowania) danych przez crackera. Mówiąc obrazowo, ten może nie tylko przeprowadzić odczyt wprost, ale chociażby skorzystać z odwołań na linii pamięć - rejestry.
Łatwiej byłoby wymienić czipy niezagrożone
Sprawa jest o tyle poważna, że dotyczy właściwie wszystkich współczesnych procesorów Intela, począwszy od Core 2 Duo i skończywszy na wybranych Coffee Lake'ach. Co więcej, błędy pojawiają się w procesorach w wydanych w tym czasie "atomówkach", a nawet układach serwerowych i HEDT dla podstawek z linii LGA 20xx. Innymi słowy: jeśli posiadasz procesor niebieskich i nie jest to staruszek z ery NetBursta, to masz się czym martwić.
Na szczęście producent zdaje sobie sprawę z niekorzystnej sytuacji i obiecuje szybkie poprawki mikrokodów, choć nie dla jednostek starszych niż Core 2. generacji aka Sandy Bridge. Pełna lista zagrożonych (i przeznaczonych do załatania albo już załatanych) procesorów znajduje się w tym dokumencie. Ciekawostką jest tylko dokładny sposób łatania luk, który zależy od wykorzystywanego systemu. Jak deklaruje Intel, posiadaczom Windowsa wystarczy aktualizacja mikrokodów. Natomiast w przypadku systemów linuksowych trzeba jeszcze czekać na update jądra. Niemniej wiodący dostawcy jak Canonical i Red Hat zostali ponoć poinformowani.
Częściowy wyjątek: 8. i 9. generacja
Pewien wyjątek stanowią czipy 8. i 9. generacji, które – pomimo teoretycznej obecności luki – rzekomo są już fabrycznie załatane programowo. Pozostałym Intel zaleca wyłączenie techniki Hyper-Threading. Oczywiście jeśli komputer wykorzystywany jest na produkcji, do zadań wymagających maksymalnego bezpieczeństwa. Szczerze powiedziawszy, dla typowego użytkownika domowego błąd nie powinien mieć krytycznego znaczenia. (A trzeba jeszcze pamiętać, że implementacja łatki wiąże się z każdorazowym przeprowadzaniem cyklu gromadzenia danych i czyszczenia buforów, co może znaleźć negatywne odzwierciedlenie w wydajności układu).