DJI_Tello_Control_System Cyber Attack Case Study [ Drone Firmware Attack and Detection ]

English 简体中文 繁体中文 Tiếng Việt
Summary

This case study demonstrates a practical cyber attack on an OT/IoT device, specifically an enhanced DJI Tello drone system designed for terrain matching. Attackers injected malicious firmware into the drone's contour map generation unit (CMGU) through a simulated supply chain compromise, causing it to produce noisy distance data that disrupted autonomous landing and led to a simulated crash. To counter this, the project implemented a Physics-based Attestation (PATT) algorithm, dynamically calculating and comparing firmware checksums to detect the unauthorized modification in real-time. This setup effectively illustrates both the vulnerability of critical control systems to firmware attacks and the efficacy of robust attestation mechanisms in preventing operational disruptions. The educational workshop emphasizes securing IoT supply chains and implementing proactive defense strategies.

项目设计目的:本次网络攻击案例研究的目的是开发一个研讨会,使用我们开发的地形匹配无人机系统和论文中介绍的动态固件认证算法PAtt: Physics-based Attestation of Control Systems,以实际演示 OT/IoT 设备固件攻击和相应的攻击检测机制。地形匹配无人机由一个 Arduino、四个距离传感器和一个 DJI Tello 不可编程无人机组成。攻击场景涉及红队攻击者将恶意代码注入无人机的地形轮廓生成单元固件中,扰乱无人机自动着陆过程,并导致模拟无人机坠毁。同时,该案例研究还展示了蓝队防御者如何利用 PATT 固件认证功能实时识别固件攻击,防止事故发生,并强调了在保护运营技术和物联网设备中强大的防御机制的重要性。

攻击者向量:固件攻击、恶意固件更新 (OT)、IoT 供应链攻击

重要提示:所演示的攻击案例仅用于不同级别的 IT-OT 网络安全 ICS 课程的教育和培训,请勿将其应用于任何真实世界的系统。

# Author:      Yuancheng Liu
# Created:     2022/12/20
# version:     v0.2.1
# Copyright:   Copyright (c) 2022 LiuYuancheng
# License:     MIT License 

介绍

本案例研究旨在开发一种智能无人机系统,能够模拟特定的工业 4.0 (I4.0) 无人机自动驾驶用例,包括自主跟踪路线、环境感知(地形匹配)、转移物品并为后续行动做出决策。目的是演示运营技术 (OT) 固件攻击对此类系统的潜在影响。该项目分为三个主要部分:

  • 攻击演示平台:利用 DJI Tello 地形匹配无人机系统作为基础平台,展示自动驾驶功能、潜在漏洞和攻击场景。

  • 固件攻击演示:重点演示针对无人机地面轮廓图生成单元的恶意固件更新攻击。此模拟将突出显示恶意入侵影响系统有效执行任务的能力的后果。

  • 攻击检测与防御:实施基于物理的固件认证 (PATT) 作为一种手段,说明强大的防御机制如何检测和减轻固件攻击的影响。本节强调了在工业 4.0 环境中保护无人机系统的主动安全措施的重要性。

 

DJI Tello 地形匹配无人机控制

在这个项目中,我们的目标是增强 DJI Tello 迷你无人机(本质上是不可编程的)的功能,以模拟工业无人机通常执行的动作,例如在工厂环境中遵循预定义的路线和运输物品。DJI Tello 无人机作为一个基本的不可编程模型,需要额外的功能来模拟更复杂的任务。为了实现这一目标,我们在无人机上集成了四个额外的超声波传感器,增强了其“检测”更复杂环境的能力。自动驾驶控制由连接的计算机上运行的主无人机控制程序执行。

DJI Tello 的底部传感器以及四个附加的距离传感器协同工作,生成无人机周围环境的综合“5 点”地面轮廓图。位于控制计算机上的主无人机控制器协调无人机的运动,以模拟自动驾驶动作并根据获取的轮廓图数据遵循预定义的路线。

