[Сетевые технологии, Беспроводные технологии, Разработка систем связи, Научно-популярное, Будущее здесь] Всё о проекте «Спутниковый интернет Starlink». Часть 33. Прошивка Терминала
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Предлагаю ознакомиться с ранее размещенными материалами по проекту Starlink (SL):
‣ Часть 28. Использование StarLink на движущихся объектах ‣ Часть 29. Страны, где сервис начнет предоставляться в первую очередь ‣ Часть 30. Сравнение сервиса StarLink с сервисами других операторов ШПД ‣ Часть 31.Описание антенны Ка-диапазона ‣ Часть 32.Проблемы терминалов StarLink из-за перегрева
Данный материал написан Денисом-19 и размещен на ХАБР под названием «Прошивку терминала Starlink скачали и проанализировали» m.habr.com/ru/news/t/566820.
Так как он интересен и имеет отношение к проекту StarLink делаю перепост на своей странице
Для прерывания процесса загрузки пользовательского терминала нужно ввести команду «‘falcon».
Инженер из Бельгии по имени Леннерт Воутерс (Lennert Wouters) сумелскачать и проанализировать прошивку спутникового терминала Starlink. В ходе своих изысканий онсделал несколько интересных наблюдений и обнаружил, что существуют разные версии терминала, включая отдельную версию оборудования для разработчиков, которая защищена флагом геозоны. Даже инженеры SpaceX не везде могут работать в режиме настройки такого оборудования.
Эксперт рассказал, что получил комплект Starlink в конце мая, успел за несколько дней провести начальные исследования оборудования, выгрузить и извлечь прошивку пользовательского терминала системы. Он также добавил, что SpaceX поощряет действия энтузиастов, которые могут найти уязвимости в спутниковом комплекте, открыла доступ к программе багбаунти на портале bugcrowd и дает за обнаруженные программные дыры в прошивке или работе устройств до $25 тыс.
После сборки и настройки комплекта Starlink Воутерс сначала обновил его до последней версии прошивки и провел тестирование скорости. Он получил 268 Мбит при скачивании и 49 Мбит при загрузке в сети.
После проведения штатных проверок и изучения работы и принципов разборки терминала по роликами на YouTube, Воутерс начал операцию по его вскрытию и получению доступа к центральному чипу на базе 4-ядерного SoC Cortex-A53.
В процессе разборки инженер нашел в корпусе терминала несколько разъемов — для кабеля Ethernet и управления двигателем, а также один дополнительный незадействованный четырехпиновый разъем интерфейса отладки по UART. К нему и подключился Воутерс для проверки механизма загрузки.
Инженер обнаружил, что терминал использует загрузчик U-Boot, а для прерывания процесса загрузки нужно ввести команду «‘falcon», хотя это не поможет в текущей конфигурации, так как последовательный ввод в терминале настроен на nulldev.
В процессе работы U-Boot загружает ядро, RAM-диск и Flattened Device Tree (FDT) из образа Flattened uImage Tree (FIT), который хранится на встроенной карте памяти MultiMediaCard (eMMC). При загрузке проверяется целостность (с помощью SHA256) и подлинность (по RSA 2048) кода ядра, RAM-диска и FDT. В системе реализована полная доверенная цепочка загрузки (TF-A) от начального загрузчика ROM до операционной системы Linux.
Оставшаяся часть процесса загрузки также содержит интересные фрагменты информации. Например, там можно видеть аргументы командной строки ядра, а также начальные адреса и длину некоторых разделов. Кроме того понятно, что SoC содержит 4 ядра.
Наконец, когда терминал завершает процесс загрузки, появляется приглашение для входа в систему.
Воутерс сделал несколько попыток угадать заводские учетные данные, но ничего не получилось. Он решил пойти глубже и начал разбирать антенну терминала для получения прямого доступа к центральному чипу и карте памяти устройства.
Оказалось, что центральный чип в корпусе с flip-chip BGA с металлической крышкой имеет маркировку ST GLLCCOCA6BF. Он подключен к энергозависимому хранилищу DRAM и энергонезависимому флэш-хранилищу в виде микросхемы eMMC.
Исследователь обнаружил, что встроенная карта памяти eMMC, содержащая флеш-память и контроллер, очень похожа на SD-карту, а ее микросхема Micron eMMC имеет маркировку JY976. Оказалось, что это микросхема MTFC4GACAJCN-1M с 4 ГБ флэш-памяти в корпусе BGA-153.
Воутерс решил не демонтировать чип памяти, что могло бы привести к его повреждению, а попытался сбросить внутрисхемный дамп eMMC.
Данный материал написан Денисом-19 и размещен на ХАБР m.habr.com/ru/news/t/566820. Так как он интересен и имеет отношение к проекту StarLink
Инженер смог идентифицировать сигналы CLK, CMD и D0 по 10 контрольным точкам около центрального SoC. Это были линии CMD, CLK и 8 линий данных с чипа памяти.
Сигнал CLK был единственным повторяющимся сигналом, CMD — это сигнал, который был первым активным после того, как CLK начал переключаться, а D0 — это первая линия данных для отправки данных. К счастью, определение оставшихся 7 строк данных не нужно для дампа содержимого eMMC.
Подключение считывателя к карте памяти терминала.
Получение данных с карты памяти.
После анализа скачанных данных и изучениямодификации U-Boot от SpaceX на Github, Воутерс понял, что некоторые части прошивки хранятся в кастомном формате, который содержит в себе данные кода исправления ошибок (ECC). Исследователь решил убрать эти данные ECC с помощью скрипта Python и смог расшифровать файл spacex_catson_boot.h, в котором содержится информация о процессе загрузки терминала. Также инженер смог прочитать другие файлы системы и даже нашел возможность зайти в систему под root. Оказалось, что для этого нужна другая версия терминала. Текущая пользовательская версия терминала не имеет такой возможности и ее нельзя переделать.
Вдобавок исследователь обнаружил из ссылок в прошивке, что пользовательский терминал содержит защищенный элемент STMicroelectronics STSAFE. Назначение защищенного элемента не совсем понятно. Воутерс предположил, что SpaceX использует его для удаленной аутентификации терминала.
Инженер рассказал, что каждому ядру центрального чипа поставлена своя задача.
############################
# System Information
############################
#
# The user terminal phased-array computers are Catson SoCs with a quad-core
# Cortex-A53.
#
# We dedicate one core to control, while leaving the other three to handle
# interrupts and auxiliary processes.
#
# CPU 0: Control process.
# CPU 1: Lower-MAC RX process.
# CPU 2: Lower-MAC TX process.
# CPU 3: PhyFW and utility core — interrupts, auxiliary processes, miscellaneous
Воутерс подытожил, что он только начал работать с терминалом и продолжит изучать его внутренний код. В его планах рассказывать публично о новых открытиях после проверки всех данных.
===========
Источник:
habr.com
===========
Похожие новости:
- [Машинное обучение, Разработка робототехники, Робототехника, Научно-популярное, Искусственный интеллект] Робот из МТИ помогает одеваться людям с ограниченными возможностями
- [Сетевые технологии] Путь Namex IXP к IP-фабрикам
- [Научно-популярное, Энергия и элементы питания, Физика] Природный ядерный реактор (перевод)
- [Карьера в IT-индустрии, Научно-популярное, Социальные сети и сообщества] Пользователи LinkedIn «за 50» получают меньше откликов, но аватар помоложе исправляет ситуацию
- [Искусственный интеллект, Транспорт, Будущее здесь, Урбанизм] Как автомобили общаются с дорогой и светофорами
- [Научно-популярное, Мозг] Учить новый язык эффективнее, если писать на нём от руки
- [Научно-популярное, Биология] Из одноклеточных в многоклеточные: ученые продемонстрировали эволюцию в реальном времени
- [Научно-популярное, Физика, Инженерные системы] Реконструкция римской производственной инженерии (перевод)
- [Читальный зал, Научно-популярное] Конспект брошюры «Как правильно читать книги?»
- [Читальный зал, Научно-популярное] Теодор Рузвельт: самый необычный президент в истории США (перевод)
Теги для поиска: #_setevye_tehnologii (Сетевые технологии), #_besprovodnye_tehnologii (Беспроводные технологии), #_razrabotka_sistem_svjazi (Разработка систем связи), #_nauchnopopuljarnoe (Научно-популярное), #_buduschee_zdes (Будущее здесь), #_starlink, #_spacex, #_space_x, #_sputnikovaja_svjaz (спутниковая связь), #_sputnikovyj_internet (спутниковый интернет), #_sputniki (спутники), #_kosmos (космос), #_setevye_tehnologii (
Сетевые технологии
), #_besprovodnye_tehnologii (
Беспроводные технологии
), #_razrabotka_sistem_svjazi (
Разработка систем связи
), #_nauchnopopuljarnoe (
Научно-популярное
), #_buduschee_zdes (
Будущее здесь
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 10:17
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Предлагаю ознакомиться с ранее размещенными материалами по проекту Starlink (SL):
‣ Часть 28. Использование StarLink на движущихся объектах ‣ Часть 29. Страны, где сервис начнет предоставляться в первую очередь ‣ Часть 30. Сравнение сервиса StarLink с сервисами других операторов ШПД ‣ Часть 31.Описание антенны Ка-диапазона ‣ Часть 32.Проблемы терминалов StarLink из-за перегрева Данный материал написан Денисом-19 и размещен на ХАБР под названием «Прошивку терминала Starlink скачали и проанализировали» m.habr.com/ru/news/t/566820. Так как он интересен и имеет отношение к проекту StarLink делаю перепост на своей странице Для прерывания процесса загрузки пользовательского терминала нужно ввести команду «‘falcon». Инженер из Бельгии по имени Леннерт Воутерс (Lennert Wouters) сумелскачать и проанализировать прошивку спутникового терминала Starlink. В ходе своих изысканий онсделал несколько интересных наблюдений и обнаружил, что существуют разные версии терминала, включая отдельную версию оборудования для разработчиков, которая защищена флагом геозоны. Даже инженеры SpaceX не везде могут работать в режиме настройки такого оборудования. Эксперт рассказал, что получил комплект Starlink в конце мая, успел за несколько дней провести начальные исследования оборудования, выгрузить и извлечь прошивку пользовательского терминала системы. Он также добавил, что SpaceX поощряет действия энтузиастов, которые могут найти уязвимости в спутниковом комплекте, открыла доступ к программе багбаунти на портале bugcrowd и дает за обнаруженные программные дыры в прошивке или работе устройств до $25 тыс. После сборки и настройки комплекта Starlink Воутерс сначала обновил его до последней версии прошивки и провел тестирование скорости. Он получил 268 Мбит при скачивании и 49 Мбит при загрузке в сети. После проведения штатных проверок и изучения работы и принципов разборки терминала по роликами на YouTube, Воутерс начал операцию по его вскрытию и получению доступа к центральному чипу на базе 4-ядерного SoC Cortex-A53. В процессе разборки инженер нашел в корпусе терминала несколько разъемов — для кабеля Ethernet и управления двигателем, а также один дополнительный незадействованный четырехпиновый разъем интерфейса отладки по UART. К нему и подключился Воутерс для проверки механизма загрузки. Инженер обнаружил, что терминал использует загрузчик U-Boot, а для прерывания процесса загрузки нужно ввести команду «‘falcon», хотя это не поможет в текущей конфигурации, так как последовательный ввод в терминале настроен на nulldev. В процессе работы U-Boot загружает ядро, RAM-диск и Flattened Device Tree (FDT) из образа Flattened uImage Tree (FIT), который хранится на встроенной карте памяти MultiMediaCard (eMMC). При загрузке проверяется целостность (с помощью SHA256) и подлинность (по RSA 2048) кода ядра, RAM-диска и FDT. В системе реализована полная доверенная цепочка загрузки (TF-A) от начального загрузчика ROM до операционной системы Linux. Оставшаяся часть процесса загрузки также содержит интересные фрагменты информации. Например, там можно видеть аргументы командной строки ядра, а также начальные адреса и длину некоторых разделов. Кроме того понятно, что SoC содержит 4 ядра. Наконец, когда терминал завершает процесс загрузки, появляется приглашение для входа в систему. Воутерс сделал несколько попыток угадать заводские учетные данные, но ничего не получилось. Он решил пойти глубже и начал разбирать антенну терминала для получения прямого доступа к центральному чипу и карте памяти устройства. Оказалось, что центральный чип в корпусе с flip-chip BGA с металлической крышкой имеет маркировку ST GLLCCOCA6BF. Он подключен к энергозависимому хранилищу DRAM и энергонезависимому флэш-хранилищу в виде микросхемы eMMC. Исследователь обнаружил, что встроенная карта памяти eMMC, содержащая флеш-память и контроллер, очень похожа на SD-карту, а ее микросхема Micron eMMC имеет маркировку JY976. Оказалось, что это микросхема MTFC4GACAJCN-1M с 4 ГБ флэш-памяти в корпусе BGA-153. Воутерс решил не демонтировать чип памяти, что могло бы привести к его повреждению, а попытался сбросить внутрисхемный дамп eMMC. Данный материал написан Денисом-19 и размещен на ХАБР m.habr.com/ru/news/t/566820. Так как он интересен и имеет отношение к проекту StarLink Инженер смог идентифицировать сигналы CLK, CMD и D0 по 10 контрольным точкам около центрального SoC. Это были линии CMD, CLK и 8 линий данных с чипа памяти. Сигнал CLK был единственным повторяющимся сигналом, CMD — это сигнал, который был первым активным после того, как CLK начал переключаться, а D0 — это первая линия данных для отправки данных. К счастью, определение оставшихся 7 строк данных не нужно для дампа содержимого eMMC. Подключение считывателя к карте памяти терминала. Получение данных с карты памяти. После анализа скачанных данных и изучениямодификации U-Boot от SpaceX на Github, Воутерс понял, что некоторые части прошивки хранятся в кастомном формате, который содержит в себе данные кода исправления ошибок (ECC). Исследователь решил убрать эти данные ECC с помощью скрипта Python и смог расшифровать файл spacex_catson_boot.h, в котором содержится информация о процессе загрузки терминала. Также инженер смог прочитать другие файлы системы и даже нашел возможность зайти в систему под root. Оказалось, что для этого нужна другая версия терминала. Текущая пользовательская версия терминала не имеет такой возможности и ее нельзя переделать. Вдобавок исследователь обнаружил из ссылок в прошивке, что пользовательский терминал содержит защищенный элемент STMicroelectronics STSAFE. Назначение защищенного элемента не совсем понятно. Воутерс предположил, что SpaceX использует его для удаленной аутентификации терминала. Инженер рассказал, что каждому ядру центрального чипа поставлена своя задача. ############################ # System Information ############################ # # The user terminal phased-array computers are Catson SoCs with a quad-core # Cortex-A53. # # We dedicate one core to control, while leaving the other three to handle # interrupts and auxiliary processes. # # CPU 0: Control process. # CPU 1: Lower-MAC RX process. # CPU 2: Lower-MAC TX process. # CPU 3: PhyFW and utility core — interrupts, auxiliary processes, miscellaneous Воутерс подытожил, что он только начал работать с терминалом и продолжит изучать его внутренний код. В его планах рассказывать публично о новых открытиях после проверки всех данных. =========== Источник: habr.com =========== Похожие новости:
Сетевые технологии ), #_besprovodnye_tehnologii ( Беспроводные технологии ), #_razrabotka_sistem_svjazi ( Разработка систем связи ), #_nauchnopopuljarnoe ( Научно-популярное ), #_buduschee_zdes ( Будущее здесь ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 10:17
Часовой пояс: UTC + 5