Типичный смартфон состоит как минимум из трех различных компьютерных систем, каждая из которых обладает собственной операционной системой и обслуживается разными специалистами из нескольких областей индустрии.

  1. «Процессор приложений». Это устройство, на котором работает Android или iOS. С этой частью смартфона вы и взаимодействуете. Здесь запускаются и работают ваши приложения. Скорее всего, когда вы думаете о своём смартфоне, вы думаете о процессоре приложений.

  2. «Baseband-процессор». Это устройство управляет сотовой радиосвязью телефона. И под сотовой связью мы подразумеваем действительно сотовые технологии, такие как LTE, 5G и т.д., а не Wi-Fi. Baseband-процессор отвечает за подключение и сброс телефонных звонков, сеансов передачи данных, обрабатывает СМС и выполняет другие функции сотовой связи, порой невидимые для пользователя, такие как «Управление мобильностью».

  3. SIM-карта. СИМ-карта представляет собой полную компьютерную систему (с процессором, памятью и файловой системой), работающую под управлением набора приложений и собственной ОС. Когда вы устанавливаете СИМ-карту, она становится неотъемлемой и активной частью вашего смартфона. 

Как у пользователя смартфона, у вас могла возникнуть иллюзия, что именно вы управляете своим телефоном. Но на самом деле, функциями вашего телефона управляет ПО этих трех систем, из которых только одна доступна вам напрямую. 

Как там получилось? Исторически мы начинали с «обычных телефонов», в которых был baseband-процессор, СИМ-карта и очень простой микропроцессор, управляющий экраном и клавиатурой. Затем, в виде отдельной ветви эволюции, появились КПК. Помните КПК? Смартфон представляет собой слияние этих двух устройств, и по-прежнему существует четкая грань между частью «телефона» (baseband-процессор + СИМ) и частью «КПК» (процессор приложений).

Процессор приложений

Как правило, этот процессор работает под управлением Google Android или Apple iOS. Это единственный процессор, с которым пользователь может взаимодействовать напрямую, например, устанавливать или обновлять ПО. Доступ к остальным процессорам полностью заблокирован, даже в режиме «root» или «jailbreak». С точки зрения безопасности, процессор приложений — это большая поверхность для атаки, и большая часть обсуждений мобильной безопасности ограничивается именно им. Однако этот блог посвящен исключительно телекоммуникациям, и, поскольку процессор приложений практически никак не связан с телекоммуникациями, мы будем двигаться дальше.

Baseband-процессор

Этот процессор осуществляет все телекоммуникационные функции телефона, связанные с телефонными звонками, сеансами передачи данных, СМС, а также на плечах этого устройства лежат функции управления мобильностью, которые позволяют сотовой сети не терять телефон при перемещении от одной сотовой вышки к другой. Baseband-процессор собой закрытую систему с проприетарной ОС без общедоступных средств разработки. В отличие от процессоров приложений, исследование вопроса безопасности baseband-процессоров требует более сложного оборудования и более глубоких знаний, в связи с чем информации об их недостатках в этой области существенно меньше. Но это не означает, что этих недостатков не существует. В частности, известны ошибки некоторых процессоров, которые могут быть использованы с помощью IMSI-перехватчиков или вредоносных клиентов IMS/VoLTE для удаленного выполнения кода или DoS-атак (В этом плане выделяется немецкий хакер Ralf-Philipp Weinmann, хотя у каждого производителя телефонов имеется своя команда безопасности baseband-процессоров).

Для передачи информации между процессором приложений и baseband-процессором существует набор команд «AT», названный так из-за того, что почти каждая команда этого набора начинается с «AT». Набор команд AT унаследован от старых коммутируемых модемов и формально определен для использования в сотовой связи спецификацией GSM 07.07. В протоколе AT процессор приложений является ведущим и отправляет команды и запросы baseband-процессору. Типичными командами являются такие вещи, как «сканировать доступные сети», «выбрать эту сеть», «отправить СМС», «начать телефонный звонок» или «начать сеанс передачи данных». Фактическое содержание данных не представляет интереса для baseband-процессора. Ему все равно что вы просматриваете или о чем вы общаетесь в чате.

Имеются некоторые основания для того, чтобы держать baseband-процессор «под замком». Концепция сотовой сети позволяет базовой станции надежно контролировать радиосреду, и для корректной работы этой концепции каждый процессор должен следовать строгим правилам. «Недобросовестный» телефон, не выполняющий полученные команды, может нарушить работу всей сети.

Я несколько раз отмечал закрытость baseband-процессора, но это не означает, что оператор сотовой связи или поставщик базовой полосы не могут удаленно обновлять ПО процессора. Такие обновления называются OTA(over-the-air, по воздуху), и обычно они доставляются в виде SMS с использованием криптографических методов, чтобы (предположительно) гарантировать надежность источника.

