ImageVerifierCode 换一换
格式:PPTX , 页数:55 ,大小:2.10MB ,
文档编号:7608494      下载积分:20 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-7608494.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《移动智能终端安全》课件第7章.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《移动智能终端安全》课件第7章.pptx

1、第7章 蓝牙攻击7.1 蓝牙协议简介蓝牙协议简介蓝牙协议由很多子协议构成,子协议通常分为以下两类:(1)在蓝牙控制器之间通信时使用的子协议。蓝牙控制器负责跳频、基带封装并且将适当的结果返回到蓝牙主机。(2)在蓝牙主机之间通信时选择使用的子协议。蓝牙主机负责处理更高层的协议,包括“主机控制接口”连接。“主机控制接口”连接是蓝牙主机(用户的笔记本电脑)和蓝牙控制器(蓝牙适配器中的芯片组)之间的通信接口。蓝牙主机和控制器间的交互如图7-1所示。第7章 蓝牙攻击图7-1 蓝牙主机和控制器之间的交互第7章 蓝牙攻击蓝牙通信协议由以下协议构成:1.射频通信协议射频通信协议射频通信协议是蓝牙设备的传输协议。

2、2.逻辑链路控制及适配协议逻辑链路控制及适配协议逻辑链路控制及适配协议是基于数据报文的协议。3.主机控制接口协议主机控制接口协议对于开发者来说,主机控制接口协议位于开发者所能访问到的协议栈的最底层。第7章 蓝牙攻击4.连接管理器协议连接管理器协议连接管理器协议位于蓝牙控制器协议堆栈的顶部,通过特定的硬件访问,即如果没有特定的硬件,该协议不可访问。因此,连接管理器协议主要用于处理低层次加密、信息验证、数据配对等工作。5.基带层基带层和连接管理器协议相似,开发者在没有特定硬件的情况下,不能访问基带层。蓝牙的基带层规定了空中传输的参数(比如传输的速率)数据包最终在哪一层形成帧,以及确定传送和接收的信

3、道。蓝牙设备地址是一个48位的数据,由三部分组成,如图7-2所示。第7章 蓝牙攻击图7-2 蓝牙设备地址第7章 蓝牙攻击7.2 蓝牙节点设备的连接蓝牙节点设备的连接7.2.1 设置节点的可发现状态设置节点的可发现状态若某个蓝牙设备是可发现的,说明该蓝牙设备会周期性地广播它的蓝牙设备地址到其他没有加入到微网的蓝牙设备上,以便后者通过广播找到该蓝牙设备。由于许多蓝牙设备默认为不可发现,因此需要专门开启这项功能。通常需要一段时间该操作才能生效。当用户在打开以iOS作为系统内核的移动设备的蓝牙配置“设置”页面时,系统会默认进入可发现模式。第7章 蓝牙攻击7.2.2 扫描节点设备扫描节点设备扫描节点设备

4、主要分为主动式设备扫描、被动式设备扫描和组合式设备扫描。1.主动式设备扫描主动式设备扫描蓝牙侦查扫描的第一步是简单查询功率覆盖范围内各设备的信息,即询呼扫描。其过程是设备在一系列频率上主动发送查询扫描信息,并监听有没有回应信息。第7章 蓝牙攻击2.被动式设备扫描被动式设备扫描在蓝牙规范中,并不要求两个需要通信的蓝牙设备之间通过询呼扫描进行数据交换。如果用户通过第三方的外部技术获得了某个蓝牙设备的地址,则对方的蓝牙设备将区分不出用户现在所发起的连接是在获得蓝牙设备地址后直接发起的还是通过主动式扫描拿到蓝牙设备地址后发起的。这两种方式都涉及蓝牙设备地址,所以接下来介绍关于被动式捕获蓝牙设备地址的技

5、术目视检查。第7章 蓝牙攻击3.组合式设备扫描组合式设备扫描在识别某个蓝牙设备时,如果主动式设备扫描和被动式设备扫描都无效,则可以尝试组合式设备扫描。组合式设备扫描主要是基于WiFi和蓝牙在地址上的大小差一现象。大小差一现象:当设备制造商在生产具有多个接口的产品时,必须为每个接口配备一个MAC地址。通常来讲,单个设备的多个MAC地址之间是相关的,即这些MAC地址之间的前5个字节相同,最后一位在数值上相差1。第7章 蓝牙攻击7.2.3 连接参数设置连接参数设置1.连接事件连接事件在一个连接当中,主设备会在每个连接事件里向从设备发送数据包。一个连接事件(Connection Events)是指主设

