自2018年以来,埃隆马斯克的星链计划(Starlink)已将3000多颗小型卫星送入轨道。星链卫星网络能够将互联网连接覆盖到地球上最偏僻的脚落,并且在俄乌冲突期间成为乌方的重要联网方式。未来星链计划还将再发射数千颗卫星,其他组织和国家的竞争计划也在纷纷加入,高密度小型卫星网络正在改变地球的互联方式。但是,就像任何新兴技术一样,“星链”们正在被黑客入侵。
本周四,在拉斯维加斯举行的Black Hat安全会议上,比利时鲁汶大学(KU Leuven)的安全研究员Lennert Wouters将首次披露Starlink用户终端(即位于住宅和建筑物上的星链卫星天线)的安全漏洞。Wouters将详细介绍攻击者如何利用一系列硬件漏洞访问Starlink系统并在设备上运行自定义代码。
为了访问星链卫星天线的软件,Wouters改造了他购买的一个星链天线,并制作了一个可以连接到星链天线的定制黑客工具。该工具使用一种被称为modchip的定制电路板,零件成本仅约25美元。连接到星链天线后,该自制工具就能够发起故障注入攻击,暂时使系统短路以绕过星链的安全保护。这个“故障”使Wouters能够进入被锁定的星链系统。
Wouters将该工具在GitHub上开源发布,内容包括发起攻击所需的一些细节。“作为攻击者,假设你想攻击卫星本身,”Wouters解释说,“你可以尝试制作自己的系统来与卫星通讯,但这非常困难。所以更简单的办法是通过用户终端。”
去年,Wouter曾向Starlink通报了这些漏洞,后者也通过其漏洞赏金计划向Wouters支付了漏洞赏金。Wouters表示,虽然SpaceX已发布更新以使攻击更加困难(更改了modchip),但除非该公司开发新版本的主芯片,否则无法解决根本问题。
Wouters指出,所有现有星链用户终端仍然容易受到攻击。
根据Wired报道,Starlink计划在Wouters的黑帽大会演讲之后发布“公开更新”,但拒绝透露有关该更新的任何细节。
Starlink的互联网系统由三个主要部分组成。首先是卫星。卫星在低地球轨道上移动,距地表约340英里,并向下连接到地表。卫星与地球上的两个系统进行通信:将互联网连接发送到卫星的网关,以及人们可以购买的Dishy McFlatface卫星天线。Wouters的研究主要集中在这些用户终端(天线)上,这些天线最初是圆形的,但较新的型号是矩形的。
Wouters透露,他对星链用户终端的攻击涉及多个阶段和技术措施,最终他完成了现在开源的可用的星链天线黑客工具。这种定制电路板的攻击能够绕过系统启动时的签名验证安全检查,后者的功能是证明系统是否正确启动并且没有被篡改。“我们使用这种电路板来精确计算注入故障的时机。”Wouters说。
从2021年5月开始,Wouters就开始测试星链系统,他购买了一个星链天线,在大学大楼屋顶上测试其功能正常(268 Mbps的下载速度和49 Mbps的上传速度)。然后,他使用多种工具开始拆解天线,动用了“热风枪、撬动工具、异丙醇和极大的耐心”。最终,他成功从天线上取下大金属盖并接触其内部组件。
图片:LENNERT WOUTERS
在星链天线直径59厘米的盖子下面是一个大型PCB板,其中包含一个片上系统(上图),包括一个定制的四核ARM Cortex-A53处理器,其架构没有公开记录,因此更难破解。板上的其他组件包括射频设备、以太网供电系统和GPS接收器。通过拆解天线,Wouters能够了解它是如何启动和下载固件的。
设计modchip前,Wouters扫描了星链天线并完成了匹配现有星链PCB板的设计。modchip需要焊接到现有的星链PCB板并用几根导线将其连接起来。modchip本身由Raspberry Pi微控制器、闪存、电子开关和稳压器组成。在制作用户终端板时,星链工程师在其上印制了“人类在地球上制造”的字样。Wouters的modchip上则写着:“人类在地球上出现的故障。”
为了访问星链的软件,Wouters使用他的自定义系统通过电压故障注入攻击绕过安全保护。当星链天线打开时,它会启动一系列不同的引导加载程序。Wouters的攻击针对第一个引导加载程序(称为ROM引导加载程序)的运行故障,该引导加载程序被刻录到片上系统并且无法更新。然后,攻击会在以后的引导加载程序上部署定制固件,使Wouters能够控制整个系统。
“从更高层面来看,有两个明显可以攻击的对象:签名验证或哈希验证。”Wouters说。该故障攻击了签名验证过程。“通常我们总是会避免短路,”他说:“但在这种情况下,我们是故意这样做的。”
最初,Wouters试图在其引导周期结束时(即linux操作系统已完全加载)使芯片出现故障,但最终发现在引导开始时更容易导致故障。Wouters认为这种方式更可靠。他说,为了让故障起作用,他必须停止用于平滑电源的去耦电容器的运行。攻击会禁用去耦电容器,运行故障以绕过安全保护,然后启用去耦电容器。
这个过程使研究人员能够在启动周期内运行星链固件的修改版本,从而能够访问其底层系统。Wouters说,作为对这项研究的回应,Starlink向他提供了对设备软件的研究人员级别的访问权限,但Wouters拒绝了,原因是不想在这方面钻研太深,主要精力放在制作modchip工具。(在测试期间,他将修改后的天线挂在研究实验室的窗户外面,并用一个塑料袋作为临时防水系统。)
Wouters指出,虽然星链还发布了固件更新使得攻击变得困难,但并非不可能。任何想以这种方式破解天线的人都必须投入大量时间和精力。虽然这次攻击不像破坏卫星系统或卫星通信那样具有破坏性,但Wouters表示,此类攻击可以用来更多地了解星链网络的运作方式。
“我现在的重点工作是与后端服务器通信。”Wouters透露。尽管在Github上可以下载modchip的详细信息,但Wouters没有出售任何成品modchip的计划,他也没有向人们提供修改后的用户终端固件或在攻击时使用的故障的确切细节。
随着越来越多的卫星发射——亚马逊、OneWeb、波音、Telesat和SpaceX都在打造自己的“星链”——它们的安全性将受到更严格的审查。除了为家庭提供互联网连接外,这些系统还可以帮助船舶联网,并在关键基础设施中发挥作用。卫星互联网系统已经成为恶意黑客的目标。
“我认为评估这些系统的安全性很重要,因为它们是关键基础设施,”Wouters说道:“我认为总会有人尝试进行这种类型的攻击,因为用户端的天线很容易获得。”
参考链接:
https://www.wired.com/story/starlink-inte.NET-dish-hack/