Стоит обратить внимание, что Wi-Fi соединения обычно обрабатываются не baseband-процессором, а гораздо более простым радиоприемником, непосредственно подключенным к процессору приложений. Wi-Fi и сотовая связь — это разные технологии, хотя они и могут казаться одинаковыми на прикладном уровне и иногда объединяются общим термином «беспроводная связь».

SIM

СИМ-карта представляет собой смарт-карту стандарта ISO/IEC с некоторыми расширениями ПО. Большинство «симок» производится голландской компанией Gemalto, на которую приходится около 50% рынка, или французской компанией Oberthur, занимающей около 25% рынка. Как и многие современные смарт-карты, СИМ-карту можно запрограммировать с помощью апплетов, написанных на Java. Обычно подобные апплеты попадают в телефон с помощью SMS. Baseband-процессор и СИМ-карта обмениваются данными по последовательному каналу, используя два уровня протокола: 

  1. общий протокол смарт-карт, определяемый стандартом ISO/IEC 7816;

  2. функции, специфичные для СИМ-карт, изначально определенные в GSM 11.11, но впоследствии многократно расширенные в 3GPP 51.011 и 3GPP 31.102. Этот интерфейс также называется «SIM Toolkit Application Programmer’s Interface» или «STK API».

В данном случае baseband-процессор является ведущим и инициирует любые коммуникации. Однако, одна из особенностей STK, также известная как «проактивная СИМ», позволяет СИМ-карте отправлять команды baseband-процессору, используя механизм «опроса». Каждые 30 секунд процессор отправляет запрос СИМ-карте с вопросом «Вам что-нибудь нужно?». В ответ на это СИМ-карта может ответить командой, и та власть, которой проактивная СИМ-карта может обладать над baseband-процессором, поражает: фактически, привилегии СИМ-карты в этот момент превосходят привилегии процессора приложений. В частности, СИМ-карта может отправлять СМС, запускать сеансы USSD и управлять дополнительными услугами, такими как «переадресация вызовов». И почти все современные сим-карты являются проактивными.

Между процессором приложений и СИМ-картой нет прямой связи. Некоторые baseband-процессоры могут передавать информацию между ними, но это скорее исключение из правил. СИМ-карта работает непосредственно с baseband-процессором без какого-либо участия процессора приложений, поэтому без специального оборудования пользователь не может узнать о деятельности СИМ-карты.

Заключение

Смартфон — это сложная система, которая порой обманывает ожидания. То, что вы видите на экране своего смартфона, подобно поверхности темного и глубокого бассейна. Если поведение смартфона является проблемой, то лучше всего найти опытного эксперта с необходимым оборудованием для изучения и анализа «подопытного» и правильной интерпретации ситуации.

