只要区区 25 美元,研究人员就能依靠商业零件开发出在卫星天线上运行自定义代码的工具。
从 2018 年开始,马斯克已经先后把 3000 多颗 Starlink 小型卫星送入地球轨道。由此建立的卫星系统将互联网连接推送到地球上以往无法覆盖的区域,也成为俄乌战争期间重要的信息传输载体。随着卫星互联网行业的蓬勃发展,Starlink 后续还将继续发射数千颗卫星。但在一片欣欣向荣的背后,卫星网络也与其他新兴技术一样,面临着恶意黑客的潜在威胁。
攻击 Starlink 的成本,可能仅需 25 美元
来自比利时鲁汶大学的安全研究员 Lennert Wouters 率先发现了 Starlink 用户终端中的一大安全隐患。
Starlink用户终端就是安装在用户住宅及建筑物顶部的卫星天线,在 Space X 内部有着“Dishy McFlatface”的绰号。在本届拉斯维加斯黑帽安全大会上,Wouters 将具体介绍如何通过一系列硬件漏洞,成功访问 Starlink 系统并在设备上运行自定义代码。
为了研究如何入侵卫星天线软件,Wouters 把买来的天线“大卸八块”,并设计出一种能够接入 Starlink 天线的定制黑客工具。
这款工具的底子是种名为 modchip 的定制电路板,使用的全部是现成的商业零件,售价仅为 25 美元。只要把它接入Starlink天线,这块自制印刷电路板(PCB)就能发起故障注入攻击,让系统暂时短路以绕过 Starlink 的安全保护。如此一来,Wouters 就能接触到 Starlink 系统中秘而不宣的底层部分。
Wouters 已经把自己的黑客工具开源到了 GitHub 上,同时公布了攻击中的部分细节。他解释道,“从攻击者的角度出发,要想直接攻击卫星本体,就能自建系统实现与卫星的通信,这显然非常困难。所以就得改变思路,从在售的用户终端入手,这样很多障碍也就自然消失了。”
值得注意的是,截至发稿前,文中所提到的攻击 Starlink 的黑客工具的 GitHub 地址已经显示为无效。
去年,Wouters 已经向 Starlink 通报了安全缺陷,并拿到了 Starlink 漏洞赏金计划发放的奖金。Wouters 表示,Space X随后发布的更新虽然加大了攻击难度(他也相应调整了 modchip 设计),但除非该公司推出新的主芯片,否则无法从根本上解决问题。就目前来看,一切现有用户终端都可能受到攻击影响。
Starlink 终端被拆装过无数次,内部构造早已不是秘密
Starlink 互联网系统包含三大组成部分。首先是运行在距地表约 340 英里的近地轨道,负责实现地表信号覆盖的卫星。其次是将互联网连接发送至卫星端的地面网关。最后则人们买来装在自己楼顶的 Dishy McFlatface 碟形天线。Wouters 选择的就是其中最常见的用户终端。Starlink 天线早期采用圆形外观,但现在的新型号则统一改成了矩形。
自从开放销售以来,Starlink 终端已经被拆装过无数次。工程师们纷纷在 YouTube 上展示如何拆解设备,展示内部组件并讲解工作原理。Reddit 上关于 Starlink 终端的技术规格讨论也相当火热。但作为之前靠自制硬件在 90 秒内成功解锁特斯拉车锁的大牛,Wouters 则把注意力放在了终端芯片的安全性上。在他看来,“设计这款用户终端的,绝对是个牛人。”
他分多个阶段、运用多种技术尝试入侵用户终端,最终设计出这款能实现故障注入的开源电路板。简单来讲,这块定制电路板能绕过安全检查中的签名验证,让系统误以为一切正常、启动正确。Wouters 表示,“需要使用这块电路板,才能确切控制故障的注入时机。”
Wouters 对 Starlink 系统的测试始于 2021 年 5 月。他先是在鲁汶大学的顶楼上,测出了 268 Mbps 的下载速度和 49 Mbps 的上传速度。之后就是拆解终端,用“热风枪、撬具、异丙醇和极大的耐心”把表面金属盖拆开,研究里面的内部组件。
藏在 59 厘米直径金属盖之下的,是一块大型 PCB。其中的片上系统装有一块定制化四核 ARM Cortex-A53 处理器,网上查不到任何公开的相关架构信息。此外,板子上还装有射频设备、以太网供电系统和 GPS 接收装置。从这里开始,Wouters 逐渐摸清了 Starlink 终端的启动和固件下载机制。
在定制 modchip 之前,Wouters 先扫描了 Starlink 天线并总结出适合当前电路板的设计思路。Modchip 本身由 Raspberry Pi 微控制器、闪存、电子开关和稳压器组成,需要用几根电线焊接到 StarlinkPCB 上。Starlink 电路板上有行著名的铭文,“来自地球、人类制造”(Made on Earth by humans),Wouters 在自己的 modchip 上也打趣地写上“来自地球、人类破解”(Glitched on Earth by humans)。
为了访问终端软件,Wouters 依靠定制系统进行电压故障注入,借此绕过安全保护。在 Starlink 天线启动时,会运行一系列不同的引导加载程序。Wouters 决定攻击其中第一个引导加载程序(ROM 引导加载程序),此程序是被刻录在片上系统的,所以无法后续更新。成功完成后,接下来的引导加载程序就只能访问到被篡改过的固件,于是天线控制权也就落入了 Wouters 手中。
“总体来讲,我们可以选择两大攻击切入点:要么是签名验证,要么是哈希验证。”Wouters 的故障注入针对的正是签名验证过程,“正常运行是不允许发生短路的,但我们会故障引发短路来实施攻击。”
最初,Wouters 打算在启动周期结束后(即 Linux 操作系统彻底加载完毕)再向芯片注入故障,但他随后发现在启动开始时注入故障更方便也更可靠。为了注入故障,Wouters 还得禁用掉负责平滑电源的去耦电容器。所以整个攻击过程也可以总结成:禁用去耦电容器,注入故障以绕过安全保护,之后再启用去耦电容器。
走完整个流程,Wouters 就可以在启动周期内运行 Starlink 固件的篡改版本,最终获得底层系统访问权限。他解释道,星项方面已经做出回应,愿意向他提供研究员级别的设备软件访问权限,但被他拒绝了。他想要继续深入,尝试构建出入侵用的 modchip。有趣的是,测试期间他一直把天线挂在实验室窗户外头,还套了个塑料袋防止设备受潮。
Starlink 随后发布的固件更新虽然增加了攻击难度,但被攻破的可能性仍然存在。尽管攻击者需要投入大量时间和精力,而且最终效果也不可能达到令卫星系统或连接彻底瘫痪的程度,但 Wouters 认为这仍是一次能让人们深入理解 Starlink 运作方式的有益尝试。
“我现在的目标是跟后端服务器实现通信。”虽然这款 modchip 的详细信息已经在 GitHub 上开放下载,但 Wouters 并不打算出售 modchip 成品,也从未向他人透露过篡改后的终端固件和故障注入细节。
Starlink 回应:会发布更新,但不会透露任何更新细节
Starlink 方面则表示,将在 Wouters 的黑帽大会演讲结束后“发布更新”,但在此之前暂不透露关于更新的任何细节。
如今,亚马逊、OneWeb、波音、Telesat 和 SpaceX 都拥有自己的星座计划,而且疯狂向太空发射卫星。因此,卫星安全必将受到更严格的审查。除了为家庭用户提供网络连接外,这些系统还能帮助船舶联网通信,充当关键基础设施。已经有恶意黑客将卫星互联网系统设为目标。
就在俄罗斯与乌克兰爆发冲突的同时,据称有俄罗斯军方黑客对 Via-Sat 卫星系统发动攻击、向其中部署 Wiper 恶意软件,导致用户路由器变砖、无法访问网络。此次攻击导致欧洲约 30000 个互联网连接中断,5000 多台联网风力涡轮机受到影响。
Wouters 指出,“这类系统已经成为关键基础设施的一部分,所以对其开展安全评估已经势在必行。而且一定会有黑客对卫星互联网展开攻击,毕竟用户终端的获取难度太低了。”
2022 年 8 月 10 日下午 5 时更新:在 Wouters 黑帽大会演讲之后,Starlink 发布了一份 6 页长的 PDF,具体解释了系统保护细节。文章提到,“我们认为这是一种令人印象深刻的攻击技术,也是我们在系统中发现的首例此类攻击。考虑到黑客必须物理接触到 Starlink 套件才能实施攻击,所以我们将依靠‘最小权限'原则限制其对整体系统的影响。”
Starlink 项目方重申,此攻击要求物理改造用户终端,而在安全启动过程中的故障注入也只限于被改造的当前设备,所以整个 Starlink 系统的其他部分不会受到任何影响。“普通 Starlink 用户无需担心受到攻击影响,也不必采取任何应对措施。”
原文链接:https://www.wired.com/story/starlink-internet-dish-hack/
评论