Текущия статус на нещата с това:
От теория към практика, всичко вече работи. Разбих първите няколко ключа успешно, декодирах и декриптирах контролния трафик, voice-а не съм го декодирал, няма да е особено легално.
Няколко впечатления: първо не е силно надеждно и причината не е в крипто-атаката, а в протокола. За да се сдобиеш с known plaintext, варианта е да използваш известни фреймове, които се повтарят в известен интервал. Проблемът е че не са напълно известни, защото има нещо, наречено Timing Advance, което се променя в зависимост от разстоянието от BTS-а. Имаме 64 възможни стойности (в София са по-скоро 2-3 заради гъстотата на клетките), но за всяка различна стойност ни трябва нова атака, съответно нови няколко часа чакане. Допълнително грешките при приемане заради шум и т.н. могат да се отразят фатално. Поради тази причина мисля да превключа от RTL-SDR към Motorola C139 с OsmocomBB фърмуер, един бивш колега и голям пич ми подари и телефона и кабели да си играя. Това ще ми реши проблема и с hopping клетките (макар че съм убеден че мога да пачна airprobe за целта, стига да навляза малко повече в нещата).
Почнах също и доста добре да поназнайвам и как всичко работи на ниво Um протоколи. Оттук следващият проблем: _няма_ opensource GSM анализатор, нито скапан, нито хубав. Най-близкото нещо е airprobe и wireshark, а това дава _много_ лоша идея за нещата, защото те са навързани доволно добре и ти трябва малко фантазия за да си представиш какво става (допълнително няма как едновременно да декодираш BCCH и SDCCH каналите и да видиш всичката комуникация в "правилния ред").
Та една от моита цели, макар че не съм супер-дупер амбициран за това е да се погрижа това да се случи. Сам не мога да го направя, защото съм зле с GUI нещата. Дано да зарибя хора дето разбират от това, иначе ще сътворя нещо грозно конзолно, въпреки че и това ще е по-добре от нищото в момента.
По отношение на родните оператори (поне в района близо до 4-ти км ехех):
Мтел: няколко клетки в района, с изключение на 2 от тях, останалите хопват и SDCCH каналите при immediate assignment винаги ходят при хопващите. Следователно към момента е невъзможно да ги слухтиш ползвайки подръчни средства от сорта на RTL-SDR (докато не се поправи софтуера....или докато не се преориентирам към Моторолата с osmocom, ехех). Мтел има много голям проблем с TMSI-тата. Ако човек слухти продължително време BCCH канала (който е некриптиран broadcast) и събира Paging Request-ите, много скоро ще събере голям брой IMSI-та (не TMSI). Това заедно с някоя услуга за HLR lookup позволява да знаеш дали някой абонат е в района и е кофти privacy leak.
Глобул: няколко клетки в района, забавното е че контролния канал винаги се алокира на една единствена от тях. Ползват early assignment, от гледна точка на пасивното слухтене това е най-уязвимата мрежа в района. Това, което ги спасява е че понякога TCH канала се assign-ва на друга клетка, което убива варианта да декриптираш разговора с rtl-sdr (освен ако нямаш повече от една джаджа). Това не важи за SMS-ите, които винаги минават по контролния канал. Не използват plaintext randomization. Ползват E-GSM апропо. На практика, всеки идиот с не особено зор може да слухти една прилична част от комуникациите, стига да разбие ключовете.
Вивател: пълна мистерия, нямат много клетки в района (не знам как се уреждат да ги слагат само върху стълбове за улично осветление), досега съм хващал само една клетка, която не assign-ва контролния канал на себе си и следователно не знам какво става там. Не ползва frequency hopping (би било и проблемно след като клетките им са доста разредени, поне тук).
Нещо забавно: ако човек слухти, скоро ще забележи че има некриптирани разговори, които лесно могат да се изслухтят. Това беше голяма мистерия, която едни пичове от Немско ми обясниха. Тези разговори са emergency разговори (демек към 112). Имам скрупули към слухтенето на чужди неща, но трябва да си призная че все пак няколко пъти се пробвах върху тях. Всичките бяха набиране и затваряне, единия беше псувня и затваряне
Така че който иска да слухти разговорите с 112, няма никакъв проблем (единственият проблем е ако за трафик/контролния канал се избере друга клетка, но нито Mtel нито Globul го правят, очевидно спешните разговори имат специален статут и трябва напълно да се обслужат от същата клетка). Почвам да се чудя колко голям процент от обажданията към 112 са dummy такива. Ако тези хора наистина глобяваха за prank calls, то трябва доста народ да го отнася...според мен просто доста хора звънят погрешка поради някаква причина.
Та това засега.