6、备和从设备之间相互发送数据包的过程。连接事件的进行始终位于同一个频率,每个数据包会在上个数据包发完之后等待150s再发送。第7章 蓝牙攻击2.连接参数连接参数主设备和从设备建立连接之后,所有的数据通信都是在连接事件中进行的。在图7-3中,尖刺的波是连接事件,剩下的Sleeping是睡眠时间,设备在建立连接之后的大多数时间都处于Sleeping状态,这种情况下耗电量比较低,而在连接事件中,耗电量就相对高很多。第7章 蓝牙攻击图7-3 蓝牙中的连接事件第7章 蓝牙攻击每个连接事件中,都需要由Master(主机,简称M)发起包,再由Slave(从机,简称S)回复,抓包过程中可以看到MS或者SM,即主

7、机到从机或者从机到主机。通过修改下面三个参数,可以设置BLE(Bluetooth Low Energy,低功耗蓝牙)连接过程中的传输速度和功耗。(1)连接间隔。连接间隔在BLE的两个设备的连接中使用跳频机制。(2)从设备延迟或从设备时延。(3)超时时间或监控超时。第7章 蓝牙攻击以下分别介绍这三个连接参数在不同情况下对通信速率和功耗的影响。(1)若连接间隔缩短,则Master和Slave通信更加频繁,能够提高数据吞吐速度,缩短数据发送的时间,但也增加了功耗。(2)若连接间隔加长,则通信频率降低,数据吞吐速度降低,增加了数据发送的时间,也降低了功耗。(3)若从设备时延减少或者设置为0,则每次连接

8、事件中都需要回复Master的包,功耗会上升,数据发送速度会提高。(4)若从设备时延加长,则功耗下降,数据发送速度降低。第7章 蓝牙攻击7.2.4 建立连接建立连接为了在两台设备间创建一个连接,必须实现服务器端和客户端的机制。因为一个设备必须打开一个Server Socket,而另一个设备必须发起连接(使用服务器端设备的MAC地址发起连接)。当服务器端和客户端在同一个RFCOMM信道上都有BluetoothSocket时,两端建立连接。此时,每个设备都能获得一个输入输出流,进行数据传输。服务器端和客户端获得BluetoothSocket的方法不同:服务器端在客户端的连接被接收时产生一个Blue

9、toothSocket;客户端在打开一个到服务器端的RFCOMM信道时获得BluetoothSocket。第7章 蓝牙攻击蓝牙连接的实现技术有两种,分别如下:(1)每个设备自动准备作为服务器,则每个设备有一个Server Socket并监听连接,并且每个设备都能作为客户端建立一个设备到另一个设备的连接。(2)一个设备按需打开一个Server Socket,另外一个设备仅作为客户端建立与这个设备的连接。第7章 蓝牙攻击下面详细叙述以上提到的两种蓝牙连接方式。1.作为服务器连接作为服务器连接连接两个设备,其中一个充当服务器,拥有BluetoothServerSocket。服务器Socket的作用是

10、侦听进来的连接,且在连接被接收时返回一个BluetoothSocket对象。BluetoothServerSocket获取到BluetoothSocket对象之后,BluetoothServerSocket就可以被丢弃,除非还需要它接收更多的连接。下面是建立服务器Socket和接收连接的基本步骤:第7章 蓝牙攻击(1)通过调用listenUsingRfcommWithServiceRecord(String,UUID)方法得到一个BluetoothServerSocket对象。(2)通过调用accept()来侦听连接请求。(3)除非需要再接收另外的连接,否则调用close()。close()释

11、放Server Socket及其资源,但不会关闭accept()返回的BluetoothSocket对象。第7章 蓝牙攻击2.作为客户端连接作为客户端连接为了实现与远程服务器设备的连接,必须获得代表远程设备的BluetoothDevice对象,再使用BluetoothDevice对象来获取BluetoothSocket以实现连接。基本步骤如下:(1)使用BluetoothDevice调用方法createRfcommSocketToService Record(UUID)获取BluetoothSocket对象。(2)调用connect()建立连接。调用该方法时,系统在远程设备上完成一个SDP查找

