Hakowanie całego miasta, czyli skutki wdrożenia czytników RFID

Czy masowe wdrożenie czytników kart zbliżeniowych w bramach budynków mieszkalnych to dobry pomysł? Pewnie tak, o ile nie okaże się, że wystarczająco wnikliwy i utalentowany haker potrafi bez wysiłku otworzyć ponad 90% z nich.

Na konferencji 30C3 austriacki badacz o swojsko brzmiących personaliach Adrian Dabrowski pokazał, jak od zwykłej ciekawości można krok po kroku dojść do umiejętności otwarcia drzwi większości zmodernizowanych budynków mieszkalnych w Wiedniu.

Historia wiedeńskich kluczy uniwersalnych

Wiedeń to miasto, w którym już wiele lat temu wdrożono system różnych tradycyjnych kluczy uniwersalnych. Jeden służy do otwierania bram, słupków parkingowych i innych przeszkód dla samochodów i korzystają z niego głównie strażacy. Drugi to klucz elektryków, otwierający skrzynki z ich urządzeniami. Trzeci, najbardziej interesujący z perspektywy tego artykułu, to klucz otwierający bramę prawie każdego budynku mieszkalnego (i części lokali biurowych lub przemysłowych) w Wiedniu. Oficjalnie korzystają z niego instytucje takie jak poczta, firma wywożąca śmieci czy Czerwony Krzyż. Nieoficjalnie dysponują nim również rozkładacze ulotek czy też dostawcy gazet, ponieważ kopię klucza można kupić na czarnym rynku za ok. 10-15 EUR (jeszcze kilka lat temu jego cena dochodziła nawet do 200 EUR).

Klucz działa niezależnie od domofonów – każdy budynek ma zamek, umożliwiający otwarcie drzwi w przypadku np. awarii zasilania. Oczywiście zarządca budynku nie ma obowiązku użycia wkładki zgodnej z kluczem – jeśli jednak pojawi się potrzeba interwencji straży pożarnej a drzwi będą zamknięte, to zostaną wyłamane a właścicielowi budynku nie będzie przysługiwać żadne odszkodowanie. Z tego powodu większość administratorów montuje zamki zgodne z systemem.

Rewolucja technologiczna

Wraz ze wzrostem popularności technologii RFID miasto postanowiło zacząć wprowadzać nowe rozwiązania i w 2006 roku zamontowano pierwsze czytniki kart zbliżeniowych, opartych o technologię RFID. Jako główne zalety systemu wymieniano brak możliwości klonowania karty, możliwość nadawania indywidualnych uprawnień poszczególnym kartom lub grupom użytkowników oraz możliwość blokowania kart zgubionych lub skradzionych. W 2009 w system wyposażone było ok. 4 tysięcy budynków, obecnie ich liczba przekracza już 10 tysięcy.

Kiedy w budynku, w którym mieszka Adrian Dabrowski również zainstalowano taki system, pomyślał „challenge accepted”. Efektem była praca dyplomowa i mnóstwo otwartych zamków.

Kilka słów o RFID

Jak opisuje w swojej prezentacji Adrian, RFID nie jest standardem, a raczej pewnym konceptem. Urządzenia korzystają z różnych częstotliwości (najpopularniejsze to 125 kHz i 13.56MHz, ale występują też 433 Mhz, 900 MHz i 2.45 GHz) a standardy ISO opisują tylko warstwę transportową, ale już nie uwzględniają np. szyfrowania treści, dzięki czemu każdy producent wymyśla i wdraża swoje własne wynalazki. Również same systemy mają różny poziom „inteligencji”.

Na samym dole piramidy znajdują się rozwiązania wysyłające 1 bit oznaczający obecność lub brak obecności – korzystają z nich najtańsze systemy alarmowe. Poziom wyżej są systemy wykorzystując unikalny identyfikator karty czy breloka. Z tych rozwiązań korzystają na przykład nieco bardziej zaawansowane systemy alarmowe, a daje się je oszukać chociażby układem Atmela T5557, który pozwala na sklonowanie ID. Na kolejnym poziomie mamy systemy posiadające dedykowany obszar pamięci, jak np. karty Mifare Ultralight, używane jako bilety w systemach komunikacji miejskiej. Bardziej od nich rozwinięte są systemy, które umożliwiają wdrożenie szyfrowania, np. Mifare Classic czy Mifare DESfire. Na szczycie piramidy mamy karty inteligentne, posiadające możliwość wykonywania dedykowanych programów. np. appletów Javy.

Walka z systemem

Adrian na początku swojej analizy stanął przez problemem w postaci wyboru platformy, umożliwiającej komunikację z kartami i ich emulację. Na profesjonalny sprzęt Compriona za 10-20 tysięcy EUR nie było go stać, emulator IAIK DemoTag za 700 EUR o dużo mniejszych możliwościach również był poza jego zasięgiem, dlatego zdecydował się na Proxmarka III za 250 EUR. W kolejnym kroku musiał zdobyć egzemplarz oryginalnego czytnika firmy BEGEH, obsługującej cały Wiedeń. Nie chciał żadnego wyrywać ze ściany, a niestety nie posiadał własnego budynku, zatem wyposażony w urok osobisty przekonał jednego z dystrybutorów sprzętu, że bardzo potrzebuje jednej sztuki i ją otrzymał. Czytnik rozebrał i przeanalizował po czym zbudował odpowiedni sniffer. Odczytując na oscyloskopie bit po bicie ustalił, że komunikacja odbywa się w oparciu o standard ISO 15693.

Skąd wziąć karty użytkowników?

Ważnym etapem analizy było zdobycie zapisów komunikacji rzeczywistych kart użytkowników systemu. Adrian nie chciał tracić czasu na zatrudnianie się na poczcie lub w Czerwonym Krzyżu. Jak jednak inaczej przechwycić komunikację karty, skoro jest to z definicji karta zbliżeniowa i nie da się jej podsłuchać z odległości większej niż ok. 3 metry? Co gorzej, sprzęt o takim zasięgu kosztuje kilka tysięcy euro, którymi Adrian zdecydowanie nie dysponował. Wpadł jednak na dobry pomysł. Zbudował sniffer średniego zasięgu, na jaki go było stać, wyposażył go w ogromną baterię i małą kartę pamięci a następnie za 5 euro wysłał na długą wycieczkę – za pośrednictwem austriackiej poczty. Na wszelki wypadek do podejrzanie wyglądającej paczki włożył karteczkę z informacją, że prowadzi eksperyment naukowy i podał swój numer telefonu – lecz nikt paczką się nie zainteresował i nie zadzwonił. Jego sniffer podróżował zatem przez całe miasto, by na ostatnim etapie przy pomocy listonosza i jego karty o dużych uprawnieniach wrócić do nadawcy. W ten sposób Adrian nagrał wiele interesujących go sesji.

Udany atak

Dysponując już danymi kilku kart i oscyloskopem, Adrian spędził sporo czasu testując kupiony czytnik systemu. Udało mu się zidentyfikować 4 typy kart: zwykłą, używaną przez mieszkańców, kartę właściciela, która wraz z kartą programistyczną umożliwia dokonywanie zmian oraz najważniejszą, tzw. kartę testową. Producent systemu zapewniał, że kart nie da się sklonować, ale Adrian udowodnił, że to twierdzenie jest nieprawdziwe. Najpierw nagrał kartę testową na swój stary skipass (stworzył nawet aplikację na Androida, która umożliwia przeprowadzenie tej operacji z poziomu telefonu wyposażonego w układ NFC, niestety telefony z NFC nie potrafią na razie emulować kart w standardzie ISO 15693, a jedynie ISO 14443), a następnie przebrał się w kurtkę instalatora i wybrał na spacer po mieście. Z ponad 100 domów, które odwiedził, jego skipass otworzył zamki w 43%. Kiedy ponownie je odwiedził ze swoim sprzętowym emulatorem, otworzył 93% zamków. Na brakujące 7% mogą składać się awarie systemu lub np. ograniczenia czasowe możliwości użycia karty uniwersalnej.

Jeszcze o czarnej liście

Producent zamka sprzedaje go w dwóch wariantach – podstawowym za 300 EUR oraz rozbudowanym, posiadającym możliwość wgrywania czarnej listy zablokowanych kart, za 600 EUR. Adrian sprawdził, jak wygląda skuteczność umieszczania karty na czarnej liście. Po pierwsze okazało się, że producenci kart najczęściej sprzedają je w paczkach, w których karty mają kolejne numery seryjne. O ile próba ataku polegająca na sprawdzaniu wszystkich numerów kart może trwać bardzo długo (ID ma 48 lub 64 bity), to na przetestowanej przez Adriana próbce zmiana ID o 1 w górę lub w dół dawała 93% szansy prawidłowego trafienia, a przy sprawdzeniu +/- 1 i +/- 2 osiągnął 98% skuteczności. Jakby tego było mało, firma serwisująca zamki aktualizuje czarne listy tylko raz do roku, ponieważ wymaga to fizycznej obecności serwisanta oraz rozebrania całego zamka, zatem skuteczność czarnej listy można włożyć między bajki.

Adrian poinformował o swoim odkryci austriacki CERT, który skontaktował się z producentem systemu. Producent odpowiedział, że na pewno analizy nie przeprowadził niezależny badacz, tylko była zamówiona przez konkurencję.