现在的位置: 首页资讯>正文
纯干货!如何黑掉无人机
2017年11月23日 作者: 暂无评论 203+ 0

无人机曾一度用来基础的地面侦查或是快餐店送披萨……然而从去年开始,无人机被用来搭载炸弹运送到战场,甚至是被用来攻击智能手机。

正是因为普及面的提高,无人机也被众多黑客盯上,他们热衷于找寻相关漏洞劫持无人机。而最近,在看雪安全开发者峰会上,阿里安全 IoT 安全研究团队 Leader 谢君发表了“如何黑掉无人机”这一议题演讲,内容却另辟蹊径讲到如何不利用漏洞 root 无人机。以下为谢君演讲实录,爱板网整理。IoT

谢君:我分享的议题是如何黑掉某品牌无人机。我在研究过程中从物理接触和非物理接触两个方面对整个无人机进行系统化的学习,今天我将分享研究过程中的一些收获以及学到的东西。

无人机是一个复杂的系统工程,涉及结构工程、自动化控制,空气动力学,计算机视觉处理以及各种传感器、无线通讯,以及与人工智能相关的深度学习。

我将整个系统全部拆开,发现其中应用了哪些硬件、传感器、芯片。其中涉及到不同传感器及控制系统,很多嵌入式芯片没有 OS 的概念,所有代码直接上位机执行,通过实时中断以及计时器和 IO 的控制来完成整个系统的实时操作。IoT

模块间通信

我在此基于某品牌的无人机进行分析,包括无线通讯、飞行控制、微机电传感器、机器视觉处理。实际上这些微控制芯片来自不同厂商,要实现传感器芯片间的通讯,必须满足相应的通信规范,才能协同自如。所以产商设计了一套无人机各模块间的通信协议,协议满足全系列消费级无人机的产品,定义不超过 32 个硬件功能模块,硬件功能模块下面则可以定义子功能模块。

IoT

比如飞控系统用 03 表示,06 表示飞控系统下的子控制功能,如支持的飞机起降功能等。再比如摄像头采集系统是用 01编号,云台控制系统是用 04 编号。在传输过程中,这些编号将会通过算法来编码。

这些不同传感器间通讯链路有多种,通讯协议可划分为本地的、通过串口的、区域网络等,其中运用多的通讯协议分别是 logic 和 V1。logic 像进程间通讯的方式,V1 是不同硬件间远程通讯的协议方式。模块间通信也采用了相应的隔离,类似现在的汽车系统,汽车有不同 ECU 模块,各个模块通讯有一定的通讯协议和格式,以及网关隔离某些子系统不允许公共访问。而无人机里的 GPS 模块,只允许飞控系统访问,其他应用系统则不被允许。

整个无人机的通讯结构,类似下图,不同传感器间通讯存在一定路径,且有一定限制。这是无人机通讯格式,可以看出存在一定规范比如一定以 55 开头,每一个包的长度不能超过固定字节,以及控制命令设置有一些校验位,且对每一个子系统的编码需要通过一定算法来计算。IoT

无人机的核心中心桥的控制板,主要是基于 LC1860 SoC 所做的控制板,其主要功能是负责整个系统协调以及固件更新和摄像内容采集、摄像内容数据压缩、编码和图象深度学习,IOR 检测等。

这个 LC1860 芯片运行嵌入式 Linux 系统,下面是三星的 EMCP,其是集 LPDDR 和 eMMc 于一体的存储芯片,也是操作系统存放地方。

下面这一块芯片 intel Movidus MA2155,是英特尔图像深度学习芯片,因为无人机不能联网,在需要做实时机器视觉分析时,需要用到大量的矢量运行。而此芯片在无人机上面的应用有视觉测距,障碍物识别以及 ROI。当该无人机进行跟随飞行时,可通过 CNN 建立好的深度学习模型,进行精确判断。

LATTICE 的 FPGA 芯片,主要用于双目避障功能,通过可见光反射回来检测障碍物的存在。