12、来匹配UUID。如果查找成功并且远程设备接收连接,就共享RFCOMM信道,connect()返回。如果连接失败或者超时(12s),则抛出异常。第7章 蓝牙攻击7.3 GATT数据服务数据服务GATT数据服务是完成特定功能的一系列数据的集合。GATT定义了在BLE连接中发现、读取和写入属性的子过程。GATT服务器上的特征值及其内容和配置信息(称为描述符)存储在属性表中。属性表是一个数据库,包含了成为属性的小块数据。除了值本身,每个属性都包含了下列属性:第7章 蓝牙攻击(1)句柄:属性表中的地址,每个属性有唯一的句柄。(2)类型:表示数据代表的事物,通常是行业规定或由用户自定义的UUID(通用唯一

13、识别码)。(3)权限:规定了GATT客户端设备对属性的访问权限,包括是否能访问和怎样访问。第7章 蓝牙攻击7.3.1 通过通过UUID发现设备特征发现设备特征客户端通过特征的类型(即UUID)来请求发现该特征的句柄。服务器将该特征的声明回应给客户端识别,其中包括特征值的句柄以及特征的权限。BLE Scanner是Android调试BLE的工具,可以用来扫描低功耗的蓝牙设备。图7-4为使用该工具发现并连接手环的截图。在截图中可观察到Service服务和UUID等信息。第7章 蓝牙攻击图7-4 对手环的蓝牙扫描第7章 蓝牙攻击7.3.2 设置特征通知功能为可用设置特征通知功能为可用向特征中写入指令

14、后,将以通知的形式返回指令执行是否成功及返回值,因此需要打开特征中的通知功能,以便获得指令执行结果。7.3.3 向特征中写入指令向特征中写入指令蓝牙指令通常以字节数组的形式存在,下面的代码演示了如何向特征中写入获取电池电量指令的过程。7.3.4 获得指令执行结果获得指令执行结果客户端设备请求向服务器的某个特征中写入指令后,会引起特征值的变化,从而触发特征值改变时间。第7章 蓝牙攻击7.4 Hook概述概述Hook(钩子)是Windows消息处理机制的平台,应用程序可以在上面设置子进程以监视指定窗口的某种消息,其他进程可以创建监视的窗口。当消息到达后,钩子程序在目标窗口处理函数之前处理它。钩子机

15、制允许应用程序截获处理Windows消息或特定事件。第7章 蓝牙攻击7.4.1 Xposed框架框架Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于该框架可以制作出许多功能强大的模块,且各模块在功能不冲突的情况下同时运作。其主要原理是通过替换/system/bin/app_process程序控制Zygote进程,使得app_process在启动过程中加载XposedBridge.jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。第7章 蓝牙攻击Xposed框架是基于Android的一个本地服务应用XposedInstaller及一个

16、提供API 的jar文件来完成的。所以,安装使用Xposed框架需要完成以下几个步骤:(1)安装XposedInstall.apk本地服务应用。(2)进入XposedInstaller应用程序,激活框架(需要root权限)。(3)下载Xposed API库XposedBridgeApi-.jar,在项目中引用。第7章 蓝牙攻击7.4.2 Substrate框架框架Cydia Substrate框架是一个代码修改平台,Java或C/C+均可修改任何主进程的代码。而Xposed只支持 Hook app_process中的java函数,因此Cydia Substrate是一款强大而实用的Hook工具

17、。Cydia Substrate与Xposed的Hook原理相同,二者都可以作为Java Hook的框架。安装使用Cydia Substrate框架的具体步骤如下:(1)下载安装Android本地服务的substrate.apk。(2)安装substrate后,连接本地的Substrate服务文件,需要root权限,连接后重启设备。(3)下载使用Cydia Substrate库,在项目中引用。第7章 蓝牙攻击7.4.3 BLE指令协议窃取指令协议窃取下面是BLE指令窃取的具体流程:(1)下载安装某品牌运动手环的官方App,并注册。(2)刷机获得root权限。(3)下载安装Xposed框架及BL

18、E指令协议窃取App。(4)在该品牌运动手环的官方App登录。(5)打开BLE指令协议准备窃取App。(6)在该品牌运动手环的官方App上进行操作,如修改时间、步数等。第7章 蓝牙攻击(7)观察BLE指令协议窃取App上的底层信息的变化,并从中对比,找出某一特征对应的信息,并分析该信息的操作码(OPC)、条件码(CC)和操作数(OPD)。该信息随着手环品牌的不同,格式也可能不同。某些品牌的手环含有时间戳,同一特征的底层信息经过一段时间后也有可能发生变化,这种含有时间戳的防护措施可以阻止黑客对该手环的底层信息进行逆向解析。第7章 蓝牙攻击7.5 蓝牙数据包的抓取及分析蓝牙数据包的抓取及分析7.5

