I think the human race has no future if it doesn’t go to space. —— Stephen Hawking
硬件分析
固件提取与解析
/sx/local/runtime目录下。
bin目录下存放Starlink软件栈中所需的可执行文件,dat则保存配置文件,revision_info记录了当前软硬件的版本信息。除负责与用户通信的user_terminal_frontend(使用Golang编写)外,其他大部分程序均为C++编写的静态编译无符号可执行文件。
模拟执行
为了便于后续对UTA的持续分析,DARKNAVY基于QEMU为Rev3设备固件构建了基本的模拟运行环境:
在该模拟环境中,我们成功实现了对部分程序的运行和调试,主要包括httpd、WebSocket、gRPC等与外界交互的服务。
在模拟环境中对user_terminal_frontend程序进行动态调试分析
安全芯片
除了主控SoC,UTA还使用了一款声称达到CC EAL5+安全等级的专用安全芯片STSAFE-A110[5]。与主控SoC不同,这款芯片可以在签署NDA后合法购买。在UTA 的固件中,有一个名为stsafe_cli的用户态程序与其交互。通过对该程序的逆向分析可以推测,STSAFE主要提供以下功能:
-
储存每台设备独有的身份标识(UUID) -
管理公钥证书( stsafe_leaf.pem),可能用于与卫星通信中的身份认证 -
派生用户数据通信时的对称加密密钥
彩蛋:Is Elon watching you?
pcap_filter的机制记录网络中的特定数据包,抓包格式类似:
# name track options type interfaces pcap_filterdiagnostics 0 compress,ipcompress telem lo udp and dst port 10017 and (dst host 239.26.7.131 or dst host 239.26.7.130)
/root/.ssh/authorized_keys。值得注意的是,UTA的22号端口对局域网始终处于开放状态,在用户侧的产品上添加如此多的不明登录密钥,也不禁让人“想入非非”。
结语


