来自波鸿和萨尔布吕肯的研究人员在制造商DJI制造的几架无人机中发现了安全漏洞,其中一些漏洞很严重。例如,这些使用户能够更改无人机的序列号或覆盖允许安全当局跟踪无人机及其飞行员的机制。在特殊的攻击场景中,无人机甚至可以在飞行中被远程击落。
由德国波鸿鲁尔大学HorstGörtzIT安全研究所的NicoSchiller和ThorstenHolz教授领导的团队(以前在波鸿,现在萨尔布吕肯的CISPAHelmholtz信息安全中心)将在网络和分布式系统安全研讨会(NDSS)。会议将于2月27日至3月3日在美国圣地亚哥举行。
(资料图片)
在向公众发布信息之前,研究人员将检测到的16个漏洞告知DJI;制造商已采取措施修复它们。
四种模式经受考验
该团队测试了三款不同类别的DJI无人机:小型DJIMini2、中型Air2和大型Mavic2。后来,IT专家也为更新的Mavic3型号重现了结果。他们向无人机的硬件和固件提供大量随机输入,并检查哪些输入导致无人机坠毁或对无人机数据(例如序列号)进行了不必要的更改——一种称为模糊测试的方法。为此,他们首先不得不开发一种新的算法。
NicoSchiller说:“我们通常拥有设备的整个固件以用于模糊测试。然而,在这里,情况并非如此。”由于DJI无人机是相对复杂的设备,因此必须在实时系统中执行模糊测试。“将无人机连接到笔记本电脑后,我们首先研究了如何与它通信以及我们可以为此目的使用哪些接口,”来自波鸿的研究人员说。事实证明,大部分通信都是通过称为DUML的相同协议完成的,该协议以数据包的形式向无人机发送命令。
四大严重错误
研究小组开发的模糊器因此生成DUML数据包,将它们发送到无人机并评估哪些输入导致无人机软件崩溃。这种崩溃表明编程中存在错误。“然而,并不是所有的安全漏洞都会导致崩溃,”ThorstenHolz说。“一些错误导致序列号等数据发生变化。”
为了检测此类逻辑漏洞,该团队将无人机与运行DJI应用程序的手机配对。因此,他们可以定期检查应用程序,看看模糊测试是否正在改变无人机的状态。
四款测试机型均被发现存在安全漏洞。研究人员总共记录了16个漏洞。DJIMini2、MavicAir2和Mavic3型号存在四个严重缺陷。其一,这些错误允许攻击者在系统中获得扩展访问权限。
“攻击者因此可以更改日志数据或序列号并伪装他们的身份,”ThorstenHolz解释说。“此外,虽然大疆确实采取了预防措施来防止无人机飞越机场或监狱等其他禁区,但这些机制也可能被推翻。”此外,该小组能够使飞行的无人机在半空中坠毁。
在未来的研究中,波鸿-萨尔布吕肯团队还打算测试其他无人机模型的安全性。
位置数据未加密传输
此外,研究人员还检查了DJI无人机用于传输无人机及其飞行员位置的协议,以便授权机构(例如安全机构或关键基础设施的运营商)可以访问它。
通过对DJI的固件和无人机发出的无线电信号进行逆向工程,研究团队首次记录了名为“DroneID”的跟踪协议。“我们证明传输的数据没有加密,几乎任何人都可以通过相对简单的方法读取飞行员和无人机的位置,”NicoSchiller总结道。