Мы изу­чили безопас­ность типич­ного «моз­га» китай­ско­го авто­моби­ля — SoC со встро­енным сотовым модемом. Низ­коуров­невая ошиб­ка перепол­нения сте­ка поз­волила уда­лен­но выпол­нить код на ран­ней ста­дии соеди­нения — до сра­баты­вания защит. Сле­дом мы получи­ли дос­туп к про­цес­сору при­ложе­ний и смог­ли запус­тить про­изволь­ный код с мак­сималь­ными при­виле­гиями — то есть получи­ли пол­ный кон­троль над бор­товым компь­юте­ром.

Се­год­ня все боль­ше устрой­ств под­клю­чено к сети нап­рямую — через сотовый модем. И все чаще эти модемы интегри­руют­ся в сис­тему на чипе (SoC), которая выпол­няет и дру­гие фун­кции, исполь­зуя модем­ный про­цес­сор (CP) и про­цес­сор при­ложе­ний (AP).

Опе­раци­онная сис­тема, такая как Android, может работать на AP, в то вре­мя как CP пред­назна­чен для вза­имо­дей­ствия с мобиль­ной сетью. При этом вза­имос­вязь меж­ду AP, CP и RAM на этом крис­талле на уров­не мик­роар­хитек­туры извес­тна толь­ко про­изво­дите­лю, хотя от это­го зависит безопас­ность всей SoC.

Мы час­то счи­таем, что обход механиз­мов безопас­ности 3G/LTE — это все­го лишь ака­деми­чес­кая задача, пос­коль­ку при под­клю­чении меж­ду поль­зовате­лем и базовой стан­цией сотовой свя­зи уста­нав­лива­ется безопас­ный канал свя­зи. Даже если кто‑то смо­жет обой­ти эти механиз­мы, обна­ружить уяз­вимость в модеме и выпол­нить свой код на нем, это пред­положи­тель­но не пос­тавит под угро­зу биз­нес‑логику устрой­ства. Эта логика (нап­ример, поль­зователь­ские при­ложе­ния, исто­рия бра­узе­ра, звон­ки и SMS на смар­тфо­не) работа­ет на АР и пред­положи­тель­но не может быть дос­тупна с модема. Или может?

Что­бы выяс­нить это, мы про­вели иссле­дова­ние безопас­ности сов­ремен­ной сис­темы на чипе Unisoc UIS7862A, осна­щен­ной встро­енным 2G/3G/4G-модемом. Нап­ример, такие SoC мож­но встре­тить в китай­ских мобиль­ных устрой­ствах или, что более инте­рес­но, в голов­ных устрой­ствах сов­ремен­ных китай­ских авто­моби­лей, уве­рен­но зах­ватыва­ющих рынок РФ. Безопас­ность голов­ного устрой­ства авто­моби­ля — это безопас­ность не толь­ко дан­ных, но и дорож­ного дви­жения.

Мы обна­ружи­ли нес­коль­ко кри­тичес­ких уяз­вимос­тей на раз­ных уров­нях сте­ка сотовых про­токо­лов модема Unisoc UIS7862A. Сегод­ня речь пой­дет о самой инте­рес­ной из них, а имен­но — перепол­нении сте­ка в реали­зации про­токо­ла 3G RLC (CVE-2024-39432), которая может быть исполь­зована для уда­лен­ного выпол­нения кода на ран­них эта­пах под­клю­чения до акти­вации каких‑либо защит­ных механиз­мов.

При этом выпол­нение кода на модеме — лишь точ­ка вхо­да, пер­вый шаг к пол­ной уда­лен­ной ком­про­мета­ции всей SoC. Даль­ше мы наш­ли сра­зу нес­коль­ко спо­собов получить дос­туп к AP, в том чис­ле аппа­рат­ную уяз­вимость в виде скры­того перифе­рий­ного устрой­ства DMA.

В ито­ге мы смог­ли выпол­нить live-пат­чи работа­юще­го ядра Android и выпол­нять про­изволь­ный код с наивыс­шими при­виле­гиями в сис­теме.

 

Получаем ВПО модема

Мо­дем мы обна­ружи­ли на пла­те голов­ного устрой­ства одно­го китай­ско­го авто­моби­ля. Давай пос­мотрим, что там есть еще.

В соот­ветс­твии с номера­ми на фото:

  1. Realtek RTL8761ATV 802.11b/g/n 2.4G single-chip that integrates Wireless LAN (WLAN) and a network USB interface (USB 1.0/1.1/2.0 compatible) controller.
  2. SPRD UMW2652 BGA WiFi.
  3. 55966 TYADZ 21086.
  4. SPRD SR3595D RF Transceiver Spreadtrum (Unisoc).
  5. Techpoint TP9950 Video Decoder Chip.
  6. UNISOC UIS7862A.
  7. BIWIN BWSRGX32H2A-48G-X, Package 200-FBGA, ROM Type — Discrete, ROM Size — LPDDR4X, 48G.
  8. SCY E128CYNT2ABE00 EMMC 128G/JEDEC.
  9. SPREADTRUM UMP510G5 Power Management Ic.
  10. FEI.1s LE330315 USB2.0 Shunt chip IC.
  11. SCT SCT2432STER Synchronous Step-down DCDC Converter with Internal Compensation.

Опи­раясь на извес­тные дан­ные о конс­трук­ции модема, мы выпа­яли и счи­тали его чип памяти eMMC, получив пол­ный образ опе­раци­онной сис­темы. Пос­ле это­го занялись ана­лизом обра­за.

 

Удаленный доступ в модем (CVE-2024-39431)

Как любой сов­ремен­ный модем, наш вклю­чал в себя реали­зацию сра­зу нес­коль­ких сте­ков про­токо­лов: 2G, 3G, LTE. А как извес­тно, чем боль­ше про­токо­лов реали­зует устрой­ство, тем боль­ше потен­циаль­ных точек вхо­да, то есть век­торов ата­ки. И чем ниже в сте­ке модели OSI находит­ся уяз­вимость, тем серь­езнее пос­ледс­твия ее экс­плу­ата­ции. Поэто­му мы решили про­ана­лизи­ровать механиз­мы фраг­мента­ции пакетов дан­ных на уров­не дос­тупа к сре­де переда­чи (про­токол RLC).

Чем нас заин­тересо­вал имен­но этот про­токол? Все дело в том, что имен­но он исполь­зует­ся для уста­нов­ки безопас­ного зашиф­рован­ного канала переда­чи дан­ных меж­ду базовой стан­цией (БС) и модемом (по нему, в час­тнос­ти, «бега­ет» NAS). Таким обра­зом, наличие уяз­вимос­ти типа RCE в нем поз­волит получить безус­ловное исполне­ние сво­его кода на модеме в обход всех механиз­мов защиты ком­муника­ции в 3G.

В про­токо­ле RLC исполь­зуют­ся три режима переда­чи: TM, UM и AM. При этом нас сей­час будет инте­ресо­вать толь­ко один из них, а имен­но режим UM — unacknowledged mode. Чем при­меча­телен этот режим переда­чи дан­ных? В стан­дар­тном 3G пре­дус­мотре­на раз­бивка дан­ных на фраг­менты и наобо­рот — объ­еди­нение нес­коль­ких неболь­ших фраг­ментов высоко­уров­невых дан­ных (PDU) в один фрейм каналь­ного уров­ня.

Сде­лано это из сооб­ражений мак­сималь­ной ути­лиза­ции канала переда­чи. На уров­не RLC пакеты называ­ются SDU.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии