Noriu sugrįžti prie senesnės temos. T.y. apie mobilaus šnipinėjimą. Apie tai jau rašiau anksčiau, tačiau ne taip senai pasirodė įdomių naujienų. Bet gal nuo pradžių. GSM tinkluose yra naudojamas A5/0, A5/1 arba A5/2 šifravimo algoritmai. A5/0 žymėjimas reiškia, kad nenaudojamas joks šifravimas. A5/2 šifravimas lengvai įveikiamas naudojant nesudėtingą techniką. Šie du šifravimo būdai dėl savo nepatikimumo mažai kur pasaulyje naudojami (pvz. Serbijoje, Indijoje, Kenijoje), o visame pasaulyje labiausiai yra išplitęs 64 bitų A5/1 šifravimo algoritmas. Apie jo principą paskaitysite Wikipedijoje, tačiau jau kelis metus kalbama ir apie šį algoritmą, kad jis yra nesaugus ir nulaužiamas. Operatoriai guodėsi tuo, kad tas laužimas reikalauja daug laiko ir dar daugiau technininių resursų, todėl atitinkamai ir pinigų. Tų pinigų visam sprendimui reikėjo maždaug 1 000 000 USD. Kaip manot, kokios institucijos yra labiausiai suinteresuotos šnipinėjimu ir kurios gali tam išleisti tiek pinigų? Aišku, kad žmonos šnipinėjimui tiek investuoti nelabai kas ryžtūsi, privačiam verslui tai taip pat neapsimokėtų. Kas belieka turbūt jau aišku, o konkrečias struktūras galėsite atsirinkti ir patys. Žodžiu, kam labai reikėjo, tas tokią įrangą nusipirko. Įrangos tam yra įvairios. Pvz. vienos, nei šiokios, nei tokios, veikimo principas yra "aktyvi ataka", kurios metu reikia būti pakankamai arti reikiamo abonento, tuomet pradedama truputį "teršti" eterį, kad telefonas prisijungtų ne tiesiogiai prie operatoriaus GSM bazinės stoties, bet tyčia prie pakištos kitos, tarp kurios ir telefono šifravimas nevyksta ir t.t. Žodžiu sudėtinga ir daug vargo.
Bet šiemet atsirado "gerų" naujienų. David Hulton ir Steve Miller teigia sukūrę metodą, kurio pagalba GSM šifravimą galima iškoduoti per kelias minutes. Ir gera naujiena ta, kad reikiamos įrangos kaina prasideda nuo 1000-1500 USD. O tai reiškai, kad tokia įranga tampa prieinama ne tik valstybinėms struktūroms, bet ir mėgėjams ar nusikaltėliams. Kita "gera" naujiena, kad šio metodo principas yra "pasyvi ataka", t.y. nereikia su niekuo niekur į eterį kištis ir nieko spinduliuoti ar transliuoti, o pakanka tiesiog tyliai sėdėti ir gaudyti kas sklando aplinkui. Atitinkamai padidėja ir pasiklausymo nuotolis bei sunkiau tokį dalyką aptikti. Ryšio iššifravimas įvyksta per kelias minutes ir tam panaudojama jau senai IT saugumo pasaulyje žinoma technika "Rainbow tables". Dabar padarom nedidelį, atskirą ir techninį skyrelį.
Kas yra rainbow tables? Tai tiesiog iš anksto išskaičiuotų hash‘ų duomenų bazės, kurių pagalba paprasta atstatyti pradinį nekoduotą tekstą. Pvz. MD5 yra vienkryptis algoritmas. Programuotojai jį mėgsta panaudoti slaptažodžių maskavimui. T.y. jie sistemoje išsaugo ne vartotojo nurodytą slaptažodį, bet jo MD5 hash’ą. Pvz. jei žodį "labas" perkoduosim į MD5, tai gausim tokią reikšmę: 2e53d715b9d776b6c45263d31ecd3d87. Kai vartotojas bando prisijungti prie sistemos, tuomet sistema paima įvestos reikšmės hash’ą ir jį sulygina su sistemoje saugomo slaptažodžio hash’u. Jei reikšmės sutampa, vadinasi vartotojas įvedė reikiamą slaptažodį. Tačiau jei įsilaužėlis iš sistemos sugebės gauti visus saugomus slaptažodžių hash’us, tai pagal juos pradinio slaptažodžio jis atkurti negalės (tai ir yra vienkrypčio algoritmo esmė, į viena galą - aha, o atgal - nea). Vienintelis būdas iš hash’o nustatyti tikrąjį vartotojo slaptažodį yra imti įvairius žodžius, iš jų išskaičiuoti MD5 hash’ą, jį sulyginti su turima reikšme ir taip kol pataikysi. Žodžiu labai ilgai trunkantis procesas. Tačiau čia į žaidimą ir ateina vaivorykštinės lentelės. Pvz. iš anksto paimamos visos galimos klaviatūros simbolių kombinacijos iki 6 simbolių ir iš anksto išskaičiuojami jų MD5 hash’ai. Gaunamos didelės duomenų bazės, kur šalia bet kokios 6 simbolių kombinacijos iš karto yra saugoma jos MD5 hash’o reikšmė. Tad jeigu įsilaužėlis iš sistemos iškrapšto slaptažodžio MD5 reikšmę, tuomet viskas ką reikia padaryti, tai turimoje DB surasti ką atitinka turimas MD5. Originalus slaptažodis tokiu būdu atstatomas per keletą minučių. Kiek trunka generavimas? Ankstesniam darbe kolega prieš keletą metų visas galimas Windows sitemų LM hash’ų reikšmes iki 6 simbolių ilgio slaptažodžiams tik iš raidžių ir skaičių keturiais serveriais generavo berods 3 dienas. Gavosi lyg ir 6 GB duomenų bazė. Nebepamenu tiksliai. Tačiau iš anksto atlikus visą ilgai trunkantį hash’ų išskaičiavimą, vėliau pradinis slaptažodžio atstatymas iš jo užtrunka vos kelias minutes. Nuostabu, ar ne? Dabar tokio tipo duomenų bazių įvairiems hash’ams jau prikrautas visas internetas. Gali nusipirkti sugeneruotų su visu HDD iš karto arba rasti nemokamai ir parsisiųsti. Ilgesniems slaptažodžiams jos užima ir 20 Gb, ir 70 Gb ir dar daugiau Gb. Tik turėk kur saugoti.
Taigi, back to business. Grįžtam prie GSM tinklų ir techninių reikalų. Tam, kad sėkmingai ir pakankamai greitai GSM ryšį būtų galima iššifruoti, reikia trijų dalykų: sim kortos unikalaus numerio (taip vadinamo "subscription identification number"), telefono aparato numerio (IMEI) ir A5/1 algoritmo hash’ų (keystream’ų) "rainbow tables" DB. Pirmuosius du galima gauti tiesiog paskambinus reikiamam abonentui ir tas reikšmes nuskaityti, nes jos operatorių dažnai perduodamos nešifruotos (nors pagal standartus šifruoti turėtų). O vat su DB jau sunkiau. Pagal A5/1 algoritmą, skirtingų perkoduotų reikšmių iš viso gali būti 288 230 376 151 711 744 variantų (kaip šitas skaičius vadinasi?). Vienas įprastas personalinis kompiuteris gali išskaičiuoti maždaug 550 000 reikšmių per sekundę. Tad visom reikšmėm gauti reikėtų maždaug 33 235 metų. Tačiau anie du minėti piliečiai skaičiavimus atlieka naudodami 64 FPGA (field-programmable gate array) sistemas/modulius (net nežinau kaip pavadinti lietuviškai). Jomis visa A5/1 algoritmo "rainbow tables" DB bus sugeneruota maždaug per 3 mėnesius. Kovo mėnesį jie visą, maždaug 2 terabaitų, DB planavo pateikti viešam naudojimui. Kol kas aš jos dar nerandu. Bet anot kūrėjų, surasti reikiamą reikšmę toje DB, saugomoje šešiuose HDD po 350 Gb, su vienu FPGA užtruks ~30 min. (arba galima tam panaudoti botnet‘ą). Naudojant šešioliką 128 Gb flash diskų ir 32 FPGA, visas procesas truks ~30 sekundžių. Taigi, naudodamas pigią sistemą už 1000 USD iššifruotą pokalbį turėsi po 30 min., o naudojant brangesnę, kainuosiančią nuo 200 000 USD, klausytis bus galima beveik realiu laiku. 2008 m. antrame ketvirtyje turėtų pasirodyti jų parduodamos, pilnai naudojimui paruoštos sistemos, kurių kaina priklausys nuo to, kaip greitai reikės iššifruoti GSM srautą (nuo to priklausys FPGA modulių kiekis). Bet jos jau nekainuos milijono USD, o kadangi visos DB bus viešos, tai dešifravimo sistemas galės konstruotis ir entuziastai. Į tai iš karto sureagavo hakerių "The Hackers Choise" grupuotė, kuri subūrė iniciatyvinę grupę pigios A5 laužimo sistemos kūrimui. Jų puslapyje rasite daugiau įvairios informacijos, pvz. kaip pasitikrinti kokį šifravimo algoritmą naudoja Jūsų operatorius arba kaip patiems susikonstruoti savo GSM anteną. Be minėtos kompiuterinės technikos, GSM ryšio sugaudymui, dar reikės ~700 USD kainuojančio imtuvo, galinčio dirbti 0-3 GHz dažnių intervalu.
Ką į tai sako operatoriai? Na, jų nuomone, visų pirma tai tik teorija ir kol nėra konkrečių veikiančių sistemų, tol jie dar tik galvos apie saugesnio A5/3 algoritmo diegimą.
P.S. Turiu nuojautą, kad nebus nei vieno komentaro, nes kitiems čia kažkoks kosmosas pasirodys.
» Temos: Blogietis
» Žymėtis:
kaip.tik.ten
::
topix.lt
::
del.icio.us

RSS

nu cia idomei patiko man paskaiti nu nlb ten tavo tokes 987gkli” supratau bet px tiks
Man patiko. Manau neblogai išmanai tokius dalykus, gal galėtum truputi man pagelbėti ir informacijos kokios turi apie balso informacijos saugumo užtikrinimą judriojo ryšio tinkle? Jei ka parašyk į emailą
gedeminas.bernotas@gmail.com
[...] GSM kodavimą. Kas domitės GSM saugumu, galite paskaityti šį pakankami išsamų ir įdomų lietuvišką blogo įrašą. Žinutė naudinga ? [...]
Reali ir, kaip matau tikriausiai turetu buti faktiskai igyvendinta teorija (anksciau ar veliau).
O komentaru, kaip matai yra. Priklauso nuo skaitytojo ziniu, ar tai kosmosas ar ne
Viskas labai aiskiai ir suprantamai parasyta, aciu uz straipsniuka.
joks cia ne kosmosas jei tokiais dalykais domejaisi anksciau, beje manau tuos DB greitai atsiras, nes kiek girdejau jau botnetas skaiciuoja