Mergulhando no firmware do terminal de usuário do Starlink
LarLar > blog > Mergulhando no firmware do terminal de usuário do Starlink

Mergulhando no firmware do terminal de usuário do Starlink

Jun 17, 2023

O usuário médio do Starlink provavelmente não gasta muito tempo pensando em seu hardware depois de alinhar a antena e fazer a fiação. Para os pesquisadores de segurança, no entanto, é outro dispositivo fascinante para mexer enquanto fazem a engenharia reversa do firmware e tentam descobrir o que o faz funcionar, bem como como quebrá-lo. Este é essencialmente o assunto do artigo de [Carlo Ramponi] no Quarkslab enquanto ele se aprofunda na arquitetura do firmware e nos possíveis pontos fracos em sua comunicação interna.

O hardware do terminal do usuário em si é um SoC AArch64 baseado em ARM bastante padrão, junto com a interface de comunicação proprietária, tudo controlado pelo firmware baseado em Linux. O despejo do firmware em si foi facilitado graças ao trabalho existente de pesquisadores da KU Leuven, envolvendo o despejo do conteúdo do armazenamento eMMC integrado. Depois disso, a arquitetura do firmware pôde ser analisada, que consistia principalmente em binários baseados em C++, mas com um único grande binário para o front-end do usuário escrito em Go.

A comunicação entre esses processos é feita por meio de um protocolo personalizado entre processos chamado 'Slate Sharing', sendo tudo coordenado pelo processo principal do User Terminal Control. São essas mensagens Slate IPC que formam a superfície de ataque mais provável para um ataque difuso, sendo o comando SoftwareUpdateRequest um alvo interessante, pois parece não exigir autenticação, uma vez que não se dirige a um usuário específico. Este trabalho faz parte da tese de mestrado de [Carlo] e deve servir de base para futuras pesquisas sobre o firmware do Terminal de Usuário Starlink.