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.

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 1 1234% (MS 1)
% Trying to registering with network... % (MS 1)
% On Network, normal service: Slovenia, Si.mobil

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

OsmocomBB# sms 1 041xxxxxx Test 

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

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

OsmocomBB# show ms
MS '1' is up, service is normal
IMEI: 355************
IMEISV: 355*************
IMEI generation: fixed
automatic network selection state: A2 on PLMN
MCC=293 MNC=40 (Slovenia, Si.mobil)
cell selection state: C3 camped normally
ARFCN=54 MCC=293 MNC=40 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,...

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.

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

本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/5296592.html  ,如需转载请自行联系原作者

Varnost slovenskih GSM omrežij III相关推荐

  1. UA MATH567 高维统计III 随机矩阵7 亚高斯矩阵的应用:Stochastic Block Model与社区发现 问题描述

    UA MATH567 高维统计III 随机矩阵7 亚高斯矩阵的应用:Stochastic Block Model与社区发现 我们来介绍亚高斯矩阵的一个应用:评估社区发现算法的效率.Community ...

  2. UA MATH567 高维统计III 随机矩阵6 亚高斯矩阵的范数

    UA MATH567 高维统计III 随机矩阵6 亚高斯矩阵的范数 在前五讲的理论基础上,我们现在开始正式讨论随机矩阵.假设AAA是一个m×nm \times nm×n的随机矩阵,它的元素AijA_{ ...

  3. UA MATH571B 试验设计III 单因素试验设计3

    UA MATH571B 试验设计III 单因素试验设计3 Contrast 多个contrast的联合推断 配对比较 Tukey检验 Fisher Least Significant Differen ...

  4. UA MATH571B 试验设计III 单因素试验设计2

    UA MATH571B 试验设计III 单因素试验设计2 非平衡试验 验证单因素ANOVA的假设 残差图 正态性 Kolmogorov-Smirnov检验 Cramer-von Mises检验 And ...

  5. UA MATH571B 试验设计III 单因素试验设计1

    UA MATH571B 试验设计III 单因素试验设计 单因素ANOVA 模型设定与假设 ANOVA F检验 单因素ANOVA 方差分析(Analysis of Variance,ANOVA)是两样本 ...

  6. LeetCode—220. 存在重复元素 III

    220. 存在重复元素 III 题目描述: 给你一个整数数组 nums 和两个整数 k 和 t .请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) < ...

  7. T183637-变异距离(2021 CoE III C)【单调栈】

    正题 题目链接:https://www.luogu.com.cn/problem/T183637 题目大意 给出nnn个二元组(xi,yi)(x_i,y_i)(xi​,yi​),求最大的 ∣xi−xj ...

  8. LETTers比赛第三场 --1002 Ignatius and the Princess III解题报告

    提交人:侯建鹏 提交日期:2012/4/16 1002 Ignatius and the Princess III 解题思路(一):动态规划 先设置int p[N][N]; Dp 方程为:p[i][j ...

  9. Galaxy S III是史上最强的Android手机?

    根据安兔兔这款手机测试软件显示,三星的Galaxy S III已经突破了华硕Transformer Prime平板的记录,荣登冠军宝座.如果你要寻找一款最新的机皇的话,相信这款三星的手机就是你的最佳选 ...

最新文章

  1. smartfoxserver 个人心得
  2. 人人可用的在线抠图,还是AI自动化的那种!北大校友的算法被玩出新高度
  3. form 提交多个对象及springMVC接收
  4. 青龙羊毛——鸡厂签到
  5. 用VuePress来搭建一个极简的静态网站
  6. 【AC自动机】单词(luogu 3966/ybtoj AC自动机-2)
  7. 华为宣布:免费培养8000名嵌入式开发者!学习免费!实践免费!辅导免费!
  8. Spring Boot中使用MyBatis注解配置详解
  9. 攀钢告诉你:钢铁是怎样用AI炼成的?
  10. Django makemigration No changes detected
  11. centos更改默认python_CentOS系统python默认版本由python2改为python3
  12. havlenapetr ffmpeg的移植
  13. 德鲁伊 oltp oltp_内存中OLTP –娱乐看门狗的三个关键点–桶数
  14. 五年来,开源论坛软件MyBB共修复100多个漏洞
  15. 【吐血经验】在 windows 上安装 spark 遇到的一些坑 | 避坑指南
  16. MyBatisPlus——条件构造器
  17. Pyecharts之折线图与柱状图组合绘制
  18. C语言程序怎么解决数独,数独解法解决方法
  19. GOOGLE搜索秘籍--高级搜索:site,link,inurl,allinurl,intitle,allintitle
  20. 共享栈的简单实现(C语言)

热门文章

  1. BitLocker是个什么东东?密钥丢了怎么办
  2. 关于CloudXNS注册邮箱为网易的处理办法
  3. 2019微生物组——16S扩增子分析专题培训第四期
  4. linux备份文件到ftp上,Linux如何利用ssh传送文件至FTP空间进行备份
  5. 中职 php学啥,中职技校电脑专业主要学什么
  6. 为苹果APP制作在APPLE STORE中的下载用“二维码”
  7. 【个人感悟】如何学习计算机知识
  8. day_02-个人博客系统
  9. fadeIn()与fadeOut()方法
  10. 验证码 图片无法刷新