DJI Tello 的底部传感器以及四个附加的距离传感器协同工作,生成无人机周围环境的综合“5 点”地面轮廓图。位于控制计算机上的主无人机控制器协调无人机的运动,以模拟自动驾驶动作并根据获取的轮廓图数据遵循预定义的路线。例如,如果目标是让无人机直线飞行,直到它检测到下面有一个类似于桌子的物体,然后继续降落在该桌子上(模拟将物品从一张桌子转移到另一张桌子),则无人机不断将轮廓图传输到控制程序。无人机控制程序分析接收到的轮廓矩阵,如果它与桌子的预定义特征相匹配,它将向无人机发出着陆命令。典型的地形匹配过程如下图所示:

备注:在本文件的程序设计部分,我们将提供 DJI Tello 无人机控制器程序的详细概述。这个全面的讨论将涵盖基本方面,包括无人机基本运动控制的复杂用法、轨迹编辑的功能、地面简单轮廓匹配过程以及无人机运动安全检查功能。此信息旨在为用户提供必要的见解和工具,以便为无人机规划和执行复杂的路线,确保无缝和安全的操作。

固件攻击演示

在这个恶意固件更新攻击场景中,红队攻击者的目标是运行在无人机 CMGU(轮廓图生成单元)上的固件程序。CMGU 对于飞行环境监控和地形匹配至关重要,它包括一个 ESP8266 Arduino、一个电池和四个 HC-SR04 超声波传感器。在攻击演示期间,红队攻击者利用了 IoT 供应链中的漏洞,向疏忽的无人机维护工程师发送了一封欺骗性的固件更新电子邮件,导致在轮廓图生成单元中安装了恶意固件。该攻击强调了保护 IoT 供应链以防止未经授权的固件更改和潜在的运营中断的关键重要性。攻击路径如下图所示:

流氓固件在手动无人机控制或遵循预定义路线时表现得不显眼。但是,当无人机启动自动驾驶模式进行地面轮廓匹配时,它会激活恶意功能。具体来说,固件会引入随机的“噪声”距离数据,故意扭曲地面轮廓信息的准确性。这种错误信息会误导无人机控制器,导致不正确的决策,从而导致无人机事故,例如坠毁。

详细演示视频:https://youtu.be/rRu1qrZohJY?si=g5fkKZf4Z8Osre6I

 

Arduino 固件认证

在本节中,我们将说明无人机操作员如何使用动态、实时的固件认证,不仅可以检测攻击,还可以防止涉及无人机的潜在事故。为了实现这一目标,我们采用了论文“PATT”(基于物理的控制系统认证)中概述的 PLC 固件认证算法的一部分,以验证是否发生了固件攻击。我们将遵循论文中介绍的“随机数存储和哈希计算”部分,以动态计算固件的汉明哈希,其中k=4,如下所示:

我们衷心感谢基于物理的控制系统认证论文的作者 Hamid Reza Ghaeini 博士和来自SUTD 的 Jianying Zhou 教授,感谢他们介绍了高效而强大的固件认证算法。

基于物理的控制系统认证论文链接:https://www.usenix.org/system/files/raid2019-ghaeini.pdf

 

攻击的关键策略、技术和程序 (TTP)

根据攻击演示部分介绍的详细攻击路线图,固件攻击场景中将包含两种主要的 TTP:

恶意固件开发
  • 策略:开发具有恶意功能的定制固件。

  • 技术:修改现有固件或创建包含后门、漏洞或其他恶意代码的新固件。

  • 程序:红队攻击者通过将恶意代码插入固件而不被检测到,修改了普通无人机的地形匹配单元的固件,确保它保持隐藏状态并且不会触发安全机制。

供应链破坏
  • 策略:在制造或分发过程中破坏无人机的固件。

  • 技术:渗透供应链以在无人机到达最终用户之前插入恶意固件。

  • 程序:红队攻击者构建了一个虚假的软件更新服务器网站,并通过欺骗性的无人机固件更新电子邮件将链接发送给无人机维护工程师,以引入并将受损固件注入供应链。该网站还将提供恶意固件的 MD5 值,供维护工程师验证未经授权的固件更新包。

 


背景知识

在本节中,我们旨在提供有关每个相应系统的基本、一般知识,并阐明与攻击向量相关的策略、技术和程序 (TTP)。这些基础信息将作为理解所涉及系统的复杂细节以及攻击场景中采用的方法的入门知识。

DJI Tello 无人机控制和地形匹配

在深入研究攻击的技术方面之前,有必要概述我们在案例中使用的平台 - DJI Tello 无人机地形匹配系统。

我们的目标是将传统的、不可编程的无人机转变为智能设备。为了实现这一目标,我们策略性地在 DJI Tello 无人机下方安装了四个 HC-SR04 超声波传感器,如下图所示。将这些传感器连接到 ESP8266 Arduino 的 GPIO 引脚(GPIO5-D1GPIO4-D2GPIO0-D3GPIO2-D4)使我们能够与传感器的数据正极 (+) 引脚连接。在 Arduino 上执行的轮廓图生成代码读取距离数据并每 0.5 秒执行一次平均。此过程确保创建无人机底部区域的稳定而准确的 4 点轮廓图。电池和 Arduino 连接在无人机的顶部,4 个传感器安装在无人机的底部,硬件设计和电线连接如下图所示:

我们还开发了一个 UI 控制程序,具有所有特洛伊木马飞行控制功能,例如垂直/水平移动、飞行姿态(横滚俯仰偏航)调整和轨迹路线。ESP8266 会将 4 点无人机底部区域轮廓图矩阵传输回控制程序,并且该数据与来自无人机底部高度传感器的读数无缝集成,以提高无人机地形匹配功能的精度和多功能性。控制程序 UI 和地形匹配逻辑如下图所示:

无人机控制器中的地形匹配模块会仔细检查生成的无人机底部区域轮廓图与其预先建立的轮廓图矩阵。如果差异低于预定义的阈值,则控制程序会识别出成功的“地形匹配”。在持续匹配 2 秒后,控制程序会启动无人机的预设飞行动作时间表或路线剧本的执行。这可能包括特定指令,例如指示无人机在识别的表面上执行着陆操作。

 

OT/IoT 固件攻击

固件攻击是指任何通过使用处理器软件中的后门进入您设备的恶意代码。后门是代码中的路径,允许某些个人绕过安全措施并进入系统。由于其高度复杂性,后门通常未被检测到,但如果被黑客利用,可能会导致严重的后果。

固件攻击的一个常见示例是未经授权的计算机或手机更新,导致恶意软件或其他形式的网络犯罪活动。这是因为许多更新都包含具有未记录的功能或功能的后门,这些后门可用于不利的操作,例如在不通知的情况下拦截数据和关闭核心功能;所有这些都仍然伪装成无辜的更新过程。

参考链接:https://netacea.com/glossary/firmware-attack/

在攻击演示过程中,红队攻击者的重点是地面轮廓生成单元的固件,如前一节所示。该攻击涉及将恶意代码注入到负责从距离传感器读取数据的固件部分,引入随机偏移以扭曲真实数据并扰乱地面轮廓生成过程。在攻击之前,无人机遵循预定义的飞行模式,直线飞行,直到它识别出另一个与其预先保存的地面轮廓相匹配的桌子(解释为安全的着陆位置),然后它继续着陆。但是,在固件攻击之后,被操纵的地面轮廓生成结果导致无人机将不安全的区域感知为匹配的轮廓。(如演示视频所示)

 

PAtt:基于物理的控制系统认证

PAtt 旨在对 PLC 上运行的逻辑代码进行远程固件认证,而无需传统的信任锚(例如 TPM 或 PUF)。对于 PAtt:基于物理的控制系统认证,请参阅 Hamid Reza Ghaeini 博士和 Jianying Zhou 教授的论文:https://www.usenix.org/system/files/raid2019-ghaeini.pdf

在我们的项目中,我们遵循论文中介绍的“随机数存储和哈希计算”的思想,以动态计算固件的汉明哈希,其中k=4,以验证在 ESP8266 Arduino 上运行的固件。

 


系统设计

在本节中,我们将概述系统的设计,该系统包含四个关键组件:

  • 无人机控制器主 UI 设计

  • 通信协议设计

  • 恶意代码和固件攻击的设计

  • PATT 固件认证的设计

 

无人机控制器 UI 设计

无人机控制器包含不同的功能面板,旨在使无人机操作员能够全面控制无人机的飞行。它有助于设置飞行路线、加载地形匹配配置文件以及监控轮廓生成单元数据。无人机控制器的主要线程启动三个并行子线程,每个子线程都专用于重要任务 - 与 Arduino 通信以进行数据检索和固件认证、读取 Tello-Drone 状态数据以及获取 Tello 的 UDP 视频流。同时,主线程管理 Tello 飞行控制。无人机控制器的用户界面具有六个主要面板,详细信息如下:

无人机控制 UI 包含 6 个不同的功能面板:

  • 无人机状态面板:此面板位于顶部,使无人机操作员能够选择无人机,检查关键信息,例如无人机连接状态、电池电量、地面轮廓生成单元连接状态、固件认证状态,并提供无人机前置摄像头的实时视图。

  • 无人机飞行控制面板:此面板专为手动飞行控制而设计,使无人机飞行员能够管理无人机的垂直和水平运动、调整横滚、俯仰和偏航、执行起飞和着陆操作以及打开和关闭摄像头。

  • 无人机自动驾驶控制面板:此面板专用于自动飞行操作,允许无人机操作员引导无人机沿预设路线以自动跟随模式飞行、编辑或加载轨迹配置文件、加载地形匹配配置文件以及可视化航点和自动操作详细信息。

  • 地面轮廓生成器信息面板:此面板显示来自所有无人机传感器和地面轮廓生成器单元的全面反馈数据,提供用于监控和分析的重要信息。

  • PATT 参数配置面板:此面板专为配置固件 PATT 哈希计算参数而设计,允许无人机操作员启动一轮认证过程。

  • PATT 结果显示面板:此面板提供认证过程的可视化表示,具有进度条。它还在认证过程完成后显示本地 PATT 哈希计算结果和无人机侧固件 PATT 哈希结果。

 

通信协议设计

无人机控制计算机通过两个不同的WIFI链路与无人机建立连接:

  • 无人机通信链路:无人机自主充当WIFI接入点(AP),从而可以通过WIFI直接连接到控制器,以实现无缝的无人机飞行控制。

  • 地面轮廓生成器链路:由配备WIFI模块(客户端)的ESP8266 Arduino提供支持,该链路连接到WIFI AP。 Arduino登录到WIFI路由器,而WIFI路由器又通过以太网电缆连接到控制计算机。 此设置建立了地面轮廓生成器和控制计算机之间进行数据交换的可靠链路。

通信链路如下图所示:

如上图所示,无人机控制器计算机和无人机之间有4个无线通道。 控制中心(计算机)将通过UDP与无人机通信,并通过TCP获取地面轮廓生成器的反馈数据。 通道详细信息如下所示:

通道名称 数据流 目标 协议 端口
地面轮廓生成器数据通道 从传感器获取地面轮廓矩阵数据 Arduino_IP (192.168.1.101) TCP 4000
无人机运动控制通道 发送无人机飞行控制命令并接收响应 Tello_Drone(192.168.10.1) UDP 8889
无人机传感器数据通道 获取无人机内置的底部高度传感器、飞行传感器、电池、陀螺仪数据 Tello_Drone(192.168.10.1) UDP 8890
无人机视频通道 无人机前置摄像头视频 Tello_Drone(192.168.10.1) UDP H264 video 11111

