黑客|花170元黑掉马斯克星链终端 黑客公开自制工具
被马斯克大吹特吹的“星链(Starlink)”,黑客竟然只需170块人民币就能轻松攻破?
没错,一位比利时小哥在今年的黑帽大会(Black Hat Conference)上公开演讲展示了自己是如何做到的 。
文章图片
他自制了一个可以连接到星链终端的定制黑客工具,而这款工具的基础,是一种名为“modchip”的电路板,售价不到170元 。
连接到星链终端后,该自制工具就能发起故障注入攻击,导致系统暂时短路以绕开星链安全保护机制,继而成功侵入星链系统中原本锁定的部分 。
目前,这位小哥已将该工具在GitHub上开源发布,并分享了关于攻击方式的一些细节 。
具体怎么个情况,我们一起来看看 。
攻击怎么做到的?
星链,是马斯克旗下SpaceX公司推出的一项卫星互联网服务 。
它的互联网系统由三个主要部分组成:
负责实现信号覆盖的卫星、将互联网连接发送到卫星的网关(Gateway),以及用户购买安装的Dishy McFlatface卫星天线 。
来自比利时鲁汶大学的安全研究员Lennert Wouters的研究,主要集中在这些用户终端(天线)上 。
文章图片
他解释道:
站在攻击者的角度,首先想到的自然是攻击卫星本体,也就是构建自有系统与卫星通信 。但这显然非常困难 。所以要想成功攻击,最好能借助于用户终端,这样很多难题就迎刃而解了 。
为此,Wouters改造了他购买的一个星链天线,用“热风枪、撬棒、异丙醇再加上极大的耐心”取下天线上的金属盖,逐一分析星链终端的内部组件 。
在直径达59厘米的金属盖下,隐藏着一个大型PCB 。
其中的片上系统包括一枚定制化四核ARM Cortex-A53处理器,由于架构未经公开所以破解难度极大 。板上的其他元件还包括射频设备、以太网供电系统和GPS接收器 。
文章图片
亲手拆解之后,Wouters逐渐弄清了星链终端是如何启动、又是怎样下载固件的 。
为了进一步设计定制的modchip,Wouters扫描了星链天线并找到了最适合当前星链电路板的设计方案 。
他设计的modchip需要通过几根线缆被焊接到星链PCB上,modchip本体则由树莓派微控制器、闪存、电子开关和稳压器组成 。
有趣的是,在设计这块终端电路板时,星链工程师们在其上印制上了“人类制造于地球”(Made on Earth by humans)的字样 。
Wouters则在自己的modchip上幽默了一把,印上了“人类在地球上制造的故障”(Glitched on Earth by humans) 。
文章图片
为了接入终端软件,Wouters的定制系统会通过电压故障注入攻击绕过安全保护机制 。
在星链天线开启时,会经历多个不同的引导程序加载阶段 。Wouters的攻击指向第一个引导加载程序(即ROM引导加载程序),此程序是被刻录到片上系统的,因此无法更新 。
攻击成功后,他会在接下来的其他引导加载程序上修改固件,从而夺取对终端天线的控制权 。
Wouters解释道:“总体来看,最理想的攻击切入点就只有两个:签名验证,或者哈希验证 。”
他的方法指向的正是签名验证过程 。“工程师在设计的时候会努力避免短路,但我们的攻击方法却是在刻意利用短路 。”
最初,Wouters本打算在启动周期结束时(即Linux操作系统全部加载完成)再向芯片注入故障,但最终发现抢在启动开始时注入才是正确思路 。Wouters表示,这种方式的可靠性更高 。
为了注入故障,他必须让负责平滑电源的去耦电容停止工作 。所以,Wouters攻击方案的实质就是先禁用去耦电容,再运行故障以绕过安全保护,最后重新启用去耦电容 。
经此过程,Wouters就能在启动周期之内篡改并运行星链固件,最终获得底层系统访问权限 。
文章图片
除此之外,Wouters指出,在他研究期间,星链方面也做出过回应,表示愿意向他提供研究员级别的设备软件访问权限,但被他拒绝了 。