- O terminal de usuário do Starlink da SpaceX é o hardware central da conexão de internet via satélite em órbita terrestre baixa
- Ao desmontar o terminal do usuário, os principais componentes são o front-end de radiofrequência (RF) e um SoC de projeto próprio
- A análise do firmware mostra que a maior parte do software principal inclui processamento de rede em espaço de usuário com bypass do kernel e algumas funções de criptografia
- O chip de segurança STSAFE-A110 atua como uma raiz adicional de autenticação, além de fornecer criptografia de dados e identificação única
- O terminal inclui várias configurações de chaves públicas SSH e uma ferramenta suspeita de registro de pacotes, mas não há indícios de violação da privacidade do usuário
Visão geral
- Starlink é um serviço de internet via satélite em órbita terrestre baixa oferecido pela SpaceX
- O usuário se conecta a satélites próximos por meio do terminal, que por sua vez se conecta à internet via gateways terrestres
- Satélites de nova geração usam links a laser para se comunicar entre si, o que contribui para melhorar a cobertura global e a eficiência
- Mesmo sem um gateway local, como no caso da Ucrânia, por exemplo, o terminal Starlink pode acessar a internet usando gateways de países vizinhos
- Este artigo aborda brevemente a investigação aprofundada do terminal de usuário do Starlink feita pela DARKNAVY
Análise de hardware
- Um terminal de usuário do Starlink é composto por duas partes: o roteador e a antena (UTA)
- A DARKNAVY comprou em Singapura um terminal Standard Actuated (Rev3, GenV2) e desmontou a antena
- A desmontagem mostrou que os chips de front-end RF (em sua maioria produzidos pela STMicroelectronics) ocupavam boa parte da placa
- Na área central de controle há um SoC ST customizado exclusivo da SpaceX (quad-core Cortex-A53), mas as informações do datasheet não são públicas
- Na Black Hat USA 2022, o Dr. Lennert Wouters, da KU Leuven, apresentou um caso bem-sucedido de hack do terminal de primeira geração (GenV1), e depois disso a SpaceX desativou a interface de depuração UART por meio de uma atualização de firmware
- Ainda assim, há registros de novas quebras de segurança bem-sucedidas por métodos adicionais
Extração e análise de firmware
- A DARKNAVY fez o dump do firmware diretamente do chip eMMC
- Como a placa Rev3 não tinha pinos dedicados de depuração eMMC, foi usado o método de remover o eMMC e extrair os dados com um programador
- A maior parte do firmware não está criptografada, revelando a boot chain (exceto o BootROM), o kernel e parte do sistema de arquivos
- Depois do boot do kernel, o ambiente de runtime é extraído e usado em /sx/local/runtime
- Em
bin estão os executáveis do software do Starlink, em dat ficam os arquivos de configuração, e em revision_info estão as informações de versão
- O programa principal de comunicação,
user_terminal_frontend, foi desenvolvido em Go, enquanto quase todo o restante consiste em binários estáticos em C++ sem símbolos
- A arquitetura da pilha de rede é semelhante ao DPDK, com programas em espaço de usuário processando os pacotes sem passar pelo kernel
- O kernel Linux é usado principalmente para drivers de hardware e gerenciamento de processos
- Parte do software inclui funções originalmente projetadas para uso em satélites ou gateways
- Na inicialização, o dispositivo identifica seu tipo pelos periféricos de hardware e carrega apenas a lógica correspondente
Emulação
- Para análise contínua, foi criado um ambiente de emulação de firmware Rev3 baseado em QEMU
- Nesse ambiente, foi possível executar e depurar parte dos serviços expostos externamente, como
httpd, WebSocket e gRPC
- Isso permitiu rastrear o funcionamento dos principais executáveis e serviços
Chip de segurança
- Além do SoC principal, há um chip de segurança STSAFE-A110, que alega certificação CC EAL5+
- Esse chip pode ser comprado sob NDA, e o programa stsafe_cli do firmware interage com ele
- A análise mostrou que as funções fornecidas pelo chip STSAFE incluem atribuição de UUID único ao dispositivo, gerenciamento do certificado de chave pública (stsafe_leaf.pem) e derivação de chave simétrica
- Esse chip funciona como uma raiz de confiança adicional separada do secure boot do SoC, alinhando-se às práticas modernas de projeto de segurança embarcada
Easter egg: Elon está te observando?
- Durante a análise, foi identificado o programa Ethernet Data Recorder, o que levantou dúvidas sobre a possibilidade de um backdoor
- Esse programa aparentemente tem função de registro de pacotes e captura determinados pacotes internamente por um mecanismo semelhante ao pcap_filter
- Pelas regras observadas, nota-se que os alvos da captura são principalmente pacotes UDP relacionados à telemetria de satélite
- O tráfego capturado é armazenado de forma criptografada com a chave de hardware do SoC
- Até o momento, não foi encontrada evidência de coleta de dados privados dos usuários
- Durante a inicialização, quando o dispositivo é reconhecido como terminal de usuário, 41 chaves públicas SSH são gravadas em /root/.ssh/authorized_keys, e a porta 22 fica sempre aberta na rede local
- Chama a atenção o fato de um produto comercial vir com várias chaves públicas desconhecidas cadastradas
Conclusão e perspectivas
- À medida que a tecnologia de satélites passa a ser aplicada em diversos setores da indústria, os componentes de sistemas de internet via satélite como o Starlink tendem a se tornar um dos principais campos de batalha entre ataque e defesa em segurança no futuro
- Pelas características da segurança espacial, um único erro pode levar à perda permanente de comunicação com o alvo, o que exige uma abordagem cuidadosa
1 comentários
Comentários do Hacker News
/root/.ssh/authorized_keys, e a porta 22 também fica sempre aberta na rede local; isso levanta a dúvida sobre qual é o sentido de ter 41 chaves e, no fim, quem seria a pessoa sem acesso root ao terminal de usuário “que é seu”authorized_keys, misturando várias YubiKeys do laptop, chaves do iPad e do iPhone, chaves do Secure Enclave do Mac etc.; imagino que o Starlink tenha pelo menos mais 1 ou 2 administradores de sistema, então 100 chaves públicas nem parece um número tão estranho