Inżynier Google zaproponował oprogramowanie chroniące procesory przed atakami LVI

Jakiś czas temu dowiedziała się o nowej luce w spekulacyjnej architekturze procesorów Intela, która została tzw Wprowadzenie wartości obciążenia (LVVI). Intel ma własne zdanie na temat zagrożeń związanych z LVI i zalecenia dotyczące jego łagodzenia. Twoja własna wersja ochrony przed takimi atakami sugerowane inżynier w Google. Ale będziesz musiał zapłacić za bezpieczeństwo, zmniejszając wydajność procesora średnio o 7%.

Inżynier Google zaproponował oprogramowanie chroniące procesory przed atakami LVI

Zauważyliśmy wcześniej, że niebezpieczeństwo LVI nie leży w konkretnym mechanizmie odkrytym przez badaczy, ale w samej zasadzie ataku bocznego kanału LVI, która została pokazana po raz pierwszy. Tym samym otworzył się nowy kierunek dla zagrożeń, których nikt wcześniej nie podejrzewał (przynajmniej nie poruszano tego w przestrzeni publicznej). Dlatego wartość rozwoju specjalisty Google, Zoli Bridgesa, polega na tym, że jego łatka minimalizuje niebezpieczeństwo nawet nieznanych nowych ataków opartych na zasadzie LVI.

Poprzednio w asemblerze projektu GNU (Asembler GNU) wprowadzono zmiany zmniejszające ryzyko wystąpienia podatności LVI. Zmiany te polegały na dodaniu instrukcje dotyczące bariery LFENCE, w którym ustalono ścisłą sekwencję dostępu do pamięci przed i za barierą. Testowanie łatki na jednym z procesorów Intel generacji Kaby Lake wykazało spadek wydajności aż o 22%.

Deweloper Google zaproponował swoją łatkę polegającą na dodaniu instrukcji LFENCE do zestawu kompilatora LLVM i nazwał zabezpieczenie SESES (Speculative Execution Side Effect Suppression). Zaproponowana przez niego opcja ochrony łagodzi zarówno zagrożenia LVI, jak i inne podobne, na przykład Spectre V1/V4. Implementacja SESES umożliwia kompilatorowi dodanie instrukcji LFENCE w odpowiednich miejscach podczas generowania kodu maszynowego. Na przykład wstaw je przed każdą instrukcją odczytu z pamięci lub zapisu do pamięci.

Instrukcje LFENCE zapobiegają wywłaszczeniu wszystkich kolejnych instrukcji, dopóki poprzednie odczyty pamięci nie zostaną zakończone. Oczywiście wpływa to na wydajność procesorów. Badacz stwierdził, że ochrona SESES zmniejszała szybkość wykonywania zadań przy użyciu chronionej biblioteki średnio o 7,1%. Zakres redukcji produktywności w tym przypadku wahał się od 4 do 23%. Początkowa prognoza badaczy była bardziej pesymistyczna i zakładała nawet 19-krotny spadek wydajności.



Źródło: 3dnews.ru

Dodaj komentarz