管理员按:很久没有发布新的文章和登录公众号了,很遗憾很多不可抗力导致的问题加上本人的宗旨尽可能不做一个搬运工的原则,所以创作总是要花费时间的,所以,今天我又回来了,带给大家一个有趣的课题。
无人机安全和故障注入攻击
加布里埃尔冈萨雷斯
硬件安全总监
编译 樊山
目录
摘要... 2
引言... 2
攻击面... 3
OcuSync. 4
移动应用程序... 4
资产... 5
固件... 5
禁飞区... 5
敏感信息... 5
无人机架构... 6
技术背景... 6
XYZ表... 7
EM探针... 8
示波器... 9
SPIDER和EM-FI探测器... 10
目标无人机... 11
无人机PCB准备... 11
第一种方法... 12
第二种方法... 16
未来工作... 21
缓解措施... 22
附录A:附加信息... 23
关于IOActive. 23
关于作者... 23
附录B:JAVA代码... 23
附录C:FIPY控制器代码... 27
摘要
IOActive着手探索使用非侵入性技术(如电磁(EM)边信道攻击和电磁故障注入(EMFI))在具有公开漏洞的商用无人机上执行代码的可能性。如果成功,我们可以将吸取的教训应用到一种完全黑盒的方法中,并尝试在没有已知漏洞的情况下破坏设备。
作为目标,我们选择了DJI,这是一家经验丰富的制造商,强调其产品的安全性,[1]如签名和加密固件、可信执行环境(TEE)和安全引导。我们使用受控环境来研究边信道攻击和EMFI技术的影响。
我们证明了在固件更新期间,通过在正确的时间注入特定的EM故障来危害目标设备是可行的。这将使攻击者能够在主处理器上执行代码,从而访问实现无人机核心功能的Android操作系统。
引言
无人驾驶空中工具也被称为无人机越来越多地被部署在航空、农业和执法等行业。随着这些设备的使用范围扩大,网络安全问题也随之增加。这些多功能机器提供了许多好处,但在维护安全方面也面临着独特的挑战。
关键挑战之一是无人机通常是远程操作。这意味着外部行为者有可能通过拦截用于控制无人机的无线信号、破坏用于操作无人机的地面计算机系统或访问设备本身来访问无人机的控制系统;如果无人机被盗,小偷可能会收集敏感信息或在系统上植入恶意软件。
本白皮书涵盖IOActive对无人机行业当前安全态势的研究。在这项工作中,我们选择了最常见的无人机型号之一大疆的Mavic Pro。[2]
这项研究的目标是:
-
了解无人机的架构
-
调查无人机的弱点
-
确定哪些方法在现实世界的攻击中有意义
-
与运行裸机软件的微控制器相比,获得针对运行成熟多任务操作系统的高端多核系统发起EMFI攻击的经验
本白皮书涵盖以下领域:
-
攻击面:提供无人机组件概览,并确定有价值的资产
-
技术背景:介绍目标无人机和测试设置的概念
-
第一种方法:描述IOActive试图使用边信道攻击来获取固件解密密钥
-
第二种方法:描述IOActive尝试使用EMFI来实现代码执行
-
未来工作:讨论IOActive研究的下一步行动
-
缓解措施:解决突出问题的建议
攻击面
无人机用于各种应用,包括军事、商业和娱乐。与任何其他技术一样,无人机容易受到各种类型的攻击,这些攻击可能会损害其功能和安全。
图1:无人机正常运行所涉及要素的高级别概述
如图1所示,无人机暴露了多少攻击面,这取决于它们的具体能力。一些常见的攻击面包括:
-
后端:与几乎任何其他现代系统一样,无人机很容易受到针对其后端系统的各种攻击。攻击者可以利用一系列问题(如SQL注入或服务器端请求伪造)来访问敏感数据、操纵系统或中断操作。此外,攻击者可能能够将后端系统作为支点,对生态系统的其他组件发起进一步攻击。
-
移动应用程序:攻击者可以利用移动应用程序中的漏洞访问敏感数据或远程控制无人机。侵入这些漏洞的常见方法是应用程序或操作系统中的漏洞,甚至是有针对性的攻击。
-
射频通信:无人机使用射频通信系统接收和传输命令、数据和视频。射频攻击可以使用各种技术,如干扰、欺骗和干扰,来干扰或操纵无人机使用的射频信号。DJI实现了一种定制的RF协议OcuSync,用于向用于控制无人机的遥控器发送视频和命令。
-
物理设备:硬件或软件漏洞可能使攻击者能够访问无人机的关键方面,如固件和敏感信息,并可能修改其行为。
OcuSync
OcuSync是DJI开发的一种无线通信协议。它被用于大疆的许多无人机,包括流行的Mavic系列,以在无人机及其相关遥控器之间提供可靠且低延迟的连接。
OcuSync协议的一个关键特性是它能够支持多个通信信道。这使得无人机能够在信道之间自动切换以保持强大稳定的连接,即使在可能存在无线电干扰的具有挑战性的环境中也是如此。
OcuSync协议还包括保护空中传送(OTA)通信的安全功能。这包括使用加密来保护无人机和遥控器之间的无线链路,以及防止未经授权的用户访问无人机控制系统的身份验证机制。
移动应用程序
iOS和Android设备都可以使用移动应用程序,用户可以通过智能手机或平板电脑轻松控制和监控无人机。
DJI移动应用程序的一些关键功能是能够远程控制无人机的移动、访问摄像头设置和控制摄像头,以及查看无人机摄像头的实时视频。
除了这些基本的控制功能外,大疆的移动应用程序还提供了一系列高级功能,如自动飞行计划、自定义飞行路径创建,以及访问和管理无人机飞行日志和其他数据的能力。
资产
IOActive最初的目标是访问无人机的固件,并在暴露的攻击面搜索漏洞。以下是攻击者可能针对的资产,具体取决于所需的结果。
固件
在目标设备中的片上系统(SoC)运行的软件是漏洞研究的圣杯。通过对管理通信的最新版本软件进行逆向工程,可以更好地了解系统,并识别潜在的安全缺陷和漏洞。
对于Mavic Pro,DJI仅提供签名和加密的固件包。Mavic Pro[3]的一个公开漏洞允许IOActive启用对设备的调试访问。这些信息使我们能够更好地了解该设备的内部结构,并推进我们的研究。
禁飞区
大多数无人机都设置了几个“禁飞区”,以防止事故和未经授权的使用。这些禁飞区是无人机不允许起飞或飞行的区域,旨在保护机场、军事基地等敏感地点,以及无人机操作可能带来安全风险的其他区域。
敏感信息
在某些情况下,利用无人机存储信息,如飞行计划、图像和其他潜在的敏感数据,值得考虑。
无人机架构
大疆在其无人机中集成了一系列传感器和外围设备,以实现先进功能并提高性能。
-
陀螺仪和加速度计用于测量无人机的方位和运动,提供保持稳定性和控制所需的信息。
-
气压计测量大气压力,使无人机能够确定其高度并保持一致的飞行高度。
-
全球定位系统(GPS)传感器用于确定无人机的位置,并启用自动起飞和降落以及地理围栏等功能。
-
指南针传感器用于确定无人机的航向,并启用自动航路点导航等功能。
-
超声波传感器用于测量与地面或其他物体的距离,并实现自动悬停和避障等功能。
-
相机用于从鸟瞰图中捕捉照片或视频片段。无人机配备了摄像头,用户可以实时看到无人机看到的东西,并从传统摄像头无法实现的独特视角捕捉图像和视频
大疆Mavic Pro的两个主要处理器是:
-
视频和图像处理CPU:该SoC由Ambarella International LP(Ambarella)生产,这是一家专门设计和开发低功耗、高清晰度视频处理半导体的技术公司。[4]该公司成立于2004年,总部位于加利福尼亚州圣克拉拉,以及运动相机。该公司的芯片以其捕捉和传输高质量视频的能力而闻名,而功耗非常低。
-
基于Android的控制CPU:这是一款基于ARM Cortex-A7的SoC,由总部位于北京的中国电信公司Leadcore Technology Co.有限公司(Leadcore)生产。该公司以开发电信技术而闻名,包括手机芯片组和其他相关产品。Leadcore自2009年开始运营,其产品包括一系列用于各种智能手机和其他设备的手机芯片组。
技术背景
边信道攻击依赖于在执行特定操作期间通过进行不同类型的测量来间接获取有关目标系统的信息。使用边信道分析的一些常见攻击包括:
-
定时攻击:分析和利用目标操作完成所需的时间,例如猜测个人识别码(PIN)或破坏加密实现。
-
功率分析:简单功率分析(SPA)和差分功率分析(DPA)利用目标操作所消耗的功率。测量通常是通过分接芯片的电压路径来进行的。捕获的数据经过数学处理以恢复机密,通常是加密密钥。
-
EM分析:不是直接从硬件的电压轨获取功耗,而是将EM探针放置在离芯片足够近的位置,以获取EM发射。与功率分析相比,这种方法具有侵入性小、更本地化的优点。
电磁故障注入(EMFI)旨在处理某些操作时造成硬件中断。金属线圈(EM探针)靠近目标处理器的表面放置。流经该线圈的电流将在处理器内部引起电流变化。这有望引发CPU行为的变化,从而获得优势;例如通过在处理之前或之后改变存储单元或寄存器中的值。
如上所述,EMFI的优点包括其非侵入性,并且扰动更为局部化,而不是电源噪声干扰,在电源噪声干扰中,PCB通常需要物理修改,并且噪声干扰影响连接到目标电源导轨的所有内部外围设备和处理单元。
在这项工作中,IOActive使用了Riscure的广泛认可的FI/侧通道分析(SCA)套件。[5]特别是我们使用了本节剩余部分中描述的组件,这些组件还附带了一个强大而全面的软件套件,旨在支持安全研究人员。
XYZ表
当使用功率分析技术时,通过分接目标处理器用于为所有内部处理单元供电的电压路径来检索数据。从电压读数转换为EM读数时的挑战之一是在芯片表面上找到正确的位置。为了实现这一点,我们使用了XYZ表,如图2所示,来扫描芯片区域并定位泄露更多信息的最佳位置。
为了正确使用此设备,正确设置Z轴至关重要。这是一个关键因素,因为如果EM尖端离目标太近,尖端本身可能会在芯片封装周围移动时受损。另一方面,如果EM尖端太高,则测量的信号太弱不起作用。
IOActive采用了两种技术来解决这个问题。第一个是使用USB微型相机观察EM尖端和表面之间的间隙。第二种是3D打印中常用的技术:在EM尖端和芯片之间放置一张薄纸,定位EM尖端,然后尝试将纸拉出。如果间隙太小,纸张将不会移动;相反,如果它太大,它就会自由移动。移动纸张时的少量摩擦表明尖端高度最佳。
将Z轴设置到固定位置后,下一步是在XY轴上指定一个矩形,即要扫描的芯片区域。
EM探针
用于本研究的高精度EM探针IOActive旨在检测半导体电路的EM发射,并配备了三个不同直径(0.2mm、0.5mm和1.2mm)的尖端,这些尖端具有定向线圈和聚四氟乙烯保护壳。该工具能够拾取高达6GHz的电磁场,并将其转换为交流信号。
EM探头连接到放大器,如图3所示,输出通过BNC电缆引导到示波器。然后,该软件套件解释EM测量结果,以创建热图,从而精确定位最大发射区域。
图3:EM探针和放大器的框图以及将EM探针连接到放大器的XYZ表
示波器
IOActive使用图4中所示的示波器作为项目SCA和FI部分的关键元素。
在SCA期间,示波器用于捕获目标CPU中执行的计算中的信号泄漏。在EMFI期间,它被用来验证是否以所需的形状和时间产生小故障。
SPIDER和EM-FI探测器
对于EMFI,IOActive使用了Riscure的Spider工具和EM-FI瞬态探头,如图5所示。
Spider通过为自定义或嵌入式接口创建带有所有I/O和重置线的单个控制点,降低了SCA和EMFI的复杂性。作为该项目的一部分,IOActive使用Spider工具生成任意故障波。该工具允许调整脉冲的输出电压、定时、重复率/频率和持续时间。
Riscure的EM-FI瞬态探头在芯片的用户定义位置感应出快速、高功率的EM脉冲。快速和短脉冲可通过软件进行配置,提供快速和可预测的触发响应。
目标无人机
IOActive的方法是使用受控的测试环境来研究通过边信道或EMFI技术攻击硬化无人机是否可行。为了确保一个可控的环境,IOActive瞄准了一个具有公开漏洞的无人机型号和固件版本。这将使我们能够通过对固件升级过程中涉及的软件组件进行逆向工程,更好地理解和控制每个不同阶段。此外,它将提供一个机会来深入了解潜在的设备故障或其他可能延迟测试的行为。如果成功,我们可以吸取这一阶段的经验教训,使用完全黑盒的方法,在没有已知漏洞的设备上尝试这些类型的攻击。此外,如果任何未来目标使用与初始目标相同的SoC,我们甚至可以重用在该项目中确定的搜索区域。这将通过消除扫描整个SoC表面和调整参数(如持续时间、延迟和强度)的需要来节省宝贵的时间。
考虑到这些因素,IOActive选择了DJI Mavic Pro。除了密钥泄漏外,它在二手市场上也很普遍,在我们的研究过程中,如果发生事故导致单元损坏,这可能是有益的。
无人机PCB准备
第一步是识别无人机的主PCB,并创建一个隔离的环境,在那里它可以在没有原始电池的情况下供电,并放置在分析探针下。
移除塑料外壳、外围设备和传感器后,结果如图6所示。我们感兴趣的组件用红色表示:Leadcore SoC。该SoC运行自定义版本的Android,处理USB通信和固件升级过程。
图6:带有所有不同组件的主PCB [6]
图7显示了正在分析的PCB。需要注意的是,IOActive必须包括一个外部风扇,以消散PCB组件产生的热量。如果没有它,通电后温度会迅速上升导致重启。
图7:XYZ工作台上的PCB,外部电源供电
第一种方法
如资产部分所述,任何威胁行为者在接近系统时的主要优先事项之一是访问未加密的固件。因此,我们的第一个目标是研究使用边信道电源泄漏恢复用于加密/解密固件包的密钥的可行性。
密码算法的功率泄漏与使用攻击者控制的有效载荷和未知密钥的数学运算有关。计算来自两个元素的数据的指令将消耗或多或少的功率,这取决于用例结果中的位数。这通常被称为泄漏模型,有时被建模为hamming距离。
IOActive的目标是构建一个设置,我们可以:
-
将随机数据发送到目标,以便稍后在加密计算中使用
-
执行重复测试以收集数千条电源轨迹
-
分析检索到的数据并恢复加密密钥
如前所述的步骤1,利用边信道泄漏的关键部分是有针对性的操作来处理具有足够熵的数据以进行统计分析。在这种情况下,我们能够提交随机数据,这些数据将符合加密算法中的目标操作。为了实现这一点,我们分析了包的格式,并生成了可以输入解密过程的有效包。图8显示了为提供验证应用程序而修改的一个包和一些值。
图8:升级包的二进制视图,显示包的类型和长度
生成的包包含随机数据,这些数据将在统计分析期间用于与捕获的EM轨迹相关。因此,我们需要生成大量的“假”更新包。
第2步的工作涉及到了解更新过程,这样我们就可以自动化提交修改后的包和记录EM发射以供稍后分析的任务。
图9描述了DJI无人机固件更新过程中涉及的步骤。由于我们很幸运地得到了一个运行ADB外壳的模型,我们可以识别处理软件包签名和解密的过程。
图9:固件更新过程中涉及的步骤[7]
签名验证和解密由dji_verify应用程序执行。此可执行文件被设计为作为命令行工具运行,并接受各种参数,包括包含固件包的文件的路径。
对二进制文件的进一步分析使我们能够确定执行签名验证的点。由于一项任务是找到芯片表面EM信号更强的位置,我们决定修补dji_verify二进制文件,以绕过签名检查,直接执行固件包解密。
从顶层来看,整个过程包括以下步骤:
-
生成修改后的固件包(尽管在第一个扫描阶段我们使用固定的固件包)。
-
通过ADB将文件复制到无人机上。
-
执行修补的dji_verify。
-
获取EM数据并返回步骤1。
步骤3将执行功率分析所需的硬件和软件放在一起。图10显示了用于记录电源泄漏的部分设置。EM探针连接到XYZ表,并位于Leadcore SoC的顶部,在那里进行加密操作。
图10:准备检测EM发射形式的功率泄漏的侧通道设置
Riscure设备提供的工具的一个关键功能是Inspector,这是一个功能强大的软件套件,可以实现执行SCA所需的所有统计、数学分析和数据转换。
唯一缺少的部分是那些需要与每个不同的范围内设备交互的部分。对于这个项目,IOActive开发了Java代码(包含在附录B中),该代码接受输入参数(如重复),并协调启动目标二进制文件。检查员将负责定位XYZ表,读取EM信号,并绘制结果。
在这个阶段,第一个目标是找到一个具有强EM信号的区域,这样我们就可以放置探针并记录数千条痕迹,以获得足够的信息来提取密钥。
在识别出信号最强的位置后,我们从修补的dji_verify二进制文件转移到原始设置,其中包括固件签名验证。然后,我们开始研究使用EMFI绕过签名检查的可行性。
在这一点上,我们从Inspector转到了FIPython(FIPy),这是一个由Riscure提供的基于web的框架,用于帮助FI过程。这在本文件的“第二种方法”部分有更详细的描述。图11是FI Spotlight制作的图,显示了本轮测试的结果。
图11:成功绕过(红色)、未确定(橙色)、重新启动(黄色)和正常操作(绿色)
经过几天的试验和数据分析,我们发现成功绕过签名的概率低于0.5%。这使得密钥恢复变得不可行,因为像Leadcore SoC使用的基于硬件的加密引擎需要收集数十万个跟踪才能执行SCA攻击。
在这一点上,我们暂停了对第一种方法的进一步努力,再次分析了目标,并提出了第二种攻击场景。
第二种方法
使用物理攻击绕过安全机制有几种潜在途径,但其中大多数都需要对PCB进行修改。我们通常会使用EMFI,希望使JTAG能够实现调试能力;然而,我们选择了Riscure[8]的一篇研究论文中提出的路径。
Riscure的研究人员描述了他们在将FI应用于目标SoC时获得的不同结果。IOActive的研究中有一个有趣的结果,即故障导致处理器在内存操作期间修改目标寄存器的内容。
如果上述结果能够重现,我们就有可能通过更新过程执行自己的有效载荷。这意味着以下两个要求:
-
我们有能力为目标系统提供自定义有效载荷。从我们使用第一种方法的工作中,我们已经知道这一点是正确的。
-
该过程将内存从一个位置复制到另一个位置。此外,从我们对dji_verify的工作中,我们知道所提供的有效载荷首先被复制到内存中,以计算加密签名,看看它是否与签名的签名匹配。
在这个新的攻击路径中,我们试图证明在目标设备上使用EMFI获得代码执行是合理的。该过程的高级概述如下:
-
更新过程将攻击者控制的有效负载从一个内存位置复制到另一个。
-
在进行复制时,生成一个小故障,目的是更改正在处理的指令的行为。
-
分析结果以确定发生了何种类型的指令修改。
为了继续采用这种方法,我们需要完成以下任务:
-
生成dji_verify程序将处理的固件包。
-
获取堆栈跟踪和注册信息,以简化了解攻击是否成功的过程。我们在这个步骤中使用了GDB;这是拥有可控环境的好处之一。
-
设置Riscure的故障设备,并调整FIPy以配合我们的目标。
为了完成任务1,我们修改了包头,并添加了一个包含10MB 0x41字节的文件作为有效载荷,如第一种方法中所述。这有助于在分析GDB输出时评估注入的实际可利用性。
EMFI设置的一个限制是找到准确的硬件触发器。组件的密度和多层PCB使得在不冒破坏样本风险的情况下找到正确的信号变得很有挑战性(这是该项目的限制因素之一)。为了克服这个问题,我们依赖于时间安排,基于我们通过亚行输出收到信息的那一刻;然而,这种方法降低了注入的可重复性,使其更难找到成功的命中。
图12显示了我们用于EMFI完成任务3的设置。EM探针连接到XYZ工作台,Spider工具连接到提供触发时间的计算机。示波器用于验证我们在正确的时间注入了正确的脉冲形状,其输出如图13所示。
图12:第二次进近期间用于FI的设置
图13:FIPy应用程序与示波器一起显示示波器记录
使用Inspector和FIPy有一个区别:前者提供Java接口,后者执行Python脚本。这一次,我们编写了一个Python脚本(包含在附录C中),用于管理与目标设备的交互,要求Spider工具触发故障,并存储结果。
一旦整个设置完美工作,我们需要围绕XY轴以不同的噪声干扰强度和时间多次运行测试,直到我们发现一个成功或潜在的错误,可以帮助我们缩小表面积。
在识别出一个足够小的区域后,我们修改了故障的形状和时间,直到我们观察到一个成功的故障。经过多次尝试,我们得到了我们想要的:dji_verify程序崩溃,如以下输出所示。
我们的有效载荷出现在几个寄存器中。在检查了目标地址的代码后,我们确定我们已经达到了时间、位置和故障形状的完美组合。
图14清楚地显示了将IOActive的数据复制到寄存器R0和R1的加载指令。上面的GDB输出显示寄存器R3和R4也以受控数据结束。
图14:发生分段错误的说明
以下两条指令将R0和R1复制到受控地址,而不是将数据复制到目的地缓冲区。
这里最有可能发生的情况是,我们能够修改加载指令,而不是只读取两个寄存器,它最终读取了四个。原始指令编码为:
虽然会导致我们观察到的结果的指令编码是:
这意味着故障能够通过翻转两个连续的位并将一条指令转换为另一条指令来修改一个字节。
实现了这一结果后,下一步将是编写一个适当的有效负载,将这种内存损坏转化为代码执行漏洞。这可能使攻击者能够完全控制一个设备,泄露其所有敏感内容,启用ADB访问,并可能泄露加密密钥。
未来工作
在本文中,我们描述了使用EMFI技术成功实施无人机攻击的材料和方法。
该项目的目标是研究对复杂现代设备进行此类攻击的可行性。由于我们成功地证明了在处理固件更新时可以在设备上获得运行时控制,下一步是将我们从DJI获得的知识应用于另一个以前没有已知漏洞的模型。
为了在时间和预算限制内完成这项任务并创造可靠的利用率,必须改进以下几个要素:
-
硬件触发器:这可能是最能显著减少项目时间和复杂性的一个元素。正如本文中提到的,我们只使用了一种基于定时的触发器软件,这使得我们很难可靠地知道如何引发成功的故障。
为了实现所需的硬件触发器,有两种不同的途径可供探索:(i)找到一个LED或可用的PCB迹线,当固件更新正在处理时,我们可以从中检测级别变化,或者(ii)使用Riscure的ICWaves来识别与正在处理的固件升级包一致的电源签名。
-
集成:集成本报告中介绍的所有元素,以及硬件触发器和发送给无人机的固件包,因为它将用于实际的固件更新。
-
有效负载:创建一个可以轻松检查的有效负载,以确定故障是否成功。有不同的选择,但最明显的选择之一是启用ADB,这样我们就可以从发起攻击的主机检查USB连接是否处于活动状态。
缓解措施
越来越多的已发表研究表明,应用EMFI来缓解目标系统的结果很有希望。这开启了当前和未来产品潜在弱点攻击的新局面。
IOActive建议产品开发人员在其产品中实施EMFI对策,通过实施硬件和软件对策来减轻这些攻击。硬件对策在防止EMFI攻击方面非常有效,但可能成本高昂,必须在早期设计阶段进行规划。另一方面,软件对策可以在开发的最后阶段添加,但在减轻某些攻击方面可能效果较差。关于实施EMFI对策的信息可在学术论文、会议演示和博客文章中公开获取。
我们还建议使用IOActive等第三方实验室评估EMFI对策的有效性。
附录A:附加信息
本附录旨在提供有关简介的更多信息,并提供本文中使用的图表和方程式的词汇表。
关于IOActive
IOActive是全球1000家企业值得信赖的合作伙伴,为所有行业提供研究驱动的安全服务。我们的尖端安全团队提供高度专业化的技术和程序服务,包括全栈渗透测试、程序效能评估和硬件黑客攻击。IOActive为每一次参与都带来了独特的攻击者视角,以最大限度地提高安全投资,并提高我们客户的安全态势和运营弹性。IOActive成立于1998年,总部位于西雅图,拥有全球业务。
IOActive Labs研究博客:http://blog.ioactive.com
关于作者
作为IOActive的硬件安全总监和漏洞研究员,Gabriel Gonzalez已经完成了逆向工程、代码审查以及集成硬件和软件渗透测试领域的数百个项目。他的主要关注点是硬件和嵌入式系统技术,在低级攻击向量、故障注入和侧通道分析方面拥有专业知识。Gabriel在汽车、航空电子、智能电网/公用事业、卫星通信、银行设备、物联网等领域进行了研究。
Gabriel积极参与安全研究社区,并在Black Hat Europe等大型会议上介绍了许多原创网络安全研究项目。
附录B:JAVA代码
下面的Java代码接受输入参数,如重复和坐标,并启动目标二进制
附录C:FIPY控制器代码
以下Python脚本管理与目标设备的交互,要求Spider工具触发故障,并存储结果。
[1] https://security.dji.com/data/resources/
[2] https://www.dji.com/mavic
[3] https://github.com/CunningLogic/DUMLRacer
[4] https://www.ambarella.com/
[5] https://www.riscure.com/security-tools/
[6]来源: https://github.com/o-gs/dji-firmware-tools/wiki/WM220-Core-Board-A
[7] 来源: DJI Security White Paper: https://security.dji.com/data/resources/
[8] https://www.riscure.com/publication/controlling-pc-arm-using-fault-injection/
原文始发于微信公众号(老烦的草根安全观):无人机安全和故障注入攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论