Otwarty kod źródłowy nie jest lekarstwem na wszystko

Jeden z prelegentów spotkania CCC sprawdził, czy wykorzystywanie sprzętu z otwartym kodem źródłowym może rozwiązać znane problemy sprzętowe.

Wiele osób uważa, że stosowanie oprogramowania z otwartym kodem źródłowym zapewnia większe bezpieczeństwo niż oprogramowania utworzonego samodzielnie. Teraz podobna teoria jest coraz częściej stosowana podczas tworzenia sprzętu. Podczas 36 edycji konferencji Chaos Communication Congress (36C3), która odbyła się w zeszłym miesiącu, eksperci Andrew „bunnie” Huang, Sean „xobs” Cross i Tom Marble poddali w wątpliwość ideę, zgodnie z którą stosowanie otwartego kodu źródłowego wystarczy, aby rozwiązać problemy z zaufaniem w obszarze sprzętowym.

Różnice między sprzętem a oprogramowaniem w kwestii zaufania

Za bezpieczeństwo oprogramowania typu open source odpowiada nie tylko jego otwarty charakter, ale również powszechnie używane narzędzia, dzięki którym program uruchamiany na punkcie końcowym jest wierny opublikowanemu kodowi źródłowemu. Programiści podpisują swoje oprogramowanie na przykład za pomocą certyfikatu cyfrowego, który jest sprawdzany przez system, zanim oprogramowanie zostanie uruchomione na komputerze użytkownika.

Jeśli chodzi o sprzęt, sytuacja wygląda nieco inaczej. Ponieważ nie istnieją odpowiedniki sprzętowe służące do haszowania ani podpisów cyfrowych, użytkownicy nie dysponują narzędziami, dzięki którym mogliby sprawdzać autentyczność sprzętu w oparciu o opublikowane informacje na jego temat. Po raz ostatni urządzenia i czipy są sprawdzane w fabryce. A im więcej czasu mija od sprawdzenia w fabryce a użyciem urządzenia, tym większa szansa na udany atak MITM.

Potencjalne zagrożenia

Ogólnie rzecz biorąc, od chwili gdy czipy i urządzenia opuszczą fabrykę do momentu, w którym zostaną użyte po raz pierwszy, może zdarzyć się wszystko. Na przykład oprogramowanie układowe może zostać zmienione (oczywiście firmware to oprogramowanie, więc może zostać sprawdzone, jednak podczas weryfikacji nadal trzeba polegać na sprzęcie). Dlatego Huang skoncentrował się na problemach — takich jak zamienniki komponentów, modyfikacje i implanty — które mają ścisły związek ze sprzętem.

Dodawanie komponentów

Dziś nieautoryzowany moduł można umieścić nawet w kablu USB do ładowania. Naturalnie im bardziej złożony sprzęt, składający się z większej liczby elementów, tym manipulacja jest łatwiejsza, ponieważ umożliwia on znacznie więcej opcji umieszczenia implantów. Jedyną dobrą wiadomością jest to, że dodany czip jest stosunkowo łatwy do wykrycia.

Zastępowanie komponentów

Najprostszą podmianą jest manipulowanie oznakowaniem. Przykład z życia: kontrola wizualna niepoprawnie działającego mikrokontrolera pokazała, że oznakowanie (od STMicroelectronics) znajduje się na zupełnie innym czipie. W tym przypadku oszustwo polegało na zastąpieniu droższego elementu tańszym, ale równie dobrze zamiennikiem mogłoby być cokolwiek innego.

Modyfikacja czipa

Ludzie zwykle uważają, że czipów nie można modyfikować poza fabryką, ale to nie prawda. W wielu przypadkach to, co widzimy jako jeden czip, jest w rzeczywistości kilkoma oddzielnymi mikroukładami połączonymi w całość. Doświadczony atakujący może w ten sposób umieścić w takim pakiecie jeszcze jeden drobny element.

Zmodyfikowany czip. Źródło obrazu

 

W rzeczywistości potrzebny do tego sprzęt jest stosunkowo tani i łatwo dostępny (według prelegenta używana urządzenie z Chin służące do łączenia przewodów kosztuje około 7 000 dolarów), chociaż sfałszowane wyniki będą wykrywalne w promieniach rentgenowskich.

Obudowy typu WL-CSP (ang. Wafer-Level Chip-Scale Package) są znacznie droższe do modyfikacji, ale promienie rentgenowskie nie ujawnią zastosowanego w nich oszustwa.

Modyfikacja obwodu scalonego

Zazwyczaj firmy projektują czipy, ale ich produkcję zlecają na zewnątrz, gdyż tylko duże podmioty na rynku mogą sobie pozwolić na wyprodukowanie własnych czipów. Taka sytuacja sprawia, że istnieje wiele sposobów modyfikacji produktu końcowego, tak aby nadal był on zgodny z zakresem wytycznych. Co więcej, gdy czip lub urządzenie opuści mury pracowni projektowej, rzadko ktoś zadaje sobie trud sprawdzenia, czy produkt wynikowy jest zgodny z oryginalnymi specyfikacjami.

Na którym etapie można zmienić sprzęt?

Prezenter omówił kilka scenariuszy zamiany, począwszy od dość skomplikowanych (przechwytywanie ładunku w drodze — jako przykład wersji ekstremalnej) po stosunkowo łatwe. Ogólnie rzecz biorąc, każdy może kupić produkt, wprowadzić w nim zmiany i zwrócić go do sprzedawcy, który może sprzedać go ponownie. Na różnych etapach realizowania zamówień dostęp do sprzętu ma zespół pakowania (u producenta), agenci celni i wiele innych osób, a każda z nich może wprowadzać w nim zmiany. Zatem używanie sprzętu z otwartym kodem źródłowym nie poprawi znacząco bezpieczeństwa we wszystkich sytuacjach.

Wnioski

Pod koniec swojej prezentacji Huang zastanawiał się, jakie zmiany w produkcji sprzętu mogłyby umożliwić użytkownikom końcowym zweryfikowanie bezpieczeństwa czipów i urządzeń. Osoby zainteresowane tym pomysłem, jak również szczegółami technicznymi modyfikacji czipów, dowiedzą się tego z filmu z prezentacją.

Nie wszystkie sposoby przekształcenia sprzętu w wariant niebezpieczny są drogie lub pracochłonne. Co istotne, nie ma bezpośredniego związku między złożonością ataku a stopniem trudności wykrycia go. Jeśli chodzi o użytkowników biznesowych, powinni oni pamiętać o zagrożeniu i nie polegać wyłącznie na produktach zabezpieczających punkty końcowe; systemy ochrony infrastruktury firmowej odpierają zaawansowane zagrożenia i ataki ukierunkowane.

Porady