Едно от нещата, които се каня да напиша от известно време е ситуацията със сигурността на GSM мрежите, от гледна точка на разработките, които се правят в последните няколко години от… да го наречем “open-source” обществото.
Преди няколко години нямаше никакъв research, а в момента има два паралелни проекта – OpenBSC и OpenBTS.
OpenBTS е реализация на GSM стек чрез USRP (Universal Software Radio Plugin) и asterisk, която дава възможност човек да си направи сам (сравнително малка) мрежа. Те оперират една такава в последните години на Burning man (сравнително голямо събитие, случващо се по средата на нищото), като успяват да обслужат няколко хиляди човека използвайки едно USRP, един laptop и един генератор. Тук може да се намери един от разказите им, питайте google и четете, много е забавно. Това дава възможност хора с по-малко средства (например африкански страни) да си реализират собствени GSM мрежи и да използват масовите и евтини апарати, които има по света.
Другият паралелен проект може да се каже, че е OpenBSC (което всъщност е една част). Основния движещ човек там е Харалд Велте (познат от всякакви други полезни неща, които е свършил за човечеството). Започнали са от писането на софтуер, който да може да си говори с малки Siemens-ки базови станции (който се използваше на HAR, за да подкара една доста прилична и използваема мрежа, паралелна на DECT-овската), като в момента имат няколко допълнителни неща – софтуер за демодулиране на заслушан от ефира сигнал, декриптиране на A5/1, както и вариант на baseband processing софтуер.
Като малко отклонение и обяснение, всеки телефон има (поне) два процесора – един baseband процесор, който се занимава с GSM частта, модулации, протокол и т.н. и който се контролира основно през сериен интерфейс с AT команди (които трябва да са ви познати, ако някога сте ползвали модем) и процесор(и), които се занимават с останалото (дисплеи, приложения, клавиатура). На света има само няколко производителя на baseband процесори, като няма особено пълна информация за целия им интерфейс и като цяло са доста затворени. Това води до сравнително сложно правенето на по-специфични устройства или изобщо GSM апарати с по-добра функционалност (например да сте сигурни, че се използва криптиране на връзката).
Като още едно отклонение, GSM спецификацията е огромна, сложна за четене, не съвсем ясна на всички и по принцип всичките тези мрежи са доста затворени, хората, които ги разбират работят основно в телекоми и като цяло това води до един опасен вид екосистема, която вероятно ще се окаже много чуплива при всяка една по-сериозна атака. Например понеже целия дизайн на мрежата е телефоните да вярват на всичко, което им се казва, съответно една от най-простите атаки беше да се направи минималистична базова станция, която се прави, че е от дадена мрежа, което водеше до много регистрации на телефони в нея и съответно доста възможности за послушване (например, доколкото си спомням можеше да се пуска повечето трафик и само да се подменят битовете, които определят какво криптиране да се ползват и съответно да се спира).
Разбира се, протокола си има по дизайн вкарани “проблеми” – например има в момента 4 съществуващи режима на криптиране. А5/0 е да няма криптиране, А5/1 е поточен шифър с 64 битов ключ (за който вече има ефективни атаки), А5/2 е поточен шифър с 40 битов ключ, направен за да могат разни правителства по-лесно да декриптират трафика (40 битов ключ се изчерпва спокойно вече и с домашен хардуер), и A5/3, който се използва основно в 3G и който за момента се води сравнително сигурен.
Та, с този baseband процесор (и може би ако не ги хванат) могат да се правят всякакви забавни атаки, например да се направи fuzzing на някоя GSM мрежа (т.е. да се пробват да се пращат random malformed пакети/потоци и да се види какво ще стане), което вероятно ще доведе до страшни резултати (за съжаление тестовете извън много контролирана среда ще са силно незаконни и водещи до затвор), като например срив на базови станции, различни контролери или при малко по-голям късмет – на цялата мобилна мрежа.
Проектите се развиват доста добре и може да се намерят доста видео материали от различни лекции. Като цяло пак се потвърждава правилото, че security through obscurity не работи и затворената екосистема на GSM мрежите може да се окаже податлива на всякакви елементарни атаки, които internet светът е преборил от много години.
Разбира се, проблемите са известни от доста време и разни хора директно продават устройства, които правят различни атаки (подслушване на трафик, man-in-the-middle) – някои са предназначени за правителства, някои може човек да си ги купи сам и да си ги ползва от вкъщи, като последните не са и особено сложни за опериране.
На курса по мрежова сигурност може да разкажем малко повече подробности по темата, но няма да правим демонстрация, заради времето, което ще отнеме, нужния хардуер и защото въпреки че е сравнително законно да се показва с учебни цели, не ни се занимава и с тая част на нещата.