Pamiętacie exploity bezpieczeństwa Spectre i Meltdown z zeszłego roku? Intel i AMD naprawdę mają nadzieję, że tak się nie stanie. Pomimo tego, w co chcą, abyś wierzył, te spekulacyjne exploity egzekucyjne nie znikną, przynajmniej nie w przypadku zaproponowanych dotychczas rozwiązań.
Zawartość
- Zaczynając od korzenia
- Omijając widmo
- Bezpieczeństwo, ale jakim kosztem?
- Duży, mały i bezpieczny
- Dostarczenie tego masom
Zamiast próbować naprawiać każdy pojawiający się wariant, trwała poprawka będzie wymagała fundamentalnej zmiany w projektowaniu procesorów. Propozycja? „Bezpieczny rdzeń”, który gwarantuje, że Twoje dane będą bezpieczne przed atakującymi, bez względu na błędy, jakie mogą próbować wykorzystać.
Polecane filmy
Być może nie jest to droga, którą chcą obrać duże firmy produkujące procesory, ale może być jedyną, która faktycznie działa.
Powiązany
- Obrona AMD przed Spectre V2 może być niewystarczająca
Zaczynając od korzenia
Kiedy na rynek wchodzi nowa generacja procesorów, pierwszym pytaniem, które pojawia się na ustach, jest: „Jak szybki jest procesor? To?" Więcej megaherców, więcej rdzeni, więcej pamięci podręcznej, a wszystko po to, aby aplikacje działały szybciej, a gry działały wydajniej lepsza. Kwestiami drugorzędnymi mogą być wymagania dotyczące zasilania lub mocy cieplnej, ale rzadko ktoś pyta o bezpieczeństwo.
Zrozumienie Spectre i Meltdown
Problem w tym, że ulepszenia wydajności, jakie miały miejsce w ciągu ostatnich kilku lat, wynikały głównie z tego przewidywanie spekulatywne, czyli procesory zgadują, co zrobisz dalej i przygotowują wszystko, co możesz potrzebuję tego. Jest to świetne rozwiązanie pod względem wydajności, ale jak pokazało Spectre i jego warianty, jest fatalne dla bezpieczeństwa.
“Wykonanie spekulacyjne już od dawna jest funkcją optymalizacji wydajności procesorów” – powiedział Jean-Philippe Taggart, starszy specjalista ds. badań bezpieczeństwa Malwarebytes w rozmowie z Digital Trends. Wyjaśnił, w jaki sposób to właśnie ta funkcja sprawia, że procesory Intela i innych producentów są podatne na ataki Spectre i podobne. „Architektura procesora będzie wymagała poważnego przemyślenia, aby albo zachować te ulepszenia wydajności, ale chronić je przed atakami takimi jak Spectre, albo całkowicie je wyeliminować” – powiedział.
„Bezpieczeństwo jest trudne, jeśli zawsze reagujesz, musisz czekać na luki w zabezpieczeniach, a następnie je naprawiać”
Jednym z potencjalnych rozwiązań jest dodanie nowego elementu sprzętowego do procesorów nadchodzących generacji. Zamiast zajmować się wrażliwymi zadaniami (które powodują takie ataki opłacalne) na rdzeniach przetwarzających o dużej mocy, co by było, gdyby producenci chipów połączyli te rdzenie z dodatkowym rdzeniem, który został specjalnie zaprojektowany z takimi zadania na myśli? Rdzeń bezpieczeństwa.
Może to sprawić, że Spectre i jego warianty nie będą stanowić problemu w przypadku nowego sprzętu. Nie miałoby znaczenia, czy przyszłe główne rdzenie procesorów byłyby podatne na takie ataki, ponieważ prywatne i bezpieczne informacje nie byłyby już obsługiwane przez te rdzenie.
Ta koncepcja źródła zaufania to coś więcej niż tylko ogólny zarys. W niektórych przypadkach jest to już opłacalny produkt i wszystkie główne firmy produkujące chipy, takie jak Intel czy AMD, musiałyby to zrobić, aby z niego skorzystać, to przyjąć.
Omijając widmo
„Bezpieczeństwo jest trudne, jeśli zawsze reagujesz, musisz czekać na luki w zabezpieczeniach, a następnie je naprawiać” Starszy dyrektor ds. zarządzania produktami Rambus, Ben Levine, powiedział Digital Trends, zapytany o trwający wariant Spectre zagrożenia. „Problem polegający na zabezpieczeniu złożonego procesora jest naprawdę trudny. Właśnie tutaj wpadliśmy na pomysł przeniesienia funkcji krytycznych dla bezpieczeństwa do osobnego rdzenia.
Choć nie jako pierwszy zasugerował taki pomysł, Rambus go udoskonalił. Jego Źródło zaufania CryptoManager to oddzielny rdzeń, który będzie umieszczony na głównej kości procesora, trochę jak koncepcja big.little spotykana w wielu procesorach mobilnych, a nawet własnych procesorach Intela nowy projekt Lakefield. Jednak tam, gdzie te chipy wykorzystują mniejsze rdzenie w celu oszczędzania energii, bezpieczny rdzeń zaufania skupiałby się przede wszystkim na bezpieczeństwie.
Łączyłby procesor bez aspektów spekulacyjnych głównych procesorów, z akceleratorami do kryptografii i własną bezpieczną pamięcią. Byłaby to stosunkowo prosta konstrukcja w porównaniu z monstrualnymi procesorami ogólnego przeznaczenia, na których działają obecnie nasze komputery, ale dzięki temu byłaby znacznie bezpieczniejsza.
Chroniąc się, bezpieczny rdzeń mógłby następnie podjąć się najbardziej wrażliwych zadań, które zwykle wykonywałby rdzeń procesora ogólnego przeznaczenia. Zabezpieczanie kluczy szyfrujących, sprawdzanie poprawności transakcji bankowych, przetwarzanie prób logowania, przechowywanie prywatnych informacji w bezpiecznej pamięci lub sprawdzanie rekordów rozruchowych nie zostały uszkodzone podczas uruchamiania.
„… Te operacje są stosunkowo powolne w oprogramowaniu, ale rdzeń bezpieczeństwa może mieć akceleratory sprzętowe, które wykonują to znacznie szybciej”.
Wszystko to może pomóc poprawić ogólne bezpieczeństwo systemu, który go wykorzystuje. Co więcej, ponieważ brakowałoby mu spekulacyjnych ulepszeń wydajności, byłby całkowicie bezpieczny przed atakami podobnymi do Spectre, unieważniając je. Takie ataki nadal można by przeprowadzić na główne rdzenie procesora, ale ponieważ nie przetwarzałyby one żadnych danych, które warto ukraść, nie miałoby to znaczenia.
„Pomysł nie polega na wymyśleniu jednego procesora, który zrobi wszystko, aby był bardzo szybki i bardzo bezpieczny, ale zoptymalizujmy osobno różne rdzenie pod kątem różnych celów” – wyjaśnił Levine. „Zoptymalizujmy nasz główny procesor pod kątem wydajności lub niższego poboru mocy, cokolwiek jest ważne dla tego systemu, i zoptymalizujmy inny rdzeń pod kątem bezpieczeństwa. Mamy teraz te dwie oddzielnie zoptymalizowane domeny przetwarzania i wykonujemy przetwarzanie w zależności od tego, która z nich jest najbardziej odpowiednia, biorąc pod uwagę charakterystykę obliczeń i systemu”.
Taki rdzeń działałby trochę jak chip koprocesora T2, który Apple wprowadził w swoim iMacu, a później zaimplementował w swoim iMacu z 2018 roku
Bezpieczeństwo, ale jakim kosztem?
Często mówi się, że złożoność jest wrogiem bezpieczeństwa. Dlatego też projekt bezpiecznego rdzenia, jaki proponuje Rambus, jest stosunkowo prosty. Nie jest to duży, monstrualny układ z wieloma rdzeniami i wysokim taktowaniem, jak typowe procesory spotykane w komputerach stacjonarnych lub laptopy.
Czy to oznacza, że poświęcilibyśmy wydajność, gdyby taki rdzeń miał zostać zastosowany w połączeniu z nowoczesnym chipem? Niekoniecznie.
Ważne wnioski płynące z koncepcji bezpiecznego rdzenia, niezależnie od tego, czy był to CryptoManager Root of Trust firmy Rambus, czy podobny projekt innej firmy polega na tym, że będzie wykonywał tylko zadania skupiające się na prywatności lub bezpieczeństwo. Nie potrzebowałbyś go, aby przejąć karmienie swojego karta graficzna podczas sesji gry lub poprawiania obrazów w Photoshopie. Możesz jednak preferować szyfrowanie wiadomości za pośrednictwem aplikacji do czatu. W tym przypadku wyspecjalizowany sprzęt może zapewnić korzyści wykraczające poza bezpieczeństwo.
„Rzeczy takie jak algorytmy kryptograficzne, szyfrowanie lub deszyfrowanie za pomocą algorytmu takiego jak AES lub używanie algorytmu klucza publicznego, takiego jak RSA lub eliptyczny krzywej, operacje te są stosunkowo powolne w oprogramowaniu, ale rdzeń bezpieczeństwa może mieć akceleratory sprzętowe, które wykonują to znacznie szybciej” – Levine powiedział.
„Kierujemy w stronę prostoty, a jeśli coś jest proste, to powinno być małe. Jeśli jest mały, oznacza to małą moc.
Jest to coś, z czym w dużej mierze zgadza się Rob Coombs, szef ds. bezpieczeństwa IoT w firmie Arm.
„Zazwyczaj root trustów będzie budowany w akceleratorze kryptowalut, więc wymaga to trochę więcej krzemu, ale zaletą tego jest to, że wyższa wydajność w przypadku funkcji kryptograficznych, dzięki czemu nie polegasz tylko na procesorze, który regularnie szyfruje plik” – stwierdził. powiedział. „Procesor może to skonfigurować, a następnie silnik kryptograficzny może przeżuć dane i zaszyfrować lub odszyfrować je. Otrzymujesz wyższą wydajność.”
Nowoczesne procesory, takie jak Intel, mają własne akceleratory kryptograficzne, więc w tym przypadku może nie być tak, że szyfrowanie lub deszyfrowanie byłoby zasadniczo szybsze niż procesor ogólnego przeznaczenia wykonujący to samo zadanie, ale mogłoby tak być porównywalny.
Chociaż Coombs podczas swojej rozmowy z nami podkreślił, że rdzeń głównego zaufania będzie wymagał do wyprodukowania trochę dodatkowego krzemu, koszt robienie tego w oparciu o inne ważne czynniki, takie jak cena produkcji, pobór mocy chipa lub jego moc cieplna, byłoby głównie nieporuszony.
Ben Levine z Rambus zgodził się z tym.
„Rdzeń bezpieczeństwa jest po prostu niewielki w porównaniu do wszystkiego innego” – powiedział. „Tak naprawdę nie ma to znaczącego wpływu na koszt chipa, wymagania dotyczące zasilania czy temperatury. Możesz wiele zrobić w dość małym obszarze logicznym, jeśli zaprojektujesz go ostrożnie. Stawiamy na prostotę, a jeśli coś jest proste, to powinno być małe. Jeśli jest mały, oznacza to małą moc.
Jego jedynym zastrzeżeniem było to, że w mniejszych urządzeniach o niższym poborze mocy, takich jak te używane w IoT, bezpieczny rdzeń Rambusa miałby większy wpływ na moc i koszty. Tutaj właśnie mogłoby pojawić się bardziej modułowe podejście Arma.
Duży, mały i bezpieczny
Arm był wczesnym pionierem idei duży mały Procesory lub duże i małe rdzenie w tym samym procesorze. Dziś jest to powszechna funkcja w urządzeniach mobilnych firm Qualcomm i Apple. Większe rdzenie procesora są wykorzystywane do podnoszenia dużych ciężarów w razie potrzeby, podczas gdy mniejsze rdzenie obsługują bardziej typowe zadania, aby oszczędzać energię. Podejście Arm opiera się na idei budowania zaufania w głównych chipach, a także w znacznie mniejszych mikrokontrolerach do stosowania w szerszej gamie urządzeń.
„Zdefiniowaliśmy coś, co nazywa się a PSA (architektura bezpieczeństwa platformy) źródło zaufania z wbudowanymi podstawowymi funkcjami bezpieczeństwa, takimi jak kryptografia, bezpieczny rozruch i bezpieczne przechowywanie; Każde urządzenie IOT będzie ich potrzebować” – wyjaśnił Coobs Digital Trends.
Ze wszystkich głównych producentów chipów firma Arm została prawdopodobnie najmniej dotknięta przez Spectre i Meltdown. Tam, gdzie Intel był podatny na najszerszy zakres potencjalnych ataków, a AMD musiało wypuścić pewną liczbę mikrokodu i ulepszenia oprogramowania, Arm był w stanie wzmocnić swoje i tak już solidne zabezpieczenia, zanim pojawiły się spekulacyjne błędy w wykonywaniu ujawnił.
Teraz Arm koncentruje swoje wysiłki na zabezpieczeniu Internetu rzeczy. Coombs wierzy, że bezpieczny rdzeń i źródło zaufania to jeden z najlepszych sposobów, aby to osiągnąć, i chce, aby każde urządzenie IoT wdrażało taki system. Aby pomóc to osiągnąć, Arm oferuje oprogramowanie typu open source, wskazówki rozwojowe i rozwiązania sprzętowe rozwiązujące problemy bezpieczeństwa, z którymi borykają się dzisiejsi programiści IoT.
.. W dużej mierze rdzeń bezpieczeństwa będzie używany na poziomie systemu operacyjnego i systemu, a nie na poziomie aplikacji
„Stworzyliśmy implementację open source i referencyjną, a teraz dzięki certyfikatowi PSA stworzyliśmy wielopoziomowy schemat bezpieczeństwa, w którym ludzie mogą wybrać poziom bezpieczeństwa, jakiego potrzebują” – powiedział Coombs. „Różne systemy wymagają różnych zabezpieczeń. Chcemy dostosować to do przestrzeni IoT.”
Stosując te zasady do większych procesorów ogólnego przeznaczenia stosowanych w laptopach i komputerach stacjonarnych, wynik końcowy nie byłby drastycznie różny. Chociaż takie chipy nie miałyby małych rdzeni obok dużych, według Bena Levine’a z Rambusa mogłyby bez większych trudności zaimplementować bezpieczny rdzeń na matrycy.
„Te rdzenie powinny być i muszą być znacznie mniejsze niż jeden z głównych dużych rdzeni procesorów, które można dostać w chipie Intela lub AMD” – powiedział. „To nie będzie siedem plus jeden, będzie to osiem lub cokolwiek innego procesora rdzeniowego i jeden lub więcej niż jeden mały rdzeń bezpieczeństwa, który zapewnia funkcje bezpieczeństwa dla wszystkich pozostałych rdzeni”.
Co najważniejsze, wdrożenie takich rdzeni nie byłoby nawet skomplikowane.
„Nie będziemy dodawać zbyt wiele do cyklu projektowania chipów związanego z wprowadzeniem nowego chipa do produktu konsumenckiego” – powiedział. „Nasz wpływ będzie dość minimalny. To będzie po prostu normalny cykl życia produktu obejmujący przejście rozwoju architektury chipów do produkcji, a następnie do wysyłki produktów.
Dostarczenie tego masom
Bezpieczeństwo może być kwestią kury i jajka, a programiści nie chcą go wdrażać bez konkretnej potrzeby lub żądania ze strony klientów. Gdyby jednak producenci sprzętu połączyli swoje istniejące rdzenie procesorów z bezpiecznym rdzeniem zaufania, zadanie twórców oprogramowania byłoby stosunkowo łatwe.
„W zależności od aplikacji rdzeń bezpieczeństwa będzie w dużej mierze wykorzystywany na poziomie systemu operacyjnego i systemu, a nie na poziomie aplikacji” – wyjaśnił Levine. „Jeśli prawidłowo budujesz system operacyjny i całe oprogramowanie systemowe, możesz wykorzystać większość funkcji bezpieczeństwa bez konieczności martwienia się o to twórcy aplikacji. Możesz udostępnić interfejsy API, aby udostępnić niektóre podstawowe funkcje bezpieczeństwa, z których twórca aplikacji może łatwo skorzystać, np. szyfrowanie i deszyfrowanie danych.
Włączając źródło zaufania do samego sprzętu i pozostawiając obowiązek jego wdrożenia systemom operacyjnym, twórcy oprogramowania może szybko skorzystać z dodatkowego bezpieczeństwa, jakie może zapewnić we wszystkich aspektach przetwarzania danych, w tym uniknąć pułapek Spectre i jego podobny.
Być może w tym miejscu firmy takie jak Intel i AMD do tej pory popełniały błędy. Chociaż ich łatki, poprawki mikrokodu i ulepszenia sprzętowe pomogły złagodzić niektóre problemy związane z atakami typu Spectre, wszystkie mają swoje własne pułapki. Wydajność uległa pogorszeniu i w wielu przypadkach producenci urządzeń nie instalują opcjonalnych poprawek, ponieważ nie chcą przegrać wyścigu zbrojeń o władzę.
Zamiast tego Rambus, Arm i inni chcą całkowicie ominąć ten problem.
„Nie twierdzimy, że naprawiamy Spectre lub Meltdown, po pierwsze mówimy, że te exploity nie są jedynymi lukami w zabezpieczeniach” – powiedział Levine. „Zawsze będzie więcej. Złożoność nowoczesnych procesorów sprawia, że jest to nieuniknione. Zmieńmy problem i zaakceptujmy, że będzie więcej luk w zabezpieczeniach procesorów ogólnego przeznaczenia i innych rzeczy na których nam bardzo zależy, jak klucze, dane uwierzytelniające, dane, wyjmijmy to z procesora i omińmy cały problem.
W ten sposób użytkownicy mogą mieć pewność, że ich system jest bezpieczny, bez konieczności poświęcania czegokolwiek. Podstawą sprzętu zaufania jest to, że wszelkie skradzione dane są dla nikogo bezużyteczne. Pozostawia ducha Spectre w mrocznej krainie redundancji, gdzie może nadal prześladować osoby korzystające ze starego sprzętu. Jednak w miarę jak ludzie będą przechodzić na nowy, oparty na zaufaniu sprzęt przyszłych generacji, stanie się to coraz bardziej nieistotne i znacznie mniej niepokojące.
Zalecenia redaktorów
- AMD może w końcu pokonać Intela w kategorii najszybszy procesor do gier mobilnych
- Chipy Intela są nadal podatne na ataki, a nowe Ice Lake nie załata wszystkiego