Varnost slovenskih GSM omrežij III

V torek smo pisali tudi o tem, da Si.Mobil v svojem omrežju dovoli uporabo A5/0 (nešifriranega prenosa podatkov). Tudi njih smo poprosili za komentar.

Med čakanjem na odgovor so se razmere rahlo spremenite, a najprej nekaj uvoda.

V okviru projekta OsmocomBB je bila razvita aplikacija mobile, ki omogoča klicanje in pošiljanje SMS sporočil s pomočjo OsmocomBB strojne in programske opreme. Za izvajanje klicev seveda potrebujemo SIM kartico, potrebno je tudi oddajati v omrežje, kot bomo pokazali v nadaljevanju, pa je z nekoliko predelano aplikacijo v neustrezno zaščitenih omrežjih mogoče izvesti krajo mobilne identitete v GSM omrežjih.

Zagon in uporaba aplikacije mobile

Izvorna koda aplikacije mobile je dostopna v sylvain/testing veji OsmocomBB Git repozitorija. Ker smo hoteli preizkusiti, če lahko ponarejamo klicno identiteto, smo aplikacijo nekoliko predelali in dodali funkcijo “SIM spoofing”. Pomembno je poudariti, da je pri prevajanju originalne izvorne kode v konfiguracijski datoteki potrebno ročno vključiti TX podporo, torej podporo oddajanju signalov mobilnega telefona.

Aplikacijo najprej prevedemo iz naše “identity” veje Git skladišča. Nato s pomočjo ROM nalagalnika na mobilni telefon naložimo OsmocomBB strojno programsko opremo. Nato v drugi konzoli zaženemo aplikacijo mobile.

Varnost slovenskih GSM omrežij III

Zagon aplikacije mobile v terminalu.

Nato pa se (v tretji konzoli) s telnetom povežemo neposredno v aplikacijo.

Aplikacija omogoča upravljanje telefona s pomočjo ukazov, ki jih tipkamo. Za začetek pa moramo vstopiti v aktiven način, in sicer z vnosom ukaza “enable”. Nato vnašamo ukaze.

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Welcome to the OpenBSC Control interface
OsmocomBB> enable OsmocomBB# sim pin % (MS )
% Trying to registering with network... % (MS )
% On Network, normal service: Slovenia, Si.mobil

Pošiljanje SMS sporočila (mogoče je seveda tudi klicanje):

OsmocomBB# sms  041xxxxxx Test 

Varnost slovenskih GSM omrežij III

Prikaz uporabniških podatkov:
OsmocomBB# show subscriber
Mobile Subscriber of MS '':
IMSI: ***********
ICCID: *************
SMS Service Center Address: +
Status: U1_UPDATED IMSI attached TMSI 0x65******
LAI: MCC MNC LAC 0x0079 (Slovenia, Si.mobil)
Key: sequence ** c5 ** ** ** ** 4c **
Registered PLMN: MCC MNC (Slovenia, Si.mobil)
Access barred cells: no
Access classes: C6
List of preferred PLMNs:
<p>&hellip;</p>

Varnost slovenskih GSM omrežij III

Prikaz podatkov o telefonu in bazni postaji na katero smo povezani:

OsmocomBB# show ms
MS '' is up, service is normal
IMEI: ************
IMEISV: *************
IMEI generation: fixed
automatic network selection state: A2 on PLMN
MCC= MNC= (Slovenia, Si.mobil)
cell selection state: C3 camped normally
ARFCN= MCC= MNC= LAC=0x0079 CELLID=0x01d8
(Slovenia, Si.mobil)
radio ressource layer state: idle
mobility management layer state: MM idle, normal service

Skratka, z aplikacijo mobile lahko pošiljamo SMS sporočila, kličemo, sprejemamo klice in SMS sporočila, si ogledamo podrobnosti o bazni postaji na katero smo povezani ter o svoji GSM seji,...

Varnost slovenskih GSM omrežij III

Odgovor Si.Mobila

Si.mobil je edini operater v Sloveniji, ki v celotnem 2G omrežju uporablja varnostni algoritem A5/3. A5/3 je trenutno algoritem najvišje varnostne stopnje, ki je na voljo, v pripravi pa je že tudi A5/4. Vse nadgradnje in izboljšave algoritmov skrbno spremljamo. Opozoriti velja, da se v omrežju tretje generacije (3G) uporabljajo naprednejši in varnejši načini kodiranja, kar pomeni, da so klici v 3G omrežju bolj varni. Si.mobil uporabnikom največjega in najhitrejšega 3G omrežja tako zagotavlja najvišjo možno varnost in priporoča, da storitve uporabljajo v 3G omrežju.

Ko govorimo o nešifriranem prenosu preko radijskega vmesnika z uporabo A5/0 algoritma v Si.mobilovem omrežju, se je ta uporabljal samo pod pogojem, da telefonski aparat ni podpiral algoritmov A5/1 in/ali A5/3. V takšnih primerih je šlo za zelo stare telefonske aparate, kjer je bila možna vzpostavitev prenosa zgolj preko A5/0 algoritma.

Si.mobil neprestano sledi napredku tehnologije in posveča veliko pozornosti tudi varnostnim aspektom, konec leta 2011 smo uvedli A5/3 za celotno 2G omrežje, v juniju 2012 [beri: 13.6.2012 op.avtor] pa smo izklopili možnost uporabe nešifriranega algoritma A5/0. Pozdravljamo pa tudi interes javnosti in medijsko poročanje ter strokovno podprte prispevke, kot ga je pripravil portal SloTech, ki opozarja na morebitne pasti. Tudi zaradi tega smo algoritem A5/0 ukinili

Si.Mobil je tako odpravil najbolj vnebovpijočo varnostno pomanjkljivost svojega omrežja in posredno priznal, da so v intervjuju za Monitor novembra 2011 skoparili z resnico (takrat so namreč kategorično zanikali možnost uporabe omrežja brez šifriranja -- A5/0 pri nas ni uporabljan, absolutno ne).

Kljub temu za zaradi popolnosti informacij za začetek poglejmo, kaj je ta (sicer odpravljena) pomanjkljivost omogočala.

Ponarejanje mobilne identitete v GSM omrežju

Osnovna ideja za izvedbo ponarejanja oz. kraje identitete uporabnika v mobilnem omrežju je, da s pomočjo prestrezanja komunikacij drugega uporabnika v GSM omrežju pridobimo vse potrebne podatke, ki tega uporabnika v mobilnem omrežju identificirajo, nato pa prevzamemo njegovo mobilno identiteto, kar nam omogoča, da v njegovem imenu izvajamo klice, pošiljamo SMS sporočila ali izvajamo kakšne druge storitve, npr. mobilno plačevanje.

Za takšno početje v osnovi potrebujemo šifrirni ključ Kc (le v primeru, ko omrežje od nas zahteva vklopljeno šifriranje), TMSI in IMSI številko (razen v primeru Si.Mobila na A5/0) ter sekvenčno številko ključa (ang. key sequence number).

Za potrebe ponarejanja identitete uporabnika smo aplikacijo mobile nekoliko predelali in sicer tako, da smo vključili ukaz sim spoof, ki mu za parametre podamo IMSI številko, TMSI številko, Kc in sekvenčno številko ključa. Ta metoda temelji na bistveno drugačnem principu delovanja od tiste opisane v našem prvem letošnjem članku. Za delovanje zahteva, da se priklopimo na isto bazno postajo kot mobilni telefon osebe, katere mobilno identiteto želimo prevzeti (kar v mestih zahteva relativno fizično bližino).

Za izvedbo prevzemanja identitete je potrebno pridobiti IMSI in TMSI številki uporabnika kateremu želimo ponarediti identiteto, a kot smo pokazali že prej, je to zelo enostavno.

Naslednji video prikazuje postopek prevzema identitete uporabnika Si.Mobila (zaradi spremembe omrežja postopek ne deluje več):

Kot je razvidno iz posnetka, je bil vložek časa in truda blizu nič.

Preskusili smo tudi sprejemanje klica ali SMS sporočila in izkaže se, da v tem primeru zahtevo za dodelitev kanala s strani omrežja sicer odzoveta oba mobilna telefona, klic ali SMS sporočilo pa prejme le eden (hitrejši od njiju). Če bi takoj po prevzemu mobilne identitete drugega uporabnika le-tega s pomočjo motilca GSM signala začasno odklopili iz omrežja, bi v vmesnem času lahko celo sprejeli klice namenjene njemu.