19、.1 UUID的筛选的筛选如7.3.1节所述,一个BLE设备包含多个Service、Characteristic和Descriptor。不同的Service、Characteristic都有各自唯一的UUID,UUID是获取蓝牙设备功能的关键。通过BLE扫描设备,可以发现UUID,通过每个UUID的功能描述,确定出需要的特征的UUID,由此筛选出UUID。第7章 蓝牙攻击7.5.2 蓝牙数据包的抓取蓝牙数据包的抓取实验设备:智能手机一部,某品牌智能手环一个。抓取工具:Packet Sniffer工具。安装并开启Packet Sniffer工具,开始抓包。此时打开智能手机中的手环App,并在Ap

20、p内调整闹钟。抓取的蓝牙数据包如图7-5和图7-6所示。第7章 蓝牙攻击图7-5 抓取蓝牙数据包1第7章 蓝牙攻击图7-6 抓取蓝牙数据包2第7章 蓝牙攻击7.5.3 蓝牙数据包的解析蓝牙数据包的解析下面按照顺序分析数据包。(1)分析标记出来的这一条消息,如图7-7所示。图7-7 蓝牙广播分析第7章 蓝牙攻击(2)分析下一条消息(连接请求数据包),如图7-8所示。图7-8 连接请求数据包第7章 蓝牙攻击(3)分析下一条消息(配对请求数据包),如图7-9所示。图7-9 配对请求数据包第7章 蓝牙攻击(4)分析下面两条消息(配对校验信息),如图7-10所示。图7-10 配对校验信息第7章 蓝牙攻击

21、(5)分析下一条消息(配对成功),如图7-11所示。图7-11 配对成功第7章 蓝牙攻击(6)中间会出现短暂的空包,此处不再赘述。分析下一条消息(写请求),如图7-12所示。图7-12 写请求第7章 蓝牙攻击(7)分析下一条消息(同意写请求),如图7-13所示。图7-13 同意写请求第7章 蓝牙攻击(8)分析下一条消息(写成功的通知),如图7-14所示。图7-14 写成功的通知第7章 蓝牙攻击7.6 蓝蓝 牙牙 攻攻 击击7.6.1 蓝牙漏洞攻击蓝牙漏洞攻击目前已知的蓝牙安全漏洞攻击方式有以下几种。1.跳频时钟跳频时钟蓝牙传输使用自适应跳频技术作为扩频方式,因此在跳频系统中运行的计数器包含28

22、位、频率为3.2kHz的跳频时钟,使控制指令严格受时钟同步、信息收发定时和跳频控制,从而减少传输干扰和错误。第7章 蓝牙攻击2.PIN码问题码问题个人识别码(PIN)为四位,它是加密密钥和链路密钥的唯一可信生成来源。两个蓝牙设备在连接时需要用户在设备中分别输入相同的PIN码才能配对。由于PIN码较短,使得加密密钥和链路密钥的密钥空间的密钥数限制在105数量级。在使用过程中,如果用户使用过于简单的PIN码、长期不更换PIN码或使用固定内置PIN码的蓝牙设备,则自身更容易受到攻击。第7章 蓝牙攻击3.链路密钥欺骗链路密钥欺骗通信过程中使用的链路密钥通过设备中固定的单元密钥产生,在加密过程中其他信息

23、是公开的,由此可见链路密钥存在较大漏洞。如设备A和不同设备进行通信时均使用自身的单元密钥作为链路密钥,攻击者利用和A进行过通信的设备C获取这个单元密钥,便可以通过伪造另一个和A通信过的设备B的设备地址计算出链路密钥,伪装成B来通过A的鉴权。B伪装成C亦然。第7章 蓝牙攻击4.加密密钥流重复加密密钥流重复加密密钥流由E0算法产生,生成来源包括主体设备时钟、链路密钥等。在特定的加密连接中,只有主设备时钟会发生改变。如果设备持续使用时间超过23.3小时,时钟值将开始重复,从而产生一个与之前连接中使用的相同的密钥流。密钥流重复则易被攻击者作为漏洞利用,从而得到传输内容的初始明文。第7章 蓝牙攻击5.鉴

