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

探索:大疆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.

相关推荐
热点推荐
盘点广东5位合同到期球员!徐杰获顶薪,杜润旺拿肥约,3人将被裁

盘点广东5位合同到期球员!徐杰获顶薪,杜润旺拿肥约,3人将被裁

多特体育说
2026-02-21 22:55:06
98年,河南小伙娶了乌克兰女子,病逝后妻子把3个儿子国籍全改了

98年,河南小伙娶了乌克兰女子,病逝后妻子把3个儿子国籍全改了

顾史
2026-02-21 09:39:49
廖昌永:年轻时娶富家女,岳父母不嫌他穷,现连任音协主席有本事

廖昌永:年轻时娶富家女,岳父母不嫌他穷,现连任音协主席有本事

查尔菲的笔记
2025-12-04 12:19:20
今晚开播!央视又一30集黑马年代剧来袭,演员阵容不错,值得期待

今晚开播!央视又一30集黑马年代剧来袭,演员阵容不错,值得期待

黔乡小姊妹
2026-02-22 09:25:36
最新消息!徐杰因伤无缘战日本男篮,正式退出世预赛12人大名单!

最新消息!徐杰因伤无缘战日本男篮,正式退出世预赛12人大名单!

绯雨儿
2026-02-22 13:34:28
“初恋小姐姐”人气为什么比不上“眼镜妹” ?

“初恋小姐姐”人气为什么比不上“眼镜妹” ?

挪威森林
2026-02-21 17:14:20
所有退休人员笑了!2026年若调养老金,1955—1961年谁更受益?

所有退休人员笑了!2026年若调养老金,1955—1961年谁更受益?

猫叔东山再起
2026-02-21 11:10:03
中俄朝3国都明白了,打美军航母不重要了:必须先打日本导弹基地

中俄朝3国都明白了,打美军航母不重要了:必须先打日本导弹基地

人生就是要简单
2026-01-30 08:22:46
女子故意扮丑去相亲,男子一眼看中,女子吃惊:他是不是太饿了

女子故意扮丑去相亲,男子一眼看中,女子吃惊:他是不是太饿了

丫头舫
2026-02-10 22:18:05
在日华人直言:如今中国要是再和日本发生冲突,根本撑不过14年!

在日华人直言:如今中国要是再和日本发生冲突,根本撑不过14年!

南权先生
2026-02-12 15:39:07
湖南6牺牲消防员追悼会举行:家属瘫倒在地,画面流出,村民发声

湖南6牺牲消防员追悼会举行:家属瘫倒在地,画面流出,村民发声

博士观察
2026-02-21 21:27:57
张雪峰:如果你不好好学习,一旦掉入社会底层,和一群没有素质的人混在一起.....

张雪峰:如果你不好好学习,一旦掉入社会底层,和一群没有素质的人混在一起.....

山东教育
2026-01-27 11:38:18
毛主席见到贺子珍哥哥,得知其行政待遇八级,大怒道:这是瞎胡闹

毛主席见到贺子珍哥哥,得知其行政待遇八级,大怒道:这是瞎胡闹

南书房
2026-02-17 11:35:05
宣布了!交易达成!你好,NBA榜眼秀!

宣布了!交易达成!你好,NBA榜眼秀!

篮球实战宝典
2026-02-21 15:49:36
快船交易并非全亏!场均22+5+2断,小黑豹成未来基石,伦纳德可惜

快船交易并非全亏!场均22+5+2断,小黑豹成未来基石,伦纳德可惜

你的篮球频道
2026-02-22 08:44:23
如伊朗不能给川普能源矿产、并让驻军和开放,美以就会打,很快啊

如伊朗不能给川普能源矿产、并让驻军和开放,美以就会打,很快啊

邵旭峰域
2026-02-19 16:05:03
中国第一大民营企业诞生!反超华为和阿里,67万员工创下万亿收入

中国第一大民营企业诞生!反超华为和阿里,67万员工创下万亿收入

近史博览
2026-01-17 19:39:04
湖北一木匠,两年时间骗取宁夏自治区政府高层近十亿,无人敢吱声

湖北一木匠,两年时间骗取宁夏自治区政府高层近十亿,无人敢吱声

神奇的锤子
2025-02-14 20:48:49
英国教授:四大文明古国中,印度和埃及还在,为何却只承认中国?

英国教授:四大文明古国中,印度和埃及还在,为何却只承认中国?

优趣纪史记
2026-02-08 13:26:29
出轨、净身出户?这次,74岁的梁锦松,终究在伏明霞身上栽了跟头

出轨、净身出户?这次,74岁的梁锦松,终究在伏明霞身上栽了跟头

秋姐居
2026-02-10 09:19:42
2026-02-22 14:35:00
嘶吼RoarTalk incentive-icons
嘶吼RoarTalk
不一样的互联网安全新视界
8170文章数 10545关注度
往期回顾 全部

头条要闻

monies巴黎旗舰店员工:王菲同款水滴耳环库存已空

头条要闻

monies巴黎旗舰店员工:王菲同款水滴耳环库存已空

体育要闻

徐梦桃:这是我第一块铜牌 给我换个吉祥物

娱乐要闻

裴世矩养侄为刃 看懂两次放行裴行俨!

财经要闻

特朗普新加征关税税率从10%提升至15%

科技要闻

马斯克:星舰每年将发射超过10000颗卫星

汽车要闻

续航1810km!smart精灵#6 EHD超级电混2026年上市

态度原创

旅游
教育
房产
家居
军事航空

旅游要闻

7名中国游客溺亡于贝加尔湖:当地南北线已全面关停,涉事司机被控两项罪名

教育要闻

“这种女儿,生出来当排毒了!”女孩对父亲满口脏话,他却不吭声

房产要闻

窗前即地标!独占三亚湾C位 自贸港总裁行宫亮相

家居要闻

本真栖居 爱暖伴流年

军事要闻

约旦基地美军战机骤增 包括F-35隐形战斗机

无障碍浏览 进入关怀版