Nowości

Nowy atak Spectre po raz kolejny powoduje, że Intel i AMD próbują naprawić

Rzędy pięknie pokolorowanych elementów komputera.

Od 2018 roku prawie niekończąca się seria ataków, powszechnie znanych jako Spectre, sprawiła, że ​​Intel i AMD starały się opracować zabezpieczenia mające na celu złagodzenie luk, które pozwalają złośliwemu oprogramowaniu na wyrywanie haseł i innych poufnych informacji bezpośrednio z krzemu. Teraz naukowcy twierdzą, że wymyślili nowy atak, który przełamuje większość – jeśli nie wszystkie – te zabezpieczenia na chipie.

Spectre zawdzięcza swoją nazwę nadużywaniu wykonywania spekulatywnego, funkcji w praktycznie wszystkich nowoczesnych procesorach, która przewiduje przyszłe instrukcje, które CPU mogą otrzymać, a następnie podąża ścieżką, którą instrukcje mogą podążać. Używając kodu, który zmusza procesor do wykonywania instrukcji po niewłaściwej ścieżce, Spectre może wydobyć poufne dane, do których dostęp zostałby uzyskany, gdyby procesor kontynuował tę niewłaściwą ścieżkę. Te exploity są znane jako przejściowe wykonania.

„Niebezpieczne implikacje”

Od czasu pierwszego opisu Spectre w 2018 roku nowe warianty pojawiały się prawie co miesiąc. W wielu przypadkach nowe warianty wymagały od twórców chipów opracowania nowych lub wzmocnionych mechanizmów obronnych w celu złagodzenia ataków.

Na przykład kluczowa ochrona firmy Intel, znana jako LFENCE, zapobiega wysyłaniu nowszych instrukcji do wykonania przed wcześniejszymi. Inne rozwiązania sprzętowe i programowe, powszechnie znane jako „ogrodzenia”, tworzą cyfrowe ogrodzenia wokół tajnych danych w celu ochrony przed przejściowymi atakami, które umożliwiłyby nieautoryzowany dostęp.

Naukowcy z University of Virginia powiedzieli w zeszłym tygodniu, że znaleźli nowy wariant wykonania przejściowego, który łamie praktycznie wszystkie zabezpieczenia wbudowane w chipy, które Intel i AMD wdrożyły do ​​tej pory. Nowa technika działa poprzez celowanie w bufor wbudowany w chip, który przechowuje „mikrooperacje”, czyli uproszczone polecenia wywodzące się ze złożonych instrukcji. Umożliwiając procesorowi szybkie pobieranie poleceń na wczesnym etapie procesu wykonywania spekulacyjnego, pamięć podręczna mikrooperacji poprawia szybkość procesora.

Naukowcy jako pierwsi wykorzystują pamięć podręczną mikrooperacji jako kanał boczny lub jako medium do dokonywania obserwacji dotyczących poufnych danych przechowywanych w podatnym na ataki systemie komputerowym. Mierząc taktowanie, zużycie energii lub inne właściwości fizyczne atakowanego systemu, osoba atakująca może wykorzystać kanał boczny do wywnioskowania danych, które w innym przypadku byłyby niedostępne.

„Pamięć podręczna mikrooperacji jako kanał poboczny ma kilka niebezpiecznych konsekwencji” – napisali naukowcy w artykule naukowym. „Po pierwsze, omija wszystkie techniki, które ograniczają skrytki jako kanały boczne. Po drugie, ataki te nie są wykrywane przez żaden istniejący atak ani profil złośliwego oprogramowania. Po trzecie, ponieważ pamięć podręczna mikrooperacji znajduje się na początku potoku, na długo przed wykonaniem, niektóre zabezpieczenia, które łagodzą ataki Spectre i inne przejściowe wykonanie, ograniczając spekulacyjne aktualizacje pamięci podręcznej, nadal pozostają podatne na ataki mikrooperacyjnej pamięci podręcznej ”.

Artykuł kontynuuje:

Większość istniejących niewidocznych rozwiązań spekulacyjnych i opartych na szermierce skupia się na ukryciu niezamierzonych, wrażliwych skutków ubocznych spekulacyjnych realizacji, które występują na zapleczu potoku procesora, zamiast powstrzymywać źródło spekulacji na front-endzie. To czyni je podatnymi na opisywany przez nas atak, który ujawnia sekrety, do których dostęp spekuluje, za pośrednictwem bocznego kanału front-end, zanim przejściowa instrukcja będzie mogła zostać wysłana do wykonania. To wymyka się całemu zestawowi istniejących mechanizmów obronnych. Ponadto, ze względu na stosunkowo niewielki rozmiar pamięci podręcznej mikrooperacji, nasz atak jest znacznie szybszy niż istniejące warianty Spectre, które polegają na sprawdzaniu i sondowaniu kilku zestawów pamięci podręcznych w celu przesłania tajnych informacji i jest znacznie bardziej dyskretny, ponieważ wykorzystuje mikro- op cache jako jedyny prymityw do ujawniania, wprowadzający mniej dostępów do pamięci podręcznej danych / instrukcji, nie mówiąc już o pominięciach.

Głosy sprzeciwu

