前言
Starlink终端是SpaceX推出的卫星互联网终端设备,它的目的是为了提供高速、低延迟的卫星互联网服务。该终端设备采用了一种平板天线设计,可以自动搜索、跟踪并连接卫星信号,同时还具有数据处理、无线网络传输等多种功能。在 Starlink 卫星互联网系统中,用户设备端采用了专门设计的 UE 终端,可以实现与卫星网络的连接和通信。为了更好地了解 Starlink UE 终端的工作原理和内部结构,我们对其进行了固件进行了逆向分析。
本文将分享 Starlink UE 终端的硬件和软件架构,Starlink固件的逆向方法以及其相关的通信协议和安全机制。希望通过这篇文章,为大家提供有关 Starlink UE 终端的详细信息和技术参考,以促进更广泛的技术交流和研究。
地面站卫星天线
一、Starlink终端介绍
本文在下面USA 2022 年Blackhat议题Glitched on Earth by Humans: A Black-Box Security Evaluation of the SpaceX Starlink User Terminal的基础上展开对 Starlink终端的安全分析。
该议题的PDF下载连接如下,也可从文末获取:
https://i.blackhat.com/USA-22/Wednesday/US-22-Wouters-Glitched-On-Earth.pdf
图1-1 StarLink 卫星通信地面段和空间段
通过对设备拆解后发现,发现硬件终端设备开放了UART硬件端口。
串口在安全调试和攻击硬件设备中的作用很大,因为串口可以直接与硬件设备进行通信,从而获得对硬件设备的控制和访问权限。在安全调试中,串口可以被用于硬件设备的调试和故障排除。通过串口可以直接获取硬件设备的运行状态和数据,从而帮助调试人员发现问题和解决问题。
而在攻击硬件设备中,攻击者可以通过串口进行非法访问和控制硬件设备,从而实现恶意操作。攻击者可以通过串口获取硬件设备的敏感数据、修改设备的配置参数、执行恶意代码等,从而导致设备失效、数据泄漏等安全问题。
图1-2 StarLink 终端串口终端
通过进一步分析,发现设备的eMMC芯片,预留了测试点,通过测试点,可以对eMMC中存放的固件进行提取。为了在线读取eMMC芯片,需要识别时钟(CLK)、命令(CMD)和数据0(D0)信号。通常,这些信号通过测试点进行连接。
通过对StarLink主SoC上方的10个测试点进行识别和捕获,可以识别出所需的信号。其中CLK信号是唯一的重复信号,CMD是时钟开始切换后第一个激活的信号,D0是发送数据的第一条数据线。在实际操作中,需要使用逻辑分析器等工具进行信号捕获。
图1-3 StarLink eMMC芯数据时序
提取eMMC固件的具体方法和步骤因设备型号和测试点位置的不同而异,通常需要使用专业的测试设备和软件。不同的测试设备和软件可能需要不同的连接线,但通常需要以下三根线:
CLK(时钟线):负责提供时钟信号,用于同步数据传输。
CMD线(状态线):负责指示当前测试设备处于何种状态,例如测试、读取或写入。
D0线(数据输入线):负责传输数据输入信号,用于向测试设备发送指令或数据。
图1-4 StarLink eMMC测试点
然后利用eMMC读卡器设备即可对StarLink固件进行提取。
图1-5 StarLink eMMC固件提取
二、Starlink终端固件逆向及终端提权
固件提取后,便可以利用binwalk的Starlink的固件进行逆向分析。
通过对Starlink固件文件分析发现,Starlink在启动后会通过对变量is_production_hardware进行代码校验,如果is_production_hardware=0,系统则会进入开发者模式。
同时发现,系统在打印输出Development login enable后,大约2.3S然后再输出no,所以这中间的代码执行,就是执行的is_production_hardware是否为0的代码校验。
图2-1 StarLink 开发者模式校验
于是可得出安全猜想,在is_production_hardware是否为0的代码校验的过程中进行电源毛刺注入,有可能引起代码逻辑运行异常,进入开发者root模式shell。
图2-2 StarLink 开发者模式校验电源毛刺注入
通过ChipWhisperer进行电源侧信道攻击测试,发现经过多次试验后,可成功绕过is_production_hardware是否为0的代码校验过程,进而获取开发者root shell。
ChipWhisperer是一种开源硬件和软件平台,主要用于侧信道攻击和安全评估等领域。通过ChipWhisperer,可以进行低功耗设备的攻击和安全分析,包括使用电磁辐射分析(Electromagnetic Analysis,EMA)和功耗分析(Power Analysis,PA)等技术来破解密码和获取设备的敏感信息。
通过ChipWhisperer平台,安全研究人员可以进行侧信道攻击和安全分析等操作,以测试设备的安全性和可靠性,并提出改进建议和安全措施,以保障设备的安全性和保密性。
图2-3 StarLink ChipWhisperer电源侧信道攻击
另外,在Glitched on Earth by Humans:A Black-Box Security Evaluation of the SpaceX Starlink User Terminal中,同时介绍了绕过uboot安全启动的方法。
图2-4 Uboot安全启动流程
作者利用其开发的硬件设备,成功实现了Uboot安全启动流程的绕过机制。
图2-5 Uboot安全Hack工具
三、Starlink终端固件逆向总结
1. 本文主要介绍了 SpaceX 推出的 Starlink 终端设备的硬件固件安全分析方法,以及其相关的通信协议和安全机制。通过对终端设备的拆解和逆向分析,发现该设备开放了 UART 硬件端口,可以通过串口进行安全调试和攻击。同时,该设备的 eMMC 芯片预留了测试点,可以通过测试点提取存放在其中的固件。本文还介绍了利用 ChipWhisperer 进行电源侧信道攻击的测试,以绕过设备的代码校验过程并获取开发者 root shell。
2. 本文所提到的固件及相关资料可从下面连接获取:
https://github.com/MasterTaiBai/Sat-Hacking
Sat-Hacking愿景:成为一名合格的卫星黑客需要长时间的学习和实践。只有通过持续的努力,掌握各种卫星安全知识和技能,才能真正成为一个专业的卫星白帽子。文章来源:https://www.toymoban.com/news/detail-614083.html
在此祝愿安全爱好者及从业人员都能够取得成功,实现自己的梦想,为网络安全贡献自己的力量!文章来源地址https://www.toymoban.com/news/detail-614083.html
到了这里,关于Sat-Hacking(3):Starlink终端逆向分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!