DroneXtract:一款针对无人机的网络安全数字取证工具

embedded/2025/2/3 19:58:22/

关于DroneXtract

DroneXtract是一款使用 Golang 开发的适用于DJI无人机的综合数字取证套件,该工具可用于分析无人机传感器值和遥测数据、可视化无人机飞行地图、审计威胁活动以及提取多种文件格式中的相关数据。

功能介绍

DroneXtract 具有四个用于无人机取证和审计的主要模块。它们包括:

DJI文件解析模块

该模块可以从DJI文件格式中可视化地提取信息,例如CSV、KML和GPX等。输入输出文件路径后,解析的信息可以保存为其他文件格式。下图包含解析文件输出的示例以及从文件中提取的数据类型:

隐写模块

隐写模块可以处理泄露存储在文件中的信息,该模块允许我们从图像和视频格式中提取遥测数据和有价值的数据。此外,提取的数据可以导出为四种不同的文件格式:

遥测可视化模块

遥测可视化套件包含飞行路径映射生成器和遥测图形可视化工具。飞行路径映射生成器会创建一张地图图像,显示无人机在途中经过的位置和所走的路径。遥测图形可视化工具会为每个相关遥测或传感器值绘制一张图形,用于审计目的:

飞行和完整性分析模块

飞行和完整性分析工具会遍历无人机在飞行过程中记录的所有遥测值。收集到这些值后,它会计算该值所假设的最大方差并检查是否存在可疑的数据缺口。此模块可用于检查是否存在异常数据或可能发生的任何文件损坏:

工具要求

Golang

工具安装

由于该工具基于Go开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/ANG13T/DroneXtract.git

然后切换到项目目录中,使用go命令和源码完成工具构建:

$ cd DroneXtract$ export GO111MODULE=on$ go get ./...$ go run main.go

Airdata使用

为了解析 DJI 飞行 .TXT 日志,请使用Airdata 的飞行数据分析工具:

1、Airdata CSV 输出文件可用于 CSV 解析器、飞行路径图和遥测可视化;

2、Airdata KML 输出文件可用于 KML 解析器;

3、Airdata GPX 输出文件可用于 GPX 解析器;

工具配置

DroneXtract 中使用了一组环境变量。为了根据您特定的无人机/调查场景定制值,您可以转到.env文件并调整以下值:

1、TELEMETRY_VIS_DOWNSAMPLE用于遥测可视化的值的下采样数;

2、FLIGHT_MAP_DOWNSAMPLE用于飞行路径映射的值的下采样数;

3、ANALYSIS_DOWNSAMPLE用于完整性分析的值的下采样数;

4、ANALYSIS_MAX_VARIANCE分析值的最大值和最小值之间允许的最大方差;

工具测试

$ cd steganography$ go test

工具运行截图

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

DroneXtract:【GitHub传送门】

参考资料

https://app.airdata.com/main?a=upload

https://medium.com/@angelinatsuboi/a-comprehensive-guide-to-digital-forensics-with-dji-drones-fd7ef5af2891


http://www.ppmy.cn/embedded/159255.html

相关文章

FPGA实现光纤通信(3)——光纤8b/10b编码数据回环

前言 光纤通信属于高速串行通信,具有较高的数据传输速率,通常用于服务器以及通信设备之间用于高速数据交换,对于xilinx 7系列的FPGA,内部具有集成的高速接口用于实现光纤通信。本次就来实现8b/10b编码数据回环。 测试环境:vivado版本:2020.02 FPGA芯片:XC7K70T 测试说…

【机器学习理论】朴素贝叶斯网络

基础知识: 先验概率:对某个事件发生的概率的估计。可以是基于历史数据的估计,可以由专家知识得出等等。一般是单独事件概率。 后验概率:指某件事已经发生,计算事情发生是由某个因素引起的概率。一般是一个条件概率。 …

TB6600和DM542C两种常见的步进电机驱动器

TB6600和DM542C是两种常见的步进电机驱动器,适用于控制步进电机的运动。以下是它们的主要特点和区别: TB6600 电流调节:支持0.5A-4.5A的输出电流,适合中小型步进电机。电压范围:9V-42V DC。细分设置:支持…

OpenCV:闭运算

目录 1. 简述 2. 用膨胀和腐蚀实现闭运算 2.1 代码示例 2.2 运行结果 3. 闭运算接口 3.1 参数详解 3.2 代码示例 3.3 运行结果 4. 闭运算的应用场景 5. 注意事项 相关阅读 OpenCV:图像的腐蚀与膨胀-CSDN博客 OpenCV:开运算-CSDN博客 1. 简述…

基于PyQt5打造的实用工具——PDF文件加图片水印,可调大小位置,可批量处理!

01 项目简介 (1)项目背景 随着PDF文件在信息交流中的广泛应用,用户对图片水印的添加提出了更高要求,既要美观,又需高效处理批量文件。现有工具难以实现精确调整和快速批量操作,操作繁琐且效果不理想。本项…

机器人介绍

以下是关于机器人的介绍: 定义 机器人是一种能够自动执行任务的机器系统,它集成了机电、机构学、材料学及仿生学等多个学科技术,可以接受人类指挥,运行预先编排的程序,或根据人工智能技术制定的原则纲领行动&#xf…

JAVA 接口、抽象类的关系和用处 详细解析

接口 - Java教程 - 廖雪峰的官方网站 一个 抽象类 如果实现了一个接口,可以只选择实现接口中的 部分方法(所有的方法都要有,可以一部分已经写具体,另一部分继续保留抽象),原因在于: 抽象类本身…

第21节课:前端构建工具—自动化与模块化的利器

目录 前端构建工具的重要性任务运行器:Gulp与GruntGulpGulp的工作原理安装与使用Gulp GruntGrunt的工作原理安装与使用Grunt 模块打包器:WebpackWebpack简介Webpack的工作原理安装与使用Webpack 实践:使用Gulp和Webpack构建前端项目示例&…