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

关于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959998.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用Python和PyQt5打造一个股票涨幅统计工具

在当今的金融市场中,股票数据的实时获取和分析是投资者和金融从业者的核心需求之一。无论是个人投资者还是专业机构,都需要一个高效的工具来帮助他们快速获取股票数据并进行分析。本文将带你一步步用Python和PyQt5打造一个股票涨幅统计工具,不…

大模型正确调用方式

1、ollama 安装 curl -fsSL https://ollama.com/install.sh | sh 如果是AutoDl服务器,可以开启学术加速。 source /etc/network_turbo 本次使用腾讯云Cloud Studio,所以已经安装好了 Ollama 2、启动 ollama run 模型的名字 ollama serve # 开启服务 olla…

计算机网络 (62)移动通信的展望

一、技术发展趋势 6G技术的崛起 内生智能:6G将强调自适应网络架构,通过AI驱动的智能算法提升通信能力。例如,基于生成式AI的6G内生智能架构将成为重要研究方向,实现低延迟、高效率的智能通信。信息编码与调制技术:新型…

KVM/ARM——基于ARM虚拟化扩展的VMM

1. 前言 ARM架构为了支持虚拟化做了些扩展,称为虚拟化扩展(Virtualization Extensions)。原先为VT-x创建的KVM(Linux-based Kernel Virtual Machine)适配了ARM体系结构,引入了KVM/ARM (the Linux ARM hypervisor)。KVM/ARM没有在hypervisor中引入复杂的…

python:taichi 模拟一维波场

在 Taichi 中模拟一维波场,通常是利用 Taichi 编程语言的特性来对一维空间中的波动现象进行数值模拟,以下是相关介绍: 原理基础 波动方程:一维波动方程的一般形式为 ,其中 u(x,t) 表示在位置x 和时间t 处的波的状态&…

LeetCode - Google 大模型校招10题 第1天 Attention 汇总 (3题)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145368666 GroupQueryAttention(分组查询注意力机制) 和 KVCache(键值缓存) 是大语言模型中的常见架构,GroupQueryAttention 是注意力…

视觉语言模型 (VLMs):跨模态智能的探索

文章目录 一. VLMs 的重要性与挑战:连接视觉与语言的桥梁 🌉二. VLMs 的核心训练范式:四种主流策略 🗺️1. 对比训练 (Contrastive Training):拉近正例,推远负例 ⚖️2. 掩码方法 (Masking):重构…

java8-日期时间Api

目录 LocalDate更新时间LocalTimeLocalDateTimeInstantPeriod Duration格式化、解析日期-时间对象时区 java.util.Date java.util.Calendar 不支持时区 线程不安全 月份从0起线程不安全,只有包裹在ThreadLocal中才安全 java.text.DateFormat java.text.SimpleDateFo…

深度学习 Pytorch 动态计算图与梯度下降入门

在上节末尾我们发现autograd.grad函数可以灵活进行函数某一点的导数和偏导数的运算,但微分运算只是AutoGrad模块中的一小部分功能,本节将继续讲解这个模块的其他常用功能,并在此基础上介绍另一个常用优化算法:梯度下降算法。 imp…

FreeRtos的使用教程

定义: RTOS实时操作系统, (Real Time Operating System), 指的是当外界事件发生时, 能够有够快的响应速度,调度一切可利用的资源, 控制实时任务协调一致的运行。 特点: 支持多任务管理, 处理多个事件, 实现更复杂的逻辑。 与计算…

大话特征工程:1.维数灾难与特征轮回

一、维度深渊 公元 2147 年,人类文明进入了数据驱动的超级智能时代。从金融到医疗,从教育到娱乐,所有决策都仰赖“全维计算网络”(高维特征空间)。这套系统将全球所有信息抽象成数以亿计的多维特征&#xff08…

从ai产品推荐到利用cursor快速掌握一个开源项目再到langchain手搓一个Text2Sql agent

目录 0. 经验分享:产品推荐 1. 经验分享:提示词优化 2. 经验分享:使用cursor 阅读一篇文章 3. 经验分享:使用cursor 阅读一个完全陌生的开源项目 4. 经验分享:手搓一个text2sql agent (使用langchain l…

《STL基础之hashtable》

【hashtable导读】STL为大家提供了丰富的容器,hashtable也是值得大家学习和掌握的基础容器,而且面试官经常会把它和hashmap混在一起,让同学们做下区分。因此关于hashtable的一些特性,比如:底层的数据结构、插入、查找元…

本地大模型编程实战(02)语义检索(2)

文章目录 准备按批次嵌入加载csv文件,分割文档并嵌入测试嵌入效果总结代码 上一篇文章: 本地大模型编程实战(02)语义检索(1) 详细介绍了如何使用 langchain 实现语义检索,为了演示方便,使用的是 langchain 提供的内存数据库。 在实…

猿人学第一题 js混淆源码乱码

首先检查刷新网络可知,m参数被加密,这是一个ajax请求 那么我们直接去定位该路径 定位成功 观察堆栈之后可以分析出来这应该是一个混淆,我们放到解码平台去还原一下 window["url"] "/api/match/1";request function…

Dev-C++分辨率低-解决办法

目录 【工具】Dev-C分辨率低-解决办法问题背景完整操作指南第一步:打开属性设置 【工具】Dev-C分辨率低-解决办法 问题背景 Dev-C因版本老旧(长期未更新),在高分辨率显示器上存在界面模糊问题。通过修改Windows兼容性设置可优化…

Linux 小火车

1.添加epel软件源 2.安装sl 3. 安装完成后输入: sl

iic、spi以及uart

何为总线? 连接多个部件的信息传输线,是部件共享的传输介质 总线的作用? 实现数据传输,即模块之间的通信 总线如何分类? 根据总线连接的外设属于内部外设还是外部外设将总线可以分为片内总线和片外总线 可分为数…

Linux_线程控制

线程控制的相关接口 进程创建相关 之前我们已经认识到了pthread_create函数用来创建线程&#xff0c;这里不再赘述。 pthread_self函数 void* routine(void* args) {std::cout << "我是新线程..." << pthread_self() << std::endl;return null…

利用双指针一次遍历实现”找到“并”删除“单链表倒数第K个节点(力扣题目为例)

Problem: 19. 删除链表的倒数第 N 个结点 文章目录 题目描述思路复杂度Code 题目描述 思路 1.欲找到倒数第k个节点&#xff0c;即是找到正数的第n-k1、其中n为单链表中节点的个数个节点。 2.为实现只遍历一次单链表&#xff0c;我们先可以使一个指针p1指向链表头部再让其先走k步…