NFCGate: Szwajcarski scyzoryk do badań NFC na Androidzie
Czy zastanawiałeś się kiedyś, jak bezpieczne są Twoje płatności NFC lub karta dostępowa do biura? Jako programista często spotykam się z pytaniami dotyczącymi bezpieczeństwa urządzeń NFC i właśnie tutaj z pomocą przychodzi NFCGate — prawdziwe znalezisko dla badaczy bezpieczeństwa i ciekawskich programistów.
Co kryje się za komunikacją NFC?
NFCGate to aplikacja open-source dla systemu Android stworzona przez badaczy z Secure Mobile Networking Lab na TU Darmstadt. Umożliwia:
- przechwytywanie i analizę ruchu NFC
- modyfikację danych w locie
- przekazywanie sygnałów między urządzeniami
- klonowanie tagów
Aplikacja jest dostępna na F-Droid i jest aktywnie wykorzystywana w badaniach akademickich, o czym świadczą publikacje na konferencji USENIX WOOT'20.
Pięć powodów, by zwrócić uwagę na NFCGate
-
Prawdziwy interceptor ruchu NFC Zapomnij o zewnętrznych czytnikach — aplikacja przechwytuje komunikację bezpośrednio na urządzeniu dzięki integracji z frameworkiem Xposed.
-
Tryb Relay NFCGate może działać jako "most" między czytnikiem a tagiem, przesyłając dane przez serwer. Przydatne do testowania podatności typu man-in-the-middle.
-
Odtwarzanie scenariuszy Nagrywasz transakcję NFC? Teraz możesz ją odtworzyć w kontrolowanych warunkach do analizy.
-
Obsługa formatu pcapng Wszystkie przechwycone dane można eksportować w formacie kompatybilnym z Wireshark — marzenie każdego badacza!
-
Klonowanie tagów Chcesz przetestować system kontroli dostępu? NFCGate pozwala skopiować UID i inne parametry tagów NFC.
Cechy techniczne
Niektóre funkcje wymagają:
- Androida 5+ (API 21+)
- frameworku Xposed (EdXposed lub LSPosed)
- obsługi HCE (Host Card Emulation)
- procesora ARMv7/ARMv8
Ciekawe jest to, że projekt wykorzystuje zmodyfikowaną wersję biblioteki LibNFC-NCI firmy Google oraz xHook do przechwytywania wywołań. Wszystko jest rozpowszechniane na licencji Apache License 2.0.
Praktyczne zastosowania
-
Analiza podatności systemów płatności Badacze mogą testować, jak systemy reagują na zmodyfikowany ruch NFC.
-
Testowanie systemów kontroli dostępu Jak łatwo jest sklonować firmową odznakę? NFCGate pomaga znaleźć odpowiedź.
-
Inżynieria wsteczna protokołów Dzięki eksportowi do formatu pcapng analiza protokołów staje się znacznie łatwiejsza.
-
Cele edukacyjne Świetne narzędzie do demonstrowania zasad działania NFC na wykładach z bezpieczeństwa informacji.
Ograniczenia i uwagi
Twórcy uczciwie ostrzegają:
- nie wszystkie typy tagów są obsługiwane (na przykład Mifare Classic nie może być już emulowany)
- systemy z kontrolą czasową (distance bounding) nie mogą zostać obejście
- pobór energii niektórych chipów NFC może być zbyt wysoki dla emulacji
Jak zacząć pracę z NFCGate
- Zainstaluj aplikację z F-Droid
- Zaawansowane funkcje wymagają roota i frameworka Xposed
- Szczegółowe instrukcje dla każdego trybu są dostępne w dokumentacji
NFCGate to rzadki przykład wysokiej jakości narzędzia badawczego typu open-source. Jeśli jesteś:
- programistą rozwiązań NFC
- badaczem bezpieczeństwa
- wykładowcą technologii mobilnych
- ciekawskim entuzjastą techniki
...to to narzędzie powinno znaleźć się w Twoim arsenalu. Najważniejsze to pamiętać o etycznym użyciu, o czym przypominają nam twórcy z TU Darmstadt.
Projekt jest aktywnie rozwijany — ostatnie commity były dosłownie sprzed kilku dni. Teraz jest więc idealny moment, żeby zaangażować się w badania!
Powiązane projekty