现在的位置: 首页资讯>正文
纯干货!如何黑掉无人机
2017年11月23日 作者: 暂无评论 536+ 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

相关文章

黑客通过崩溃银行的计算机欲入侵 SWIFT

黑客利用病毒破坏了智利银行的计算机系统,但这么做只是为了让银行工作人员分心,黑客在同一时间尝试通过 SWIFT 交易系统窃取 1100 万美元。

剑桥大学研究如何使用人工智能和无人机监控人群中的暴力行为

据外媒CNET报道,剑桥大学的科学家目前正在研究如何使用人工智能和无人机监控来发现人群中的暴力行为。该研究论文有一个非常科幻的表态:“天空之眼”(Eye in the Sky)。该项目使用便宜的Par...

DNA检测公司MyHeritage中9200万账户泄露,疑遭黑客入侵

北京时间6月6日早间消息,消费级家谱网站MyHeritage宣布,与该公司的9200万个帐户相关的电子邮件地址和密码信息被黑客窃取。

盘点近几十年改变世界的 15 项专利

创新创造未来,专利改变世界。专利是创新的起点,也是创新的保障。全球每年申请的专利数量不断呈上升趋势,但是只有少数对我们的日常生活产生了重大影响

饿了么开启无人机送餐:谁与争锋!

由无人机送外卖的畅想正在上海变为现实。昨天,饿了么平台宣布,中国第一批无人机即时配送航线获准开辟,送餐无人机正式投入商业运营,试运营期间,用户从下单开始,平均仅需20分钟即可收到外卖

给我留言

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