Основные части системы gsm, их назначение и взаимодействие друг
с другом.
Начнем с самого сложного и, пожалуй, скучного – рассмотрения скелета
(или, как принято говорить на военной кафедре моего Alma Mater, блок-схемы)
сети. При описании я буду придерживаться принятых во всем мире англоязычных
сокращений, конечно, давая при этом их русскую трактовку.
Взгляните на рис. 1:
Рис.1 упрощенная архитектура сети gsm.
Самая простая часть структурной схемы – переносной телефон, состоит
из двух частей: собственно “трубки” – МЕ (Mobile
Equipment – мобильное устройство) и смарт-карты SIM
(Subscriber Identity Module – модуль идентификации абонента), получаемой
при заключении контракта с оператором.
Как любой автомобиль снабжен
уникальным номером кузова, так и сотовый телефон имеет собственный
номер – IMEI (International Mobile Equipment Identity
– международный идентификатор мобильного устройства), который может
передаваться сети по ее запросу (более подробно про IMEI
можно узнать здесь ).
SIM,
в свою очередь, содержит так называемый IMSI (International
Mobile Subscriber Identity – международный идентификационный номер
подписчика). Думаю, разница между IMEI и IMSI
ясна – IMEI соответствует конкретному телефону, а
IMSI – определенному абоненту.
“Центральной нервной системой” сети является NSS
(Network and Switching Subsystem – подсистема сети и коммутации),
а компонент, выполняющей функции “мозга” называется MSC
(Mobile services Switching Center – центр коммутации).
Именно последний
всуе называют (иногда с придыханием) “коммутатор”, а также,
при проблемах со связью, винят во всех смертных грехах. MSC
в сети может быть и не один (в данном случае очень уместна аналогия
с многопроцессорными компьютерными системами) – например, на момент
написания статьи московский оператор Билайн внедрял второй коммутатор
(производства Alcatel).
MSC занимается маршрутизацией
вызовов, формированием данных для биллинговой системы, управляет многими
процедурами – проще сказать, что НЕ входит в обязанности коммутатора,
чем перечислять все его функции.
Следующими по важности компонентами сети, также входящими в NSS,
я бы назвал HLR (Home Location Register – реестр
собственных абонентов) и VLR (Visitor Location Register
– реестр перемещений).
Обратите внимание на эти части, в дальнейшем
мы будем часто упоминать их. HLR, грубо говоря, представляет
собой базу данных обо всех абонентах, заключивших с рассматриваемой
сетью контракт. В ней хранится информация о номерах пользователей
(под номерами подразумеваются, во-первых, упоминавшийся выше IMSI,
а во-вторых, так называемый MSISDN-Mobile Subscriber
ISDN, т.е. телефонный номер в его обычном понимании), перечень доступных
услуг и многое другое – далее по тексту часто будут описываться параметры,
находящиеся в HLR.
В отличие от HLR, который в системе один, VLR`ов
может быть и несколько – каждый из них контролирует свою часть сети.
В VLR содержатся данные об абонентах, которые находятся
на его (и только его!) территории (причем обслуживаются не только
свои подписчики, но и зарегистрированные в сети роумеры).
Как только
пользователь покидает зону действия какого-то VLR,
информация о нем копируется в новый VLR, а из старого
удаляется. Фактически, между тем, что есть об абоненте в VLR
и в HLR, очень много общего – посмотрите таблицы,
где приведен перечень долгосрочных (табл.1) и временных (табл.
2 и
3) данных об абонентах, хранящихся в этих реестрах. Еще раз обращаю
внимание читателя на принципиальное отличие HLR от
VLR: в первом расположена информация обо всех подписчиках
сети, независимо от их местоположения, а во втором – данные только
о тех, кто находится на подведомственной этому VLR
территории.
В HLR для каждого абонента постоянно
присутствует ссылка на тот VLR, который с ним (абонентом)
сейчас работает (при этом сам VLR может принадлежать
чужой сети, расположенной, например, на другом конце Земли).
Таблица 1. Полный состав долгосрочных данных, хранимых в HLR
и VLR.
Таблица 2. Полный состав временных данных, хранимых в HLR.
Таблица 3. Полный состав временных данных, хранимых в VLR.
NSS содержит еще два компонента – AuC
(Authentication Center – центр авторизации) и EIR
(Equipment Identity Register – реестр идентификации оборудования).
Первый блок используется для процедур установления подлинности абонента,
а второй, как следует из названия, отвечает за допуск к эксплуатации
в сети только разрешенных сотовых телефонов.
Исполнительной, если так можно выразиться, частью сотовой сети,
является BSS (Base Station Subsystem – подсистема
базовых станций). Если продолжать аналогию с человеческим организмом,
то эту подсистему можно назвать конечностями тела.
BSS
состоит из нескольких “рук” и “ног” – BSC
(Base Station Controller – контроллер базовых станций), а также множества
“пальцев” – BTS (Base Transceiver Station
– базовая станция).
Базовые станции можно наблюдать повсюду – в городах,
полях (чуть не сказал “и реках”) – фактически это просто
приемно-передающие устройства, содержащие от одного до шестнадцати
излучателей. Каждый BSC контролирует целую группу
BTS и отвечает за управление и распределение каналов,
уровень мощности базовых станций и тому подобное. Обычно BSC
в сети не один, а целое множество (базовых станций же вообще сотни).
Управляется и координируется работа сети с помощью OSS (Operating
and Support Subsystem – подсистема управления и поддержки). OSS состоит
из всякого рода служб и систем, контролирующих работу и трафик – дабы
не перегружать читателя информацией, работа OSS ниже рассматриваться
не будет.
Sim: что такое imsi, и чем он отличается от серийного номера sim-ки
Захотелось потихоньку возвращаться к техническим постом. Начнём с разминки 🙂
Многие знают, что на SIM-карте хранится некий идентификатор абонента, называемый IMSI. И что у каждого абонента IMSI свой, уникальный. В то же время, если вытащить SIM-карту из телефона, то на ней можно увидеть другой номер, лишь частично совпадающий с IMSI. Что это за номера, чем они отличаются, и почему в них есть общие подстроки цифр?
Начнём с кусочка пластика со встроенным микропроцессором под названием “SIM-карта”. Она является частным представителем более обширного класса микропроцессорных устройств, называемых “смарт-карты”. В соответствии с международным стандартом ISO/IEC 7812 каждой такой карте присваивается уникальный номер, называемый Integrated Circuit Card ID (ICCID):
Как видно, этот номер, состоящий из 19 цифр (хотя встречаются и очень старые карты с 20-разрядными ICC ID), в свою очередь может быть разбит на отдельные компоненты.
Первые две цифры – код индустрии, который для телекома всегда равен 89. Дальше идет код страны длиной от одного до трех знаков, и код организации, выпустившей карту. Этот префикс длиной в 7 цифр называется Issuer Identification Number (IIN). В приведенном примере код страны – 380 (Украина), код выпустившей организации – 01 (ЗАО “УМС”).
Остаток ICCID составляет индивидуальный номер карты (уникальный в рамках данного IIN), за которым следует одна цифра, используемая для контроля правильности IIN по простому алгоритму. Индивидуальный номер карты может назначаться выпускающей организацией по собственному усмотрению.
Теперь перейдем к IMSI.
Каждая карта содержит набор данных, имеющих отношение к определённому обслуживаемому “мобильному устройству” (mobile station, MS. Под этим словосочетанием, упрощённо говоря, понимают набор “человек мобилка SIM-ка”). У этого набора данных (и, следовательно, у мобильного устройства) есть свой уникальный ID. Он и называется IMSI – International Mobile Subscriber Identity.
Обычно SIM-карта содержит данные об одной MS. Но в принципе (например, в случае программируемых SIM-карт) никто не мешает размещать на одной SIM-карте сразу несколько наборов данных, идентифицируемых несколькими разными IMSI.
Что же такое IMSI?
Это 15-значное число, которое (surprise!) можно разделить на отдельные компоненты. Первый – это код страны в рамках инфраструктуры GSM, называемый Mobile Country Code (MCC). Второй – это код мобильной сети в рамках страны, Mobile Network Code (MNC). Дальше идут 10 знаков, которые, собственно, и являются идентификатором MS (абонента) в рамках сети. В приведеном примере MCC = 255 (Украина), MNC = 01 (ЗАО “УМС”).
К чему это приводит на практике?
Во-первых, если у оператора дела идут хорошо, и он наподключал больше 1010-1 абонентов, ему надо получать новый MNC в стандартизирующих органах 😉
Во-вторых, чтобы все работало и телефоны звонили, оператору необходимо в рамках своей сети всегда иметь возможность определить, в каком HLR-е содержатся сведения об абонентах. Тут сама собой напрашивается очевидная оптимизация – трактовать несколько первых цифр идентификатора MS как указание на то, в каком HLR-е содержаться сведения об этом абоненте. При этом маршрутизация запросов к HLR-ам описывается простыми правилами вида: “все запросы о абонентах 2550198* направлять в HLR #98”.
Теперь представим себе весь процесс выпуска новых карт и привлечения новых абонентов. Оператор решил выпустить новые карты. Он отправляет заказ производителям SIM-карт. Производители присылают контейнеры с физическими SIM-картами (куда уже прописаны IMSI) и стопицот раз зашифрованные секретные данные о них (пресловутые Ki-коды и тому-подобное). Секретные данные загружаются в секретные информационные системы оператора, а SIM-карты направляются в магазины, дилерам и т.п.
Понятное дело, что в тот момент, когда свежеподключившийся абонент вставит SIM-карту в телефон, она уже должна быть правильным образом “прописана” в HLR-е (иначе абонент не сможет зарегистрироваться в сети). Получается, что данные о всех новых SIM-картах надо сразу размещать в HLR-ах. А если SIM-карты не продадутся в течении длительного времени? Тогда данные о них будут занимать ценное место в базе HLR. Можно выбрасывать карты в продажу порциями, или вообще при фактической продаже SIM-карты абоненту нажимать кнопочку в каком-то интерфейсе, и on demand загружать в HLR данные о картах поштучно.
Для того, чтобы заниматься подобными оптимизациями, полезно знать, какому ICCID (который можно прочесть на коробке с SIM-кой) соответствует какое IMSI. Понятное дело, что для информационных систем это дело не хитрое – заводится табличка (ICCID, IMSI), и дело с концом. А вот для людей проще, чтобы ICCID и IMSI были похожими. Именно поэтому обычно при заказе SIM-карт оператор просит, чтобы у них совпадали, к примеру, последние 10 цифр IMSI и Individual ID в ICCID.
§
Мне понравилось спрашивать у вас, как организовать всякие интересные вещи 🙂 Хочу ещё.
Задача: слушать музыку (дома).
Исходные данные:
- В одной из комнат стоит компьютер, на котором хранится вагон MP3
- UPD: на компьютере – Linux
- Компьютер – networked (ethernet и wifi), и имеет стандартный аудио-выход.
- Когда я сижу за ноутом и работаю, я запускаю amarok, который берет MP3 over SMB и играет их мне в наушники, но этого мало (см. ниже)
Требования
:
- Решение должно позволять слушать музыку через какие-то колонки в этой же комнате, в соседней комнате и на кухне (must)
- При этом возможно, что во всех трех комнатах слушают разное (nice-to-have)
- Решение должно позволять легко регулировать громкость и, как минимум, переключаться на следующий/предыдущий трэк в плей-листе находясь непосредственно в той комнате, где слушаем музыку. Без компьютеров/клавиатур/мышек. (must)
- Решение должно позволять легко править плей-лист. Идеально – там же, где слушаем музыку, и через максимально простой интерфейс. Но в принципе руки-ноги не отвалятся сходить в соседнюю комнату и поредактировать плей-лист(ы) через ноут (must)
- Аудиофильской акустики и золотых кабелей не будет, соответственно все компоненты могут быть бюджетными до ужаса (optional)
- Хочется не плодить провода без необходимости (must)
- UPD: быть самоделкиным хочется, но нету времени 🙁 Т.е. решение должно быть более менее коробочное/компонентное. Какое-то самодельничание допустимо разве что в области софта (must)
Что скажете?
Я понимаю, что можно в каждой комнате поставить по промышленному компьютеру с тачскрином и WiFi, подключить к ним колонки, и слушать что угодно, как угодно и в любых позах. Но это не будет бюджетно, и, возможно, не будет удобно (особенно на кухне – тыкать мокрыми пальцами в тачскрин …. бррр….).
Можно поставить в каждой комнате “компьютерные” колонки и переносить с места на место какой-то компактный MP3-плейер. Но это решение не очень удобно в управлении. Плюс, в идеале, требуется три отдельных плейера. Которые я замахаюсь “администрировать”
Можно воткнуть куда-то(?) FM-транслятор(?) и слушать результат через обычные “бумбоксы”. Но трансляция будет только одна на всех. Плюс – неизвестно, что обо мне подумают соседи, и, в худшем случае – Укрчастотнадзор 🙂
Тут у меня закончились рациональные и фантастические идеи. Помогайте!
UPD
Из насоветованного вырисовываются такие “коробочные” решения:
1)AirPort. Как я понимаю, это такие себе WiFi AP, которых надо будет поставить 2 штуки (по кол-ву мест прослушивания) и гнать туда музыку из-под Linux чем-то вроде коммандлайнового “raop-player”. Дальше либо на проигрывание заряжатся все, что есть, и слушаем это, как радио, либо надо отдельно решать вопрос управления музыкой. Открытый вопрос: получится ли как-то использовать USB-порты в этих коробочках, и объединить их в WDS с моим Draytek Vigor. Ни у кого нету опыта, а?
Бюджет: ~2*$125 = $250 (магазинные цены) возня с софтом
2)Logitech Squeezebox Duet Lgitech Squeezebox Receiver. Как я понимаю, оно само умеет по WiFi достучаться до моей шары с музыкой, и всячески ее играть. Кроме того, оно сможет само играть инет-радио и ходить на last.fm. Вопрос управления решается пультом с ЖК экраном. Т.е. решение, фактически, под ключ. Аналогичный вопрос – у кого-то есть практический опыт юзания?
Бюджет: $600 $225 = $825 (магазинные цены)
3)Sonos.com. По сути – решение аналогично Logitech, но цен на него я пока не видел. Судя по пафосному сайту – минимум вдвое дороже 🙂
Колонки – вопрос отдельный, и тут не рассматриваемый.
§
§
§
Все знают, что воины и офицеры запаса ходят в цирк исключительно для того, чтобы сидеть в первом ряду и нервировать клоунов каменным выражением своего лица.
Можно ли раскачать такой полезный skill, не посвящая два года своей жизни строевой и боевой подготовке? Отказывается можно – достаточно пойти поработать в отдел “По работе с обращениям абонентов” в любую более-менее крупную телекоммуникационную компанию. Например, в компанию Z.
В нежные руки сотрудниц (сотрудников там не бывает – грубая мужская психика не выдерживает) этого отдела ежедневно попадает до десятка шедевров эпистолярного жанра, каждый из которых с гордостью возглавил бы top на bash.org.ru. Но работницам не до увеселения масс, и недрогнувшей рукой сокровища письменной культуры отправляются в шредер.
Такая же судьба чуть была не постигла письмо гражданина Н. Сотрудница, в чьи руки оно попало – назовем ее Маша – прочла его, мысленно отнесла его к категории “спам” и привычной рукой отправила его в папку “В шредер”, но тут из конверта выпала ксерокопия документа на официальном бланке Компании.
В голове Маши начала мерцать тревожная красная лампочка – ксерокопии документов обозначают, что автор письма знает, как общаться с Бюрократическими Организмами, и представляет собой потенциальную опасность. Письмо следовало перечитать внимательнее:
“Уважаемая Компания!
Я признаю, что за прошедший месяц на моем счету действительно образовалась задолженность в 500 грн, однако я отказываюсь признавать, что эта задолженность (пусть даже с учетом пени) составила спустя месяц сумму, значительно превышающую валовый национальный продукт Украины за прошлый год. Если вы, как указано в письменной претензии (см. копию) действительно собираетесь передавать дело в суд, я, со своей стороны <дальше уже не важно>…
С уважением, Н.”
Маша развернула ксерокопию. На стандартном бланке претензии, высылаемой неплательщикам, было написано: “Просим вас в течении 15 дней погасить задолженность, которая, с учетом пени, составляет: триста восемьдесят миллиардов …. миллионов двести тридцать четыре тысячи пятьсот шестьдесят семь гривен“
Маша пошла к своей начальнице, начальница пошла в отдел, рассылающий претензии. А там уже сидели представители бухгалтерии, которых заинтересовало, почему сумма невзысканной дебиторской задолженности за прошлый месяц составляет астрономическую сумму в несколько сот миллиардов гривен.
Довольно быстро выяснилось, что процесс выставления претензий включает в себя этап, на котором сумма задолженности может быть вручную скорректирована отвественным сотрудником Компании на основании сложной экспертной оценки. А поле для ввода окончательной суммы задолженности было расположено рядом с полем поиска данных абонента по номеру телефона. И при обработке долгов абонента Н вместо окончательной суммы ему по ошибке вбили номер следующего должника. В международном формате (12 цифр).
После этого ручную коррекцию долга отменили, и письма-претензии стали рассылать всем, чей долг составляет более X гривен, где X задавалось вручную. Естественно, и это “ружье на стене” тоже в свое время выстрелило, но это уже совсем другая баечка.
§
“Пишет
tersky
:
Не знаю, как в других городах России, а в Астрахани с нового 2009 года в распоряжении УВД появились новые возможности по обнаружению местонахождения любого мобильного телефона. Если раньше вычислить местонахождение мобильника можно было в радиусе сотен метров, а то и километров, то теперь радиус вычисления ограничивается всего одним метром. Всем владельцам мобильных телефонов я рекомендую записать куда-нибудь в блокнотик, хранящийся дома, серийный номер своего мобильника и чтобы родственники знали, где он записан. Один из высоких начальников УВД Астраханской области мне поведал, что мобильник можно будет найти даже если в нём будет отсутствовать сим-карта, а также если он будет отключен. Короче говоря, мобильник – враг преступников теперь…
Идея понятна, чем платить за дорогой комплекс со спутниковой пеленгацией: просто подвести питание 12 вольт от сигналки к автомобильному заряднику мобилки и спрятать все это под торпедой/приборной панелью/вшить в одно из кресел.
Вопрос к знатокам:
1) Насколько эффективна такая радиозакладка?
2) Питерские компании сотовой связи предоставляют услуги пеленгации/триангуляции?”
Собственно, я на эту тему распинался уже не раз, поэтому ответ будет тезисный.
§
— Вот какая история, — сказал он. — Если хочешь достать мед — главное дело в том, чтобы пчелы тебя не заметили. И вот, значит, если шар будет зеленый, они могут подумать, что это листик, и не заметят тебя, а если шар будет синий, они могут подумать, что это просто кусочек неба, и тоже тебя не заметят. Весь вопрос — чему они скорее поверят?
— А думаешь, они не заметят под шариком тебя?
— Может, заметят, а может, и нет, — сказал Винни-Пух. — Разве знаешь, что пчелам в голову придет?
Сегодня я напишу о таинственных устройствах, “притворяющихся базовыми станциями, через которые можно прослушивать любые разговоры” (конец цитаты). Судя по комментариям в моем ЖЖ и сообщениям в желтой прессе, таки устройства стоят на вооружении спецслужб, и используются для широкомасштабной неконтролируемой “прослушки” всех и вся. Попробуем разобраться, реально ли это.
Начнем с поиска материалов о чудо-устройствах. Искать будем по словам “fake base station”, “GSM man-in-the-middle”, отсеивая все публикации в желтой прессе, не содержащие фактического материала. Из того, что осталось, я выбрал два характерных примера:
По обоим ссылкам речь идет о устройстве, которое, с одной строны, изображает из себя базовую станцию, а с другой стороны – само содержит в себе SIM-карту. Используется оно следующим образом:
- Поддельная базовая (ПБ) размещается неподалёку от жертвы (и ее мобильного телефона);
- Поддельная базовая начинает свою работу, анонсируя себя в эфире как базовая станция, принадлежащая мобильной сети, которой пользуется жертва. Благодаря искусному размещению (см. п.1) у ПБ должен быть замечательный уровень сигнала; Впрочем, тут есть ньюансы (см. ниже)
- Телефон жертвы видит такую роскошную базовую и, возможно, решает, что эта базовая – это идеальный camped cell. То есть, базовая, на частоте которой телефон будет просить об организации выходных звонков и ждать уведомлений о входящих звонках.
Тут надо остановится подробнее на механизме смены camped cell. Каждая базовая сети GSM транслирует в эфир так называемый neighbor list – перечень частот географически соседних с ней базовых. Список этот – часть “конфига” базовой, и управляет им оператор. “Сидя” в какой-то соте, телефон получает от нее список соседей, и периодчески проверяет мощность сигнала от текущей соты и от ее соседей, и, возможно, принимает решение переключится на другую соту.
Но для переключения новая базовая должна быть не просто “чуть лучше” старой, она должна быть существенно лучше. Казалось бы, если телефон жертвы не спешит менять camped cell – ему можно помочь, ставя радиопомехи на частотах всех остальных ближайших базовых. Но тут есть две проблемы (см. ниже)
- Телефон жертвы переходит кэмпится в ПБ. А онаему и говорит: “Я, милый друг, принадлежу другой location area, так что сделай-ка ты перерегистрацию в сети (location update)”. Подробнее про location area и location update читайте тут;
Кстати, алгоритм выбора camped cell включает в себя пенальти за переход в другую location area, что нужно учесть в п.3.
- Телефон жертвы делает location update, а ПБ ему и говорит: “О, кстати, совсем забыла сказать – отключай-ка, милый друг, шифрование“. Телефон, понятное дело, отключает.
На этом подготовительные операции завершаются. Дальше, допустим, жертва решает позвонить кому-то. Вызов обслуживается поддельной базовой, совершается без шифрования – соотв. на ПБ разговор можно взять и без проблем
записать/прослушать
. А как же вызов доходит до адресата? Очень просто – в поддельной базовой есть своя SIM-карта, и с её помощью ПБ, как нормальный мобильный телефон, совершает звонок “от своего имени”. Понятно дело, что при этом надо использовать CLIR (сокрытие номера вызывающего абонента).
А если кто-то звонит жертве? Тут, увы, вариантов нет – в “нормальной” сети телефон жертвы не регистрировался, а ПБ со своей SIM-картой не может принять звонок, адресованный не ей. То есть, входящие звонки жертве обламываются с диагностикой “абонент за зоной покрытия”.
Получается, доля правды в сообщениях о подобных устройствах есть – действительно, технически возможно сделать устройство, которое будет изображать из себя базовую станцию, и использовать это устройство для прослушивания исходщих разговоров жертвы. Однако, атака получается довольно “грязной”, жертва может легко сорваться с крючка или заподозрить неладное. Перечислим недостатки метода:
- В ПБ может кэмпится много абонентов, если мы не знаем IMSI жертвы – то нам надо играть в угадайку
- Если в ПБ только одна своя SIM-карта, то она может обслуживать только один исходящий звонок в произвольный момент времени. Если мы хотим создать видимость нормальной работы для более чем одного человека, надо усложнять радиочасть ПБ и втыкать в нее больше SIM-карт. Либо же организовывать uplink с ПБ каким-либо иным образом.
- ПБ должна начать вещание на частоте, входящей в neighbor list текущей camped cell жертвы. Но ее знает только телефон жертвы, и запросить эту информацию с него нельзя. Надо, опять же, играть в угадайку. Или выключать все легитимные базовые в этом районе вообще.
- Глушить соседние базовые для форсирования перехода телефона в зону ПБ бессмысленно. Во время выбора соты уровень интерференции не измеряется никогда, а оценивается только уровень мощности на данной частоте. Поэтому любая “забивалка” только повысит мощность сигнала, измеряемую телефоном. И телефон автоматом будет выбирать именно такую частоту и, соответственно, базовую. Получается, надо рассчитывать только на умелое размещение ПБ и направленные антены 🙂
- Если жертва не находится на месте (ходит, ездит, как-то еще перемещается в пространстве), то она может выйти из зоны покрытия ПБ и переключиться на другую базовую. Да, ПБ может сама транслировать пустой neighbor list, и это приведет к тому, что телефон будет держаться за нее до последнего. Но если сигнал от ПБ вдруг все-таки хоть на мгновение пропадет, то телефон пересканирует эфир и подключится к любой легитимной базовой, и ПБ не в силах это запретить;
- Жертву может насторожить символ “шифрование отключено” на экране телефона
- Жертву может насторожить невозможность получать входящие звонки
- Жертву может насторожить сообщение о том, что ее номер не определяется у вызываемых абонентов
- У тех, кому звонит жертва, может быть включена услуга анти-CLIR (как там оно правильно называет?) – “отмена запрета показа номера вызывающего абонента”. В таком случае получатели звонка сразу увидят номер, связанный с SIM-картов в ПБ, и могут уведомить жертву
- SIM-карта в ПБ должна быть того же самого оператора, что и у жертвы, иначе жертва может случайно услышать незнакомый анонс типа “абонент не может вам ответить” и что-то заподозрить
- SIM-карта в ПБ должна иметь активированным тот же набор услуг, что и у жертвы
Получается
слишком много минусов
, самые главные из которых – это невозможность прослушивать подвижную жертву, отключение шифрования, и невозможность организации входящих звонков. Согласитесь, что это приемлемо для краткосрочной целевой акции, но недопустимо для долговременного широкомасштабного прослушивания. Как с Винни-Пухом – можно взять в руки синий шарик и прикинуться тучкой, но пчелы почти наверняка что-то такое начнут подозревать.
Ок, но что, если инженерная мысль не стоит на месте, и кому-то удалось создать прибор, лишенный этих недостатоков? Вероятность этого видится мне ничтожной. Попробуем поиграть в “а что, если?”
Q: А что, если кто-то научился делать ПБ, не требующие отключения шифрования?
A: Это означает, что такая ПБ может авторизовать жертву в сети. Для этого ПБ должна: а)знать секретный ключ (Ki) SIM-карты жертвы, б)поддерживать тот же алгоритм A38, что и центр аутентификации (AuC) компании-оператора. И то, и другое – не слишком легкие и наказуемые законом вещи.
Чтобы узнать секретный ключ, нужно либо иметь доступ к данным о SIM-карте на этапе ее производства, либо иметь доступ к AuC или биллинговой системе оператора, обслуживающего жертву. Ладно, допустим, что взятки решают все, и ключ получен.
Чтобы реализовать у себя тот же алгоритм А38, что и компания-оператор, обслуживающая жертву – придется попотеть. Если этот алгоритм нестандартный, то кол-во людей, имеющих его полное описание, может исчисляться единица, а само описание будет хранится “за семью замками”.
Если надо работать с разными операторами, то может оказаться, что все они используют разные реализации А38.
Q: А если ПБ просто служит “прокси” в процессе аутентификации, передавая туда-сюда траффик, разве при этом нельзя обеспечить включение шифрования у жертвы меньшими усилиями?
A: Для этого сеть оператора должна быть аутентифицировать SIM-карту с тем же IMSI, что и у жертвы. То есть, SIM-карта в ПБ должна иметь тот же IMSI, что и у жертвы. Правда, есть одна закавыка – если SIM-карта в ПБ имеет совпадающий с жертвой IMSI, но вы не знаете Ki, то поработать прокси для аутентификации получится, а вот дешифровать проходящий через ПБ траффик – нет (так как у вас не будет ключа для дешифровки трафика, Kc). Чтобы получить Kc, нужно иметь в ПБ полный клон SIM-карты жертвы.
Но для этого вам надо знать Ki жертвы и описание алгоритма А38, используемого оператором 🙂 То есть, легче не получится.
Q: Но ведь в инете полно статей про клонирование SIM-карт простыми кард-ридерами и программами!
A: Они – про клонирование SIM-карт тех операторов, которые используют старый стандартный алгоритм A38 под названием COMP128 v1 (не знаю, может, уже клонируют и v2, и v3). Такие операторы есть, но они – в меньшинстве. К тому же, для клонирования надо иметь доступ к оригинальной SIM-карте и быть готовым к тому, что вы ее можете “запороть”.
Q: А что, если кто-то научился делать ПБ, позволяющие доставлять жертве входящие звонки?
А: Для этого ПБ должна обслуживаться сетью оператора наравне со всеми остальными базовыми станциями этой сети. То есть, ПБ должна быть подключена к какому-то контроллеру базовых станций (BSC) и описана в его “таблицах марштуризации”. Начнем с того, что интерфейс с BSC обычно “проводной”. Допустим, для нас это не преграда, и “проводов” у нас много.
Но. Если у вас есть доступ к BSC на уровне, позволяющем подключать и конфигурировать новые базовые станции, то вам незачем возится с ПБ. Вы можете прослушивать разговоры при помощи обычных базовых станций оператора.
Q: А если в этой ПБ реализована базовая BSC в одном флаконе?
A: Ее все равно надо подключить к сети оператора, только уже “уровнем выше”. Если вы это можете – то проще вообще пойти на шаг дальше и поиметь доступ к средствам СОРМ (lawful interception) оператора и прослушивать жертву на уровне коммутаторов 🙂
Q: А что, если кто-то научился делать ПБ, позволяющие прослушивать мобильную (движущуюся) жертву?
A: На практике это означает, что такая ПБ в любой момент времени является для телефона жертвы идельно подходящей для кэмпинга базовой и одновременно идеально вписывается в окружающий радиоландшафт. Допустим, первая половина задачи решается тем, что с помощью Патентованных Нанотехнологий(тм) размер ПБ уменьшается до пачки сигарет, и мы плотно садимся жертве на хвост.
Остается проблема взаимодействия с окружающим эфиром. Наша ПБ должна работать на частоте, отличающейся от частот всех окружающих легитимных базовых станций всех существующих в данной точке операторов. Интерференции пофиг, какая базовая настоящая, а какая – поддельная. Если две базовых с перекрывающимися областями покрытия начнуть вещать на одной частоте, то работать не сможет ни одна из них. Соответственно, наша ПБ должна постоянно сканировать эфир и адаптироваться к изменяющимся условиям. Фактически, нам надо построить автоматическое средство решения задачи радиопланирования сети. Если у нас это получится – то лучше бросать нафиг потенциально подсудную прослушку, и продавать свое решение операторам. За такой чудо-радиопланировщик они с радостью дадут Много Бабла.
Да, чуть не забыл – если мы хотим не только прослушивать исходящие звонки мобильной жерты, то нам надо в процессе движения как-то поддерживать контакт с контроллером базовых станций. Но там, как я говорил, обычно используются “провода”, т.е. ваша ПБ не сможет ездить за жертвой по всему городу. Конечно, умные люди давно придумали радиорелейную связь, беспроводный интернет и прочие технические средства, которые потенциально можно использовать для связи с контроллером базовых. При условии, конечно, что оператор позаботился оборудовать контроллер соответствующими техническими средствами и разрешает подключаться всем, кому не лень 🙂
Итого, получается, что сделать такую ПБ, которая “прозрачна” для прослушиваемой жертвы и позволяет прослушивать ее в режиме нон-стоп – нельзя.
PS
Какие еще возможные возражения я пропустил? 🙂
В каких ещё странах доступен перенос номера от одного оператора к другому
Немного истории
На заре развития мобильной связи (а было это не так давно – в начале
восьмидесятых) Европа покрывалась аналоговыми сетями самых разных
стандартов – Скандинавия развивала свои системы, Великобритания свои…
Сейчас уже сложно сказать, кто был инициатором последовавшей очень
скоро революции – “верхи” в виде производителей оборудования,
вынужденные разрабатывать для каждой сети собственные устройства,
или “низы” в качестве пользователей, недовольные ограниченной
зоной действия своего телефона.
Так или иначе, в 1982 году Европейской
Комиссией по Телекоммуникациям (CEPT) была создана специальная группа
для разработки принципиально новой, общеевропейской системы мобильной
связи. Основными требованиями, предъявляемыми к новому стандарту,
были: эффективное использование частотного спектра, возможность автоматического
роуминга, повышенное качество речи и защиты от несанкционированного
доступа по сравнению с предшествующими технологиями, а также, очевидно,
совместимость с другими существующими системами связи (в том числе
проводными) и тому подобное.
Плодом упорного труда многих людей из разных стран (честно говоря,
мне даже страшно представить себе объем проделанной ими работы!) стала
представленная в 1990 году спецификация общеевропейской сети мобильной
связи, названная Global System for Mobile Communications или
просто GSM.
А дальше все замелькало, как в калейдоскопе – первый оператор
GSM принял абонентов в 1991 году, к началу 1994 года сети, основанные
на рассматриваемом стандарте, имели уже 1.3 миллиона подписчиков,
а к концу 1995 их число увеличилось до 10 миллионов!
Давайте же попробуем разобраться, как организованы и на каких принципах
функционируют сети GSM. Сразу скажу, что задача предстоит не из легких,
однако, поверьте – в результате мы получим истинное наслаждение от
красоты технических решений, используемых в этой системе связи.
За рамками рассмотрения останутся два очень важных вопроса: во-первых,
частотно-временное разделение каналов (с этим можно ознакомиться здесь
) и, во-вторых, системы шифрования и защиты передаваемой речи (это
настолько специфичная и обширная тема, что, возможно, в будущем ей
будет посвящен отдельный материал).
Регистрация в сети.
При каждом включении телефона после выбора сети начинается процедура
регистрации. Рассмотрим наиболее общий случай – регистрацию не в домашней,
а в чужой, так называемой гостевой, сети (будем предполагать, что
услуга роуминга абоненту разрешена).
Пусть сеть найдена. По запросу сети телефон передает IMSI
абонента. IMSI начинается с кода страны “приписки”
его владельца, далее следуют цифры, определяющие домашнюю сеть, а
уже потом – уникальный номер конкретного подписчика.
Например, начало
IMSI 25099… соответствует российскому оператору Билайн.
(250-Россия, 99 – Билайн). По номеру IMSIVLR
гостевой сети определяет домашнюю сеть и связывается с ее HLR.
Последний передает всю необходимую информацию об абоненте в VLR,
который сделал запрос, а у себя размещает ссылку на этот VLR,
чтобы в случае необходимости знать, “где искать” абонента.
Очень интересен процесс определения подлинности абонента. При регистрации
AuC домашней сети генерирует 128-битовое случайное
число – RAND, пересылаемое телефону. Внутри SIM с
помощью ключа Ki (ключ идентификации – так же как
и IMSI, он содержится в SIM) и алгоритма
идентификации А3 вычисляется 32-битовый ответ – SRES
(Signed RESult)
по формуле SRES = Ki * RAND. Точно такие же вычисления
проделываются одновременно и в AuC (по выбранному
из HLRKi пользователя). Если SRES,
вычисленный в телефоне, совпадет со SRES, рассчитанным
AuC, то процесс авторизации считается успешным и
абоненту присваивается TMSI (Temporary Mobile Subscriber
Identity-временный номер мобильного абонента).
Теоретически, при регистрации должен передаваться и номер IMEI,
но у меня есть большие сомнения насчет того, что московские операторы
отслеживают IMEI используемых абонентами телефонов.
Давайте будем рассматривать некую “идеальную” сеть, функционирующую
так, как было задумано создателями GSM.
Так вот, при получении IMEI
сетью, он направляется в EIR, где сравнивается с
так называемыми “списками” номеров. Белый список содержит
номера санкционированных к использованию телефонов, черный список
состоит из IMEI, украденных или по какой-либо иной
причине не допущенных к эксплуатации телефонов, и, наконец, серый
список – “трубки” с проблемами, работа которых разрешается
системой, но за которыми ведется постоянное наблюдение.
После процедуры идентификации и взаимодействия гостевого VLR
с домашним HLR запускается счетчик времени, задающий
момент перерегистрации в случае отсутствия каких-либо сеансов связи.
Обычно период обязательной регистрации составляет несколько часов.
Перерегистрация необходима для того, чтобы сеть получила подтверждение,
что телефон по-прежнему находится в зоне ее действия.
Дело в том,
что в режиме ожидания “трубка” только отслеживает сигналы,
передаваемые сетью, но сама ничего не излучает – процесс передачи
начинается только в случае установления соединения, а также при значительных
перемещениях относительно сети (ниже это будет рассмотрено подробно)
– в таких случаях таймер, отсчитывающий время до следующей перерегистрации,
запускается заново.
Все пользователи случайным образом разбиваются на 10 равноправных
классов доступа (с номерами от 0 до 9). Кроме того, существует несколько
специальных классов с номерами с 11 по 15 (разного рода аварийные
и экстренные службы, служебный персонал сети).
Информация о классе
доступа хранится в SIM. Особый, 10 класс доступа,
позволяет совершать экстренные звонки (по номеру 112), если пользователь
не принадлежит к какому-либо разрешенному классу, или вообще не имеет
IMSI (SIM).
Территориальное деление сети и handover.
Как уже было сказано, сеть состоит из множества BTS
– базовых станций (одна BTS – одна “сота”,
ячейка). Для упрощения функционирования системы и снижения служебного
трафика, BTS объединяют в группы – домены, получившие
название LA (Location Area – области расположения).
Каждой LA соответствует свой код LAI(Location
Area Identity).
Один VLR может контролировать несколько
LA. И именно LAIпомещается в VLR
для задания местоположения мобильного абонента. В случае необходимости
именно в соответствующей LA (а не в отдельной соте,
заметьте) будет произведен поиск абонента.
При перемещении абонента
из одной соты в другую в пределах одной LA перерегистрация
и изменение записей в VLR/HLR не
производится, но стоит ему (абоненту) попасть на территорию другой
LA, как начнется взаимодействие телефона с сетью.
Каждому пользователю, наверное, не раз приходилось слышать периодические
помехи (типа хрюк-хрюк—хрюк-хрюк—хрюк-хрюк 🙂 ) в музыкальной
системе своего автомобиля от находящегося в режиме ожидания телефона
– зачастую это является следствием проводимой перерегистрации при
пересечении границ LA.
При смене LA
код старой области стирается из VLR и заменяется
новым LAI, если же следующий LA
контролируется другим VLR, то произойдет смена VLR
и обновление записи в HLR.
Вообще говоря, разбиение сети на LA довольно непростая
инженерная задача, решаемая при построении каждой сети индивидуально.
Слишком мелкие LA приведут к частым перерегистрациям
телефонов и, как следствие, к возрастанию трафика разного рода сервисных
сигналов и более быстрой разрядке батарей мобильных телефонов.
Если
же сделать LA большими, то, в случае необходимости
соединения с абонентом, сигнал вызова придется подавать всем сотам,
входящим в LA, что также ведет к неоправданному росту
передачи служебной информации и перегрузке внутренних каналов сети.
Теперь рассмотрим очень красивый алгоритм так называемого handover`ра
(такое название получила смена используемого канала в процессе соединения).
Во время разговора по мобильному телефону вследствие ряда причин (удаление
“трубки” от базовой станции, многолучевая интерференция,
перемещение абонента в зону так называемой тени и т.п.) мощность (и
качество) сигнала может ухудшиться.
В этом случае произойдет переключение
на канал (может быть, другой BTS) с лучшим качеством
сигнала без прерывания текущего соединения (добавлю – ни сам абонент,
ни его собеседник, как правило, не замечают произошедшего handover`а).
Handover`ы принято разделять на четыре типа:
В общем случае, проведение handover`а – задача
MSC. Но в двух первых случаях, называемых внутренними
handover`ами, чтобы снизить нагрузку на коммутатор
и служебные линии связи, процесс смены каналов управляется BSC,
а MSC лишь информируется о происшедшем.
Во время разговора мобильный телефон постоянно контролирует уровень
сигнала от соседних BTS (список каналов (до 16),
за которыми необходимо вести наблюдение, задается базовой станцией).
На основании этих измерений выбираются шесть лучших кандидатов, данные
о которых постоянно (не реже раза в секунду) передаются BSC
и MSC для организации возможного переключения. Существуют
две основные схемы handover`а:
Интересно, что инициировать смену каналов может не только мобильный
телефон, но и MSC, например, для лучшего распределения
трафика.
купить 2 нетбука, те же ееепц 701, получаем возможность управления любым софтом, можно что-нить в полноэкранном режиме, какой-нить geexbox… ну качество звука другой вопрос. есть wi-fi, как я понимаю wi-fi у тебя в доме есть, проблем соответственно не будет.
цена решения ~14000 рублей колонки 🙂
Удачи!