Мы в Postuf большие поклонники франшизы Watch Dogs - приключенческой видеоигры, в которой главный герой в лице Эйдена Пирса, имея доступ к вымышленной системе ctOS, способен проворачивать со своего смартфона разные хакерские трюки. Однажды нам стало интересно, возможно ли в реальной жизни повторить трюк звонка на телефоны находящихся рядом людей.
Оказалось, возможно:
Чтобы заставить все телефоны вокруг звенеть, необходимо всего лишь всем им (желательно, одновременно) отправить команду на звонок. Делов-то! Супер простая цель, которая не так легко достижима на практике. Отправить такую абстрактную команду можно либо непосредственно на каждый телефон, если он вас каким-либо образом "слушает", либо через посредника - сотового оператора, которого каждый девайс "слушает" по умолчанию (в зависимости от своей SIM).
Минусы первого способа - придется разбираться в том как устроен "протокол" сотового звонка, чтобы суметь отправить заветную команду на звонок, а также думать над тем, как в принципе заставить телефоны вокруг "слушать" команды.
Минусы второго способа - слишком большое число операторов и совершенно непонятно, как найти телефоны "вокруг" себя. Здесь можно было бы схитрить, воспользовавшись услугой из даркнета по получению номеров абонентов в конкретном регионе(в соте) - т.н "Зонтик", но на практике оказалось, что в реальном времени такую услугу никто не предоставляет - нужно ждать несколько дней, что делает этот способ сомнительным.
Становимся мобильным оператором
Чтобы можно было звонить мобильным устройствам напрямую, необходимо, чтобы они относились к нам как к полноценному оператору сотовой связи. Неотъемлемая составляющая любой современной сотовой сети - базовая станция (BTS), к которой подключаются мобильные устройства для дальнейшего взаимодействия с сетью. За базовой станцией может и не быть никакой реальной "сети", однако об этом абоненты никогда не узнают.
О поднятии собственных базовых станций уже писали не один десяток раз, в том числе и на Хабре, поэтому лишний раз углубляться в подробности не будем. Отметим лишь, что наиболее удобной будет станция поколения 2G, т.к в этом поколении можно напрочь прибить все механизмы безопасности на уровне самой BTS, на которые полагаются современные устройства.
Существует целый ряд уже готовых реализаций 2G BTS, среди них особенно выделяются Osmocom и YateBTS. Для поднятия своей BTS также понадобится SDR-оборудование. Мы решили остановиться на наиболее доступной связке Osmocom+LimeSDR. Небольшой ресерч с использованием лишь одного гугла позволил в достаточно короткие сроки разобраться с основными концепциями GSM(2G) сети и поднять собственную "коробочную" версию сети.
На этом этапе мы уже могли подключать абонентов к себе вручную через выбор сети в настройках смартфона. Но на ручном подключении далеко не уедешь...
Вышибаем абонентов из родной сети к себе
Как заставить чужие мобильные телефоны подключаться к какой-то левой сотовой сети вместо "родной", да еще и к сети более старого(небезопасного) поколения 2G? Для ответа на этот вопрос понадобилось разобраться с тем, как мобильные устройства вообще сканируют эфир в поисках базовых станций. Кратко алгоритм выглядит так:
"текущее_поколение" = МАКСИМАЛЬНО_ПОДДЕРЖИВАЕМОЕ (5G, 4G, 3G, 2G)
"найденные_станции" = просканируй_эфир("текущее поколение")
-
если "найденные_станции" != пусто
подключиться(лучшая_базовая_станция("найденные_станции"))
-
иначе, если "текущее_поколение" > 2G
"текущее_поколение" -= 1
goto 2
И говорит нам этот алгоритм о том, что для получения абонента в свою сеть, необходимо, чтобы вокруг не было базовых станций поколений выше 2G, да еще и наша BTS должна быть самой "лучшей" из всех 2G. Проще говоря, мы должны быть единственными в округе, чтобы мобильным устройствам даже не пришлось выбирать (алгоритм выбора "лучшего" не тривиален и зависит от реализации радиомодуля).
Чтобы стать "единственной" BTS, можно заглушить сигнал от всех базовых станций вокруг. Проблема тут в том, что точечно этого сделать не получится - доступные для покупки средства глушения связи накрывают диапазоны целиком. Где тогда оставить нашу BTS?
Посмотрим, какие вообще диапазоны частот входят в стандарт GSM:
Uplink (передача данных) |
Downlink (прием данных) |
|
Европа, Азия |
880 — 915 МГц (E-GSM-900) |
925 — 960 МГц (E-GSM-900) |
США, Канада, Латинская Америка и Африка |
824 — 849 МГц (GSM-850) |
869 — 894 МГц (GSM-850) |
Что если притвориться для телефонов вокруг, будто бы они из привычной Европейской среды попали в Американскую? Ведь это вполне реальный кейс - их владельцы вполне себе могли отправиться в путешествие на другую сторону Земного шара.
Большинство доступных в продаже глушилок поддерживают селективное глушение полос мобильной связи. Вот фрагмент ТТХ одной из таких:
Приобретаем любой подавитель, способный заглушить связь в радиусе 10-20 метров, включаем диапазоны глушения E-GSM-900, DCS-1800, все диапазоны 4G и 3G, которые в сумме накроют всю мобильную связь в радиусе действия глушилки, за исключением американского GSM-850. А на американской полосе GSM-850 поднимаем нашу BTS:
После этой операции все телефоны магическим образом разделились на 2 категории:
те, кто беспрепятственно подключаются к BTS в течение нескольких минут после глушения (в основном Android-девайсы);
те, кто долго висят без сети и подключаются спустя 30+ минут после глушения (в основном iOS-девайсы).
Ждать 30 минут, пока телефон перестроится в новый режим, - слишком долго - за это время все вокруг просто разойдутся. Здесь мы пошли на вторую уловку - перенесли BTS в самое начало стандартной европейской полосы E-GSM-900 - на частоту 925.2МГц, подкрутили глушилку так, чтобы она накрывала все базовые станции в диапазоне E-GSM-900 выше BTS:
В этом случае мы смогли собрать 100% мобильных устройств в радиусе подавления на своей BTS!
Массовый звонок
На текущий момент у нас есть 1 базовая станция стандарта GSM, поднятая в самом начале европейской полосы E-GSM-900, выше которой все закрыто глушилкой. Абоненты подключаются, и с ними уже можно взаимодействовать посредством VTY-интерфейса Osmocom. Для удобства мы написали скрипт на Python, который все красиво отображает в терминале:
Чтобы звонить со стороны BTS на выбранные номера телефонов(msisdn) необходима SIP-телефония, интегрированная со стеком Osmocom. Самое быстрое решение - провести интеграцию с SIP-стеком Asterisk по официальному мануалу от Osmocom.
После этого мы можем совершать звонки абонентам на их локальные номера(msisdn) уже по мануалу Asterisk. Попробуем позвонить 1-2 абонентам с произвольного номера - звонки успешно доходят. Запускаем звонок всем подключившимся абонентам...и натыкаемся на серьезное ограничение GSM по числу параллельных звонков. Так как GSM - крайне древний и простой протокол, в основе разделения абонентов лежат принципы временнОго разделения (TDMA) в сочетании с частотным разделением(FDMA), а конфигурация Osmocom по этой части выглядит следующим образом:
trx 0 # FDMA
rf_locked 0
arfcn 975 # номер GSM-частоты в ARFCN-нотации (925.2МГц)
nominal power 23
timeslot 0 # TDMA
phys_chan_config CCCH # Common Control Channel
timeslot 1 # TDMA
phys_chan_config SDCCH8 # Stand-alone Dedicated Control Channel
timeslot 2 # TDMA
phys_chan_config TCH/F # Traffic Channel Full Rate
timeslot 3 # TDMA
phys_chan_config TCH/F # Traffic Channel Full Rate
timeslot 4 # TDMA
phys_chan_config TCH/F # Traffic Channel Full Rate
timeslot 5 # TDMA
phys_chan_config TCH/F # Traffic Channel Full Rate
timeslot 6 # TDMA
phys_chan_config TCH/F # Traffic Channel Full Rate
timeslot 7 # TDMA
phys_chan_config TCH/F # Traffic Channel Full Rate
Каждый TRX(приемо-передатчик) имеет собственную несущую частоту(ARFCN) и содержит 8 тайм-слотов, каждый из которых может иметь свою конфигурацию каналов. Например:
CCCH - канал для непосредственного "вещания" информации о BTS и первичного обнаружения BTS мобильными устройствами;
SDCCH - сигнальный канал, необходим для установки звонка и рассылки SMS;
TCH - передача речевого трафика.
Подробно о конфигурациях каналов в GSM можно почитать здесь, а узнать их маппинг в более низкоуровневые каналы(channel combinations) в стеке Osmocom - из кода Osmocom.
В текущей конфигурации мы сможем совершать не более 6 параллельных звонков :( Даже не 8, потому что основному каналу CCCH нужен целый тайм-слот, а также еще 1 слот для минимум одного SDCCH, который нужен для установки звонка.
Увеличить число тайм-слотов возможности нет на уровне протокола GSM, попробуем тогда расшириться в плоскости FDMA - увеличить количество TRX. Благо, Osmocom дает возможность довести число TRX при использовании LimeSDR до 6 (6*8 = 48 тайм-слотов), правда после активации четырех и более TRX начинались проблемы с перегрузкой LimeSDR. Стабильная работа BTS на одном LimeSDR сохранялась при использовании трех TRX, что в сумме давало 6+8+8=22 параллельных звонка (на каждом TRX не нужно иметь служебные каналы, поэтому TRX №2 и №3 можно забить чисто речевыми каналами - TCH). Это уже было лучше, но все же недостаточно для полноценного массового звонка.
Попутно всплыла еще одна проблема, сокращающая число потенциальных звонков и связанная с глушением чужих базовых станций на полосе E-GSM-900. Дело в том, что начало границы глушения на полосе E-GSM-900 должно быть максимально выше нашей BTS и минимально ниже первой чужой станции. А согласно распределению частот мобильных операторов в России, первая "чужая" базовая станция присутствует спустя буквально пару МГц - на частоте 927.5Мгц - 3G станция UMTS, принадлежащая Мегафону.
Таким образом в начале полосы E-GSM-900 остается всего 927.5-925 = 2.5МГц "свободного места", а с тремя активными TRX будет занято 1.8МГц из них (каждый занимает 0.4МГц полосы и требует 0.2МГц свободного пространства после себя) - почти впритык. Однако из-за того, что границы глушилки могут "плавать" на +-1-2МГц из-за температуры окружающей среды, необходимо сместить начало границы глушения немного ниже частоты 927.5МГц - на частоту ~926МГц, чтобы обеспечить надежное закрытие базовой станции Мегафона. В этом случае последний TRX может попадать в зону глушения, и звонки будут либо обрываться, либо вообще не будут даже начинаться:
Здесь стало ясно, что для увеличения числа параллельных звонков придется уходить с полосы E-GSM-900. Но куда в этот раз? С полосы GSM-850 мы уже ушли из-за того, что не все мобильные устройства её сканируют. А что если совместить эти два способа?
Вытягиваем абонентов с помощью станции-"приманки"
В ходе многочисленных экспериментов и наблюдений за чужими базовыми станциями выяснилось, что станции могут сообщать подключенным абонентам своих "соседей" (в рамках одной мобильной сети), а абоненты в свою очередь принимают эту информацию и кэшируют у себя.
Если, например, абонент подключился к GSM-станции на частоте 955МГц, и она сообщила, что рядом с ней есть еще одна GSM-станция на частоте 957МГц, то при внезапном исчезновении активной станции (на частоте 955МГц) абонент в первую очередь сходит в свой кэш и попробует переключиться на станции оттуда, вместо полного сканирования радиоэфира. Для абонента это банально менее энергозатратно!
Если мы поднимем одну BTS в начале европейской полосы E-GSM-900, а вторую - в любом месте американской полосы GSM-850 и заставим "европейскую" BTS сообщать о своем соседе на "американской" полосе, у нас получится провернуть трюк с "отравлением" кэша, чтобы ускорить перевод медлительных абонентов на полосу GSM-850, которую они так долго не хотят начинать сканировать. Потребуется еще один LimeSDR для запуска второй BTS.
Провернуть этот трюк мы решили следующим образом:
Поднимем первую BTS с 3 TRX на частоте 869.2МГц (американская полоса), которая сообщает пока что несуществующего соседа на частоте 871.2МГц;
Поднимем вторую BTS с 1 TRX на частоте 925.2МГц (европейская полоса), которая сообщает единственного соседа на частоте 869.2МГц;
Собираем глушилкой абонентов вокруг - какие-то из абонентов "осядут" на первой BTS, какие-то на второй;
Выключаем вторую BTS (925.2МГц) и тут же поднимаем её, но уже с 3 TRX на американской частоте 871.2МГц - теперь сосед существует у первой BTS, а перезапущенная BTS сообщает соседа на 869.2МГц;
Все абоненты успешно "спустились" с 925.2МГц на 869.2МГц/871.2МГц.
Такой трюк позволил нам собрать 100% мобильных устройств в радиусе подавления на своих BTS, и вдобавок в нашем распоряжении оказалось 2*(6+8+8) = 44 таймслота под параллельные звонки. Неплохо, но можно лучше.
Звоним много и быстро
На этом этапе мы поняли, что выжали максимум из "железного уровня", а потому далее нам предстояла долгая и кропотливая работа по оптимизации софтварного уровня с целью еще большего увеличения числа звонков и ускорения их установки.
Начали мы с банального устранения хардкода, которым грешат ребята из Osmocom. После парочки оформленных issue стало ясно, что у ребят и без нас дел по горло, поэтому мы просто форкнули репозиторий и исправляли все находимые баги/фичи/затыки самостоятельно у себя с учетом наших потребностей (а они у нас достаточно агрессивные с точки зрения эксплуатации сетей GSM).
Оптимизация стека Osmocom под массовый звонок в сумме заняла у нас несколько месяцев - при каждом выявляемом затыке приходилось разбираться, какие механизмы GSM лежат в его основе, изучать эти механизмы и придумывать такой способ исправления, который бы не выходил за рамки протокола GSM. Ключевые milestone получились следующие:
Исправление бага, из-за которого выставлялся низкий уровень усиления для BTS и базовая станция была крайне слабой, спустя пару месяцев этот баг поправили официально.
-
Устранение дополнительного хардкода.
Подготовка сбалансированной конфигурации каналов для обеих BTS - такой, чтобы при массовом звонке активных звонков было не просто много(TCH), но еще и не было затыка при их массовой установке(SDCCH) [git].
Добавлено равномерное распределение абонентов по двум BTS - если будет перевес на какой-то одной из них, потенциал звонка не будет реализован полностью на менее загруженной (там останутся свободные речевые каналы в то время как на соседней BTS будет их недостаток) [git].
Уменьшен таймаут paging-request (своеобразный ping перед стартом звонка) с 10 до 3 секунд - в процессе сбора абонентов некоторые из них могут "отвалиться". Такие отвалившиеся абоненты занимают каналы (т.к для них тоже запускается paging-request), в результате чего не получается достучаться до всех живых абонентов [git].
Реализован звонок в 2 "эшелона": сначала пускаем команду звонка тем, у кого наименьший last_seen(отклик на последний пинг), а затем всем остальным [git].
Исправление бага в libosmocore, который из-за захардкоженного размера буфера не позволял единоразово отправлять команду более чем на 75 звонков. Позже выяснилось, что в проекте libosmocore на репорт также отреагировали и этот баг исправили спустя некоторое время [git].
Изменен алгоритм распределения абонентов на более "умный". распределение происходит в реальном времени на основе свободных каналов у BTS, а перед звонком сначала все они пингуются с помощью механизма silent-call, чтобы понять, кто жив, а кто уже отвалился [git].
Произведен "тюнинг" GSM-таймеров [git].
Добавлена фильтрация двух-симочных телефонов [git].
Увеличение числа звонков с 44 до 72 за счет снижения битрейта речевого канала в 2 раза - перешли с
TCH/F(full-rate)
наTCH/H(half-rate)
[git].Произведен "тюнинг" сетевой подсистемы Linux(sysctl), активно используемой стеком Osmocom для обмена данными между сервисами(IPC) [git].
Для всех входящих звонков от абонентов вешаем трубку - чтобы они не занимали ресурсы BTS [git].
Внедрен pool для более оптимальной отправки paging-request(GSM-пинг) с учетом отвалившихся абонентов перед совершением звонка [git].
Добавлена фильтрация технических GSM-устройств по IMEI (модемы, PoS-терминалы, IoT-устройства и т.д) перед звонком [git].
После всех этих оптимизаций мы смогли звонить всем вокруг одновременно в количестве 72 штук. В качестве бонуса, мы также внедрили рассылку SMS всем вокруг в количестве 384 штук.
По SMS самый интересный затык был в обращениях к SQLite-базе, используемой Osmocom для хранения данных об SMS - они вычитывались из базы по одному. Для нормальной GSM-сети это в общем-то приемлемо до тех пор, пока абоненты не начнут отправлять SMS чаще, чем несколько раз в секунду. Мы перетрясли все запущенные сервисы Osmocom путем отслеживания их сетевого взаимодействия с целью выяснить причину промедления. Очень "приятно" было в итоге обнаружить, как базовые принципы, применяемые при разработке веб-приложений нарушаются в чуть более хардкорных проектах - ну оно и простительно, наверное, - там разработчики все же сосредоточены немного на других вещах - например, как освоить несколько сотен страниц спецификации GSM и не оступиться в реализации.
Итоговая сборка нашего варианта BTS на базе 2 LimeSDR выглядит так и умещается в 24-литровый рюкзак:
Весь исходный код доступен в публичном репозитории Postuf на GitHub, так что при наличии желания, двух LimeSDR, глушилки подходящей мощности и чистой Ubuntu 20.04 на 8-ядерном железе вы сможете повторить описанное у себя. А для удобства мы подготовили CLI-скрипт, который предоставляет простой интерфейс ко всем подкапотным операциям.
❝ We has given you the truth. Do what you will.❞ ©
Комментарии (39)
Maximov_psy
05.04.2022 12:17+12Раньше ученые превращали в реальность фантастические книги, а теперь - инженеры переводят в оффлайн компьютерные игры) классно)
ifap
05.04.2022 12:38+19Так в итоге за какое время Вы можете подцепить все телефоны вокруг и позвонить на них? Т.е. Вы становитесь со своим рюкзаком днем в центре города на пешеходной улице и сколько секунд/минут/часов должны стоять окружающие, чтобы у них зазвонил телефон?
Xapu3ma-NN
05.04.2022 12:39+1Регистрировали ли Вы свои глушилки в государственной комиссии по радиочастотам (ГКРЧ) ? Вроде как использование их без регистрации попадает под ст. 13.4 КоАП РФ, но это не точно.
13werwolf13
05.04.2022 14:42+2хочу заметить что в статье не было ничего про использование...
Xapu3ma-NN
05.04.2022 15:15я не товарищ майор, но на втором видео вроде как все еще и задокументировано, когда смс в поезде отправляли)
13werwolf13
05.04.2022 15:17+5Это постанова, свой поезд, в своей клетке фарадея, на территории за пределами границ страны)))
Xapu3ma-NN
05.04.2022 15:21+4Тяга к исследованию это здорово, но [мое субъективное мнение] с ss7 (или как в РФ называют ОКС7) органы шутить не любят. Было в одно время когда около метро стояли газельки с фемтосотами своими и глушили эфир, заставляя абонентов подключиться к своей соте, дальше номер 900, и до свиданья сбережения. История этих товарищей печальная, как у Денатора, который сын Ихтелиона)).
tmin10
05.04.2022 19:36+3Чуть подробнее, что было с номером 900? Отсылали от имени абонента смс, взяв его ид сессии и использовав на реальной соте оператора?
id_potassium_chloride
06.04.2022 16:41Вероятно, наоборот: имитировали звонок с номера 900, абонент видит, что это банк и верит звонящему
zuek
05.04.2022 13:29+3Задумчиво: ...этаким макаром ведь можно в метро фейковые СМС от тревожных служб рассылать... не, бред!
vGimly
05.04.2022 14:50+4Почему только метро? А как же клубы, аэропорты, вокзалы, торговые центры, стадионы... Главное чтобы было достаточно для ваших целей людей и желательно расположившихся компактно. Хотя и из "компактно" может быть вам нужен кто-то один. И "компактно" можно заменить 1 базовой станцией и десятком тюнингованных глушилок распределённых по площади.
Девушка, а какой у вас IMEI или IMSI - я вам позвоню?
Алё, это служба безопасности Сбербанка. Я УЖЕ У ТЕБЯ ЗА СПИНОЙ!
Автосигнализации и охранные системы с активацией через СМС? Безопасность GSM...
titbit
05.04.2022 13:39+2Спасибо, вы еще раз доказали, насколько «дырявый» с точки зрения безопасности протокол GSM.
А что делать с телефонами, которые залочены на европейские частоты, и не видят американские (или переключаются вручную/по GPS)? Что делать с телефонами, у которых «голос» выключен, т.е. они используют только мобильные данные в т.ч. и для звонков? Что делать с телефонами залоченными на конкретного оператора (ваш фейковый не заключал договор о роуминге с ним, а может и вообще роуминг не поддерживает)? Да и еще куча случаев бывает, так что насчет «100% телефонов» вы явно погорячились.
Tyusha
05.04.2022 15:35+12Можно глупый вопрос: а зачем вам это? Такие затраты времени, сил и денег. Из чистого любопытства?
LuigiVampa
05.04.2022 16:17+10Годное и интересное исследование, спасибо.
Меня вот всегда удивляет и сильно расстраивает то, что в прошивках радиомодулей большинства смартфонов на базе андроид которые я видел настройки, и видимо интерфейс взаимодействия с радио со стороны самой ОС, устроены так, что можно выбрать ИЛИ только старые стандарты связи, ИЛИ новые + старые, но почему-то нельзя выбрать конкретно только новые, ну или хотя бы отключить именно 2G. Например прямо сейчас смотрю на свой старый андроид и там в настройках возможные варианты: "2G/3G/LTE", "2G/3G", "Только 2G". На айосах вообще не видел возможности настроить это руками.
Всё описанное в статье возможно исключительно потому что устройства до сих пор поддерживают 2G. 2G был реализован в те времена когда о безопасности ещё никто особо не парился. На стеке 3G и выше уже есть аутентификация базовых станций и поэтому никакая поддельная базовая станция уже не может вклиниться в связь между клиентом и вышкой.Об уязвимостях 2G/EDGE известно уже очень много лет, все понимают что это ненадёжная, уязвимая технология. Да, она выгоднее в удалённых местностях, потому что позволяет покрыть большую территорию связью, правда достаточной только для совершения голосового звонка, интернет на ней - слишком медленный, современные браузеры считают такую низкую скорость == "нет связи". Но она небезопасная - ей пользуются злоумышленники. Было бы очень правильно дать пользователю возможность выбирать самому какими технологиями связи ему пользоваться, а какими нет, дать возможность выбирать использовать 2G если живёт в глухом лесу, или отключить чтобы избежать спуфинга БС.
Всё это похоже либо на полное разгильдяйство и нежелание что-то делать со стороны производителей, либо на сознательное вредительство, потому что у государств по всему миру уже налажена работа устройств для подмены БС в основном именно под 2G. Если уж даже спекулировать на тему того, что поддельные БС нужны товарищу майору, ну сделайте вы 3G или LTE. Владея ключами от ОПСОСа, а в реалиях России, они давно слились с государством, можно поднять фейковую базовую станцию и на этих технологиях. Будет товарищ майор контролировать линии связи, но по крайней мере этого не будут делать злоумышленники.
Справедливости ради - на некоторых телефонах можно отключить 2G, и даже 3G и оставить только LTE, но таких моделей - абсолютное меньшинство. Получается как с WiFi. Вроде 2022 год на дворе, а у людей до сих пор на домашних роутерах включён по умолчанию WPS, часто ещё и без защиты от перебора, или с утёкшими алгоритмами расчёта пинов, что позволяет ломануть его прямо с мобилы за 10 секунд, хотя о этих возможностях все также знают уже очень много лет
clawham
05.04.2022 16:40+3самое главное - что вы думаете что государство беспокоится о вашей безопасности и приватности. Пока вы в это верите - все будет нормально для них и немного непонятно для вас
LuigiVampa
05.04.2022 17:05У меня нет никаких иллюзий по поводу целей и мотиваций государств, ни в целом, ни, уж тем более, таких государств как современная Россия. Если отложить эмоции, то, на мой взгляд, и государство и производители устройств сильно выиграли бы убрав из своих конкурентов более быстрый и легко адаптирующийся по сравнению с ними мелкий и средний криминал и мошенников. Производители бы предоставили лучшую безопасность конечным пользователям мобильных устройств, плюс к лояльности и репутации, государства - сохранили бы в полном объёме контроль и возможность прослушки отчитавшись при этом об успешной борьбе с преступниками.
Небезопасность и уязвимость 2G известны и очевидны абсолютно всем. Исправить это - совершенно не сложно. Так вот и живём
PereslavlFoto
05.04.2022 17:19-3до сих пор на домашних роутерах включён по умолчанию WPS, часто ещё и без защиты от перебора, или с утёкшими алгоритмами расчёта пинов
Но ведь другого-то способа бесплатно подключиться к Wi-Fi не существует. Поэтому названный вами способ — это единственный шанс на бесплатный доступ к интернету.
titbit
05.04.2022 19:22интерфейс взаимодействия с радио со стороны самой ОС, устроены так, что можно выбрать ИЛИ только старые стандарты связи, ИЛИ новые + старые, но почему-то нельзя выбрать конкретно только новые
Официально это для «совместимости», потому что вдруг роуминг какой-нибудь будет или еще что. А неофициально все это выключается на многих андроид телефонах, надо только копнуть чуть глубже (зависит от производителя модема). Только это мало кому надо, как впрочем и вся эта безопасность, поэтому в телефонах очень много сомнительных решений по части безопасности…
p.s. бывает сами операторы идут навстречу, у некоторых нет 2G в принципе, типа tele2 в Мск.AVX
05.04.2022 21:23Сейчас посмотрел в своём redmi note 8t - там можно выключить автоопределение, и выбрать вручную нужную сеть - сейчас у меня доступно мегафон 4G, мегафон 3G и мегафон 2G, и куча аналогичных других операторов (с припиской - запрещено). То есть можно выбрать либо 2, либо 3, либо 4. Кроме этого, отдельно выбирается тип интернета "предпочтительно 4G" (3, 2 соответственно).
В самсунге 2016 года было вроде бы можно выбрать 4, 4/3, 3, 3/2, 2. То есть, практически всё что надо.
И даже на nokia c5-00 можно было выбрать 3, 3/2, 2 (и ещё какой-то вариант, не помню что там).
А во всяких инженерных меню андроид телефонов вообще много всякого можно накрутить. Да даже на кнопочных мне довелось посмотреть возможности в такого рода меню - там сам чёрт ногу сломит, я половину терминов и не понял, но там прям какие-то потроха GSM...
eimrine
05.04.2022 19:52+12G/EDGE
правда достаточной только для совершения голосового звонка, интернет на ней — слишком медленный, современные браузеры считают такую низкую скорость == «нет связи».
Ну, это не совсем правда. На GPRS всё работает прекрасно, кроме интерактива и мультимедии. EDGE хотя бы 1 полоска это уже возможность слушать подкаст «Радио-Т» почти без прерываний и одновременно чатиться в IRC. То состояние «нет связи» это протокол который был до GPRS, кажется он называется CSD; там суть в том что HTTPS не может сделать handshake, потому что нужно в короткое время сделать несколько последовательных передач которые не укладываются в тайм-аут CSD. И то, до сих пор существуют сайты только по HTTP (иногда там даже есть авторизация).
evstropov_dv
06.04.2022 09:31Было бы очень правильно дать пользователю возможность выбирать самому какими технологиями связи ему пользоваться, а какими нет, дать возможность выбирать использовать 2G если живёт в глухом лесу, или отключить чтобы избежать спуфинга БС.
Баба маня с соседнего подъезда тогда полбу даст :) Не хочецца :D
Интернет, а он нам и на*** не нужон интернет ваш...
Мало кто готов платить за прогресс. Тех, кто понимает и того меньше...
Всё это похоже либо на полное разгильдяйство и нежелание что-то делать со стороны производителей
Не уверен, но мне кажется, что убытки от 2Г мошенников для ГОСов меньше, чем затраты на переустановку и наладку оборудования в удаленных районах. Благо, туда хотя бы 4Г приходит.
Тушить пожары экономически не выгодно
Надеюсь, мой посыл понятен. Спасибо
intelligentpotato
05.04.2022 21:10+5Вау! Несмотря на всю мутность деятельность Постуфа и известное в узких кругах скотское отношение к сотрудникам, я снимаю шляпу. Вы занимаетесь очень интересными вещами и воплотили мою детскую мечту в жизнь.
Nehc
06.04.2022 08:44+1В хроме какой-то баг в секции с видео… Или это не баг, а фича? ;)
Или это только у меня?
orgus
06.04.2022 09:38+1Спасибо, за интересное чтиво. Вот прям как в старые добрые времена, ни чего не понятно, но очень интересно :) ради подобных статей когда то и зашёл на Хабр.
v_chaplyak
06.04.2022 09:47А разве телефон подключится к любой сети автоматически? А как же домашняя сеть? Если в телефоне две симки разных операторов, и первого оператора нету, симка ж не подключается к сети второго. Не увидел в статье ничего про это
SlimShaggy
06.04.2022 11:23+1А как по-вашему работает роуминг? Если домашней сети нет - будет пытаться подключиться к тем, что есть, да.
Если в телефоне две симки разных операторов, и первого оператора нету, симка ж не подключается к сети второго
Потому что второй отказывается ее регистрировать в сети, в отличие от поддельной БС (вернее, регистрирует в режиме только экстренных вызовов).
Veresk
06.04.2022 09:48Забавная игрушка, но работать будет далеко не в 100% случаев. Во-первых вам для начала нужна область без 4G и вышек, работающих на релизах 3GPP выше 11. Во-вторых, вы серьезно думаете что БС операторов вас не пеленгуют? С вашей мощностью вы светится будете в диапазоне как новогодняя елка. Как пример уязвимости 2 фазы GSM - неплохая лабораторная работа.
В реальности - весьма чреватое развлечение: нарушение правил выходы в эфир, создание помех для коммерческих систем связи.
Если первое - вопрос пеленгаторов, то второе в зоне развернутой сети - гарантированно обнаруженный факт, если конечно оператор(ы) вышек не отрубили вообще логирование.
dinam
06.04.2022 17:09слышал, что операторские соты начинают принудительно глушить нарушителя, залезшего на их диапазон
TedBeer
06.04.2022 12:27Марокканские
хакерыбизнесмены тупо ставят мощные базовые станции на берегу. И тогда телефоны яхтсменов проплывающих по гибралтарскому проливу автоматически подлючаются к более мощному сигналу и владельцы попадают на специальный конский ценник интернета и звонков в роуминге.dinam
06.04.2022 17:07В Керчи так же делают. В центре Тамани на другом берегу пролива телефон подключается к левым крымским операторам
aik
А цена вопроса какова примерно?
Потому что 500 долларов — это одно, а 50 тысяч — совсем другое.
TimsTims
offtop: Из реалий современности 500 долларов = 50 000 рублей.
Ritan
Речь, полагаю была про $50000 и это - действительно совсем другое
blind_oracle
LimeSDR стоит от 300 до 700 баксов в заисимости от. Сверху к нему нужен ещё какой то промпк или что то подобно чтобы крутить Asterisk и Osmocom, ну и сам SDR.
Так что цена сильно ближе к 50к рублей чем к 50к баксов.