Proponowana przez Google programowa ochrona przed atakiem LVI wykazała spadek wydajności o 14 razy

Zola Bridges z firmy Google zaproponował dla zestawu kompilatorów LLVM łatka z realizacją ochrony SESES (Suppression Execution Side Effect Suppression), pomagająca blokować ataki na mechanizm spekulatywnego wykonania w CPU Intel, podobne do LVI. Metoda ochrony jest realizowana na poziomie kompilatora i opiera się na dodawaniu przez kompilator przy generowaniu kodu maszynowego instrukcji LFENCE, które są wstawiane przed każdą instrukcją odczytu z pamięci lub zapisu do pamięci, a także przed pierwszą instrukcją rozgałęzienia w grupie instrukcji kończącej blok.

Instrukcja LFENCE czeka na zakończenie wszystkich poprzednich operacji odczytu z pamięci i zakazuje spekulatywnego wykonania następujących po LFENCE instrukcji, do momentu zakończenia tego procesu. Stosowanie LFENCE prowadzi do znacznego spadku wydajności, dlatego ochronę zaleca się stosować w skrajnych przypadkach dla wyjątkowo krytycznego kodu. Oprócz pełnej ochrony łatka oferuje trzy flagi, które pozwalają selektywnie wyłączyć określone poziomy ochrony w celu zredukowania negatywnego wpływu na wydajność.

W przeprowadzonych testach zastosowanie ochrony SESES dla pakietu BoringSSL spowodowało spadek liczby operacji wykonywanych przez bibliotekę w sekundę o 14 razy – wydajność skompilowanej z ochroną wersji biblioteki wyniosła średnio zaledwie 7,1% wskaźników wersji niechronionej (zakres w zależności od testu od 4% do 23%).

Dla porównania, proponowany wcześniej dla GNU Assembler mechanizm, który realizował wstawianie LFENCE po każdej operacji ładowania z pamięci oraz przed niektórymi instrukcjami rozgałęzienia, pokazał spadek wydajności o około 5 razy (22% kodu bez ochrony). Metoda ochrony została również zaproponowano i zrealizowano opracowana przez inżynierów Intela, jednak wyniki testów wydajnościowych dla niej nie zostały jeszcze opublikowane. Początkowo badacze, którzy zidentyfikowali atak LVI, prognozowali spadek wydajności przy zastosowaniu pełnej ochrony od 2 do 19 razy.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster