网易首页 > 网易号 > 正文 申请入驻

探索:大疆Spark无人机劫持分析

0
分享至

大疆无人机曾一度成为黑客论坛的焦点。他们讨论的主要是如何解除无人机的一些限制,将无人机的控制信道设置为更高的频率,移除飞行高度的限制等。很多资料都备份在github上,地址:https://github.com/MAVProxyUser/P0VsRedHerring,有兴趣的同学可以查看。

DJI Spark是2017年发布的一款无人机,而且技术相对成熟。但是,在一些性能方面上不及其他机型,比如续航只有16分钟,与Phantom 4和Mavic相比,Spark的价格也相对便宜,只有499美元。

Spark的核心是Leadcore LC1860C ARMv7-一个运行Android 4.4系统的CPU,升级更新的文件扩展为.sig。升级更新的文件是用RSA-SHA256签名的,这些升级的文件中有些部分是有AES算法加密的。一些黑客和网络安全爱好者已经发现了文件的格式,并获取了AES密钥,任何人都可以用一些工具来从升级的文件中提取数据并解密。在无人机的固件中,有一些本地应用来确保设备的正常运行。

DJI Spark的外部接口集如下:

· USB接口,连接PC;

· Flash连接器,用于内存扩展;

· 通过DJI GO 4智能手机应用连接2.4 GHz Wi-Fi来控制设备;

· 2.412-2.462 GHz的无线连接来远程控制和管理设备。

为了能够通过桌面端操作无人机,DJI设计了DJI助手2应用程序。应用对通过USB接口连接到计算机的设备进行操作,更新固件,改变wi-fi网络设定等。在浏览了黑客论坛的材料后,研究人员发现了一个脚本文件websocket_tool.py, 这是一个无人机能达到的最大高度的脚本。通过一个到web-socket服务器的请求,一个新的高度参数被写入。而该web-socket服务器是通过DJI助手2应用启动的。该应用有两个接口:

· 图像UI;

· web-socket接口。

从一个可信的计算机感染无人机系统是一种容易且可信的方式。所以就有了不同的恶意软件允许攻击者通过感染连接到PC的手机来感染无人机。所以呢,攻击者也可能用应用接口将恶意目的变为现实。所以,研究人员决定检查这个场景并且深入分析web-socket服务器接口。

研究人员启动了最新的DJI Assistant 2 1.1.6版本,并连接到开机的DJI Spark(固件版本V01.00.0600)。然后访问web-socket服务器,可以用wsdump.py工具来操作web socket。

服务器响应说明在URL ws://victim:19870/上没有服务。通过web_socket_tool.py脚本,研究人员发现一个有效的URL -/general

很明显服务器需要授权才能工作,但响应消息是加密的,也就是说该接口从设计上就是给DJI软件使用的,而不是给普通用户。有一个问题就是传递了什么内容?可以看一下服务器和客户端的消息是如何加密的。在分析过程中,研究人员发现早期的DJI Assistant 2版本与服务器的通信是明文的。从1.1.6版本开始加入了加密机制,所以论坛中一些资料中的脚本是没有加密的。

首先,检查加密的文本特征。加密的文本中每次应用程序重新运行的时候都是系统的,而且无人机重启是不影响这些文件的。在Mac的电脑上运行应用也是同样的结果。这就可以得出一个结论,加密密钥是不依赖于会话和使用的操作系统的。所以,研究人员推测密钥是硬编码的。

然后,尝试寻找硬编码的密钥。Web-socket服务器的代码是保存在DJIWebSocketServer.dll库中。在可以寻找加密算法签名的工具的帮助下,研究人员成功找出了加密的算法AES,并定位了加密的过程。

加密的模式可以根据AES的特征来判断,唯一需要做的就是比较反编译的源码和Github的开源代码。通过比较发现使用的CBC模式。通过交叉分析,研究人员发现了加密密钥的初始化过程。

加密密钥确实是硬编码的,而且是32字节的字符串。一共有两个,第一个是用来向服务器发出请求的,另一个用来响应。现在就有了与web-socket服务器通信所必须的源数据。

现在需要做的就是将传输的数据加密/解密到wsdump.py脚本中,就可以获取应用揭秘的数据了。研究人员对该脚本进行了修改,存放在github上,地址https://github.com/embedi/dji-ws-tools/blob/master/dji_wsdump.py。

除应用版本,设备类型等信息外,还有一个无人机管理服务的URL列表。这些服务可以通过web-socket接口远程处理。

/adsb/log/1d9776fab950ec3f441909deafe56b1226ca5889 - data export from the ADS-B modules

/controller/appreciation/1d9776fab950ec3f441909deafe56b1226ca5889 - license information

/controller/config/user/1d9776fab950ec3f441909deafe56b1226ca5889 - a wide range of settings, including maximum flight altitude

/controller/flight_record/1d9776fab950ec3f441909deafe56b1226ca5889 - flight information

/controller/module_activate/1d9776fab950ec3f441909deafe56b1226ca5889 - operations with hardware modules, e.g., Intelligent Flight Battery

/controller/nfz_upgrade/1d9776fab950ec3f441909deafe56b1226ca5889 - no-fly zone updating

/controller/p4_ext/1d9776fab950ec3f441909deafe56b1226ca5889 - the Phantom 4 drones service

/controller/simulator/1d9776fab950ec3f441909deafe56b1226ca5889 - managing the simulator built in DJI Assistant 2

/controller/upgrade/1d9776fab950ec3f441909deafe56b1226ca5889 - firmware updating

/controller/user_feedback/1d9776fab950ec3f441909deafe56b1226ca5889 - user's feedback to the DJI company

/controller/vision_calibration/1d9776fab950ec3f441909deafe56b1226ca5889 - camera calibration

/controller/vison_simulator/1d9776fab950ec3f441909deafe56b1226ca5889 - managing the simulator (uses the commands similar to those of the simulator service)

/controller/wifi/1d9776fab950ec3f441909deafe56b1226ca5889 - managing Wi-Fi hotspot

/controller/zenmuse_debug_data/1d9776fab950ec3f441909deafe56b1226ca5889 - handling debugging information from Zenmuse cameras

通过智能手机在没有其他特殊的控制器的情况下控制DJI无人机。对DJI Spark来说,控制器是可以单独售卖也可以与Spark Combo一起售卖。在没有控制器的情况下,手机应用就是唯一可以控制DJI Spark的。无人机会创建一个Wi-Fi热点来供应用连接。热点是用WPA2协议确保安全的,并且同时只允许一个用户连接。

web-socket接口可以完全访问Wi-Fi网络设定,通过建立到web-socket服务器的网络连接,攻击者可以看到Wi-Fi网络的设定并与另一个人的无人机建立连接。但是如果改变了设置,无人机就会与用户断开连接,攻击者就会变成无人机的独有者。

为了执行一次成功的攻击,攻击者需要感染受害者的系统,或远程追踪USB或者DJI助手2应用连接到无人机的时刻。具体的时间可以通过19870端口开启的时间来确定,通过执行下面的动作可以连接到web-socket服务器ws://victim:19870,改变无人机Wi-Fi热点的密码:

1.请求URL ws://victim:19870/general 时,从服务器响应中得到文件hash值:

"FILE":"1d9776fab950ec3f441909deafe56b1226ca5889"

2. 发送下面的命令到ws://victim:19870/controller/wifi/<FILE>

{"SEQ":"12345","CMD":"SetPasswordEx","VALUE":"12345678"

3. 改变Wi-Fi密码

前:

后:

4. 重启Wi-Fi模块来使用对Wi-Fi密码的改变生效:

{"SEQ":"12345","CMD":"DoRebootWifi"}

5. 用智能手机连接到无人机

6. 等USB线拔掉后,劫持无人机。

研究人员在DJI Spark无人机上进行了攻击测试,但该攻击对所有用DJI助手2应用适配的用Wi-Fi管理的无人机都是可行的。

下面是DJI助手2的固件发布记录。

这类攻击支持所有的操作系统和默认防火墙设定,可以在有线和公共无线网络上执行。POC:https://github.com/embedi/dji-ws-tools/blob/master/dji_ws_exploit.py

在日常生活中,几乎所有的智能设备都是USB连接的,上传文件,更新固件,甚至充电都用的是USB接口。很少有人怀疑这个日常的动作(接口)会给我们带来多大的威胁,但是USB却很容易被用来感染其他的设备。恶意软件如果不破坏系统的安全机制的话,是不会被检测到的。用这种方式的话,攻击者就可以无形中感染其他的智能设备。攻击者可以先更改设备的一些设定,最后再上传恶意固件到设备上。当设备连接到PC或笔记本时,感染就会传播开来。

在IOT时代,因为IOT设备的体量,这个问题会迅速扩大。这就是为什么智能设备开发者会关注设备连接到电脑的场景,并应用认证,授权和签名固件的可信启动等机制。

DJI是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,市场份额约为50%,预计产量到2021年为400万。这也就是为什么对无人机的攻击会有这么大的危害了,会影响大量的用户和企业的一些机密信息。而且利用SSL密钥和XSS漏洞进行攻击的案例在现实中已经有了。

上面提到的攻击方法之所以奏效是因为DJI软件存在一些安全漏洞,总结如下:

1.Web-socket服务器会监听所有的网络接口;

2.使用硬编码密钥的方式来与web-socket服务器进行通信,这是一种弱消息加密机制;

3.Web-socket接口没有授权机制;

4.机密信息没有额外的保护措施。

针对Wi-Fi的攻击可以劫持无人机,但是场景可能不至于此。Web-socket有很多的接口可以让攻击者改变无人机的设定,并且获取一些机密信息。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
弧线的野心

弧线的野心

风度mensuno
2026-02-10 19:15:21
美以开打一周欲拖盟友“下水” 伊朗再袭美“林肯”号航母

美以开打一周欲拖盟友“下水” 伊朗再袭美“林肯”号航母

大象新闻
2026-03-06 07:27:19
深圳将建国内最大轨道交通换乘枢纽;2026年佛山文旅产业招商大会签约投资超60亿元丨大湾区财经早参

深圳将建国内最大轨道交通换乘枢纽;2026年佛山文旅产业招商大会签约投资超60亿元丨大湾区财经早参

每日经济新闻
2026-03-06 07:11:03
3月5日,一个振奋人心的消息传来,国家再次为老年群体的福祉发声

3月5日,一个振奋人心的消息传来,国家再次为老年群体的福祉发声

刘哥谈体育
2026-03-06 03:20:01
46岁殷桃一张网球照,狠狠扇内娱畸形审美一巴掌!白瘦幼该醒醒了

46岁殷桃一张网球照,狠狠扇内娱畸形审美一巴掌!白瘦幼该醒醒了

喜欢历史的阿繁
2026-03-06 00:57:53
伊朗“半封锁”霍尔木兹,中国施压管用了

伊朗“半封锁”霍尔木兹,中国施压管用了

凤眼论
2026-03-05 17:01:38
当初三个不知名的小演员,现在撑起娱乐圈半壁江山,能认出来了吗

当初三个不知名的小演员,现在撑起娱乐圈半壁江山,能认出来了吗

阿废冷眼观察所
2026-03-06 03:59:30
成都21位企业家上榜胡润全球富豪榜!百利天恒创始人朱义成为四川首富

成都21位企业家上榜胡润全球富豪榜!百利天恒创始人朱义成为四川首富

红星新闻
2026-03-05 21:59:08
伊朗军方公布拦截敌对战机画面

伊朗军方公布拦截敌对战机画面

海外网
2026-03-06 07:22:03
库里自称三分纪录并非不可打破!华子发声:我和克努佩尔能追上他

库里自称三分纪录并非不可打破!华子发声:我和克努佩尔能追上他

罗说NBA
2026-03-06 06:03:03
美媒:特朗普要求库尔德人帮忙,目标是伊朗西部部分地区;伊朗:已作好准备应对美国地面行动,将“让那些美国官员蒙羞”

美媒:特朗普要求库尔德人帮忙,目标是伊朗西部部分地区;伊朗:已作好准备应对美国地面行动,将“让那些美国官员蒙羞”

每日经济新闻
2026-03-06 01:19:24
地面战争开始,伊朗击落F-15E

地面战争开始,伊朗击落F-15E

西楼饮月
2026-03-05 20:46:17
卫星图像显示美军部署在约旦的反导雷达遭袭 或已被摧毁

卫星图像显示美军部署在约旦的反导雷达遭袭 或已被摧毁

环球网资讯
2026-03-06 06:25:08
暴涨819%后买在山顶,满仓硬扛竟亏近5万

暴涨819%后买在山顶,满仓硬扛竟亏近5万

财经智多星
2026-03-05 12:18:48
数学物理双科150分!西安交大考研惊现物理大神,网友:牛顿重生

数学物理双科150分!西安交大考研惊现物理大神,网友:牛顿重生

火山詩话
2026-03-06 05:39:34
日本政府紧张研判:派自卫队去霍尔木兹海峡

日本政府紧张研判:派自卫队去霍尔木兹海峡

都市快报橙柿互动
2026-03-05 13:57:55
原来刘烨当初没撒谎,多方曝谢娜夫妇猛料,网友担忧的事还是发生

原来刘烨当初没撒谎,多方曝谢娜夫妇猛料,网友担忧的事还是发生

白面书誏
2026-03-04 13:59:52
国务院令发布了:3月30日起统一执行,老坟、祖坟有新规

国务院令发布了:3月30日起统一执行,老坟、祖坟有新规

哄动一时啊
2026-03-05 17:52:48
外媒记者称很多国家羡慕中国

外媒记者称很多国家羡慕中国

中国日报网
2026-03-05 21:00:05
83岁老人哭诉:在儿女面前不要逞一时之强,养老院的生活太难熬

83岁老人哭诉:在儿女面前不要逞一时之强,养老院的生活太难熬

烙任情感
2026-03-05 08:54:57
2026-03-06 10:48:49
嘶吼RoarTalk incentive-icons
嘶吼RoarTalk
不一样的互联网安全新视界
8188文章数 10545关注度
往期回顾 全部

头条要闻

上海一男子银行取20万出门遭"抢劫" 警方查完直呼离谱

头条要闻

上海一男子银行取20万出门遭"抢劫" 警方查完直呼离谱

体育要闻

跑了24年,他终于成为英超“最长的河”

娱乐要闻

周杰伦社交媒体晒昆凌,夫妻感情稳定

财经要闻

黄金,牛市没了?!

科技要闻

独家|除夕加班、毫无黑料!林俊旸无奈离场

汽车要闻

710km长续航+闪充 宋Ultra EV预售15.5万起

态度原创

教育
时尚
本地
手机
艺术

教育要闻

别焦虑!兰州大学2025年招生三大亮点

看来看去还是这些穿搭最高级,不老套、不死板,舒适又显气质

本地新闻

食味印象|一口入魂!康乐烤肉串起千年丝路香

手机要闻

产品经理自爆水管,vivo X300 Ultra这主摄强不强

艺术要闻

敦煌壁画里的“动物世界”,温馨有爱!

无障碍浏览 进入关怀版