Mobitelov odgovor (drugič)

Kot smo navedli že v prvem članku, je Telekom Slovenije sporočil, da v vsej svoji zgodovini niso zabeleželi nobenega primera zlorabe identitete uporabnika.

Naknadno so za STA povedali tudi, da so zlorabe identitete uporabnika v njihovem omrežju preprečene z vrsto standardnih in nadstandardnih varnostnih mehanizmov. Opozarjajo pa, da ne morejo preprečiti, da bi bila identiteta uporabnikov, ki kličejo ali pošiljajo sporočila SMS njihovim uporabnikom iz ostalih domačih ali mednarodnih omrežij, potencialno zlorabljena (callerID spoofing kot predstavljeno v prvem letošnjem članku).

Te nadstandardne ukrepe (ki iz razumljivih razlogov seveda ne bodo razkriti) smo si pobližje pogledali.

Ponarejanje mobilne identitete v GSM omrežju A5/1

Če ste pozorno prebrali odstavek o ponarejanju mobilne identitete v GSM omrežju na primeru nekodiranega omrežja Si.Mobila ste opazili, da je edina resna razlika do kodiranega omrežja prisotnost uporabe šifrirnega ključa (Kc) ter v primeru Mobitela dodatno preverjanje IMSI številke (kako do nje z HLR vpogledom smo pojasnili v prejšnjem članku). Prav tako potrebujemo sekvenčno številko ključa.

Pridobitev šifrirnega ključa je najtežji del naloge, a kot smo pokazali je to v omrežjih, ki uporabljajo neustrezno kriptografsko zaščito mogoče s pomočjo ustrezne kriptoanalize v nekaj minutah (del II). Predpostaviti moramo tudi to, da mora biti napadani mobilni telefon približno pri miru in v območju kjer ne skače med več baznimi postajami (ARFCN-ji), kar včasih ni tako samoumevno (drugače potrebujemo precej več opreme, da mu sledimo med različnimi baznimi postajami). To lahko preverimo tudi tako da gledamo, če je naša aplikacija mobile vedno povezana na en ARFCN. S temu zagotovimo da se šifrirni ključ ne menja. šifrirni ključ Kc je tako veljaven za čas trajanja seje (torej med dvema lokacijskima posodobitvama), enako velja za številko TMSI. V praksi to pomeni, da ko s kriptoanalizo uspemo razbiti sejo, lahko do naslednje lokacijske posodobitve vidimo vsebino prometa ciljnega mobilnega telefona, hkrati pa lahko v GSM omrežju prevzamemo njegovo identiteto, torej v njegovem imenu opravljamo klice, pošiljamo SMS sporočila, itd.. Pri tem posebej poudarjamo, da za krajo mobilne identitete v tem primeru ne potrebujemo ne telefona, ne SIM kartice ciljnega uporabnika, dovolj je le, da se nahajamo na območju iste bazne postaje kot on.

Pri pridobiti šifrirnega ključa si pomagamo s tem, da počakamo, da uporabnik mobilnega telefona, katerega identiteto želimo prevzeti pošlje SMS sporočilo, ali pa mu SMS sporočilo pošljemo mi. Lahko mu pošljemo tudi skrito (oz. tiho) SMS sporočilo, kar smo že opisali v prejšnjih poglavjih.

Naj še dodamo, da je ta postopek v praksi precej težko izvajati na področju, kjer se nahaja več baznih postaj, oziroma ima več baznih postaj približno enake moči signalov (problem je tudi prisotnost velikega števila odbojev). Mobilni telefon v tem primeru stalno skače med med različnimi baznimi postajami (oz. ARFCN-ji) in je njegovo sledenje z enim samim OsmocomBB telefonom zelo oteženo. Poleg tega je uspešnost izvedbe postopka odvisna od uspešnosti (razbitje šifrirnega ključa z javno dostopnimi mavričnimi tabelami v nekaj odstotkih primerov ni mogoče) in tudi hitrosti razbijanja šifrirnega ključa.

Varnost slovenskih GSM omrežij III

Ko enkrat pridobimo šifrirni ključ, je postopek identičen tistemu, ki smo ga pokazali na primeru nekodiranega Si.Mobil omrežja in si ga lahko pogledate v naslednjem videoposnetku:

