Atak SWAPGS został zidentyfikowany i zgłoszony przez badaczy bezpieczeństwa Bitdefender pracujących nad introspekcją hypervisora i technologiami anty-exploitów. Doprowadziło to do skoordynowanego procesu ujawniania, który obejmował kilku strategicznych partnerów branżowych. Ataki spekulacyjne oparte na wykonywaniu, wykorzystują wady architektury procesora, aby umożliwić atakującym wyciek poufnych informacji z pamięci jądra uprzywilejowanego systemu operacyjnego.
- Atak SWAPGS wykorzystuje nową lukę w zabezpieczeniach spekulatywnego wykonania odkrytą przez badaczy bezpieczeństwa Bitdefender
- Atak SWAGS obchodzi wszystkie istniejące ograniczenia ataków z bocznego kanału i pozwala atakującym uzyskać nieuprzywilejowany dostęp do wrażliwych danych jądra
- Technologia introspekcji Bitdefender Hypervisor ogranicza atak SWAPGS na niepakowane systemy Windows działające na Citrix Hypervisor lub hypervisor KVM
Dzisiaj wielu dostawców oprogramowania i sprzętu z branży opublikowało zalecenia bezpieczeństwa dla CVE-2019-1125 dotyczące nowo odkrytego ataku bocznokanałowego, nazwanego Atakiem SWAPGS. Został on zidentyfikowany i zgłoszony przez badaczy bezpieczeństwa Bitdefender pracujących nad introspekcją hypervisora i technologiami anty-exploitów. Doprowadziło to do skoordynowanego procesu ujawniania, który obejmował kilku strategicznych partnerów branżowych.
W jaki sposób atak SWAPGS omija wszystkie znane zagrożenia
Atak SWAPGS to nowatorski atak w kanale bocznym, który wykorzystuje niewłaściwie udokumentowane zachowanie instrukcji systemowej o nazwie SWAPGS do wyciekania wrażliwych informacji na temat jądra, omijając jednocześnie wszystkie znane sposoby łagodzenia ataków w kanale bocznym.
Pomyślne wykorzystanie pozwala nieuprzywilejowanemu atakującemu na wyciekanie części przestrzeni pamięci jądra, które są uprzywilejowane, a tym samym są uważane za chronione przez izolację strony tabeli (KPTI).
Ten atak ujawnia poufne informacje z jądra systemu operacyjnego poprzez nadużywanie spekulatywnego wykonywania instrukcji SWAPGS. Osoba atakująca może wymusić dowolne dereferencje pamięci w jądrze, co pozostawia ślady w pamięci podręcznej danych. Sygnały te mogą zostać odebrane przez atakującego, aby wywnioskować wartość znajdującą się pod danym adresem jądra. W związku z tym osoby atakujące mogą wykorzystać tę lukę do wyszukiwania wartości w pamięci jądra (sprawdź, czy dana wartość znajduje się pod danym adresem jądra) lub wartości wycieków z dowolnych adresów jądra.
Podstawową zaletą tej nowo opisanej techniki jest to, że omija ona wszystkie znane dotychczasowe działania łagodzące.
Szczegółowa analiza jest publicznie dostępna w białej księdze technicznej opublikowanej przez Bitdefender Labs. Dokument w pełni dokumentuje podatność, wykorzystanie, konsekwencje ataków i dostępne zabezpieczenia.
Podstawowe informacje na temat realizacji spekulacyjnej i ataków bocznych kanałów
W 2018 r. Społeczność zajmująca się badaniami bezpieczeństwa po raz pierwszy zgłosiła nową klasę luk w cyberbezpieczeństwie we współczesnych procesorach. U podstaw tej klasy podatności na zagrożenia leży wspólna cecha współczesnych procesorów zwana „wykonywaniem spekulacyjnym”. Wykonanie spekulatywne pozwala procesorowi wykonać instrukcje, zanim dowie się, czy wyniki wykonania są wymagane, czy nie. Tę klasę luk można wykorzystać za pomocą ataków bocznych. Pomyślne wykorzystanie pozwala nieuprzywilejowanemu atakującemu przerwać podstawową izolację pamięci zapewnianą przez sprzęt, aby uzyskać dostęp do uprzywilejowanych danych, które normalnie nie byłyby dostępne.
Pierwsze luki w zabezpieczeniach, nazwane Meltdown i Spectre , zostały zgłoszone przez badaczy bezpieczeństwa Google Project Zero, a także Politechnikę Graz i innych badaczy z branży. Od czasu pojawienia się pierwszych raportów wysiłki badawcze skoncentrowane na atakach spekulacyjnych przyniosły szereg zgłoszonych luk: Foreshadow (zgłaszane przez Intela jako L1TF ), ZombieLoad i ataki Microarchitectural Data Sampling (MDS).
Ograniczenia zagrożenia dla tej klasy podatności dzielą się na trzy szerokie kategorie:
- Sprzęt komputerowy. Są to poprawki zawarte bezpośrednio w sprzęcie i dotyczą tylko generacji procesorów, które zostały zbudowane po zidentyfikowaniu wad architektonicznych.
- Oprogramowanie. Są to implementacje poprawek, które działają całkowicie w oprogramowaniu. Izolacja tablicy stron jądra (KPTI) jest przykładem poprawki, która chroni pamięć jądra w izolowanej wirtualnej przestrzeni adresowej, czyniąc w ten sposób kilka spekulacyjnych ataków bocznych kanałów, takich jak Meltdown, nieskutecznymi;
- Mikrokod. Ograniczenia te wymagają współpracy między sprzętem a oprogramowaniem. Sprzedawca sprzętu dostarcza łatkę mikrokodu, aby ujawnić nową funkcjonalność (na przykład ograniczanie Spectre, L1TF lub MDS), która jest następnie wykorzystywana przez hiperwizora lub dostawcę (-ów) systemu operacyjnego do eliminacji luk w zabezpieczeniach.
Obecnie wszystkie wskazane kanały boczne są łagodzone przez co najmniej jedną z tych trzech szerokich kategorii. Jednak atak SWAPGS jest w stanie ominąć wszystkie znane ograniczenia ataków z kanału bocznego.
Zapobieganie atakom SWAPGS dzięki introspekcji Hypervisor
Bitdefender Hypervisor Introspection (HVI) wykorzystuje funkcje wirtualizacji procesora (na przykład Intel VT-x), aby zapewnić nowy poziom ochrony. HVI najpierw analizuje pamięć wirtualnej maszyny gościa (VM) w celu zidentyfikowania interesujących obiektów. Wykorzystując technologie takie jak Extended Page Table (EPT), HVI chroni interesujące obiekty przed nieautoryzowanym dostępem. Na przykład sekcje kodu mogą być chronione przed zapisem, podczas gdy sekcje danych mogą być chronione przed wykonaniem instrukcji.
Bitdefender HVI ogranicza atak SWAPGS, zapewniając organizacjom kontrolę kompensacyjną do momentu zastosowania łat od dostawców, których dotyczy problem. Bitdefender osiąga to poprzez instrumentowanie każdej podatnej instrukcji SWAPGS, aby upewnić się, że nie zostanie wykonana spekulacyjnie. Odmawia to atakującym możliwości wycieku pamięci jądra w wrażliwych, nie łatanych jądrach systemu Windows. W czasie wykonywania HVI analizuje przestrzeń pamięci jądra chronionych maszyn wirtualnych i identyfikuje wrażliwe gadżety. Słabe gadżety są następnie serializowane i stają się niemożliwe do wykorzystania. Wpływ tego ograniczenia na wydajność jest znikomy.