Przechwytywanie i odtwarzanie sygnałów
Przechwytywanie i ponowne odtwarzanie transmisji RF
Przechwytywanie i odtwarzanie sygnałów to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Koncepcja ataku powtórzeniowego
Atak powtórzeniowy to najprostsza i najczęstsza słabość RF: przechwycenie prawidłowej transmisji, a następnie odtworzenie jej później w celu ponownego wywołania tego samego skutku. Deszyfrowanie nie jest potrzebne, jeśli odbiornik akceptuje ten sam sygnał dwukrotnie.
Atak ten działa przeciwko każdemu urządzeniu, którego polecenie jest stałą, niezmienną transmisją:
- tanie piloty do bram garażowych,
- podstawowe piloty samochodowe bez kodów zmiennych,
- bezprzewodowe dzwonki do drzwi, czujniki alarmowe i zdalnie sterowane gniazdka,
- niektóre przemysłowe piloty do sterowania dźwigami i bramami.
Jeśli przechwycony sygnał nadal działa po kilku minutach lub dniach, system jest podatny z założenia.
Ustalanie częstotliwości docelowej
Przed przechwyceniem należy ustalić, gdzie urządzenie nadaje. Większość pilotów konsumenckich działa w pasmach ISM: 315 MHz (Ameryka Północna), 433,92 MHz (Europa i duża część świata), 868 MHz oraz 915 MHz.
Należy dostroić RTL-SDR do tych pasm, nacisnąć przycisk pilota i obserwować wykres wodospadowy w poszukiwaniu impulsu energii. Identyfikator FCC wydrukowany na urządzeniu często pozwala ustalić dokładną częstotliwość pracy na podstawie publicznych zgłoszeń regulacyjnych.
# Browse the 433 MHz band live and watch the waterfall
gqrx
# Or auto-identify known devices on the air
rtl_433 -f 433.92M -APrzechwytywanie transmisji
Po ustaleniu częstotliwości należy rejestrować surowe próbki I/Q podczas nadawania przez urządzenie. Należy przechwycić czysty, odizolowany impuls, aby sygnał można było łatwo przeanalizować i odtworzyć.
Do przechwytywania wystarczy odbiornik RTL-SDR, ponieważ do późniejszego nadawania potrzebny będzie HackRF lub podobne urządzenie. Należy zawsze zanotować dokładną częstotliwość środkową i częstotliwość próbkowania, ponieważ odtwarzanie wymaga użycia tych samych parametrów.
# Capture raw I/Q at 433.92 MHz, 2 Msps
rtl_sdr -f 433.92M -s 2048000 -n 4096000 remote.iq
# Capture with HackRF for later transmit on the same hardware
hackrf_transfer -r remote.iq -f 433920000 -s 2000000Odtwarzanie za pomocą nadajnika
Aby odtworzyć transmisję, należy wysłać przechwycony plik I/Q z powrotem na tej samej częstotliwości i z tą samą częstotliwością próbkowania, używając sprzętu zdolnego do nadawania, takiego jak HackRF.
Ponieważ odbiornik porównuje surowy przebieg fali, dokładna retransmisja odtwarza pierwotne polecenie. Należy zawsze odtwarzać sygnał wewnątrz ekranowanej obudowy, chyba że mają Państwo wyraźne upoważnienie i zgodę prawną na nadawanie.
# Replay the captured file with HackRF
hackrf_transfer -t remote.iq -f 433920000 -s 2000000 -x 40
# -x sets TX gain; keep it minimal and use proper antennasDekodowanie zamiast ślepego odtwarzania
Ślepe odtwarzanie działa, ale dekodowanie sygnału pozwala lepiej go zrozumieć i umożliwia przeprowadzanie bardziej zaawansowanych ataków. Narzędzia takie jak Universal Radio Hacker (URH) pozwalają demodulować impuls, odzyskać strumień bitów i rozpoznać jego strukturę.
- Znajdź preambułę i słowo synchronizacji.
- Ustal szybkość symboli i kodowanie (często Manchester lub PWM).
- Zlokalizuj statyczny ładunek polecenia.
Po zdekodowaniu sygnału można tworzyć nowe transmisje, fuzzować pola lub sprawdzić, czy którakolwiek część komunikatu zmienia się między kolejnymi naciśnięciami.
Kody zmienne i przyczyny nieskuteczności odtwarzania
Nowoczesne piloty przezwyciężają problem prostego odtwarzania dzięki kodom zmiennym (kodom przeskakującym). Przy każdym naciśnięciu używany jest nowy kod wyprowadzony ze wspólnego sekretu i zwiększanego licznika.
- Nadajnik i odbiornik utrzymują synchronizację za pomocą licznika.
- Przechwycony kod traci ważność, gdy odbiornik przejdzie poza jego wartość.
- Odtworzenie starego kodu zostaje po prostu odrzucone.
Systemy takie jak KeeLoq spopularyzowały to podejście. Kody zmienne znacznie podnoszą poziom bezpieczeństwa, ale jak pokazuje następna scena, błędy implementacyjne nadal tworzą możliwości ataku.
Obejście kodów zmiennych: RollJam
Kody zmienne nadal mogą paść ofiarą techniki przechwytywania i zagłuszania, spopularyzowanej pod nazwą RollJam:
- Atakujący zagłusza odbiornik, jednocześnie przechwytując pierwsze naciśnięcie przycisku pilota użytkownika w wąskim paśmie, którego zagłuszarka nie obejmuje.
- Pilot nie zadziałał, więc użytkownik naciska przycisk ponownie. Atakujący przechwytuje drugi kod i odtwarza pierwszy.
- Atakujący ma teraz jeden niewykorzystany, nadal ważny kod przeznaczony do późniejszego użycia.
Ponieważ odbiornik nigdy nie odebrał pierwszego kodu, kod ten pozostaje ważny. Wykorzystuje to tolerowany przez protokół przedział synchronizacji, a nie słabość kryptografii.
Nadużycie ponownej synchronizacji licznika kodów zmiennych
Niektóre odbiorniki kodów zmiennych akceptują kody w ramach okna ponownej synchronizacji, aby tolerować przypadkowe naciśnięcia przycisku poza zasięgiem. Jeśli okno jest duże lub niewłaściwie ograniczone, atakujący, który przechwyci kilka kolejnych kodów, może przewidywać ponowną synchronizację albo ją wymusić.
Starsze implementacje KeeLoq miały również problem z odzyskiwaniem klucza producenta: wydobycie klucza głównego z pojedynczego pilota umożliwiało klonowanie całych linii produktów. Są to błędy implementacyjne, a nie wady samej koncepcji kodów zmiennych.
Zagłuszanie i odmowa usługi
Zagłuszanie zalewa częstotliwość szumem, przez co prawidłowe odbiorniki nie mogą odebrać poprawnych transmisji. Jest ono elementem techniki RollJam, a także samo w sobie stanowi zagrożenie typu odmowa usługi.
- Bezprzewodowe czujniki alarmowe można zagłuszyć tak, aby informacja o otwarciu drzwi nigdy nie dotarła do centrali.
- Można wyciszyć systemy bezkluczykowego dostępu i piloty zdalnego sterowania.
Zagłuszanie jest nielegalne niemal w każdej jurysdykcji, nawet na potrzeby testów. Należy demonstrować je wyłącznie w ekranowanym laboratorium i za wyraźnym upoważnieniem. Znaczenie tego zagadnienia polega na zrozumieniu, jak atakujący łączą zagłuszanie z przechwytywaniem oraz dlaczego systemy muszą wykrywać utratę sygnału.
Podsumowanie narzędzi
Praktyczny proces przechwytywania i odtwarzania wykorzystuje niewielki zestaw narzędzi:
- RTL-SDR — skanowanie pasma i przechwytywanie (tylko odbiór).
- HackRF One — przechwytywanie i nadawanie na potrzeby testów odtwarzania.
- URH — demodulowanie, dekodowanie i tworzenie sygnałów.
- rtl_433 — szybkie rozpoznawanie znanych urządzeń.
- Flipper Zero — wygodne przechwytywanie i odtwarzanie prostych sygnałów sub-GHz w terenie.
Flipper jest popularny przy demonstrowaniu odtwarzania transmisji przeciwko pilotom ze statycznym kodem, ale poprawnie zaimplementowane kody zmienne uniemożliwiają taki atak — właśnie to powinni Państwo wyjaśnić klientom.
Ochrona przed atakami powtórzeniowymi
Zalecenia wynikające z oceny podatności na ataki powtórzeniowe obejmują:
- Zastąpienie kodów statycznych uwierzytelnianymi kodami zmiennymi lub mechanizmem challenge-response.
- Stosowanie wąskich, ściśle ograniczonych okien ponownej synchronizacji oraz unikatowych kluczy kryptograficznych dla każdego urządzenia, nigdy wspólnego klucza głównego.
- Dodanie znaczników czasu lub wartości nonce, aby każde polecenie było ważne tylko raz i tylko przez krótki czas.
- Wdrożenie wykrywania zagłuszania: centrale alarmowe powinny traktować nagłą utratę sygnału czujnika jako zdarzenie sabotażu.
- Preferowanie protokołów dwukierunkowych, w których odbiornik potwierdza każde polecenie.
Podstawowa zasada jest następująca: polecenie, które można identycznie nagrać i odtworzyć, świadczy o złamanym zabezpieczeniu. Każde autoryzowane działanie musi być unikatowe kryptograficznie.
Szybkie sprawdzenie
Proszę sprawdzić, czy rozumieją Państwo ataki typu replay na kody zmienne.
Podsumowanie
Potrafią już Państwo przechwytywać, analizować i odtwarzać sygnały RF oraz rozumieć mechanizmy ich ochrony:
- Atak typu replay retransmituje przechwycone statyczne polecenie i działa przeciwko pilotom ze stałym kodem.
- Przebieg pracy: znalezienie częstotliwości w pasmach ISM, przechwycenie sygnału I/Q za pomocą RTL-SDR, odtworzenie go za pomocą HackRF i dekodowanie za pomocą URH.
- Kody zmienne uniemożliwiają naiwny replay, ale atak RollJam (przechwytywanie i zagłuszanie), słabe okna resynchronizacji lub współdzielone klucze główne ponownie otwierają taką możliwość.
- Zagłuszanie jest nielegalne poza ekranowanymi, autoryzowanymi laboratoriami i stanowi podstawę ataków typu denial-of-service oraz RollJam.
- Obrona wymaga uwierzytelnionych poleceń jednorazowego użycia, ograniczonej resynchronizacji, kluczy przypisanych do poszczególnych urządzeń oraz wykrywania zagłuszania.
Na tym kończy się kurs RF and Wireless Hacking: od podstaw SDR po Bluetooth, komunikację bezkontaktową i odtwarzanie sygnałów.
Ucz się Cyber Security Academy dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 76
- Lekcje
- 303
Często zadawane pytania
Czy lekcja „Przechwytywanie i odtwarzanie sygnałów” jest bezpłatna?
Tak — pełny tekst „Przechwytywanie i odtwarzanie sygnałów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Przechwytywanie i odtwarzanie sygnałów”?
Przechwytywanie i ponowne odtwarzanie transmisji RF Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Przechwytywanie i odtwarzanie sygnałów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy RF i SDR
- Ataki na Bluetooth i BLE
- Bezpieczeństwo RFID i NFC
- Przechwytywanie i odtwarzanie sygnałów