Żetony mogą być z natury podatne na ataki Spectre i Meltdown

Songsak Wilairit / EyeEm





Złośliwe oprogramowanie stanowi ciągłe zagrożenie dla współczesnego życia, atakując wszystko, od baz danych i kamer po handel elektroniczny, elektrownie i szpitale. W swoich bardziej podstępnych formach złośliwe oprogramowanie może wykraść poufne informacje bez wiedzy, że doszło do wycieku.

Walka z tymi atakami opiera się na ważnym założeniu: odpowiednio potężne i dobrze zaprojektowane oprogramowanie może zagwarantować bezpieczeństwo wszelkich informacji. Rzeczywiście, na tej idei opierają się ogromne firmy zajmujące się cyberbezpieczeństwem.

Ale dzisiaj Ross McIlroy i koledzy z Google twierdzą, że to założenie jest niebezpiecznie błędne. Ich praca koncentruje się na nowej generacji złośliwych ataków, które zmusiły ich do ponownego rozważenia natury cyberbezpieczeństwa i sposobu jego działania.



Nowe ataki, znane jako Spectre i Meltdown, były badane od początku 2018 roku. Jednak ich szersze znaczenie dopiero teraz staje się jasne.

Szokującym odkryciem Google jest wykorzystanie fundamentalnej luki w sposobie działania procesorów informacji. Z tego powodu eksperci ds. bezpieczeństwa mogą nigdy nie być w stanie chronić tych urządzeń — nawet co do zasady.

Zespół Google twierdzi, że zagrożenie dotyczy wszystkich producentów chipów, w tym Intela, ARM, AMD, MIPS, IBM i Oracle. Ta klasa błędów jest głębsza i bardziej rozpowszechniona niż być może jakakolwiek wada bezpieczeństwa w historii, wpływając na miliardy procesorów w produkcji we wszystkich klasach urządzeń, mówią McIlroy i spółka.



W przeszłości złośliwe oprogramowanie wykorzystywało słabo zaprojektowany kod i zawarte w nim błędy. Błędy te zapewniają złośliwym cyberprzestępcom sposoby zakłócania obliczeń lub uzyskiwania dostępu do poufnych informacji. Dlatego ważnym podejściem jest naprawienie tych błędów za pomocą poprawek oprogramowania, zanim będą mogły zostać wykorzystane.

Ale kiedy wada tkwi w podstawach projektowania komputerów, łatki oprogramowania zapewniają słabą ochronę. Wyzwanie polega na tym, że sama natura obliczeń umożliwia wyciek informacji przez mechanizmy zwane kanałami bocznymi.

Jednym z przykładów kanału bocznego są migające kontrolki modemu, routera, a nawet komputera. Różni badacze bezpieczeństwa wskazywali, że flashowanie jest skorelowane z transferem danych i że złośliwy gracz może po prostu oglądać flashe, aby podsłuchiwać. Rzeczywiście, badacze bezpieczeństwa wykazali podobne ataki z oszałamiającą gamą kanałów bocznych, w tym zużyciem energii, mikrofonami i kamerami o wysokiej rozdzielczości.



Nowe zagrożenie jest bardziej podstępne, ponieważ istnieje na styku sprzętu i oprogramowania, znanym jako architektura maszyny. Na tym poziomie procesor traktuje wszystkie języki programowania w ten sam sposób. Wykonuje polecenia jedno po drugim, bez względu na to, który program ich zażądał.

Informatycy zawsze zakładali, że polecenia te można rozdzielić w sposób gwarantujący poufność. Myślenie jest takie, że jakieś odpowiednio zaawansowane oprogramowanie powinno być w stanie zorganizować polecenia w sposób, który utrzymuje je oddzielnie.

Jednak kluczowym wynikiem zespołu Google jest pokazanie, że to założenie jest błędne. Procesor nie potrafi odróżnić dobrego polecenia od złośliwego — nawet co do zasady. Jeśli więc polecenie każe wysłać informacje do obszaru pamięci, do którego można później łatwo uzyskać dostęp, maszyna jest posłuszna.



