Zachycení a dekódování GSM signálu

GSM - Air

Mobilní telefony podporující technologii GSM (2. generace mobilních sítí) jsou nejrozšířenějšími elektronickými výrobky na světě. Od roku 1991, kdy se uskutečnil první hovor, uběhla řada let. Od té doby došlo ke změně a přidání nových vlastností, které vyústily až v tzv. 2,75 G. Za dnes tak rozšířenou technologií se kromě mobilního telefonu skrývá složitý ekosystém, který musí zpracovat něco tak zjevně banálního, čím je obyčejný hovor nebo SMS. Systém GSM byl již z počátku vytvářen s ohledem na bezpečnost. To se týká jak přenášené informace, tak vlastní identitu účastníka. Jaká ale existuje možnost, že bude tato bezpečnost prolomena?

Již několik let prakticky nedochází ke změnám ve specifikacích GSM (poslední významná tzv. release 1998 byla vydána v roce 1999, release 1999 se týkala využití GSM core pro UTRAN). I když… stále je nutné brát ohledy na nové technologie, např. LTE, a současné standardy upravovat tak, aby bylo možné tyto technologie používat současně. S tím souvisí i budoucí postupné nahrazení GSM právě sítěmi LTE, viz release 10: GSM-LTE Dynamic Spectrum Refarming.

Jak jsem zmínil v článku „GSM – rozhraní a bezpečnost“, existuje několik rozhraní, která jsou zabezpečena různým způsobem, a obsahují řadu vlastností pro ochranu přenášených informací a dat. Rád bych se ale zaměřil na jedno, které nás všechny obklopuje. Je jím radiové rozhraní sloužící pro komunikaci mezi mobilním zařízením a „vysílačem“ sítě GSM (tzv. BTS). Odborně je označováno jako Air nebo též Um rozhraní.

Teoretický základ

Pokud se chceme podívat na rozhraní Um z pohledu bezpečnosti, musíme vědět, jakým způsobem probíhá komunikace mezi mobilním zařízením (ME – Mobile Equipment – zkratka bude používána dále) a GSM sítí. Běžný GSM mobilní telefon obsahuje několik funkčních bloků, které se podílí na zpracování signálu. Pokud neprobíhá hlasový hovor, datové spojení nebo odesílána/přijímána SMS, mobilní telefon neustále monitoruje celé kmitočtové spektrum, které je přiděleno místním regulátorem a harmonizováno po celém světě. I díky této harmonizaci lze mobilní telefon zakoupený v ČR použít např. v SRN. Lze namítnout, že některé země používají jiné kmitočtové spektrum než u nás (USA, …), ale mobilní telefony obsahují radiové obvody (baseband chipset), které dokáží pracovat i s těmi.

GSM - UmAby mohla zařízení pracovat duplexně (vysílat i přijímat současně – ve skutečnosti dochází k velmi rychému přepínání antény mezi vysíláním a příjmem), je pásmo rozděleno na uplink (směr od ME k BTS) a downlink (od BTS k ME). Pro zamezení vzájemného rušení mobilních zařízení, a větší penetraci, je toto kmitočtové spektrum rozděleno na tzv. frekvenční kanály (pozor, pamatovat si že jsou frekvenční, slovo kanál bude dále použito i pro označení „druhu“ přenášené informace v TDMA). Každý kanál má šířku 200 kHz a jednoznačné číslo, které je stejné pro pár uplink/downlink. Odborně se toto číslo označuje zkratkou ARFCN (Absolute Radio Frequency Channel Number) a rozdělení přístupu k jednotlivým kanálům FDMA (Frequency Division Multiple Access). Využívání frekvenčního spektra řídí mobilní síť na základě přesně naplánovaného nastavení.

Aby to ale nebylo tak jednoduché, GSM využívá ještě jeden systém přístupu k frekvenčnímu spektru. Je to tzv. TDMA (Time Division Multiple Access). Ten se uplatňuje v rámci jednotlivých kanálů, kde je každý kanál rozdělen na 8 timeslotů (časových slotů, 0 – 7). Jsou to intervaly o délce 576,9 µs. Osm timeslotů má celkovou délku 4,615 ms a nese název TDMA rámec (TDMA frame). Data, která jsou odeslána v čase jednoho timeslotu se nazývají burst (obdoba paketu v počítačových sítích). Jelikož GSM využívá pro běžný přenos modulaci GMSK (Gaussian Minimum Shift Keying) s rychlostí 270,833 kbps (při šířce pásma jednoho kanálu 200 kHz), lze v délce trvání jednoho timeslotu přenést 156,25 bitů dat.
GSM - TSExistuje několik různých typů burstů, které mají v GSM specifický účel: normal busrt (viz obrázek), frequency correction burst, synchronization burst a access burst. Bursty jsou tedy nositelem informace.

