Погружение в прошивку пользовательского терминала Starlink
ДомДом > Блог > Погружение в прошивку пользовательского терминала Starlink

Погружение в прошивку пользовательского терминала Starlink

Jun 17, 2023

Среднестатистический пользователь Starlink, вероятно, не тратит много времени на размышления о своем оборудовании после выравнивания тарелки и прокладки проводки. Однако для исследователей безопасности это еще одно увлекательное устройство, с которым можно повозиться, когда они перепроектируют прошивку и пытаются выяснить, как она работает, а также как ее взломать. По сути, это тема статьи [Карло Рампони] в Quarkslab, в которой он изучает архитектуру прошивки и потенциальные недостатки ее внутренней связи.

Аппаратное обеспечение пользовательского терминала само по себе представляет собой вполне стандартную SoC AArch64 на базе ARM, а также собственный коммуникационный интерфейс, все из которых управляются прошивкой на базе Linux. Дамп самой прошивки стал проще благодаря существующей работе исследователей из KU Leuven, включающей сброс содержимого встроенного хранилища eMMC. После этого можно было проанализировать архитектуру прошивки, которая, как оказалось, состояла в основном из двоичных файлов на основе C++, но с одним большим двоичным файлом для пользовательского интерфейса, написанным на Go.

Связь между этими процессами осуществляется через специальный межпроцессный протокол, называемый «Slate Sharing», все из которых координируются посредством основного процесса управления пользовательским терминалом. Именно эти сообщения Slate IPC образуют наиболее вероятную поверхность атаки для фаззинга-атаки, при этом команда SoftwareUpdateRequest является интересной целью, поскольку она, казалось бы, не требует аутентификации, поскольку не адресована конкретному пользователю. Эта работа является частью магистерской диссертации [Карло] и должна лечь в основу дальнейших исследований прошивки пользовательского терминала Starlink.