首页 » 科学 » 若何黑掉落一架无人机?_无人机_芯片

若何黑掉落一架无人机?_无人机_芯片

南宫静远 2025-01-15 00:54:30 0

扫一扫用手机浏览

文章目录 [+]

以下为谢君的现场演讲内容。

如何黑掉无人机?

若何黑掉落一架无人机?_无人机_芯片 若何黑掉落一架无人机?_无人机_芯片 科学

本日我分享的议题是如何黑掉某品牌的无人机。
我在研究无人机的过程中从物理打仗和非物理打仗两个方面对全体无人机进行系统化的研究,研究的过程中实在也是一个学习的过程,以是本日我想跟大家分享一下我在这个研究过程中的一些收成和所学到的一些东西。

若何黑掉落一架无人机?_无人机_芯片 若何黑掉落一架无人机?_无人机_芯片 科学
(图片来自网络侵删)

自我介绍一下,我现在是在阿里安全卖力IoT安全攻防研究以及安全办理方案,在安全领域也折腾了十几年。
现在专注于互联网安全这一块的研究,无人机对付我来讲是一个比较新的东西,我打仗的韶光也比较晚了,才有一年的韶光。
我在全体研究和学习的过程中,总结了无人机的一些功能,无人机系统一个繁芜的系统工程,里面涉及到领域实在是太多了、太繁芜了,里面涉及到构造工程、自动化掌握,空气动力学,打算机视觉处理以及各种传感器、无线通讯,并且涉及到人工智能干系的深度学习。

对它有整体的感官,我全体系统全部拆开,创造里面运用了哪些硬件,哪些传感器,哪些芯片
无人机这一块涉及到不同的传感器以及掌握系统,很多嵌入式芯片没有这个OS的观点,所有代码是直接上位机实行,通过实时中断以及计时器和IO的掌握来完玉成部系统的实时操作。

我的剖析是基于某品牌的无人机进行剖析,包括无线通讯、翱翔掌握, 以及微机电传感器、机器视觉处理,这些微掌握芯片来自各个不同厂商。
这么多的传感器芯片之间进行通讯,必须知足相应的通信规范,大家才能协同自若,以是产商设计了一套无人机各个模块之间的通信协议,全体协议知足它全体全系列消费级无人机的产品,定义最多不超过32个硬件功能模块,硬件功能模块下面可以定义子功能模块,比如说我们的飞控系统用03来表示,06表示飞控系统下面这个子掌握功能,比如下面支持的飞机起降功能等。
我们可以看到摄像头采集系统是用01的来编号的,云台掌握系统是用04来编号的,而在传输过程中,这些编号将会通过算法来编码。
这些不同的传感器之间通讯链路有多种,这里面通讯协议按照他自己的一些划分,有本地的,通过串口的,区域网络等等,在里面用的最多的通讯协议是两个,一个logic以及是V1,logic像进程间通讯的办法,V1指远程不同硬件之间进行通讯的一种协议办法。
模块间通信也做了一些相应的隔离,非常像现在的汽车系统,汽车有不同ECU各个模块,各个模块通讯也有一定的通讯协议和格式,也有一些网关隔离某一些子系统是不许可公共访问的。
像无人机里面GPS模块的话,只许可飞控系统访问,其他运用系统是不许可访问,全体无人机的通讯的构造,类似于这张图一样,所有的不同的传感器之间通讯是有一定的路径,而且也有一定的限定。
这是无人机通讯格式,便是说他们有一定的规范比如说他的头部一定是55开头的,它的每一个包的长度不能超过多少个字节,它的掌握命令设置还有一些校验位。
并且,对付每一个子系统的编码通过一定的算法来打算的。

无人机的核心中央桥的掌握板,紧张是基于LC1860 SoC外加图像识别芯片,双目避障,无线收发器,无线基带,LightBridge,它的紧张功能是全体系统的折衷以及固件更新和摄像内容数据编码和图象深度学习,ROI检测之类的。
这个LC1860芯片运行的是嵌入式Linux系统,下面是三星的EMCP,是集LPDDR和eMMc于一体的存储芯片,操作系统就存放在这个芯片里面。
下面这一块芯片intel Movidus MA2155,这是英特尔图像深度学习芯片,由于无人机不能联网,无人机须要做实时的机器视觉剖析,须要用到大量的矢量运行,这个时候这个芯片的上风就表示出来了,这个芯片在这个无人机上面的运用有视觉测距,障碍物识别,还有ROI,比如说你的飞机进行跟随翱翔的时候,跟随一个人翱翔的时候,通过CNN建立好的深度学习模型,来精确判断。
LATTICE的这块FPGA芯片,紧张是用于双目避障功能,通过可见光反射回来检测障碍物的存在。

root无人机,我们在研究IOT设备的时候说的最多一个词便是能否root这台设备,root掉设备意味着我们可以得到系统很高的掌握权。
我们为什么要root无人机,我们root无人机目的是扩大它的攻击面,更好研究无人机。
我们在研究的过程中创造要root无人机,最好的办法便是利用一个得当的漏洞,实行打开Adb这个接口功能,就能得系统的root shell了。
如果你假如没有漏洞的话,这个时候怎么办。
这个时候我们在研究过程中创造故意思的办法:可以不利用漏洞也可以root无人机。
实在这个办法也可以利用到很多的领域。
像一些路由器。
研究的过程中创造启动脚本里面有一个变量是掌握adb功能打开与否的,默认出出厂是这个ADB是不打开的,ADB功能接口在安卓手机运用广泛,怎么打开这个adb功能,一种是利用漏洞实行ADB_en.sh的脚本,其余一种便是方法便是直接修正这个启动脚本的变量。

我们不通过漏洞的办法来root无人机,由于安卓系统是存在三星EMCP里面,是集内存和存储于一体的EMCP的芯片,如果我们可以修正这个芯片里面的内容,我们就可以直接root无人机了。

操作步骤是这样子:首先找到这一块存储芯片的位置,把它电热风枪吹下来,须要EMMC的读书卡,把这个内容读取出来,这个时候我们就找到了EMMC的读卡器,把这个EMMC插到电脑上,这个时候可以看到有一个弹出,用存储器里面的空间和内容,找到那个设置调试的变量的地方,修正了之后,再写到EMCP里面焊回来。
这个里面有一个小细节,由于这个存储器里面的内容是有一些分区,我们须要把这些系统分区直接挂在到电脑上面,用EXT4的办法挂在,修正完了往后再保存,再剪辑切回去EMCP的芯片里面,后续我们须要把它焊回去。
再运行直接ADB打开,就可以得到root的权限,成功后可以看到它的系统信息和进程。
这里面涉及到很繁芜的问题,要手工脱焊和焊接的过程,这个芯片是BGA封装,引脚多,引脚间距小,而且这个芯片底座里面人为灌了一些黑胶,对付操作过程带来很大的不便,而且操作不当,很随意马虎使这个芯片废掉了。
手工操作的难度是非常高的。

飞控系统,是无人机里面的核心。
由于会搜集到很多的无人机的各个传感器模块的一系数据,通过一些综合的算法来判断飞控系统该当如何操作,飞控系统核心芯片用的ATSAME70Q21,这个不须要外置存储器存储它的部件以及算法,与之干系有两块IMU陀螺仪以及加速度计,检测这个飞机处于什么状态。
气压计,紧张为了检测这个飞机的高度,作为一个飞机高度的判断成分。
Ublox GPS模块,这一个可编程的模块,由于飞控和GPS通讯是有一个协议交互,并不是说任何一个GPS模块可以更换它,可以做一些欺骗GPS的事情。
由于之前说用于更换GPS模块做GPS的切换。
指南针模块,紧张用于方向的定位。
智能电源,智能电源是用德州仪器MSP430G2755 16位的微掌握芯片,它紧张是网络了电源现在状态,保持了我什么时候放电,什么时候通过飞控系统说我的电量还剩多少的时候该当返航。
电调芯片,由于无人机有四个螺旋桨,四个马达,每一个马达须要一个电调的芯片掌握转速,掌握不同的马达的转速和相位,来达到掌握翱翔姿态以及速率的操作。