Od czasu opublikowania przez naukowców artykułu nastąpił pewien sprzeciw. Intel nie zgodził się, że nowa technika łamie zabezpieczenia już wprowadzone w celu ochrony przed przejściowym wykonaniem. W oświadczeniu przedstawiciele firmy napisali:

Firma Intel przejrzała raport i poinformowała badaczy, że istniejące środki zaradcze nie zostały omijane i że ten scenariusz jest omówiony w naszych wytycznych dotyczących bezpiecznego kodowania. Oprogramowanie zgodne z naszymi wskazówkami ma już zabezpieczenia przed przypadkowymi kanałami, w tym przypadkowym kanałem uop cache. Nie są potrzebne żadne nowe środki zaradcze ani wytyczne.

Wykonywanie przejściowe wykorzystuje złośliwy kod w celu wykorzystania wykonania spekulacyjnego. Z kolei exploity omijają kontrole granic, kontrole autoryzacji i inne środki bezpieczeństwa wbudowane w aplikacje. Oprogramowanie zgodne z wytycznymi Intela dotyczącymi bezpiecznego kodowania jest odporne na takie ataki, w tym wariant wprowadzony w zeszłym tygodniu.

Kluczem do wskazówek firmy Intel jest stosowanie programowania w czasie stałym, podejścia, w którym kod jest napisany tak, aby był niezależny od sekretu. Technika, którą naukowcy wprowadzili w zeszłym tygodniu, wykorzystuje kod, który osadza sekrety w predyktorach gałęzi procesora i jako taka nie jest zgodna z zaleceniami Intela, powiedziała w tle rzeczniczka firmy.

AMD nie dostarczyło odpowiedzi na czas, aby zamieścić ją w tym poście.

Kolejne odrzucenie pojawiło się w poście na blogu napisanym przez Jona Mastersa, niezależnego badacza architektury komputerów. Powiedział, że artykuł, w szczególności opisywany w nim atak międzydomenowy, jest „interesującą lekturą” i „potencjalnym problemem”, ale istnieją sposoby na naprawienie luk, być może poprzez unieważnienie pamięci podręcznej mikrooperacji podczas przekraczania bariery uprawnień.

„Branża miała ogromny problem ze Spectre, w wyniku czego wiele wysiłku włożono w oddzielenie przywilejów, izolowanie obciążeń pracą i używanie różnych kontekstów” – napisał Masters. „W świetle tego najnowszego artykułu może być potrzebne pewne uporządkowanie, ale istnieją dostępne środki zaradcze, aczkolwiek zawsze kosztem wydajności”.

Nie takie proste

Ashish Venkat, profesor na wydziale informatyki Uniwersytetu Wirginii i współautor artykułu z zeszłego tygodnia, zgodził się, że programowanie w czasie rzeczywistym jest skutecznym sposobem pisania aplikacji, które są odporne na ataki typu side-channel, w tym te opisane. w gazecie z zeszłego tygodnia. Powiedział jednak, że wykorzystywana luka znajduje się w procesorze i dlatego powinna otrzymać poprawkę mikrokodu.

Powiedział również, że większość dzisiejszego oprogramowania pozostaje podatna na ataki, ponieważ nie wykorzystuje programowania w trybie ciągłym i nie ma żadnych wskazówek, kiedy to się zmieni. Powtórzył również obserwację Mastersa, że ​​podejście oparte na kodowaniu spowalnia aplikacje.

Programowanie ciągłe, powiedział mi, „jest nie tylko niezwykle trudne pod względem rzeczywistego wysiłku programisty, ale także wiąże się ze znacznymi wyzwaniami związanymi z wdrażaniem, związanymi z łataniem wszystkich wrażliwych programów, jakie kiedykolwiek napisano. Jest również zwykle używany wyłącznie w małych, wyspecjalizowanych procedurach bezpieczeństwa ze względu na narzut wydajności. ”

Venkat powiedział, że nowa technika jest skuteczna przeciwko wszystkim układom Intela zaprojektowanym od 2011 roku. Powiedział mi, że oprócz tego, że są podatne na ten sam exploit międzydomenowy, procesory AMD są również podatne na oddzielny atak. Wykorzystuje równoczesną wielowątkowość, ponieważ pamięć podręczna mikrooperacji w procesorach AMD jest współdzielona w sposób konkurencyjny. W rezultacie atakujący mogą utworzyć międzywątkowy ukryty kanał, który może przesyłać sekrety o przepustowości 250 Kb / si stopie błędów 5,6 procent.

Przejściowe wykonanie stwarza poważne ryzyko, ale w tej chwili są one głównie teoretyczne, ponieważ rzadko, jeśli w ogóle, są aktywnie wykorzystywane. Z drugiej strony inżynierowie oprogramowania mają znacznie więcej powodów do niepokoju, a ta nowa technika powinna tylko zwiększyć ich zmartwienia.

Zostaw komentarz

Maciek Luboński
Z wykształcenia jestem kucharzem , ale to nie przeszkadza mi pisać dla Was tekstów z wielu ciekawych dziedzin , których sam jestem fanem.Piszę dużo i często nie na tak jak trzeba , ale co z tego skoro tak naprawdę liczy się pasja.

Najlepsze recenzje

Video

gallery

Facebook