Łatwo sobie wyobrazić, że można temu zapobiec za pomocą oprogramowania, które oddziela dobre polecenia od złych. Zespół Google pokazuje jednak, że to tylko dodaje kolejną warstwę złożoności do wyzwania, wraz z nowym zestawem potencjalnych kanałów bocznych.

Aby pokazać wszechobecność zagrożenia, zespół Google skonstruował uniwersalny gadżet do odczytu. Jest to najlepszy podsłuch — procedura, która może odczytać całą adresowalną pamięć w procesorze, nieznaną użytkownikowi.

W żadnym wypadku nie jest to doskonałe oprogramowanie. Czasami działa probabilistycznie i może zawieść. Ale nie ma sposobu, aby uniemożliwić jej działanie, gdy tak się dzieje.

McIlroy i spółka stworzyli cztery warianty tego gadżetu. Zespół twierdzi, że opracowaliśmy proof of concept w C++, JavaScript i WebAssembly dla wszystkich zgłoszonych luk. Odkryli, że te gadżety do odczytu udostępniały informacje z szybkością do 2,5 kilobajta na sekundę.

Szczególnie niepokojący jest wariant 4 uniwersalnego gadżetu do czytania. McIlroy i spółka twierdzą, że nie byli w stanie znaleźć skutecznego sposobu na jej zwalczenie lub zmniejszenie zagrożenia. Nie wierzymy, że wariant 4 można skutecznie złagodzić w oprogramowaniu, mówią.

Podejmowane przez zespół próby zwalczania tych ataków miały znaczący wpływ na wydajność obliczeniową. Na przykład, jedna z form łagodzenia skutków dla pierwszego wariantu uniwersalnego gadżetu do odczytu doprowadziła do spowolnienia 2,8x, mierzonego przez program benchmarkingowy Java o nazwie Octane.

W ciągu ostatniego roku Intel przeprojektował swoje chipy, próbując złagodzić najpoważniejsze zagrożenia ze strony ataków Spectre i Meltdown. Ale podobno stało się to kosztem spadku wydajności nawet o 14%. A modyfikacje raczej nie będą bezpieczne.

Jednym z powodów niepokoju Google jest zagrożenie dla handlu elektronicznego. Nietrudno wyobrazić sobie atak, który ujawnia klucze kryptograficzne używane do zabezpieczania transakcji, umożliwiając w ten sposób kradzież na dużą skalę.

Dlatego firma dostarczyła już wersje Chrome z pierwszą linią obrony. Wersje 64 do 67 zapobiegają atakom w przeglądarce za pośrednictwem JavaScript.

Ale zagrożenie sięga znacznie głębiej. Wiele problemów wynika ze złożonej architektury urządzeń opartej na starannie strzeżonej własności intelektualnej.

Ta złożoność sama w sobie jest częścią problemu. Projekty są oparte na abstrakcyjnych modelach, które stały się bardziej złożone, ponieważ producenci dążyli do szybszego obliczania. McIlroy i spółka pokazują, że te abstrakcyjne modele zawsze mają kanały boczne, które istnieją poza modelem. Odkryliśmy, że niezaufany kod może skonstruować uniwersalny gadżet do odczytu, który odczytuje całą pamięć w tej samej przestrzeni adresowej przez kanały boczne. Naraża to na ryzyko dowolne dane w pamięci, nawet dane „w spoczynku”, które nie są obecnie wykorzystywane w obliczeniach i były wcześniej uważane za bezpieczne przed atakami typu side-channel.

Jest jednak trochę dobrych wiadomości. Jak dotąd nie są znane żadne ataki wykorzystujące Spectre lub Meltdown. Na razie zagrożenie ogranicza się do laboratoriów badaczy cyberbezpieczeństwa, takich jak McIlroy i jego koledzy.

Ale to zapewnia niewielki komfort producentom chipów i ekspertom ds. bezpieczeństwa. Nietrudno sobie wyobrazić, że złośliwi aktorzy — w tym zespoły sponsorowane przez państwo — mogą opracowywać sposoby wykorzystania tej luki. To jest problem, jak mówią McIlroy i spółka, który wydaje się być przeznaczony do prześladowania nas przez długi czas.

Nr ref.: arxiv.org/abs/1902.05178 : Spectre już tu zostanie: analiza kanałów pobocznych i spekulacyjna egzekucja

ukryć