Комментарии (27)


  1. Elmot
    21.11.2021 09:07
    +9

    Процессор основной полосы частот...

    Все, сразу минус и никогда больше не читать переводчика.


    1. eimrine
      21.11.2021 10:27
      +5

      Ну так а..?
      Вам не нравится перевод слова baseband или слова processor?


      1. Elmot
        21.11.2021 16:46

        Baseband. Вообще неуместный перевод, что, там есть не основная полоса частот со своим процессором?


        1. sshikov
          21.11.2021 17:10

          Это тот перевод, который дает гугл транслейт. Вот и все объяснение…


          1. Elmot
            21.11.2021 17:10
            -1

            конечно


      1. grishkaa
        21.11.2021 17:47
        +6

        По-моему по-русски этот компонент обычно называют «радиомодуль» или «модем».


        1. Elmot
          22.11.2021 12:12
          +1

          Не говоря уже о том, что в совсем современных смартах и радиомодем, и вайфай, и блютуз, и остальные блоки бывают переплетены и скомбинированы самым причудливым образом.

          А сим карты может вообще не быть как отдельной сущности


  1. anonymous
    00.00.0000 00:00


  1. qw1
    22.11.2021 15:21
    +1

    Я встречал вариант «Сигнальный процессор» (DSP). Это не совсем точно, потому что он занимается не только цифровой обработкой сигналов, но термин используется и у производителей телефонов, файл прошивки радиомодема они могут называть dsp*.


  1. Alexwoodmaker
    21.11.2021 09:18
    +3

    А где ядра, многопоточность, шифрование?


    1. tyomitch
      21.11.2021 12:36
      +2

      Ядра — в «процессоре приложений».
      Многопоточность — в софте.
      Шифрование — повсюду.


  1. Indemsys
    21.11.2021 13:37
    +11

    Статья вроде не старая, а пишут о давно устаревшей архитектуре.
    Почему бы не посмотреть из чего на самом деле состоит смартфон - https://www.ifixit.com/Guide/iPhone+13+Pro+Full+Chip+ID/144993

    Там микроконтроллеров способных поломать систему пруд пруди.

    Я сильно сомневаюсь что 5G модем на гигабитный скоростях обменивается с процессором приложений AT командами. Теперь даже с гораздо более медленными Bluetooth не используют для обмена AT команды, а имеется специальные бинарные протоколы.
    И несмотря на то что чип один, но в нем может быть несколько процессоров и у каждого свой внешний интерфейс, так что по логике нет смысла рассматривать baseband как нечто единое целое.
    Как правило WiFi, Bluetooth, LTE, NFC и т.д. каждый делают на своем собственном процессоре. Да и SIM не одинока на плате, там еще есть eSIM. А еще есть отдельные криптопроцессоры, процессоры заряда, стабилизации камер, аудиопроцессоры, видеопроцессоры, процессоры питания, процессоры антенных сигналов и огибающей (envelope tracking) и т.д.
    Словом все гораздо сложнее.


    1. dartraiden
      21.11.2021 21:40
      +3

      Как правило WiFi, Bluetooth, LTE, NFC и т.д. каждый делают на своем собственном процессоре.
      Разве большинство из этого не интегрировано в SoC?


  1. surVrus
    21.11.2021 13:38
    +4

    Плюс "почти процессор" в контроллере питания.

    Плюс вполне себе процессор в контроллере экрана.

    Плюс "маленький такой" (но тоже процессор) в контроллере тачпада.

    Плюс очень даже неплохой процессор в камере.

    Плюс "что-то типа процессора" в сканере отпечатков пальцев (если такой есть).

    В общем, сейчас сотовый телефон представляет собой скорее гетерогенную компьютерную сеть из множества относительно независимых контроллеров.


    1. Indemsys
      21.11.2021 13:55
      +3

      Процессор есть даже в чипах NAND памяти, если на то пошло.


  1. ifap
    21.11.2021 13:47
    +3

    на самом деле, функциями вашего телефона управляет ПО этих трех систем, из которых только одна доступна вам напрямую. Как там получилось?

    Очень просто: когда первого производителя поймали на «телеметрии», разгневанные пейзане не подняли его на вилы, а регуляторы сказали «ну да, это другое» и все стали делать вместо «ваш компьютер» — «этот компьютер».


  1. anonymous
    00.00.0000 00:00


    1. SergeyMax
      21.11.2021 17:06
      +6

      Вам кажется, что это вы контролируете свет в комнате, а на самом деле это делают контакты внутри выключателя.


      1. dartraiden
        21.11.2021 21:41
        +3

        Причём, они могут разболтаться и тогда вы воочию увидите, кто контролирует.


        1. qw1
          22.11.2021 22:13

          Только по геолокации. Что происходит внутри мессенджеров, он не знает, доступа к камере и микрофону не имеет.


    1. Barma2012
      21.11.2021 17:59

      Никого не пугает, что, к примеру, в тех же беспроводных наушниках уже есть своя ОС

      Полагаю, что тамошняя ОС - разновидность RTOS, которая может быть крайне простой. Диспетчер задач, и его таймерная служба - и всё. Этого вполне достаточно для работы с потоком данных блютуса, В связке с соответствующим трансивером, конечно. Который, кстати, стоит на Али копейки )))) И я не думаю, что он слишком сложный...

      А чтобы ещё шумы анализировать - надо брать МК или ПЛИС уровнем выше. И стоить это может. в разы дороже - и сама железка, и код для неё. За чей счёт этот банкет? ))))


    1. Elmot
      22.11.2021 12:15
      -1

      а т.н. "заключение" вообще за гранью добра и зла.


  1. iShrimp
    21.11.2021 19:24
    +4

  1. dartraiden
    21.11.2021 21:42
    +3

    Как у пользователя смартфона, у вас могла возникнуть иллюзия, что именно вы управляете своим телефоном. Но на самом деле, функциями вашего телефона управляет ПО этих трех систем
    Ну, я никогда не питал иллюзий, что умею общаться с железом напрямую, в обход ПО. Точно так же, не я непосредственно отправил этот комментарий, а цепочка «браузер > операционная система > драйвер сетевой карты», потому что вручную швырять в сеть TCP-пакеты это сомнительная радость. При этом, там ещё по пути где-то контроллер внутри клавиатуры поучаствовал.


    1. Elmot
      22.11.2021 12:18
      -1

      вручную швырять в сеть TCP-пакеты

      Напомнило rfc2549


    1. qw1
      22.11.2021 15:58

      Это замечание для тех, кто собственноручно собрал ядро linux и LineageOS на своём телефоне и думает «ну, теперь-то нет никаких шпионских модулей».


  1. anonymous
    00.00.0000 00:00