邵君立,高亚敏,倪晟峰
(江苏金盾检测技术有限公司,江苏 南京 210042)
现阶段,无论是在人们的生活质量还是科技水平都较以往有了很大的改善,无人机已经不仅仅只出现在军事领域中,在人们的日常生活以及工业生产中都能看到无人机的出现,近年来,无人机在影视拍摄、电力巡检、气象监测、森林火灾探测,农业监测、交通控制等诸多领域都发挥着较为重要的作用。但是无人机在改变现代人生活质量的同时也增加了很多的隐患和威胁,近年来,全球各地发生多起的无人机事件,尤其是无人机隐私数据的泄露问题,这对用户的隐私安全造成了重大隐患。随着无人机的发展越来越快,无人机的隐私数据安全也受到了各界的广泛关注。本文通过研究分析无人机的组织结构,并且对不同类型的无人机的通信方式进行了分析研究,决定选用大疆的无人机“晓”。确定了无人机的型号之后,对其实现WiFi攻击,利用Aircrack-ng可对无人机实现断开连接攻击和破解密码攻击。另外本文也通过中间人攻击中的ARP欺骗,来获取无人机的隐私数据。以此来为无人机的数据安全问题提供参考。
近年来,无人机已经逐渐开始出现在人们的视野中,其对各个领域的发展也都起到了一定的作用。与此同时,无人机所存在的隐患和安全问题也受到了各界的广泛关注,尤其是隐私数据的泄露问题。最早的无人机攻击案例出现在2007年,在当时,出现了一个可以对无人机进行攻击的工具,虽然说该工具的成本比较低,但是其能够准确地找到无人机的视频流[1]。某个恐怖组织在2009年借助Skygrabber软件中的某些操作窃取了无人机中的视频数据[2]。无人机安全领域中出现的最为严重的事件应该是在2011年伊朗捕获了美国的军用无人机事件[3]。国内外对于这些无人机安全问题都进行了分析研究。
随着无人机技术的不断普及和发展,国内越来越多的学者和专家都开始从事无人机攻击技术方面的研究和分析。何道敬等[4]在信息流的基础上对无人机攻击技术方面进行了详细的分析,并根据不同的信息流种类,对相关的无人机攻击技术划分为以下4种情况:
全球定位系统(Global Positioning System,GPS)攻击:GPS攻击简单地来说就是通过干扰或伪造GPS信号对无人机导航系统发起攻击。根据相关资料可以了解到,无论是国内还是国外对这项技术的理论研究都比较完善。施林等在对GPS攻击技术进行研究的过程中提出了无人机管制方法,并对GPS欺骗信号中所运用的技术进行了详细的分析和说明。
通信网络攻击:通信网络攻击是指利用某种技术对各无人机以及传感器之间建立的通信网络进行攻击。在此攻击过程中,攻击者但凡可以捕捉到相关的通信网络数据,就可以通过某些分析和技术,来达到其攻击的目的。
传感器攻击:传感器攻击是指攻击者对无人机的惯性测量元件等诸多传感器进行干扰,进而对无人机的相关数据进行攻击。
控制链路攻击:控制链路攻击是指当无人机与地面站控制端进行通信时,在干扰以及伪造无人机与地面控制端的过程中对无人机的控制链路发起的攻击。
Javaid等[6]提出了无人机的系统模型,并按照无人机的破坏属性将无人机的攻击技术分为了以下3种情况。
保密性攻击( Confidentiality Attack):这类攻击主要是针对无人机的保密数据,一旦其侵入无人机的保密系统,无人机内部的一些数据和使用权限都会被侵入者获取。在进行这方面攻击的过程中,一般都是进行一些软件或病毒的植入来达到其攻击的目的。
完整性攻击( Integrity Attack):这类攻击主要是对无人机系统数据的完整性进行攻击。其中干扰、修改通信链路数据或传感器数据等都属于完整性攻击的内容。
有效性攻击( Availability Attack):有效性攻击的主要目的就是对无人机的可用性进行破坏,换句话来说,这种攻击方式会使得无人机无法接受正常的指令或者获取相关的数据。其中,拒绝服务攻击是该类攻击中的典型方法,其主要是导致网络堵塞,进而影响系统的正常工作。
在全球定位系统攻击方面,Kens等[7]从理论上对GPS攻击技术进行了一定的说明,其主要是从GPS攻击对无人机产生的影响以及无人机在此攻击条件下所能维持的时间方面来进行研究的。Su等[8]在对这方面进行研究的过程中提出了一种针对民用无人机的GPS欺骗攻击方法,还对在此条件下的无人机状态进行了说明和实验。通过上述学者对这方面的研究可以了解到,大部分学者都是在理论的基础上对这项技术进行研究的,基本上没有学者真正地用实验证实了相关的理论。He等[9]在对这方面进行研究的过程中提出了用GPS欺骗攻击技术来控制无人机飞行轨迹的方法,并通过实验对该理论进行了证实,但是相关的细节却没有公布。
对于通信网络攻击,Won等[10]认为无人机通信网络数据的安全是非常重要的。Pathan等[11]在研究过程中提出了很多手段,这些手段都是用来防止传统通信网络攻击,基本上都可以切断无人机之间或者是无人机与其他设备之间的联系,以此来防止无人机被某些通信网络所攻击。
对于传感器攻击,Davidson等[12]针对这方面的攻击提出了一些解决其攻击的方法,并针对光流传感器的攻击技术进行了详细的研究和分析。
在控制链路攻击上面,Childers和Pleban等[13-14]在Parrot公司的AR.Drone无人机实现了控制链路攻击的基础上对这方面进行了详细的研究,他们在研究的过程中借助AR.Drone无人机WiFi接入点获取了无人机的操作权限,并在此基础上对无人机进行控制和操作。在 Black Hat2016会议上,Nils对一款无人机的控制链路使用进行了详细的研究和分析,并获得了该无人机的控制权。在2016年的3·15晚会上,腾讯集团的信息安全专家Gmxp等[15]展示了一种针对大疆 Phantom3S无人机的控制链路攻击的攻击方案,在攻击者得到控制链路中的通信协议格式后,他们就利用通信协议中的诸多设计缺陷生成了伪造的遥控信号,进而取得了无人机的控制权。
虽然国内外对无人机的安全性以及被攻击的方式做了较为详细的研究,但是上述研究都基于理论,缺乏具体的攻击实验。本文通过构造对无人机的WiFi实验攻击和ARP欺骗实验攻击,更好地对无人机数据安全进行分析研究。本文论述了无人机的基本组织结构,通过Aircarck-ng技术对无人机实现断开连接攻击以及破解密码攻击,通过中间人攻击技术获取无人机的数据。
无人机也可以被称为UVA,其主要是由电遥设备来实现飞机的无人驾驶[16],通常情况下,一套完整的无人机系统主要由以下3个方面构成,即无人机飞行器、传输信息的通信链路以及地面站,如图1所示。
图1 无人机结构
1.1.1 无人机飞行器部分
无人机主要由以下5个部分组成:
(1)动力系统。动力系统主要是保证无人机在飞行过程中的动力不发生问题,其能确保无人机在飞行过程中的稳定性。根据相关资料可以了解到,电动机和内燃机是动力系统的主要组成部分。当然,电源、螺旋桨等设备也属于动力系统的组成范围之内。
(2)主控制器。主控制器主要负责无人机的导航、稳定性,并将相关的命令转换为动力系统的命令。
(3)通信链路模块。无人机的通信链路模块主要由3个部分组成,即遥控信号模板、无线数据传输模块以及WiFi通信模块。
(4)传感器。传感器主要包括陀螺仪、全球定位系统(GPS)模块、视觉传感器等。
(5)任务执行单元。这个硬件在无人机执行任务的过程中可以发挥较大的作用。它根据不同的任务来进行不同的组件配置。比如,在进行航拍的过程中,会用到云台摄像机,而在进行农业检查的过程中,就可能需要使用热传感器或者多光谱探测器。
1.1.2 地面站部分
在进行无人机操作的过程中,地面站是一个较为重要的部分。使用者在操作无人机的过程中,相关的命令是通过地面站发送到无人机上的,然后无人机再根据相关的系统来完成使用者对其命令的动作。不仅如此,无人机收集到的信息以及其自身的一些信息都可以通过地面站来进行传输,最终在显示器上显示出来,以此来达到某种目的。其中,系统检测、数据处理等都属于地面站功能的一部分。地面站主要包括以下3个部分:
(1)遥控器。遥控器最主要的特点就是方便、实时以及安全性强。现阶段,基本上所有的无人机都是通过遥控器来进行控制的。
(2)智能终端。通过智能终端可以了解无人机收集到的相关数据和信息以及其自身的情况。
(3)通信链路模块。 一般情况下,地面站通信链路模块对应于无人机通信模块。
1.1.3 通信链路部分
多个无人机组件以及通信链路可以组成无人机的通信链路部分。通信链路传输的类型不同会导致其传输的信息和数据也会产生较大的差别。一般情况下,无人机的通信链路主要有以下3类:无人机和地面站之间的通信链路、卫星通信链路以及无人机和无人机之间所形成的通信链路。发送遥测信息、视频以及音频信息时一般使用的是无人机与地面之间的通信链路。无人机和无人机之间的通信链路的功能用于无人机与无人机之间的数据交换,无人机网络的重要组成部分就是无人机与无人机之间的通信链路。
中间人攻击(Man-in-the-Middle Attack[17],它是一种间接的入侵攻击,中间人攻击的攻击方式是通过各种技术手段在两台通信计算机之间放置的入侵者控制计算机,也被称为“中间人”。在此基础上,入侵者将“中间人”计算机假装为一台或两台原始计算机,使计算机能够在会话中主动与通信计算机连接,然后读取或篡改两台通信计算机传输的信息。然而,实际通信的两个计算机用户均认为他们所通信的终端是合法的。所以说这种攻击很难被发现。典型的MITM攻击手段有ARP欺骗、DNS欺骗等方式[18]。作为中间商,中介设备必须能够实现以下功能:能够进行通信双方会话数据的修改;能够将会话过程中的数据信息转达给通信的双方;能够截获通信双方的数据,使得双方不能够进行直接的对话。
如若实现了上述3个功能,则“中间人”计算机必须在两台通信计算机会话通道中拥有控制权。让双方通信计算机相信它是合法的终端通信。通信计算机从另外一个合法通信终端上无法接收到任何信息,它们之间的所有会话数据都由中间人转发。所以通过这种方式,中间人可以向两台通信计算机发送任何数据。为了实现中间人攻击能够实现,中间人需要欺骗通信者,让通信计算机信任自己是合法终端,从而在会话开始时获得会话的控制权。中间人攻击模式如图2所示。
在A与B进行通信,且通信数据处于不加密的状态下。在这一过程中,中间人M能够轻易地了解到A与B 之间的会话内容是神门。但是,若两方的会话处于被保护的状态下,M不能够十分轻易地得到其会话内容。但是,他能够借助通信协议的漏洞来解密密文信息,然后得到会话内容。MITM攻击的主要方法有以下几种。
图2 中间人攻击示意
(1)注入攻击:就是将数据包加入已建立的网络连接,比如向服务器注入命令或伪造对客户端的响应。
(2)密钥操作:中间人通过某种手段来改变原本的通信流,使得全部的通信都由其进行转发。在这一过程中,中间人不但能够获得其通信信息,还能在这一基础上进行再次攻击。
(3)降级攻击:通过通信数据的修改来实现安全级别的降低,进而降低攻击难度,最终达到攻击目的。
Aircrack-ng是一个与无线网络分析有关的安全软件[19],主要功能有:网络侦测数据包嗅探、WEP和WPA/WPA2-PSK破解。Aircrack-ng能够实现对WiFi数据的嗅探,该程序可运行在Linux和Windows上。Aircrack-ng中的工具能够实现握手验证以及数据包的捕获,除此之外,还能进行字典攻击等。Aircrack-ng攻击主要是拿到握手包,用字典破解握手包。
Ettercap是一个综合套件,适合中间人攻击。它的功能有实时连接嗅探、动态内容过滤等。它能够主动或者被动地解析各种协议,而且包含许多用于网络和主机分析的功能[20]。
一般情况下,无人机的通信方式是WiFi通信和无线电通信两种方式,对比这两种通信方式,WiFi通信的安全性较低一些,更容易被攻击。我们选择无人机“晓”就是利用WiFi连接的。而我们选择的工具Aircrack-ng就能够提供一系列的工具对无线网络进行安全的分析,且该软件支持在监听模式下的无线网卡下工作。Aircrack-ng能够实现破解网络、嗅探、监听等多种功能,该软件为开源软件。在实际运行的过程中,Aircrack-ng能够在PC设备或嵌入式设备上进行运行。
Airmon-ng能够将无线网卡设置成为监听模式,在这一模式下,能够对附近热点及连接热点上的网络设备的信息进行监控。与此同时,Airodump-ng能够进行制定设备产生流量的捕获,并进行解除认证请求的发送。无人机“晓”的WiFi通信链路采用了 WPA/WPA2,在不知道密码的状况下就不能够连接到无人机。但是,这也并不是一个绝对安全的状况。Aircrack-ng能够进行密码的破解,在进行破解的过程中主要采取的都是暴力破解的方式。与此同时,通过GPU能够使得破解的速度得以大幅度提升。这种破解方式是否能够破解成功的关键在于:其破解字典的口令组合是否足够丰富,是否能够满足密码破解的要求。
ARP协议是为可靠的局域网而设计的。然而,随着互联网的迅速发展变得更加开放,不再可靠[21]。ARP协议设计者一开始没有考虑安全问题,导致很多ARP欺骗攻击,给网络带来了很大的安全问题。因为漏洞在ARP协议中,ARP欺骗攻击是局域网中普遍存在的问题。ARP协议2006年年底和2007年年初发生的欺骗攻击甚至可以造成超过200台计算机在20~30秒内离线。许多校园网经常出现计算机在内部网络中访问因特网的现象甚至整个网络都被完全中断,这主要是因为计算机感染了ARP欺骗攻击。ARP欺骗攻击分为主动攻击和被动攻击两种方式。主动攻击是指攻击者主动、连续地发送ARP包。为了达到不道德的目的。被动攻击是指当目标有ARP时,攻击者不主动发送ARP包,也不主动发送ARP包。ARP攻击主要包括拒绝服务攻击(DOS)、克隆攻击、网关攻击等。洪水攻击是攻击者发送大量ARP向路由器和其他计算机请求数据包,使网络无法工作。ARP病毒也可以伪装DHCP服务器,使计算机无法获得正确的网关地址。
ARP欺骗的一般手段主要是成功地伪造对应的IP地址和MAC地址映射[22]。这在一定程度上将导致目标主机的ARP缓存信息意外的错误,并且使得整个本地网络的信息和数据通信失败,并且恶意地执行网络欺诈的恶劣行为。ARP协议攻击和欺骗技术不仅增加了本地网络通信的故障,还增加了在其他计算机病毒中使用的黑客、恶意或助手,逐渐衍生或变异成为新的威胁。一些具有ARP欺骗特点的恶意木马计划通过ARP欺诈手段将病毒所在地网络中的其他计算机系统的数据和通告成功侵入局域网后,发送一些分组可以使信息变得不稳定。在局域网中频繁发生数据通信,断网现象也会发生。局域网受到攻击,局域网内的其他计算机也会受到一定的影响。比如本地网络内的本地IP地址与其他的机器之间有大量的冲突,网络的断开现象一直出现,应用程序向意义不明报告错误等。另外,在一定的触发条件下,当个别用户完成计算时,自动解密被恶意分析和暴力地阻挡在本地网络中的其他分组,并在目的地将用户客户端的Web浏览请求和服务器端数据分组以将恶意代码插入非法封装的分组。在局域网和浏览器的ER系统中有一定的安全漏洞,因此在不知道用户的情况下,电脑会自动下载,并在暗地里运行木马程序,对攻击构成威胁。为此,把恶意的特洛伊木马和ARP欺骗编入了计算机和用户之间的插件程序的危害相当大。ARP协议地址解析协议的英文缩写,此协议适用于数据链接层。
从图3所示的域名解析原理中,我们可以看出网络中的每一台计算机都有一个与之对应的ARP缓存表,这个ARP缓存表用来记录地址与地址之间的映射关系。在进行数据传输之前,计算机需要先进行地址映射的查询。为了使得查询的速度能够提升,ARP缓存表采取了地址映射记录替换机制。通过这一机制,删除了不常用的地址映射。该机制在一定程度上提高了查询速度,具体如图4所示。
图3 域名解析原理
通过上图能够了解到ARP的查询过程,在对其查询过程进行分析的过程中能够了解到:在ARP协议中存在着一个缺陷。这一缺陷就是每一个主机上的ARP地址映射表的更新过程较为简单,因此,能够实现区域被所有计算机请求的响应。简单来说,在该协议中,响应数据帧的主机不能够实现对真实响应数据包的验证。因此,这也给了很多黑客分子可乘之机,部分黑客就根据ARP协议中存在的这一漏洞对其进行了攻击。
图4 ARP查询过程
3.3.1 环境要求
操作系统:kali Linux虚拟机 内存:2GB;硬盘:20GB;CD/DVD(SATA):kali-linux-2019.1a-amd64.iso。
软件:ettercap 在kali Linux中自带ettercap这款软件,版本为0.8.2。
无线网卡:型号:CF-WU77ON V2
3.3.2 实验流程
(1)首先在kali Linux上面查询局域网内所有存在的主机(见图5),发现有两台主机连在172.20.10.1这个路由器上面,由此可知主机的IP地址为172.20.10.5,所以实验选择172.20.10.3这台主机作为目标主机。
(2)接下来对目标主机进行ARP欺骗使其不能上网,用自己制作的ARP欺骗小工具对目标主机进行攻击,检测一下在攻击目标主机之前,目标主机是否能够上网,如图6所示,当前目标主机是能够上网的。然后输入进行ARP攻击,发现现在目标主机是不能上网的。
(3)利用ARP欺骗,来获取受害者的隐私数据,当目标主机的用户正在上网浏览图片时,我们通过driftnet就同样可以浏览到受害者浏览到的图片,如图8—9所示。
图5 查找局域网内存在的主机
3.3.3 实验分析
对于上述实验,我们发现可以通过中间人攻击—ARP欺骗可以获取到传输的数据,在无人机通过WiFi与手机终端连接时,它们之间传输数据是存在安全隐患的。我们同样可以用wireshark来获取无人机的加密数据,如图10所示。图10从上往下看有3个部分,第一部分是Packet List面板,这上面显示每个数据帧的摘要,第二部分是Packet Details面板,这上面是封包的详细信息,第三部分是Packet Bytes面板,这上面是以十六进制和ASCII格式显示数据包的细节。
图6 检测目标主机能否上网
图7 目标主机被攻击后的状态
图8 目标主机浏览图片
图9 driftnet嗅探图片
虽然这些获取到的数据都是加密的,但是这些加密数据有可能会被不法分子破解。因此在通信安全上,不要采用脆弱的通信方法,要采用有效的加密通信协议来预防信息泄露。
针对近年来无人机频发的安全性事故,本文通过对无人机的结构进行了分析研究,并且构造了对无人机的攻击,分别是WiFi攻击和中间人攻击。WiFi攻击是利用aircrack-ng组件实现对无人机“晓”的断开连接攻击和密码破解攻击。中间人攻击是利用ARP欺骗来获取隐私数据。通过这两次攻击实验我们发现无人机数据安全在WiFi通信方面有较大的隐患。因此在WiFi密码上,要设置复杂的密码,在通信安全上,不要采用脆弱的通信方法,要采用有效的加密通信协议来预防信息泄露。
伴随着时代的不断发展以及社会的不断进步,科学技术水平也会不断提升。在这一过程中制造成本会被进一步压缩,无人机的数量也会有大幅度的提升。与此同时,伴随着无人机数量的增加,其性能的优越性表现也会更加明显。在实际生活中,对无人机的应用也会变得更为普遍和广泛。在未来的一段时间内,智能城市会逐渐发展起来,电力无人机、公安无人机、快速无人机等也会得到应用。在未来的一段时间内无人机安全研究将主要集中在以下几点:
(1)软件安全。软件安全指的是无人机与地面站控制软件的安全性。在进行软件设计的过程中,需要将软件安全问题纳入到整个操作系统中进行分析。与此同时,需要考虑到操作人员、软件以及系统之间的相互作用。尽可能地避免漏洞问题的出现,使得加密技术以及协议的安全性能够有更为充分的保障。
(2)传感器安全。传感器是构成外部数据的一个十分重要的组成部分。若传感器在工作的过程中受到了欺骗或者干扰,则无人机就不能获取到真实的状态信息。由于无法获得真实的信息,就可能使得无人机做出一个错误的响应。因此,无人机在飞行的过程中所面临的不确定因素也会随之增加。基于此,在进行无人机安全研究的过程中,一定要尽可能地减少不确定的隐患因素影响。
(3)通信安全。无人机在实际运行的过程中,在不同通信链路上所面临的风险因素也各不相同。因此,应当进一步加强对有效加密通信协议的设计,减少无人机在运行过程中的威胁。
(4)无人机的自我保护。在无人机飞行的过程中需要依靠卫星导航传感器、定位装置以及视觉定位系统等装置进行飞行。与卫导航系统相比较而言,视觉系统定位的精准度较低。但是当无人机受到攻击后,视觉系统定位等设施能够驱动无人机安全返回,这也是无人机的一种自我保护措施。
(5)无人机网络安全。无人机无线自组网是一个十分灵活的网络组织形式。在实际工作的过程中所面临的最大安全问题就是动态拓扑结构问题。由于其不受中央基站的限制,所以路由安全也就变得更为重要。为了实现对安全风险的有效管控,就必须要设计一个安全性、效率更高的路由协议。
(6)隐私安全。近几年,无人机的消费市场得以不断发展,但是一直没有一个有效的监管机制进行监督。因此,在无人机市场中超过一半的无人机在黑暗中飞行。装备了摄像头的无人机在空中盘旋,或者在私人住宅附近盘旋。在这一过程中,公民的隐私权会受到一定的侵犯。因此,实现对公民隐私权的有效保护是无人机发展过程中需要解决的重要问题之一。