Jaką masz pewność, że Twój „bezpieczny” dysk USB jest naprawdę bezpieczny, a przechowywanych na nim danych nie można odczytać? Takie pytanie zadali badacze ds. bezpieczeństwa z firmy Google, Ellie Bursztein, Jean-Michel Picod i Rémi Audebert, podczas swojego wystąpienia na konferencji Black Hat USA 2017.
Badacze poinformowali, że producenci bezpiecznych dysków USB stosują się do standardu certyfikacyjnego FIPS 140, który został utworzony przez Narodowy Instytut Standaryzacji i Technologii (ang. NIST, National Institute of Standards and Technology) na potrzeby wszystkich modułów kryptograficznych — zarówno sprzętowych, jak i programowych. Certyfikacja obejmuje upublicznienie bezpieczeństwa kryptograficznego i procesu weryfikacji zgodności.
Jak przyznali badacze, dbanie o aktualność certyfikacji jest istotne o tyle, że ujawnione informacje dostarczają im wiedzę na temat możliwych problemów. Jednak to nie wystarczy, gdyż standard FIPS 140 nie jest w stanie uwzględnić każdego możliwego wektora ataku. A jak widać na poniższym obrazku, mimo że niektóre szyfrowane dyski USB przechodzą certyfikację, wciąż są podatne na ataki — czasami nawet na te najprostsze.
Dlatego badacze proponują utworzenie nowej metodologii audytu, szczególnie w celu oceny bezpieczeństwa szyfrowanych dysków USB. Podzielili oni problemy związane z bezpieczeństwem na trzy kategorie:
- najsłabsze punkty — problemy, które mogą ułatwić dalszy proces hakowania,
- pojedynczy atak — luki, które umożliwiają atakującemu hakowanie konkretnego dysku,
- pełny atak — luki, które mogą dać atakującemu dostęp do informacji na dowolnym dysku tego samego modelu.
Ponadto wykorzystanie niektórych luk wymaga określonych umiejętności i zasobów. Część z nich może zostać użyta nawet przez osobę nieposiadającą szczególnych kwalifikacji, a inne wymagają wielu zasobów, które zwykle są dostępne dla hakerów sponsorowanych przez państwo. Wobec tego zagrożenie może stwarzać atak:
- Przypadkowy — dostępny dla oportunistycznych hakerów dysponujących minimalnymi zasobami — zazwyczaj należą tu osoby, które znalazły lub ukradły dysk i są chętne do poznania znajdujących się na nim informacji.
- Zawodowy — dostępny dla atakujących posiadających ograniczone zasoby. Przeważnie atakujący na tym poziomie są zainteresowani gromadzeniem dużej ilości informacji.
- Sponsorowany przez państwo — wymaga od atakujących posiadania wielu zasobów. Zazwyczaj atakujący wkładają wiele wysiłku w poszukiwania określonych danych, a także kluczy.
Dalsza klasyfikacja zagrożeń charakterystycznych dla szyfrowanych dysków USB dzieli możliwe wektory ataku na kilka grup, w zależności od cech konstrukcyjnych i produkcyjnych całego dysku, czynnika uwierzytelniającego (wejściowego), sterownika USB/szyfrowania, algorytmu szyfrowania i pamięci flash.
Konstrukcja i produkcja
Po pierwsze, szyfrowany dysk USB musi zostać zaprojektowany i wyprodukowany w taki sposób, jaki definiuje określony poziom ochrony. Dobrze by było, aby szyfrowane urządzenie oferowało możliwość dostrzeżenia ataku — czyli aby miało dostępne wskaźniki ataku lub ślady manipulacji przy sprzęcie.
Im łatwiej jest uzyskać dostęp do części elektronicznych, tym łatwiej atakujący może zbadać sprzęt i znaleźć w nim jakąś lukę. Aby uniknąć takiej sytuacji, płytka drukowana powinna być pokryta warstwą żywicy epoksydowej.
Należy przy tym zaznaczyć, że żywica epoksydowa musi być prawdziwa — nie można zamiast niej stosować zamienników: badacze odkryli, że w co najmniej kilku przypadkach producenci użyli mniej odpornego polimeru, choć deklarowali zastosowanie żywicy epoksydowej. W efekcie warstwę tę można było z łatwością usunąć przy użyciu acetonu, odkrywając cały sprzęt.
Po uzyskaniu dostępu do części elektronicznych pierwszą rzeczą, jakiej szuka atakujący, są oznaczenia części. Ma to kluczowe znaczenie dla wyszukania instrukcji i specyfikacji, które umożliwiają podjęcie decyzji odnośnie dalszego kierunku ataku. Jeśli z czipów zostaną ostrożnie usunięte wszystkie nazwy modeli, numery seryjne itp., atakujący może skupić swoją uwagę na czarnej skrzynce — lecz będzie musiał przeprowadzić znacznie bardziej skomplikowane badanie, aby dowiedzieć się, jakie działania może zastosować na danym dysku.
Czasami oznaczenia z czipów próbują wymazać sami producenci, jednak zwykle nie udaje im się tego zrobić poprawnie.
Zastąpienie oprogramowania układowego inną wersją, która umożliwia pominięcie zabezpieczeń, wymaga wiele wysiłku. Niestety może to nie zrażać utalentowanego hakera, który dysponuje znacznymi zasobami. Co gorsza, taki atak można powielić: gdy atakujący przeprowadzi inżynierię wsteczną na oprogramowaniu układowym i dowie się, jakich zmian należy dokonać, może on zhakować w dowolny dysk tego modelu.
TEMPEST to rodzaj ataku, który umożliwia atakującemu odkrycie, co się dzieje wewnątrz urządzenia podczas emisji elektromagnetycznej. Atak ten jest skomplikowany i nie występuje zbyt często, a przynajmniej nie dotyczy zwykłych ludzi i firm. Jednak każdy, kto chce mieć pewność, że jego tajemnice są odpowiednio chronione przed sponsorowanymi przez kraj hakerami, powinien użyć dysków USB z miedzianą folią ochronną, która zapewnia niezawodną ochronę przed atakami tego rodzaju i jest stosunkowo niedroga.
Na podrabianie dysków USB mogą decydować się nie tylko przeciętni hakerzy, lecz również ci sponsorowani przez jakiś kraj. Dlatego chroniąc swoje tajemnice przed zaawansowanym szpiegostwem, chcesz mieć pewność, że Twoje szyfrowane dyski USB są zaprojektowane tak, aby chroniły je przed fałszowaniem.
Wejście
Inny problem dotyczy poziomu ochrony tej części dysku USB, która uwierzytelnia legalnych użytkowników i odblokowuje urządzenie. Po pierwsze, uwierzytelnienie osoby przeprowadzającej atak jest znacznie łatwiejsze niż zhakowanie pamięci flash na poziomie sprzętowym czy zhakowanie algorytmu szyfrowania. Po drugie, istnieje duża szansa, że podczas tworzenia mechanizmu uwierzytelniania producent popełnił jakiś błąd. Z tego powodu uwierzytelnianie stanowi najbardziej oczywisty cel dla każdego hakera (tuż po zbadaniu urządzenia).
Użytkownik może autoryzować się na cztery sposoby: przy użyciu klawiatury do wprowadzania kodu PIN, bezprzewodowego identyfikatora, odcisku palca lub poprzez wprowadzenie kodu PIN w oprogramowaniu.
Pierwszym błędem, który może popełnić producent, jest przechowywanie kodu PIN w programie. Uzyskać go może nawet atakujący, który nie posiada wybitnej wiedzy hakerskiej, a tym samym osoba ta może zhakować nie tylko konkretne urządzenie, ale każde inne tego samego modelu. W niektórych przypadkach program może zawierać luki, które mogą umożliwiać powtórzenie ataku — tak było w przypadku kilku dysków certyfikowanych przez FIPS, które zostały zbadane przez badaczy z firmy German SySS w 2009 roku.
Klawiatury do wprowadzania kodów PIN mogą zostać zhakowane przy użyciu prostego exploita: wybrane przyciski mogą pokazywać oznaki zużycia, ujawniając kombinacje, które można wykorzystać do odblokowania dysku.
Bezprzewodowe identyfikatory są jeszcze gorszym przypadkiem, gdyż można je sklonować przy użyciu bardzo prostego urządzenia. Korzystając z takiej sfałszowanej przepustki, każdy atakujący może z łatwością odblokować dysk USB, nie pozostawiając po sobie śladu.
Podczas swojego wystąpienia na tegorocznej konferencji Black Hat wspomniani badacze zademonstrowali cztery metody:
Odciski palców mogą się wydawać silnym czynnikiem uwierzytelniającym, ale w rzeczywistości są one dalekie od ideału. Można je sklonować na wiele sposobów, a niektóre nie wymagają nawet kontaktu fizycznego — atakujący może wykonać dobrej jakości zdjęcie lustrzanką cyfrową i wykonać kopię odcisków przy użyciu standardowej drukarki atramentowej z tuszem przewodzącym. Co gorsza, odciski palca nie są jak hasła — nie można ich zmienić.
Co ciekawe, atakujący niekoniecznie muszą dysponować fałszywymi odciskami palców. Jak pokazali badacze, w niektórych przypadkach urządzenie chronione takim sposobem można odblokować znacznie łatwiej.
Jak się okazało, co najmniej jeden z modeli takich dysków USB, które przeanalizował zespół Burszteina, jest podatny na atak powtórzony. Gdy czujnik dysku skanuje oryginalny odcisk, wysyła do sterownika dysku polecenie odblokowania urządzenia.
Inny błąd popełniony przez tego producenta obejmował pozostawienie portu debugowania na płytce drukowanej w trybie działania. Przy użyciu tego portu badacze przechwycili polecenie odblokowania i mogli go użyć do odblokowania każdego innego dysku tego modelu.
Ataki te mogą się wydawać skomplikowane, lecz działają bezbłędnie: dzięki nim utalentowany atakujący może uzyskać dostęp do tajnych plików. Jeśli chcesz chronić swoje tajemnice przed nawet najbardziej utalentowanymi hakerami lub atakami sponsorowanymi przez kraj, koniecznie musisz wziąć pod uwagę wszystkie wspomniane wyżej luki.
Sterownik
Jeśli chodzi o sterownik USB/szyfrowania, należy upewnić się, że dysku nie można zhakować przy użyciu ataku metodą siłową. Jak się okazało, niektóre są w tym względzie bezbronne — na przykład dyski, które używają bezprzewodowych znaczników (te, których badacze użyli do zaprezentowania ataku klonowania znaczników, także są podatne na ataki metodą siłową).
Aby zapewnić sobie ochronę przed atakiem siłowym, po określonej liczbie nieudanych prób autoryzacji urządzenie musi dokonać samowypalenia. W idealnym przypadku klucz szyfrowania i informacja zapisana w pamięci flash dysku zostaną bezpiecznie wymazane po wypaleniu dysku.
Nie zaszkodzi również upewnić się, że urządzenie natychmiast zablokowało się po wyjęciu z portu USB, po określonym czasie bezczynności czy zresetowaniu portu USB.
Należy również sprawdzić, czy sterownik dysku umożliwia uzyskanie haseł, kodów PIN i kodów szyfrowania. Może to wydawać się oczywiste, lecz Bursztein, Picod i Audebert spotkali taką sytuację podczas badania urządzenia: udało im się uzyskać hasło główne ze sterownika dysku, następnie założyli konto nowego użytkownika i uzyskali dostęp do wszystkich plików przechowywanych na urządzeniu.
Atak ten umożliwia odblokowanie dowolnego urządzenia tego modelu hakerom posiadającym średni poziom zaawansowania, którzy dysponują niewielkimi zasobami.
Szyfrowanie
Szyfrowanie jest oczywiście podstawą bezpieczeństwa pamięci USB. Na szczęście istnieje małe prawdopodobieństwo, że tego rodzaju ataku zdecyduje się użyć oportunistyczny haker bez wystarczających zasobów. Nowoczesne dyski używają przeważnie silnych algorytmów szyfrowania, które są trudne do złamania — nawet jeśli nie są odpowiednio dobrze zaimplementowane.
Z drugiej strony nigdy nie można mieć stuprocentowej pewności, że producent urządzenia właściwie zaimplementował szyfrowanie.
Aby dysk USB zapewniał wysoki poziom bezpieczeństwa, musi używać standardu szyfrowania AES lub nowszego. Nie zawsze tak jest: podczas badania Bursztein wraz z kolegami napotkali kilka różnych dysków, które wykorzystywały przestarzałe szyfrowanie, takie jak RC4 czy RSA-512. Chociaż zhakowanie tych kryptosystemów wymaga użycia znacznych zasobów, udowodniono, że mają one wiele luk.
Należy tu wspomnieć również losowe generowanie kluczy szyfrowania, użycie bezpiecznego generatora losowego dla kluczy oraz wektorów inicjujących, użycie bezpiecznego algorytmu dla szyfrowania łańcuchowego itp. Jednak dotyczy to przeważnie tych, którzy chcą być chronieni przed szpiegowaniem zleconym przez państwo.
Jak podkreślają naukowcy, cała tajemnica kryptografii leży w sprzęcie, dlatego uzyskanie informacji o tym, co dzieje się podczas szyfrowania dysku, a także wyszukiwanie luk w urządzeniu — należą do stosunkowo trudnych zadań. Dlatego pomocna jest każda dodatkowa informacja.
Pamięć
Ostatnią kategorią możliwych wektorów ataku jest bezpośredni odczyt pamięci flash. Nie jest to łatwe: atakujący musi ostrożnie wydobyć czip pamięci z płytki drukowanej dysku i podłączyć go do urządzenia odczytującego. W niektórych przypadkach producenci znacznie ułatwiają to zadanie, używając kart microSD zamiast czipów lutowanych.
Znacznie trudniejsze jest poprawne wydobycie informacji z czipa pamięci flash: na poziomie sprzętowym nie przechowuje ona danych w postaci wygodnych plików, a zatem atakujący musi się sporo napracować, aby uzyskać przydatne dane ze zrzutu pamięci flash.
Jednak producent może popełnić poważny błąd, na przykład przechowywać kod PIN w postaci tekstowej w czipie pamięci. Może także przechowywać w nim klucze szyfrowania, zahaszowany kod PIN czy klucz do podpisywania oprogramowania układowego— ale zagraża to jedynie osobom, które obawiają się szpiegostwa na wysokim poziomie.
Jak podkreślili badacze, prace nad złożeniem tej układanki dopiero się rozpoczęły, a współpraca z innymi osobami jest mile widziana. Do projektu może przyłączyć się każdy, przyczyniając się do utworzenia nowej metodologii audytowej dla bezpiecznych dysków USB i testując możliwie największą liczbę modeli dysków.
Tymczasem warto się zastanowić, co można zrobić na rzecz ochrony informacji przechowywanych na „bezpiecznych” dyskach USB, mając równocześnie świadomość, że nikt nie może mieć pewności, że dyski te naprawdę są bezpieczne? Najlepszą opcją jest samodzielne szyfrowanie danych jeszcze przed przeniesieniem ich na urządzenie.
Na przykład nasz produkt Kaspersky Endpoint Security for Business szyfruje informacje przy użyciu algorytmu AES-256. Jeśli musisz przesłać poufne dane, możesz z łatwością umieścić je w chronionych hasłem, szyfrowanych, samorozpakowujących się pakietach. Dzięki specjalnemu trybu przenośnemu dla szyfrowania na poziomie plików można je odczytać nawet na komputerach, na których nie jest zainstalowany produkt firmy Kaspersky Lab.