Při komunikaci se přenáší různé druhy informací. Kromě provozních dat (hovory, data) – TCH (Traffic Channel) jsou to řídící informace – CCH (Control Channel). Dle jejich povahy jsou spolu v rámci jednotlivých timeslotů slučovány (veškeré řídící mohou mít určen např. TS0). V TS0 může být přenášena informace identifikující BTS, v dalším kole (po proběhnutí zbývajících 7 TS) požadavek na vyhledání ME, atd.

51 TDMA rámců obsahujících CCH je nazýván CCH multirámec (Control Channel Multiframe, 26 TDMA rámců obsahujících TCH je TCH multirámec (Traffic Channel Multiframe). A dále 26 CCH multirámců je CCH superrámec (Control Channel Superframe), 51 TCH multirámců je TCH superrámec (Traffic Channel Superframe). Každý superrámec (TCH i CCH) tedy obsahuje shodně 1326 TDMA rámců. Jeden superrámec trvá 6, 12 s. Posledním ze všech seskupení rámců je hyperrámec (hyperframe). Ten obsahuje 2048 superrámců. Dohromady 2 715 548 TDMA rámců s délkou trvání 3 h 28 m 53 s 76 ms. To všechno má svůj důvod, a tím je opakování vysílání určitého typu informace v přesně definovaný čas.

Co ale obsahují jednotlivé provozní (TCH) a řídící kanály (CCH)? Jak jsem psal při osvětlování frekvenční spektra, v FDMA existují kanály široké 200 kHz. Můžeme říci, že se jedná o fyzické kanály. V případě TDMA se jedná o kanály logické, jelikož jsou odděleny časově a mohou se různě mezi sebou střídat.

Jak bylo uvedeno, existují provozní kanály (TCH) a řídící/signalizační kanály (CCH). Rozdíl mezi těmito skupinami je v povaze informací, které přenášejí. TCH obsahují hovory a data (např. IP), CCH slouží pro signalizaci, vytváření a udržování spojení, vyhledávání ME, atd.

Mezi nejdůležitější CCH patří: Broadcast Control Channel (BCCH), Frequency Correction Channel (FCCH), Synchronization Channel (SCH), Cell Broadcast Channel (CBCH), Paging Channel (PCH), Random Access Channel (RACH), Access Grant Channel (AGCH), Associated Control Channel (ACCH), Fast Associated Control Channel (FACCH), Slow Associated Control Channel (SACCH), Packet Timing Advance Control Channel (PTCCH), Packet Associated Control Channel (PACCH), atd.

V případě TCH se jedná o Traffice Cannel/Full rate (TCH/F), Traffice Cannel/Full rate (TCH/H), Packet Data Traffic Channel (PDTCH), atd.

Pro zabezpečení proti neoprávněnému odposlech nebo manipulaci s přenášenými informacemi a daty, existuje několik technik.

První z nich je využití šifrovacích algoritmů při autentizaci zařízení v rámci sítě GSM. Zde je použito procesu zpracování tripletu RAND (náhodné 128b číslo sloužící jako vstupní parametr při vytváření SRES a Kc), SRES, a Kc. Při úspěšném ověření je vygenerovaný klíč Kc použit jako vstupní parametr pro šifrovací algoritmus A5.

Druhou technikou je častá změna identifikace účastníka (SIM karty). Jednoznačné identifikační číslo IMSI (International Mobile Subscriber Identity), které se uplatňuje pouze při přihlašování do sítě, je nahrazeno dočasným TIMSI (Temporary International Mobile Subscriber Identity). Je tedy složitější vysledovat komunikaci příslušného účastníka v síti.

Třetí možností je šifrování komunikace. CCH jsou obecně kanály nešifrované. Jejich prostřednictvím jsou např. doručovány zprávy SMS. Šifrování se uplatňuje u TCH/F a TCH/H kanálů. Datové kanály PDTCH jsou zpravidla nešifrované. Zde je tato odpovědnost záležitostí přímo uživatele služeb. Při šifrování je využit algoritmus A5. Ten byl několikrát prolomen a označen za největší bezpečnostní slabinu v návrhu GSM. Verze A5/0 informuje, že GSM operátor šifrování nepodporuje. V takovém případě je zpravidla na ME uživatel informován výrazným symbolem. A5/1 je proudovou šifrou, která byla prolomena, ale pro složitost útoku je stále používána. Verze A5/2 není využívána, jelikož lze algoritmus prolomit v reálném čase. A5/3 je nejnovější blokovou šifrou, která je v současnosti využívána jak pro GSM tak UMTS (3G).

Čtvrtou technikou proti ztížení zachycení TCH je tzv. hopping. Při vysílání je využito pravidelných skoků ve využívání timeslotů. Pro hovor tedy není využíváno stále stejného TS, ale je měněn.

Aby bylo možné obsloužit účastníky v dosahu BTS, využívá základnová stanice několik frekvenčních kanálů najednou.

GSM - TRXFyzická zařízení (kterým se říká „rádia“) se označují TRX. Každý TRX má nastaven jeden ARFCN. Jednotlivé TS mají nastavenu určitou funkci. Na TRX0/TS0 je vždy mapován CCH s kanálem BCCH. Pomocí něho je vysílána identifikace BTS. Kanál BCCH vždy vysílá maximálním výkonem. U ostatních je vysílací výkon řízen speciálním algoritmem. Za použití informací o síle přijímaného signálu. Tyto tzv. měřící reporty si mezi sebou vyměňuje ME s BTS. V každém reportu z ME je obsaženo i několik přijímaných sousedních BTS. Během probíhajícího hovoru může síť na základě těchto informací instruovat ME s příkazem změny BTS. Tato operace se nazývá handover. Pokud je aktivní datové spojení (GPRS/EDGE) jedná se o reselekci.

Frekvenční spektrum

Existuje velké množství zařízení, pomocí kterých lze zobrazit a sledovat frekvenční spektrum GSM. Na následujících obrázcích si pojďme ukázat uplink/downlink komunikaci.

Jak jsem uvedl výše, kanál BCCH (TRX0/TS0) je vysílán maximálním výkonem. To se projevuje sytě červenou barvou spektrální analýzy. Horní část obrázku ukazuje frekvenční spektrum, střed časovou historii.

GSM - DOWN CCH (947,000)

ARFCN 60; downlink, CCH

Na následujícím obrázku vidíme množství probíhajících hovorů. Sytost barvy vyznačuje vysílací výkon. Pokud je ME dále od vysílače, BTS vysílá vyšším výkonem. Povšimnout si můžeme časového histogramu: aktivita jednotlivých timeslotů na jednotlivých TRX (vidíme celkem 5 TRX – ARFCN).

GSM - DOWN TCH (954,400)

ARFCN 60, 61, 62, 63, 64; downlink, TCH

V prostředku obrázku je patrné obsazování timeslotů při spojování hovoru (zkoušel jsem testovací hovor):

GSM - UP SDCCH (902,000)

ARFCN 60; uplink, CCH

Frekvenční hopping při mém probíhajícím hovoru přes všech 5 TCH TRX:

GSM - UP EFR (909,400)

ARFCN 60, 61, 62, 63, 64; uplink, TCH

Právě probíhající datový přenos (1), odchozí SMS (2) a sestavování hovoru (3). Tři různí účastníci:

GSM - EDGE, CALL, SMS (899,400)

Dekódování přijímaného signálu GSM

Příjem signálu GSM speciálním zařízením je technicky jednoduchou záležitostí. Jeho dekódování však vyžaduje sofistikovanější programové vybavení:

GSM - Decode CCCH

Dekódování CCH v živé síti GSM

Podobným způsobem, jakým je dekódování řídících kanálů, lze dekódovat i přijímané a odesílané SMS. V případě probíhajících hovorů a datových spojení je situace složitější, nikoli neřešitelná. Výše uvedená kmitočtová spektra byla zachycena, a dekódování CCH bylo provedeno, díky tzv. softwarově definovanému rádiu (SDR). Jedná se o levný přijímač televize DVB-T (cena cca 170 Kč). Jak můžeme vidět, prolomení technologie GSM není rozhodně finančně náročné.

Vlastní síť GSM

Za několik desítek tisíc Kč lze pořídit vybavenější technické zařízení (opět SDR), které může fungovat jako soukromá BTS. Podobným projektem zaměřeným na BSC je OpenBSC. Bohužel je taková infrastruktura zneužitelná a útočník může simulovat pravou síť GSM některého z operátorů.

Nejdůležitější specifikace GSM/Um (Air)

GSM 04.08: „European digital cellular telecommunications system (Phase 2+); Mobile radio interface layer 3 specification“
GSM 05.02: „Digital cellular telecommunications system (Phase 2+); Multiplexing and multiple access on the radio path“
GSM 05.03: „Digital cellular telecommunications system (Phase 2+); Channel coding“
GSM 05.04: „Digital cellular telecommunications system (Phase 2+); Modulation“
GSM 05.05: „Digital cellular telecommunications system (Phase 2+); Radio transmission and reception“
GSM 05.08: „Digital cellular telecommunications system (Phase 2+); Radio subsystem link control“
GSM 05.10: „Digital cellular telecommunications system (Phase 2+); Radio subsystem synchronization“

Nejnovější specifikace 3GPP

1 komentář u „Zachycení a dekódování GSM signálu

  1. Pingback: Přidání elementů oběžné dráhy družice Planetum-1 do programů Gpredict a Stellarium | brichacek.net

Leave a Reply