一项最新的研究显示了电磁故障注入(EMFI)攻击无人机的可能性,专家们展示了如何攻击没有任何已知漏洞的无人机。该研究由专门从事网络安全研究和评估的公司IOActive进行。这家安全公司此前发现了影响汽车、轮船、波音和其他飞机、工业控制系统、通信协议和操作系统的漏洞。IOActive硬件安全总监Gabriel Gonzalez主导的这项研究,重点是关注电磁侧信道和故障注入攻击,目标是在无人机上执行任意代码。该研究正在进行中,但初步结果表明,EMFI技术对于黑盒黑客攻击非常有效,在这种黑盒黑客攻击中,攻击者不了解目标系统的内部知识。IOActive在DJI Mavic Pro无人机上进行了测试。DJI的无人机具有经过签名和加密的固件、安全启动和可信执行环境(TEE)。

IOActive研究人员的测试表明,对目标无人机具有物理访问权限的攻击者可以发起EMFI攻击,并在触发固件更新后导致内存损坏。实验表明,在固件更新过程中的特定时间注入特定的EM故障可能允许攻击者在主处理器上执行任意代码,使他们能够访问实现核心功能的Android操作系统。值得注意的是,虽然研究和测试是针对DJI无人机进行的,但EMFI攻击方法,可以用于任何类型的无人机,即该攻击方法具有广泛的适用性。

IOActive最新发布的博文介绍,研究人员发布了了一份名为《Drone Security and Fault Injection Attacks》的白皮书 ( https://ioac.tv/3N005Bn ),简述了无人机行业当前的安全态势,描述了该公司研究人员如何开发威胁模型、选择初步目标、准备攻击组件,以及讨论其希望实现的目标和项目的最终结果。

IOActive一直在研究使用非侵入性技术的可能性,例如电磁(EM)旁路攻击或EM故障注入(EMFI),以在具有重要安全功能的商用无人机上实现代码执行。对于这项工作,研究人员选择了最受欢迎的无人机型号,DJI的Mavic Pro。DJI是一家经验丰富的制造商,强调其产品的安全性,具有签名和加密固件、可信执行环境 (TEE) 和安全启动等功能。

无人机攻击面

无人机用于各种应用,包括军事、商业和娱乐。与任何其他技术一样,无人机容易受到各种类型的攻击,这些攻击可能会损害其功能和安全性。

如上图所示,无人机暴露了几个攻击面:(1) 后端,(2) 移动应用程序,(3) 射频 (RF) 通信,以及 (4) 物理设备。

如白皮书 ( https://ioac.tv/3N005Bn) 中所述,IOActive使用EM发射和EMFI,因为它们具有非侵入性。研究者利用Riscure产品作为这项研究的主要工具。

下图是从无人机上取下后正在分析的PCB;电源已连接到外部电源。

攻击方法

第一种方法是尝试使用EM发射和解密固件来检索加密密钥。首先在无人机的PCB上找到一个具有强EM信号的区域,这样就可以放置一个探针并记录足够的痕迹以提取密钥。

在确定信号最强的位置后,研究人员致力于了解如何绕过固件解密前发生的签名验证。经过几天的测试和数据分析,他们发现签名绕过成功的概率小于0.5%。这使得密钥恢复变得不可行,因为它需要研究人员收集数万条痕迹。

第二种方法是根据Riscure ( https://www.riscure.com/publication/controlling-pc-arm-using-fault-injection )发表的想法使用EMFI 。Riscure建议使用小故障使一条指令转换为另一条指令并获得对例如PC寄存器的控制。下图显示了用于此方法的设置,其中包括笔记本电脑(用作控制器)、电源、Riscure的 Spider(用于生成触发器)、示波器、XYZ 表和 EMFI脉冲发生器。

在PCB上确定足够小的区域后,研究人员修改了毛刺的形状和时间,直到其观察到成功的结果。目标进程崩溃,如下图:

程序收到信号 SIGSEGV,分段错误。

0x2a002f44 在 ?? ()

#0 0x2a002f44 在 ?? ()

#1 0x2a000f5a 在 ?? ()

#2 0x2a0011de 在 ?? ()

#3 0x2a000b04 在 ?? ()

#4 __libc_init () 中的 0xb6f9b42c 来自 /system/lib/libc.so

#5 0x2a00099c 在 ?? ()

回溯停止:前一帧与此帧相同(损坏的堆栈?)

r0 0x41414141 1094795585

r1 0x41414141 1094795585

r2 0xbefff6dc 3204445916

r3 0x41414141 1094795585

r4 0x41414141 1094795585

r5 0xbefffbc4 3204447172

r6 0x85242d9a 2233740698

r7 0xbefff6f0 3204445936

r8 0xb6b4e008 3065307144

r9 0xb6b4e1e8 3065307624

r10 0xbefffad0 3204446928

r11 0x2d7160 2978144

r12 0xbefff6ec 3204445932

sp 0xbefff6c8 0xbefff6c8

lr 0xde 222

pc 0x2a002f44 0x2a002f44

cpsr 0x60000030 1610612784

研究人员的有效载荷出现在几个寄存器中。在检查目标地址的代码后,他们确定已经找到了时序、位置和毛刺形状的成功组合。以下捕获显示了发生分段错误的指令:

捕获清楚地显示了加载指令将研究人员的数据复制到寄存器R0和R1。此外,GDB输出还显示寄存器R3和R4以受控数据结束。可以在白皮书 ( https://ioac.tv/3N005Bn ) 中找到更多详细信息。

成功导致内存损坏后,下一步将是设计一个适当的有效负载来实现代码执行。攻击者可以利用这一条件完全控制一台设备、泄露所有敏感内容、启用ADB问并可能泄露加密密钥。

缓解措施

至于缓解措施,IOActive建议制造商针对EMFI攻击实施硬件和软件对策。然而,这家安全公司指出,硬件反制措施的成本可能很高,需要在早期设计阶段就将其考虑在内。可以在稍后阶段添加软件缓解措施,但它们可能不会那么有效。

虽然实验是针对DJI无人机进行的,但EMFI攻击方法——如果被证明是有效的——可以用于任何类型的无人机。

SecurityWeek已联系DJI了解该公司是否正在或正在计划为其无人机添加EMFI保护。

参考资源

1、https://www.securityweek.com/new-research-shows-potential-of-electromagnetic-fault-injection-attacks-against-drones/

2、https://labs.ioactive.com/2023/06/applying-fault-injection-to-firmware.html

3、https://act-on.ioactive.com/acton/attachment/34793/f-b1aa96d0-bd78-4518-bae3-2889aae340de/1/-/-/-/-/DroneSec-GGonzalez.pdf

声明:本文来自网空闲话plus,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。