24、权过程鉴权过程/简单安全配对中的口令简单安全配对中的口令除使用个人识别码(PIN)进行配对以外,蓝牙标准从V2.1版本开始,增加了简单安全配对(Secure Simple Pairing,SSP)方式。SSP方式比之前的PIN码配对更加方便,PIN码配对需要两个有输入模块的配对设备同时输入配对密码,而SSP只需要有输出模块的两个配对设备确认屏幕上显示的是同一个随机数即可。通过设备搜索建立蓝牙物理连接、产生静态SSP口令、鉴权这三步即可建立连接,但由于SSP方式没有提供中间人攻击保护,静态SSP口令容易被中间人攻破。第7章 蓝牙攻击7.6.2 蓝牙劫持蓝牙劫持蓝牙劫持是在开启蓝牙功能的设备上实施

25、的攻击,例如对智能手机或智能手环的攻击。蓝牙的有效传输距离为10m,即在10m范围内可以搜索到其他正在使用蓝牙功能的便携设备,并向其发送信息。第7章 蓝牙攻击7.6.3 蓝牙窃听蓝牙窃听蓝牙窃听可以通过对蓝牙漏洞的攻击来实现。例如蓝牙中的OBEX(OBject EXchange,对象交换)协议,在早期的蓝牙产品规范中没有强制要求使用鉴权,因此攻击者可以利用此漏洞在被攻击者手机没有提示的情况下连接到被攻击手机,获取对手机内各种多媒体文件以及短信通话记录等文件的增删改的权限,甚至可以通过手机命令拨打接听电话。具有攻击功能的指令代码被黑客写成了手机软件,可在网络上下载。第7章 蓝牙攻击7.6.4 拒

26、绝服务拒绝服务蓝牙容易受到拒绝服务(DoS)攻击。拒绝服务攻击可能导致被攻击设备的蓝牙接口无法使用或耗尽设备电池。该类型的攻击效果并不显著,且因为需要物理接近才能使用蓝牙,所以通常通过简单的移动,使设备处于有效范围之外即可避免。拒绝服务(DoS)攻击的原理是在短时间内连续向被攻击目标发送连接请求,使被攻击目标无法与其他设备正常建立连接。蓝牙的逻辑链路控制和适配协议规定了蓝牙设备的更高层协议可以接收和发送64 KB的数据包,类似于ping数据包,针对此特点,攻击者可以发送大量ping数据包占用蓝牙接口,使蓝牙接口不能正常使用。第7章 蓝牙攻击7.6.5 模糊测试攻击模糊测试攻击模糊测试攻击通过发

27、送完全随机的数据包给目标蓝牙设备,以此测试目标蓝牙设备的反应,并根据蓝牙协议规范,对其进行基于协议的漏洞挖掘,精心构造某些特殊格式的数据包发送到蓝牙设备,以挖掘所存在的漏洞。例如,蓝牙协议栈的L2CAP包解析漏洞,或采用DoS攻击的思想,对蓝牙手机连续发送大量的小溢出包,使智能手机计算资源耗尽从而形成DoS攻击漏洞等。第7章 蓝牙攻击可以通过发送大量的随机构造的数据分组来测试智能终端操作系统的健壮性。每发送完一个随机构造的L2CAP信令数据分组,就采用BlueZ蓝牙协议栈提供的L2ping工具测试目标设备的反应。如果L2ping无反应或反应异常,就记录下该格式的数据分组,通过分析这些数据分组的

28、共同点,找出目标操作系统的漏洞。具体的漏洞挖掘流程如图7-15所示。第7章 蓝牙攻击图7-15 L2CAP层信令数据分组解析漏洞挖掘流程第7章 蓝牙攻击7.6.6 配对窃听配对窃听因为低位数字排列组合的方式十分有限,所以蓝牙V2.0及之前更早版本默认的四位PIN码容易被暴力破解。蓝牙V4.0的LE配对与此同理。攻击者只要监听到足够的数据帧,就可以通过暴力破解等方式确定密钥,模拟通信方,实现攻击的目的。第7章 蓝牙攻击小小 结结本章讨论了针对蓝牙的攻击技术。本章第一部分介绍了蓝牙基础知识:从蓝牙底层通信的角度介绍了蓝牙协议的产生及应用场景、蓝牙的连接过程及所涉及的参数;再从应用软件开发的角度介绍了GATT机制及开发过程中所用到的API。本章第二部分讨论了在对蓝牙攻击过程中所涉及的知识及工具(Hook技术、BLE指令协议窃取工具软件及Packet Sniffer工具软件),接着利用Packet Sniffer工具软件详细演示了窃取蓝牙通信指令的案例。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|