视觉系统,这是无人机里面非常主要的功能, 这里面核心的一个处理芯片是用的英特尔的MA2155深度学习的处理芯片,飞机搭载摄像头首先是可以进行视频的录制、拍照,图像内容输出给视觉处理芯片来完成视觉识别的一些特点功能,这里面有一个功能叫做翱翔跟随,这个翱翔跟随便是在手机屏幕上选点跟随翱翔的目标,无人机就可以随着他/它翱翔了,这个时候就利用了这一块芯片的强大深度学习的能力,感兴趣的区域进行识别,人物、姿态,再有一个功能便是测距,通过MA2155这块深度学习芯片来完成视觉测距的功能,飞机前面以及后面障碍物的间隔我是通过这个图象识别的办法来识别出来的。
还有一个是双目避障,这是不雅观测倾斜度70度是否有障碍物,是有两个,一个吸收端一个发射端,发射出去的光,通过反射回来,我要判断右下角是否有障碍物。
超声波检测下方障碍物以及检测地面的功能。

无线通讯,是无人机里面最核心的一块功能,也是最繁芜的一块功能。
由于里面涉及到掌握系统和图象传输。
基本上的事理便是前真个收发器收到旗子暗记,通过基带系统解调,解码往后通过遥控器的LPC1549芯片处理进而通过Cypress的USB芯片反馈得手机上。
无线通讯的特点,通过OFDM办法进行图传以及数控的传输,它的特点便是掌握通道数据通过遥控器通过1Mhz带宽的跳频发送,飞机回传的图象和掌握通道回传数据是通过10Mhz带宽进行定频传输。
为了担保数控通道及时性,采纳定时跳频的办法。
由于有可能旗子暗记会被滋扰,在某一个特定的频点的时候会被滋扰到,如果被滋扰了的话,飞机有可能收不到遥控器的一些数据,这个时候我们就须要切换不同的频点,找信噪比高的地方,担保它的可靠性。
它在FCCID通信管理局申请的5G频段的频宽执照在5727-5821Mhz,但是实际上,它的操作已经超过了它的通讯管理局规定的频段,滥用这个频段的资源,在我们的研究过程中创造已经到了5845Mhz。
遥控器跟飞机怎么样进行识别,这须要一个配对以及连接的过程。
配对的唯一信息是来自于遥控器,所有信息都是遥控发给无人机,配对成功往后接下来的过程可以在操作的过程中识别到哪个是我掌握无人机,而且这些掌握的配对信息都是通过摇控器的芯片LPC1549的序列号来天生的。

基本上无线通讯架构的过程,首先是遥控器先初始化的芯片,初始化基带系统各个寄存器,寄存器里面存入了唯一可以配对码的信息。
这个配对码是有五个字节,写入到寄存器里面,真正用到只有三个字节,以是在未来须要无线挟制这个无人机,就有了可能。
无线通讯传输的过程实在是非对称的传输,无人机遥控器发的信息是跳频传输给飞机,吸收端也是跳频吸收,但是图传和下行的通道是由飞机是一个定频的办法来发到,而且这些跳频算法都是通过代码来实现的。
阁下这张图便是遥控器用于检测飞机是否配对上的算法检测基带芯片SPI地址0xE4、0xE5、0xE6进行比较。
以是挟制一台无人机,实在我们是通过可以暴力破解的办法,用所有的密钥空间进行离线的破解,找到配对码,去掌握这个无人机,在空中的时候就可以动态改掉这个配对码,然后这个无人机就属于你了。

我们也创造了一些硬件的反调技能和软件的反调技能,比如说用atmel芯片的安全位置1,可以阻挡外置硬件仿真器的挂载调试,遥控器的LPC1549通过ADC的粒度检测来检测调试器,LightBridge用的stm32F103芯片通过remap SWD IO来利用swd调试接口失落效,通过遥控器的硬件开关电路来阻挡LPC1549芯片硬件仿真调试。

末了还有很多事情还没有来得及做,未来会更加深入的研究各个硬件模块的功能hacking与未来一些想法的验证事情。

感激大家。

相关文章