root 无人机

在研究 IOT 设备时谈到最多的词就是能否 root 这台设备,root 设备意味着可以获得系统很高的控制权。为什么要 root 无人机?目的是扩大攻击面,更好的研究无人机。

而在研究的过程中,我们发现 root 无人机最好的办法是利用合适的漏洞,执行打开 Adb 接口功能,就能得到系统的 root shell 了。如果没有漏洞该怎么办?有意思的是我们发现不用漏洞也可以 root 无人机。IoT

其实此方法可以运用到诸多领域,比如某些路由器。研究过程中我们发现启动脚本里有一个变量控制 ADB 功能能否打开,默认出厂 ADB 不能打开。ADB 功能接口在安卓手机应用广泛,怎样打开此 ADB 功能,一种是利用漏洞执行 ADB_en.sh 的脚本,另一种方法是直接修改该启动脚本的变量。

同样,我们不通过漏洞的方式 root 无人机,因为安卓系统存在三星 EMCP 里面,是集内存和存储于一体的 EMCP 芯片,如果我们可以修改这个芯片里面的内容就可以直接root无人机了。

具体操作步骤是:首先找到这块存储芯片的位置,用电热风枪把它吹下来,然后用 eMMC的读书卡读取内容,此时即找到 eMMC 读卡器,把 eMMC 插到电脑可以看到一个弹出显示存储器里面的空间和内容,找到设置调试变量的地方,修改后再写到 eMCP 里面焊回来。

有一个小细节是,因为存储器里的内容有分区,需要将这些系统分区用 Ext4 的方式挂载,修改后保存,再剪辑切回 EMCP 的芯片里,后续我们需要把它焊回去。再运行直接 ADB 打开,就可以得到 root 权限,成功后可以看到它的系统信息和进程。

这一过程涉及到许多复杂问题,比如要手工脱焊和焊接的过程,此芯片是 BGA 封装,引脚多,引脚间距小,且芯片底座里面人为灌入黑胶,对操作过程带来很大不便,操作不当易使芯片废掉,手工操作难度极高。

飞控系统IoT

  

文章分页: 1 2

相关文章

实拆炸机后的大疆晓Spark——无人机中的教科书,且看且珍惜
sparkdji-1

掌上无人机Spark是大疆今年最新推出的具备手掌起飞/手势操控功能的无人机,简约而不简单的工业设计,优秀的系统设计,上市以来好评颇多。笔者手上也有一台,虽然曾经想实拆看看内部到底如何...

看到亚马逊想用无人机给电动汽车充电,我有了一个大胆的想法!
yamaxun-1

如果电池技术难题攻克了呢?这估计就是亚马逊无人机充电变革现有电动汽车充电行业的时刻了,过去广建设的充电站,充电桩可能将变得更简单,且规模更小,亚马逊能与特斯拉们互惠互利。

多马达无人机助力农业市场,雅马哈和DJI大疆争夺无人机商场
YMR-01多马达无人机

据报道,雅马哈今天宣布将在东京举行的下一代农业博览会展示一款新型多马达YMR-01工业无人机。它是雅马哈针对日本农业的新型无人机之一,也是雅马哈展出的第一款多马达无人机。

解决传统电池供电无人机的痛点,Jupiter-H2充电几分钟续航二小时
2017-09-27_115017

在 IntelDrone大会上,一款使用氢燃料电池来飞行的无人机Jupiter-H2因其氢燃料电池技术备受关注。这款无人机由FlightWave航空航天系统公司和英国智能能源(InterlligentEnergy)公司合作开发...

这个90后的中国小伙研制出全球首台垂直起降飞行汽车
qiche-1

但团队的研发之路并未结束。接下来,他们将开启三代验证机,进一步验证动力系统、飞控系统等环节。按照既定的计划,飞熊汽车将在2019年年底首飞。

给我留言

您必须 [ 登录 ] 才能发表留言!