地面轮廓生成器固件认证通信与地面轮廓生成器数据通道共享同一通道。 因此,当认证过程启动时,地面轮廓生成功能会暂时停止数据传输,以允许该通道用于传输 PATT 数据。 这种同步可确保在认证阶段进行高效、协调的信息交换,而不会受到正在进行的数据传输的干扰。

 

该程序将通过TCP连接到Arduino,并通过UDP与无人机通信
Arduino 控制: Arduino_IP: 192.168.1.101, TCP_PORT: 4000 <<- ->> PC_IP: 192.168.1.100 TCP_PORT: 4000
无人机控制 (发送命令并接收响应): Tello_IP: 192.168.10.1 UDP_PORT:8889 <<- ->> PC/Mac/Mobile_IP: 192.168.10.xx UDP_PORT:8889
无人机控制 (接收 Tello 状态): Tello_IP: 192.168.10.1 UDP_PORT:8890 ->> PC/Mac/Mobile_ UDP_Server: 0.0.0.0, UDP PORT:8890
无人机控制 (接收 Tello 视频流) : Tello_IP: 192.168.10.1, UDP_PORT:11111->> PC/Mac/Mobile_UDP_Server: 0.0.0.0, UDP_PORT:11111

 

恶意代码设计和固件攻击

红队攻击者按照下面概述的步骤执行固件攻击:

攻击者首先从授权的固件服务器下载标准固件文件esp_client.ino.generic.bin

攻击者利用逆向工程工具反编译二进制文件,以提取固件的 C++ 源代码的一部分。

通过对代码进行全面分析,攻击者确定了用于距离计算的方法——利用传感器生成声音脉冲,测量发送脉冲和接收回波之间的时间间隔,然后将时间乘以声速并除以 2。 在全面了解底层逻辑后,红队攻击者将恶意代码引入固件,如下图所示:

在引入的恶意代码中,攻击者有策略地在脉冲前后插入随机延迟(范围从 0 到 300 微秒),从而导致回波时间不一致。 此外,将 -3 到 8 范围内的随机值添加到距离结果中,从而为最终测量值赋予可变偏移量,范围在 -30 厘米到 80 厘米之间。

随后,在合并了恶意更改后,攻击者会编译具有欺骗性的固件,并通过伪造的地面轮廓生成器单元固件更新电子邮件将其发送给无人机维护工程师。

收到固件后,维护工程师会继续将其加载到地面轮廓生成器单元上。 启动后,该单元会提供一些反馈数据。 由于工程师没有启动无人机起飞,因此距离数据表面上看起来是正常的,这导致他认为固件运行正常——没有意识到潜在的恶意更改。 发送回控制器的轮廓图的差异变得明显,如下图所示:

在无人机负责将物品从一张桌子转移到另一张桌子的操作任务期间,出现了一个严重的问题。 当无人机起飞时,其地面轮廓生成器单元会持续生成具有欺骗性的距离数据。 这种数据差异导致无人机做出不准确的着陆决策,从而导致意外着陆在地面上,或者在更严重的情况下,导致坠毁。

 

固件认证设计

为了验证固件,控制计算机端还将保留固件存储库,其中包含有效不同版本固件的副本,并模拟将固件加载到与Arduino相同的内存中。 详细的认证步骤概述如下:

  • 在固件认证开始时,控制器从 Arduino 获取固件版本和序列号。 控制程序利用此信息查询其数据库,以检索相应的正确固件、固件内存配置以及用于生成随机内存地址列表的函数。

  • 在收集到所需数据后,控制器会生成一个镜像目标内存的“孪生”内存映射,并将固件加载到此虚拟内存中。 完成这些准备工作后,将创建一个随机种子并将其传输到 Arduino。

  • 控制器和固件都采用相同的随机种子和用于生成随机内存地址列表的函数来创建相同的列表。 列表完成后,控制器和 Arduino 都会计算列表中每个地址的汉明距离 (Ham(a, b))。 假设列表中的地址是,例如,0x7FFF5FBFFD98,“a”表示从0x7FFF5FBFFD980x7FFF5FBFFD98+k的内容。 在计算出所有 Ham(a, b) 值后,将它们组合起来以获得单轮迭代的哈希值。 根据迭代参数设置,在完成所有迭代后,所有哈希值将组合在一起以生成最终的 PATT 校验和值。

  • Arduino 通过地面轮廓数据通道将计算出的 PATT 校验和发送回控制器。 如果收到的校验和与控制器的校验和匹配,则认为固件认证成功。 相比之下,两个校验和之间的任何差异都表示检测到固件攻击。

主要通信流程如下图所示(系统执行工作流程 UML 图):


程序设置

开发环境

Python 3.7.4, C++

需要的其他库
  1. wxPython 4.0.6(需要安装才能进行UI构建)> 链接

pip install -U wxPython
  1. OpenCV: opencv-python 4.1.1.26(需要安装才能进行 H264 视频流解码)> 链接

pip install opencv-python
需要的硬件

我们使用 DJI Tello Drone、ESP8266 Arduino 和 HC-SR04 超声波传感器来构建系统:

  • DJI Tello Drone:DJI tello 控制 SDK> 链接

  • ESP8266 Arduino:ESP8266 Arduino 开发文档> 链接

  • HC-SR04 超声波传感器:产品功能文档> 链接

 

程序文件列表
程序文件 执行环境 描述
esp_client.ino C(Arduino) 此模块将启动一个 TCP 客户端,以将 HC-SR04 超声波传感器的读数发送到服务器,并发送用于认证的固件校验和。
esp_client_attack.ino C(Arduino) 攻击固件:它具有与文件 相同的功能,但是如果我们编译此程序并将固件加载到 Arduino 中,则传感器反馈将被设置为一个固定数字。
telloGlobal.py python3.7.4 此模块用作本地配置文件,用于设置将在其他模块中使用的常量和全局参数。
TelloPanel.py python 3.7 此模块用于为 UAV 系统(无人机控制和传感器固件认证)创建控制和显示面板。
TelloRun.py python 3.7 此模块用于为 DJI Tello Drone 创建控制器,并连接到 Arduino_ESP8266 以获取高度传感器数据。
telloSensor.py python 3.7 此模块用于创建 TCP 通信服务器,以接收 Arduino_ESP8266 高度数据并执行 PATT 认证。
TrackPath.txt   编辑无人机飞行路径。

 


程序用法/执行

运行程序

按照“WIFI 连接图”部分将传感器和无人机连接到您的计算机。 然后通过以下命令在src文件夹下执行程序 telloRun.py:

python telloRun.py

程序初始化完成后,以下消息将显示在您的终端中:

"程序初始化完成。"

然后,主 UI 将如下图所示:

加载地面矩阵文件

要激活地形匹配功能,无人机操作员需要在启动 UI 后将配置文件的Terrain Matching Flag更改为True,加载按钮才会显示出来。 然后按“loadCont”按钮,将弹出计数文件选择对话框,如下图所示:

然后选择您希望无人机在跟踪路线期间匹配的轮廓 JSON 文件,下面显示了一个简单的轮廓示例:

{
"sensorLF" : [1.33, 1.23] # 无人机左前传感器读数
"sensorLB" : [1.33, 1.24] # 无人机左后传感器读数
"sensorMD" : [1.12, 1.20] # 无人机中间高度传感器读数
"sensorRF" : [1.33, 1.23] # 无人机右前传感器读数
"sensorRB" : [1.33, 1.24] # 无人机右后传感器读数
"threshold" : 0.15 # 匹配阈值
"matchingT" : 2 # 触发匹配的时间(秒)
"tackID" : "trackLanding" # 地形匹配后要执行的轨迹。
}

 

