Naukowcy ujawnili nową technikę, która może być wykorzystana do obejścia istniejących zabezpieczeń sprzętowych w nowoczesnych procesorach Intel, AMD i Arm, a także do przeprowadzenia ataków spekulacyjnych , takich jak Spectre, w celu wycieku poufnych informacji z pamięci hosta.
Ataki takie jak Spectre mają na celu przełamanie izolacji między różnymi aplikacjami, wykorzystując technikę optymalizacji zwaną wykonywaniem spekulacyjnym w implementacjach sprzętowych procesora, aby nakłonić programy do uzyskania dostępu do dowolnych lokalizacji w pamięci, a tym samym do ujawnienia swoich sekretów.
Chociaż producenci chipów zastosowali zarówno zabezpieczenia programowe , jak i sprzętowe , w tym Retpoline, a także zabezpieczenia, takie jak Enhanced Indirect Branch Restricted Speculation ( eIBRS ) i Arm CSV2 , najnowsza metoda zademonstrowana przez badaczy VUSec ma na celu obejście wszystkich tych zabezpieczeń
Nazywany Branch History Injection (BHI lub Spectre-BHB), jest to nowy wariant ataków Spectre-V2 (śledzony jako CVE-2017-5715), który omija zarówno eIBRS, jak i CSV2, a naukowcy opisują go jako „zgrabny exploit” wycieka arbitralną pamięć jądra na nowoczesnych procesorach Intela.
„Złagodzenia sprzętowe uniemożliwiają nieuprzywilejowanemu napastnikowi wstrzykiwanie wpisów predykcyjnych dla jądra” – wyjaśniają naukowcy.
„Jednak predyktor opiera się na globalnej historii, aby wybrać wpisy docelowe do spekulatywnego wykonania. Atakujący może zatruć tę historię z obszaru użytkownika, aby zmusić jądro do błędnego przewidywania bardziej „interesujących” celów jądra (tj. gadżetów), które ujawniają dane.
Innymi słowy, fragment złośliwego kodu może korzystać ze wspólnej historii gałęzi, która jest przechowywana w buforze historii gałęzi procesora (BHB), aby wpływać na błędnie przewidywane gałęzie w kontekście sprzętowym ofiary, co skutkuje wykonaniem spekulacyjnym, które można następnie wykorzystać do wywnioskowania informacji które w przeciwnym razie powinny być niedostępne.
Spectre-BHB sprawia, że wszystkie procesory Intel i Arm, które wcześniej były dotknięte przez Spectre-V2, wraz z wieloma chipsetami AMD, są podatne na ataki, co skłania te trzy firmy do wydania aktualizacji oprogramowania w celu rozwiązania problemu.
Intel zaleca również klientom wyłączenie nieuprzywilejowanych rozszerzonych filtrów pakietów Berkeley ( eBPF ) Linuksa, włączenie zarówno eIBRS, jak i Supervisor-Mode Execution Prevention ( SMEP ) oraz dodanie „ LFENCE do określonych zidentyfikowanych gadżetów, które można wykorzystać”.
„Ograniczenia [Intel eIBRS i Arm CSV2] działają zgodnie z założeniami, ale pozostała powierzchnia ataku jest znacznie ważniejsza niż pierwotnie zakładali dostawcy” – stwierdzili naukowcy.
„Niemniej jednak znalezienie gadżetów, które można wykorzystać, jest trudniejsze niż wcześniej, ponieważ atakujący nie może bezpośrednio wstrzykiwać celów predykcyjnych poza granice uprawnień. Oznacza to, że jądro nie będzie spekulacyjnie przeskakiwać do dowolnych celów dostarczonych przez atakującego, ale tylko spekulacyjnie wykona prawidłowe fragmenty kodu, już wykonane w przeszłości.”