Zabezpieczenie procesorów AMD złamane, zły administrator znów może wszystko
Aktualizacja AMD przedstawiło swoje oficjalne stanowisko w sprawie SEVered. Oto ono: Technologia SEV (Secure Encrypted Virtualization) firmy AMD została zaprojektowana w celu pomocy w ochronie maszyn wirtualnych przed nieumyślnie powstałymi podatnościami w typowych środowiskach operacyjnych. SEV zapewnia poziom ochrony pamięci w środowisku zwirtualizowanym, jaki był wcześniej nieosiągalny, i jest pierwszym krokiem na drodze do poprawy zabezpieczeń wirtualizacji. Wraz z całym ekosystemem firma AMD obecnie pracuje nad tym, żeby chronić go przed podatnościami, które są trudniejsze w wykorzystaniu, jak np. w przypadku ataków na hiperwizor, jakie niedawno opisali niemieccy badacze.
29.05.2018 | aktual.: 30.05.2018 11:19
Chwilę po zeszłorocznej premierze Ryzenów, AMD wprowadziło narynek procesoryEPYC. Miały one podbić rynek chmur obliczeniowych nie tylkoświetnym stosunkiem wydajności do ceny, ale też zapewnionym napoziomie architektury sprzętowej bezpieczeństwem wirtualizacji.Czerwoni obiecywali, że zawartość pamięci uruchomionych naEPYC-ach chronionych maszyn wirtualnych będzie niedostępna nietylko dla innych maszyn, ale też i dla systemu operacyjnego hostaczy hiperwizora. Pozwoliłoby to zagwarantować klientom, że niktpostronny, nawet administrator serwera, nie będzie w stanie zajrzećdo tego, co się w takiej maszynie dzieje. Badacze z InstytutuFraunhofera nie uwierzyli jednak w te zapewnienia. Udało im sięopracować technikę, czyniącą zabezpieczenia AMD bezwartościowymi.
Zasadniczo zastosowana w serwerowych procesorach EPYC (a takżebiznesowej linii procesorów Ryzen Pro) koncepcja bezpiecznejwirtualizacji ma sens. Secure Encrypted Virtualization (SEV)przypisuje każdej maszynie przestrzeń adresową powiązaną zkluczem kryptograficznym, osadzonym w bezpiecznej enklawie procesora.Klucz ten nigdy nie opuszcza enklawy, służy szyfrowaniu ideszyfrowaniu maszyn wirtualnych w czasie rzeczywistym, gdy dane sąprzekazywane między pamięcią a rdzeniami procesora.
Dzięki temu dostawca chmur obliczeniowych mógłby zagwarantowaćorganizacji przetwarzającej wrażliwe dane platformę hostingową,do której nie zajrzy nikt postronny. SEV broni nie tylko przednapastnikami atakującymi z innej maszyny wirtualnej, ale przedewszystkim przed samymi administratorami systemów, którzy przecieżmogliby się nie oprzeć pokusie zajrzenia do maszyny, na którejprzechowywana jest dokumentacja nowego myśliwca, okrętu podwodnegoczy elektrowni atomowej.
Stworzone przez AMD zabezpieczenie nie przetrwało nawet roku.Niemieccy informatycy z Fraunhofer AISEC – Mathias Morbitzer,Manuel Huber, Julian Horsch i Sascha Wessel – przedstawili technikęo nazwie SEVered,która pozwala obejść zabezpieczenia SEV. Jak wykazali, napastnikmający fizyczny dostęp do serwera (a więc taki, przed którym SEVmiało chronić) jest w stanie za pomocą standardowej tablicy stronpamięci tak manipulować odwzorowaniem pamięci maszyn wirtualnychna pamięć fizyczną, że mechanizmy SEV się gubią i ujawniająfragmenty maszyn wirtualnych do niezaszyfrowanej pamięcioperacyjnej.
Podczas demonstracji napastnik zestawili host na Debianie zwirtualizacją KVM, w którym w dwóch oddzielnych maszynachwirtualnych działały serwer Apache oraz serwer OpenSSH. Następnietak zmodyfikowali hiperwizor KVM, by móc obserwować, kiedyoprogramowanie działające w maszynie wirtualnej uzyskiwało dostępdo fizycznej pamięci operacyjnej.
Wysyłając wiele żądań do jednej z usług, np. pobierającstronę webową serwowaną przez Apache, hiperwizor jest w staniedostrzec, które strony pamięci są wykorzystywane do przechowywaniapliku. Następnie podmieniane są odwzorowania pamięci, tak żezaszyfrowana strona innej maszyny wirtualnej jest wykorzystywana dowysłania przez Apache zażądanej strony. A co wysyła – no cóż,zawartość zaszyfrowanej przez technologię AMD maszyny wirtualnej.
W ten sposób udało się wydobyć około 2 GB chronionej pamięci,i to z całkiem niezłą szybkością – około 80 KB/s. Atak jestwięc całkowicie realistyczny, i to nawet przy wysokim poziomieszumu informacyjnego zachodzącego w pamięci hosta.
AMD na razie nie skomentowało tego problemu, mimo że badaczeprzedstawili swoje propozycje utwardzenia procesorów AMD przed takimatakiem. Proponują m.in. wprowadzenie pełnej kontroli spójności iświeżości stron pamięci dla zwirtualizowanych systemów.Wiązałoby się to jednak ze sporymi kosztami „w krzemie”.
Należy zauważyć, że badania Niemców nie były robione dlarozrywki. Najwyraźniej chodziło o zbadanie, czy niemieckie firmymogą bezpiecznie przechowywać swoje dane w chmurach korzystającychz takich mechanizmów ochronnych. Praca informatyków została bowiemsfinansowana w ramach programu bezpiecznych chmur Uniscon.de,prowadzonego przez Ministerstwo Gospodarki i Energii Niemiec.
Póki co wracamy więc do stanu wyjścia: dane, które wyjdą zorganizacji do zewnętrznego dostawcy należy uznać za dostępne dlatego dostawcy.