Ampak Mobitel ni edini operater z A5/1

Seveda. Ampak, če postopek deluje na njihovih posebnih metodah varovanja omrežja vam prepuščamo razmislek o njegovem delovanju na ostalih slovenskih operaterjih.

Na nekaj naključnih lokacijah v času objave tega članka na omrežjih Tušmobila in Mobitela nismo zaznavali možnosti komuniciranja s pomočjo algoritma A5/3. V primeru Si.Mobila je bilo razmerje približno 35% uporabnikov preko A5/1 in preostanek na A5/3. Komunikacija uporabnikov, katerih terminalska oprema ne podpira vzpostavljanja komunikacije s pomočjo šifrirnega algoritma A5/3 je tudi na Si.Mobilovem omrežju ranljiva enako kot pri ostalih dveh operaterjih, ki smo si jih ogledali.

Namesto zaključka

Za razliko od računalniške tehnologije, je bila telefonija v preteklosti zaradi svoje zaprtosti redko tarča varnostnih pregledov ali obsežnejših zlorab. Kar pa seveda ne pomeni, da ta tehnologija ni ranljiva.

Po našem mnenju velja prav nasprotno - posledica dejstva, da so računalniki na udaru varnostnih raziskovalcev in hekerjev že dolgo časa, je precejšnje izboljšanje njihove varnosti v zadnjih letih. Pri telefoniji pa zaradi njene zaprtosti motivov za vlaganje v varnost ni bilo tolikšno.

Telefonija je bila v preteklosti zaprta iz več razlogov - pomemben del zaprtosti je tvorila lastniška programska oprema in kompleksnost protokolov, poleg tega telefonska tehnologija zahteva specifično strojno opremo, ki je bila v preteklosti razmeroma draga ali celo nedostopna individualnim raziskovalcem.

Vendar pa je projekt OsmocomBB to radikalno spremenil. Osnovna strojna oprema potrebna za raziskovanje GSM tehnologije je danes izjemno poceni, prav tako je z dodatki v Wiresharku bistveno olajšana analiza GSM protokola.

Kot smo prikazali v članku, varnostna analiza kaže na po našem mnenju zaskrbljujoče varnostne pomanjkljivosti pri slovenskih mobilnih operaterjih. Z izrabo odkritih ranljivosti bi napadalec lahko nepooblaščeno, predvsem pa nezaznavno prestrezal vsebino SMS sporočil in pogovorov, izvajal sledenje uporabnikom ali s pomočjo kraje identitete mobilnega uporabnika le-temu povzročal neupravičene stroške ali ga spravil v kazenski pregon. Če je bila oprema za kaj takega v preteklosti dostopna samo obveščevalno-varnostnim službam in kriminalnim organizacijam z velikimi finančnimi sredstvi, pa je - kot smo pokazali - tehnologija, ki omogoča izrabo varnostnih ranljivosti danes na voljo praktično vsakomur.

Varnostna analiza po našem mnenju v določenem delu kaže na malomarnost nekaterih operaterjev in njihovo pomanjkljivo znanje oz. nerazumevanje varnostnih problemov v GSM mobilni telefoniji, v določenem delu pa nepripravljenost vlagati v večjo stopnjo varnosti. Posledica je po našem mnenju zaskrbljujoče nizka stopnja varnosti, ki omogoča razmeroma enostavno nezaznavno prestrezanje komunikacij v mobilnih omrežjih in ponarejanje mobilne identitete uporabnika, kar ima resne posledice tako za varnost, kot tudi za zasebnost slovenskih uporabnikov mobilne telefonije.

Glede na to, da so ustrezne rešitve, katerih implementacija bi izboljšala varnost GSM telefonije, na voljo že dlje časa, upamo, da bodo mobilni operaterji svoja omrežja ustrezno varnostno nadgradili.

O posledicah, ki jih tovrstni izzivi prinašajo za ureditev obvezne hrambe prometnih podatkov ter o njihovi dokazni vrednosti pa kdaj drugič.

相关文章:

Varnost slovenskih GSM omrežij

Varnost slovenskih GSM omrežij II

Varnost slovenskih GSM omrežij III

Varnost slovenskih GSM omrežij IV

上一篇:HDU 4706 Children's Day(简单模拟)


下一篇:Beta阶段敏捷冲刺报告-DAY1