文章总结: 本文介绍了使用AI安全分析系统deepsec对某主流消费级无人机进行实战化安全测试的过程与结果。deepsec在2小时内识别出多个传统人工审计难以覆盖的漏洞,包括核心系统服务中的堆溢出等内存及逻辑安全问题。借助这些漏洞,攻击者最终实现了对无人机旋翼电机、指示灯、电子围栏等底层功能的完全控制。文章指出,AI自动化攻击正在颠覆传统安全假设,无人机等成熟系统的防御体系面临新的挑战。 综合评分: 86 文章分类: 渗透测试,漏洞分析,红队,IoT安全,AI安全
deepsec 攻防实录|AI 黑客如何突破无人机安全边界?
原创
deepsec deepsec
DARKNAVY
2026年7月14日 15:15 上海
在小说阅读器读本章
去阅读
低空安全领域,主流无人机的防御体系已相当成熟。在严密的人工审计下,市面主流机型已连续三年未公开披露远程代码执行级漏洞。
然而,安全的终点永远在动态演进。2026年4月,Anthropic 发布 Mythos Preview:AI 已能自动发现真实漏洞并构建攻击链,把过去依赖顶级黑客数周完成的工作,压缩为可复制的工业化流程;美国网络司令部也已公开表示正利用 AI 增强漏洞利用等能力。
当攻防范式正向 AI 自动化迁移,无人机安全同样面临新的审视。我们不禁好奇:人工审计下的成熟防线,遇上新兴的 AI 安全分析,会碰撞出怎样的结果?
为此,我们使用基于国产开源大模型自研的 AI 安全分析系统 deepsec,对某主流消费级无人机进行了一次实战化检验,发现了多个传统人工审计难以覆盖的漏洞,最终实现了对旋翼电机、指示灯、电子围栏等系统底层功能的完全控制(演示视频见文末)。
当黑客在 AI 加持下无差别自动化攻击时,每个行业的固有安全假设都随时可能被颠覆。本次实验也绝非否定无人机厂商已有的防御成果,而是希望通过这次前瞻性测试,提供一个正视 AI 威胁的参照。
无人机架构拆解与攻击面分析
无人机系统架构(由 deepsec 自动化探索梳理)
无人机本体的核心架构由负责媒体与应用的 eagle2、负责飞控与感知的 e1e、若干协处理器与 MCU、以及外围设备,例如 sdcard、电源等组件构成。
其中,eagle2 与 e1e 均采用 AMP 架构:Cortex-A 主核分别运行裁剪版 Android 9 与 Android 6;eagle2 实时核运行云台控制协处理器与 SCP 管理协处理器;e1e 实时核运行飞控协处理器 FMU。主核与协处理器之间通过 ICC 核间通信信道传递 DUML 包,形成 SoC 内部的控制消息通道。
两颗 SoC 间通信则主要依赖 RNDIS(IP-over-USB,192.168.100.0/24)承载 IP 网络服务;以及 USB-Bulk DUML 消息。
外围 MCU 则通过不同总线接入控制体系:eagle2 通过基于串口的 DUML 链路与镜头 / 云台 MCU、系统电源管理 MCU 通信;电机控制 ESC MCU 与 BMS MCU 则直接与飞控协处理器 FMU 通过 FMU 总线进行通信。
无人机本体主要对外暴露3类攻击面:
- 手机侧可通过蓝牙信道向
eagle2发送 DUML 消息,开启机身 Soft AP。eagle2通过 Soft AP 对外暴露 80 端口 Web 服务与 FTP 服务,承载固件更新包上传、设备日志下载等服务; - 机身 USB 接口 则直接暴露 USB-bulk 信道下的 DUML 消息发送路径;
- 遥控器通过私有OcuSync 协议与 Pigeon 图传 SoC 通信,形成独立于蓝牙、Soft AP与 USB 的远程图传 / 控制链路。
这三类入口分别覆盖近场无线通信、有线 USB 与私有无线通信,也共同构成了无人机从移动端接入、运维服务到远程控制的主要外部攻击面。
防御机制:root之外还有边界
成熟的系统不会只依赖单点防护。该无人机的安全体系同样如此。
-
在用户态防护层面,厂商基于裁剪版 Native Android 部署了自定义 SELinux 策略。新增 28 个 SELinux domain,并配套
service_exec、sec_exec等自定义 SELinux context,用于约束系统服务、特权组件与普通 Android 域之间的访问边界。例如,
shell等 SELinux domain 被禁止直接访问内核 ICC 通道,进而保护用户态进程触达无人机控制消息通道。即使攻击者获取 Android root,由于系统还对security:setenforce权限进行了隔离,也无法简单通过setenforce 0关闭 SELinux,限制了攻击者获取 root 权限后的能力。 -
固件保护则由 IMaH v2 签名容器、TBIE-AES 固件加密与安全启动签名校验共同完成。各子系统固件被统一封装进 IMaH v2 容器,并使用 TBIE-AES 密钥加密固件明文;设备启动阶段,SoC 基于 RSA-PRAK 体系完成签名校验,确保固件在下发、存储、解密与启动执行链路中保持机密性与完整性。
-
禁飞区及限飞限高约束则是建立了完善的纵深防御,由
e1e的用户态、TEE、飞控共同对电子围栏进行限制。
电子围栏校验的纵深防御架构
系统通过 nfz.bin 维护电子围栏数据库,并使用 Android 用户态与 TEE 可信执行环境实现双重检查。在 e1e Android 侧,SaNfzMapManager 系统服务会基于当前位置与 nfz.bin 数据库判断当前位置是否位于 zone 内,并通过 SaFlyLimit 下发飞行限制策略;在 TEE 侧,NFZ TA 独立完成禁飞区判定,避免禁飞逻辑完全依赖 Android 用户态结果。最终的飞行限制策略由 FMU 在飞行过程中执行。
同时,NFZ TA 还负责处理由云端 / App 下发的 NFZ 解锁授权。其会使用安全存储中的 HMAC 密钥,对授权包执行 HMAC-SHA256 验签与序列号检查;只有当 license 校验通过时,对应禁飞限制才会被解除。
如此一来,通过将 NFZ 数据判定、解锁授权校验与关键密钥保护从 Android 用户态中剥离出来,即使 e1e 上的 Android 系统被攻击者攻破,也难以直接伪造授权包、篡改解锁状态或绕过禁飞区约束。
DUML 可达性分析:一条消息如何穿过整机?
DUML 是贯穿整机命令面的顶层协议,各模块通过 DUML 跨传输层通信,底层承载可以是 USB Bulk、Wi-Fi,也可以是蓝牙。
从结构看,DUML 帧由带 CRC8 自校验的消息头、源节点地址、目标节点地址、cmd_set/cmd_id 命令选择子、可变长度载荷以及帧尾 CRC16 构成。
DUML帧格式
系统服务启动时,会结合 /system/etc/ 下 DUML 路由表所分配的监听地址和当前系统状态,动态注册各模块命令表,决定 DUML 消息可触达的命令集合。
mp_state = pro_state(); // 读 /proc/cmdline 的 mp_stateif ((mp_state | 1) == 0xF1) // v4 ∈ {0xF0 ENG, 0xF1 Factory} auth_flag = 255; else if (!system("cat /proc/cmdline | grep androidboot.secure_debug=1")) // secure_debug=1 auth_flag = 255; else auth_flag = 253;
if auth_flag == 253 // 1) 拿到监听地址 duss_mb_create_route_table(cfg, "amt_service", "AMT", &host_id, …); // 2.a) 注册受限制命令表 duss_event_create_client(route_table, host_id, &RESTRICTED_TABLE,...);else duss_mb_create_route_table(cfg, "amt_service", "AMT", &host_id, …); // 2.a) 注册完整权限命令表 duss_event_create_client(route_table, host_id, &FULL_TABLE,...);
amt_service 依据系统状态注册不同权限命令表
基于 DUML 路由表,来自 /bulk/pc 的外部 DUML 请求可经特定系统服务分发至 eagle2 SoC 上的系统服务,也可通过板间通信继续转发至 e1e SoC 及其他协处理器、MCU 模块。USB 入口由此从单一端点扩展为跨 SoC、跨模块、跨通信域的复杂攻击面。
DUML 路由表规模庞大,响应代码分布在不同芯片与服务进程中
过去人工审计依赖安全研究员对复杂架构的理解、逆向分析与动态测试,需要消耗长达数周、甚至数月的时间才能完成如此复杂系统的梳理。
当定制化 Agent 接管跨模块分析
而在我们 AI 安全分析系统 deepsec 的分析过程中,由于配置了面向复杂嵌入式系统的自动化跨模块探索与语义分析,这一过程被显著压缩。deepsec 在多个通信组件中,识别出多类内存及逻辑安全问题。
deepsec在两小时内识别出无人机多类内存及逻辑漏洞
其中一类典型问题出现在核心系统服务的消息处理路径中。该类问题的共性在于:消息结构中的长度字段与实际缓冲区操作之间存在不一致,导致在特定条件下可能触发越界写入。这类问题在复杂协议解析与多层封装场景中较为隐蔽,人工审计往往需要逐条路径深入跟踪才能发现。
以 deepsec 发现的一处典型漏洞为例,在处理缓冲区时,错误地混用了未经校验的用户可控字段作为拷贝长度,导致允许长度可控的堆溢出。
heapbuffer = (char *)calloc(input->length1 + 2, 1);// ...*(_WORD *)heapbuffer = input->length2 & 0xFFF;strncpy(heapbuffer + 2, payload, input->length2 & 0xFFF);
导致堆溢出的代码模式示意
另外,deepsec 在其他芯片及协处理器的固件中,发现了多个内存破坏及逻辑漏洞。借助发现的漏洞,我们最终实现了对该设备的完全控制,并绕过了该设备的电子围栏。
已关注
关注
重播 分享 赞
关闭
观看更多
更多
退出全屏
切换到竖屏全屏退出全屏
DARKNAVY已关注
分享视频
,时长01:15
0/0
00:00/01:15
切换到横屏模式
继续播放
[ ]
进度条,百分之0
播放
00:00
/
01:15
01:15
倍速
全屏
倍速播放中
0.5倍 0.75倍 1.0倍 1.5倍 2.0倍
超清 流畅
继续观看
deepsec 攻防实录|AI 黑客如何突破无人机安全边界?
观看更多
原创
,
deepsec 攻防实录|AI 黑客如何突破无人机安全边界?
DARKNAVY已关注
分享点赞在看
已同步到看一看写下你的评论
视频详情
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:DARKNAVY deepsec deepsec《deepsec 攻防实录|AI 黑客如何突破无人机安全边界?》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论