无人机控制和 PATT 固件认证

无人机操作员可以在无人机飞行期间进行固件认证,但我们建议无人机操作员在无人机起飞前进行认证。 执行一次认证的详细步骤如下所示:

  1. 单击标题行下的“UAV Connect”按钮,然后选择无人机 WIFI AP,如果无人机响应正确,则 UI 中的“无人机状态”指示器将变为绿色,并且该指示器将显示“UAV_Online”。

  2. 传感器将自动连接到程序。 当 ESP8266 Arduino 连接到程序时,传感器指示器将变为绿色并显示“SEN_Online”。

  3. 按下“Takeoff and Cam Ctrl”下的白色“Camera”按钮将打开无人机的前置摄像头。

  4. 最新的电池读数将显示在前置摄像头视图面板的左上角,无人机的高度将显示在最低天际线水平指示器的右侧。 标题栏中显示的电池读数是过去 10 秒内的平均读数。

  5. 无人机轨迹路径规划:

    • 添加轨迹:打开轨迹记录文件“TrackPath.txt”(在src文件夹下),然后通过以下格式添加轨迹:

TrackName;action 1;action x;action x;action x;action x;action x;land(示例:Track1;takeoff;command;up 30;ccw 30;up 30;ccw 30;up 30;land

 > 如果您没有设置 land cmd,程序将自动添加 land cmd。 对于动作设置部分,请查看 doc 文件夹下的 Tello SDK Documentation EN_1.3_1122.pdf 中的详细无人机控制协议)
  • 在下拉菜单中选择轨迹,然后单击“Active track”按钮,所选轨迹将由无人机执行。 当前执行的动作将标记为绿色。

  1. 传感器固件认证控制:

    • 填写您想要执行的认证次数和内存块大小,然后按“startPatt”按钮。 将显示并比较本地固件和传感器固件。 认证结果和用于认证过程的总时间将如下图所示(认证过程将花费大约 8 秒 ~ 10 秒):

    • 每个认证结果都将以以下格式记录在“checkSumRecord.txt”(源文件夹)中:

      如上例所示,在运行认证后,PATT 校验和记录是不同的,如下图所示:

      本地:1400A0C126221302030000340C21865C1014050020C0313FBEE0CD0C0B073110FF0C02C174033F4010101C910C38FF7EFFEE0D210D012921020CE00E020012F0

      远程:1400A0C126221302030000340C21865C1014050020C0313FBEE0CD0C0B073110FF0C02C174033F4010101C910C38FF7EFFEE0D210D012921020CE00E020012F0

    • 这意味着无人机上运行的固件与我们控制固件存储库数据库中的固件不同(认证指示器将显示红色,并带有字样“Sen_att: unsafe”),无人机正在使用未经授权的固件,检测到固件攻击。 无人机可以停止任务以避免无人机事故。

  1. 按下标题栏下的“>>”按钮,无人机详细状态信息显示窗口将弹出在右侧。


问题和解决方案

不适用


参考资料

PATT 固件认证:

https://www.usenix.org/system/files/raid2019-ghaeini.pdf

Thanks for reading, if you have any question and suggestion, please feel free to message me. Many thanks if you can give some comments and share any of the improvement advice so we can make our work better ~

如果您对铁路系统上的其他 OT 攻击案例研究也感兴趣,请参考以下链接:

  1. 案例研究 1:虚假数据/命令注入攻击
  2. 案例研究 2:OT 网络 ARP 欺骗攻击
  3. 案例研究 3:Modbus 通道上的 DDoS 攻击
  4. 案例研究 4:HMI-PLC 控制链上的中间人攻击

Last edit by LiuYuancheng([email protected]) at 03/01/2024, , if you have any problem please free to message me.

 

  RELATED

No related programming articles found. Browse all programming tutorials and articles.

  COMMENTS

0

No comment for this article.