1.本技术涉及一种流量分析方法,尤其涉及一种低功耗蓝牙加密通信的流量分析方法、系统、计算机及存储介质,属于蓝牙加密通信技术领域。
背景技术:
2.ble通信过程遵循ble协议,其在应用层构造的数据包在经过ble协议传输时,同种应用的数据包长度一致、种类相同。它们的传输模式均为主设备向从设备发送消息,且从设备返回确认的形式,模式单一。这大大缩小了可进行为分析的属性特征,使得研究者无法将多种可用的数据特征作为研究对象进而判断数据流量所对应的操作行为。而且,ble通信过程采用加密通信方式,当前若想对ble设备行为进行分析,需要对加密数据包进行破解获得明文数据,进而获得流量信息。
3.但是,当前还没有只利用加密数据包就可以对ble加密通信进行流量分析破解ble通信的方案。
技术实现要素:
4.在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
5.鉴于此,为解决现有技术中存在的无法对ble加密通信过程中捕获的特征单一的加密数据进行流量分析从而挖掘深入信息的技术问题,本发明提供一种低功耗蓝牙加密通信的流量分析方法、系统、计算机及存储介质。
6.方案一:本发明提供了一种低功耗蓝牙加密通信的流量分析方法,具体包括以下步骤:
7.步骤一、捕获ble加密通信密文流量数据,获得明文数据包;
8.步骤二、分析ble加密通信密文流量数据,获得特征矩阵;
9.步骤三、利用特征矩阵生成机器学习预测模型对ble加密通信进行流量分析。
10.优选的,步骤一所述捕获ble加密通信密文流量数据的具体方法是,包括以下步骤:
11.步骤一一、在目标设备正式建立加密通信前,控制无线电平台随从设备在广播信道范围内一起跳频,获得connect_req数据包;
12.步骤一二、根据配置数据跟踪ble加密通信跳频,并获得破解数据包的必要交互数据与捕获密文数据;
13.步骤一三、在跳频通信间隔对6位pin进行暴力破解,并计算ltk;
14.步骤一四、若在破解ltk过程中,捕获主设备发送的connect_update_req数据包,
重新跟踪目标设备跳频通信并破解获得新的ltk;
15.步骤一五、对start_enc_req数据包后的所有密文数据包进行解密,获取到明文数据包。
16.优选的,步骤二所述分析ble加密通信密文流量数据,获得特征矩阵的具体方法是,包括以下步骤:
17.步骤二一、将明文数据与密文数据对应,对破碎数据和丢包情况进行平滑处理,并提取明文数据中的有效操作行为,得到有效数据;
18.步骤二二、提取密文数据中的某个单一种类的非平稳操作所导致的抖动序列和特征属性(包括数据包数量与数据包两两时间间隔);
19.步骤二三、对长度不同的抖动进行傅里叶变换,将离散点转换至频域;
20.步骤二四、在频域上均匀采样,对采样点进行傅里叶逆变换,获得原有特征等长度的抖动数据;
21.步骤二五、将变换操作或指令导致抖动按时间顺序抽取,相邻两个抖动序列组合在一起,将第一个抖动对应的操作或指令名称作为标签,将两个抖动及它们之间的数据包平稳时间间隔数量,作为特征工程的属性;
22.步骤二六、对属性进行均一化处理;
23.步骤二七、将处理后的属性与标签生成特征矩阵。
24.优选的,步骤三所述利用特征矩阵生成机器学习预测模型的具体方法是,包括以下步骤:
25.步骤三一、随机森林算法随机抽取特征矩阵选取不同的属性作为每个决策树的训练数据集,在子集上训练决策树;
26.步骤三二、利用单特征m和阈值tm将训练集划分为两个子集;
27.步骤三三、利用分类回归树算法搜索参数对(m,tm),得到按其大小加权的最纯子集;
28.步骤三四、计算第k节点上总d个类别中类别c的训练实例所占的比例β
k,c
,左/右子集的gini impurity和树的左/右实例在拆分子集中的比例i
left/right
;
29.步骤三五、通过l(m,tm)=i
left
·
p
left
+i
right
·
p
right
实现算法试图最小化的代价函数;
30.步骤三六、算法在每个节点上搜索最优属性以分割数据至gini指数最小终止分割;
31.步骤三七、每个基学习器执行平行的个体训练,并产生几乎独立的预测;
32.步骤三八、取每个基本学习者获得的预测方差最小的模式的平均值;
33.步骤三九、每个实例wi的权值最初设置为1/n,其中n是样本数;当第一个预测器已经训练好时,计算误差总权值f0;计算第j个预测器的总权值:和误差总权值
34.步骤三十、计算加权误差率
35.步骤三十一、计算预测值权重
36.步骤三十二、逐步添加预测值,每个预测值都与先前预测值的残差相匹配;综合预测所有先前树的预测之和,并计算加权错误率;
37.步骤三十三、当加权错误率不再随着树的增加而降低时,停止训练,获得使预测值的误差平方和最小的决策树群的形态,最后综合这些决策树的反馈来判断分类结果。
38.优选的,步骤二二所述抖动序列和特征属性具体包括数据包之间的时间间隔的大小的抖动,和不稳定时间间隔的数量的抖动。
39.优选的,步骤二四所述在频域上均匀采样的具体方法是,根据nyquist定理,在频域上均匀采样20个点。
40.优选的,步骤二六所述属性均一化处理方法为z-score。
41.方案二、一种低功耗蓝牙加密通信的流量分析系统,包括加密通信明文数据获取模块、数据流量特征工程模块和机器学习流量分析模块;在流量分析中依次按顺序构成并执行数据分析;所述加密通信明文数据获取模块用于获取ble加密通信密文流量数据,获得明文数据包;所述据流量特征工程模块用于提取和处理可用于流量分析的数据流量特征属性;机器学习流量分析模块用于利用特征矩阵生成机器学习预测模型对ble加密通信进行流量分析。
42.方案三:一种计算机,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现方案一所述一种低功耗蓝牙加密通信的流量分析方法的步骤。
43.方案四:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案一所述一种一种低功耗蓝牙加密通信的流量分析方法。
44.本发明的有益效果如下:本发明能够在不破解密文数据的情况下,通过对数据包在通信传输过程中的时间间隔序列存在微小时差突变组合的特征属性进行提取处理,从而完成流量分析。这大大扩展了流量分析的应用场景,使得加密数据的特征挖掘成为可能,提高了ble蓝牙加密通信的数据分析效率。解决了无法对ble加密通信过程中捕获的特征单一的加密数据进行流量分析从而挖掘深入信息的技术问题。
附图说明
45.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
46.图1为方法流程示意图;
47.图2为步骤一流程示意图;
48.图3为步骤二流程示意图;
49.图4为步骤三流程示意图;
50.图5为无线电平台捕获的通信数据和hci-config文件里记录的操作数据对比示意图;
51.图6为抖动的特征工程处理示意图;
52.图7为模型训练过程中的均方误差与决策树数目关系示意图;
53.图8为属性相对重要性排序示意图。
具体实施方式
54.为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
55.实施例1、参照图1-图8说明本实施方式,一种低功耗蓝牙加密通信的流量分析方法,具体包括以下步骤:可参照附图1-图4;
56.步骤一、捕获ble加密通信密文流量数据,获得明文数据包;包括以下步骤:
57.步骤一一、在目标设备正式建立加密通信前,控制无线电平台随从设备在广播信道范围内一起跳频,获得connect_req数据包;
58.具体的,根据ble协议手册,在软件无线电射频板上,自主编写跟踪跳频的代码,通过所搭建的软件无线电平台进行ble无线通信数据包的捕获;在获得主设备向从设备发起请求的种类为adv_connect_req的数据包后,根据该明文数据包中包含的跳频规则,对ble无线通信进行跳频跟踪,直到获得从设备向主设备发送的ll_start_enc_rsp数据包(在此过程中,若遇到种类为ll_connect_update_req数据包,则更新跳频规则为此数据包中所描述的跳频规则)。这样,我们就按顺序获得了adv_connect_req、pairing_request、pairing_response、主设备发送的pairing_confirm、从设备发送的pairing_confirm、主设备发送的pairing_random、从设备发送的pairing_random、ll_enc_req、ll_enc_rsp、ll_start_enc_req、主设备发送的ll_start_enc_rsp、从设备发送的ll_start_enc_rsp数据包。
59.步骤一二、根据配置数据跟踪ble加密通信跳频,并获得破解数据包的必要交互数据与捕获密文数据;
60.具体的,配置数据,指的是adv_connect_req、ll_connect_update_req数据包中所描述的“当前跳频间隔、当前跳频列表”。
61.步骤一三、在跳频通信间隔对6位pin进行暴力破解,并计算ltk;
62.具体的,利用每次无线电平台“切换至通信信道等待数据-》捕获到目标数据包”之间的等待时间,即跳频通信间隔时间,步骤一获取的数据包中提取信息,利用现有的crackle工具(包含破解方法),对通信认证pin码进行破解,直到获得加密通信密钥ltk,然后对后续捕获到的数据包实现实时破解。
63.步骤一四、若在破解ltk过程中,捕获主设备发送的connect_update_req数据包,重新跟踪目标设备跳频通信并破解获得新的ltk;
64.步骤一五、对start_enc_req数据包后的所有密文数据包进行解密,获取到明文数据包。
65.步骤二、分析ble加密通信密文流量数据,获得特征矩阵;包括以下步骤:
66.步骤二一、将明文数据与密文数据对应,对破碎数据和丢包情况进行平滑处理,并提取明文数据中的有效操作行为,得到有效数据;
67.具体的,“有效操作行为”指通信数据包中所包含的指令信息对应的用户行为,是明确的行为。也就是说,每个用户行为都会以指令信息的形式包含在ble通信的数据包中。
68.例如,用户带着蓝牙手环跑步,手环向手机发送的连续的蓝牙数据包中,其中一个数据包的内容为“0a 95 0d 08 0c 66”(指令信息),含义为“0a代表用户当前心率,数值为95,0d代表当前速度,数值为每秒8米,0c代表当前海拔,数值为66米”(用户明确行为)。
69.具体的,所述提取明文数据中的有效操作行为的具体方法为:利用搭建的无线电平台,在用户进行操作的时候,对ble通信的数据包进行破解与信息收集,这样就找到了用户行为对应的指令信息;接着,我们将这些指令信息与无线电平台捕获到的时间间隔抖动进行对比,发现了“用户行为操作、指令信息、时间间隔抖动”三者的一一对应关系。经过机器学习算法的训练,我们便能够通过时间间隔抖动直接发现用户行为操作,即:不需要解密ble数据包的情况下,即可直接分析出用操作行为。
70.步骤二二、对密文数据中的某个单一种类的非平稳操作所导致的一个或几个数据包的时间间隔抖动进行提取;
71.具体的,提取密文数据中的某个单一种类的非平稳操作所导致的抖动序列和特征属性;所述抖动序列和特征属性具体包括数据包之间的时间间隔的大小的抖动,和不稳定时间间隔的数量的抖动。
72.具体的,“非平稳操作”指的是用户突然改变当前状态,导致所操作的ble设备的芯片会随之重新制定新的指令信息,并发送至目标ble设备,这个状态的改变会导致芯片发送当前指令与上一时刻发送指令之间的时间间隔,相较用户稳态操作时芯片发送的指令之间的时间间隔,有微弱的时间延时,这个现象就叫做“时间间隔抖动”。用户不同的行为操作,会导致这些时间间隔抖动有区别,这是密文状态下能够进行信息获取的核心。
73.步骤二三、对长度不同的抖动进行傅里叶变换,将离散点转换至频域;
74.步骤二四、由于抖动的不稳定时间间隔不超过10个,根据nyquist定理,在频域上均匀采样20个点。对采样点进行傅里叶逆变换,获得原有特征等长度的抖动数据;
75.具体的,获得原有特征长度相等的时钟抖动的方法是,对每个时钟抖动进行周期延拓,然后对离散序列傅里叶变换,即对每个时钟抖动进行处理(即:分别处理burst1、burst2
…
以此类推),将时域离散点转换至频域(公式为:其中x(n)为时钟抖动,n为时钟抖动长度)。
76.另外,在前导实验中,我们对时钟抖动长度进行统计,发现时钟抖动包含的不稳定时间间隔的数量基本不超过10个,因此由nyquist定理,在频域上均匀采样20个点(若时钟抖动包含的不稳定时间间隔数量超过了10个,则将超过10个的部分,每10个组成一个新的burst,这样保证每个burst包含的时间间隔数量都不超过10)。接着,在对这些采样点进行傅里叶逆变换,将频域采样点转换至时域,公式为:
77.步骤二五、将变换操作或指令导致的抖动按时间顺序抽取,相邻两个抖动序列组合在一起,将第一个抖动对应的操作或指令名称作为标签,将两个抖动及它们之间的数据包平稳时间间隔数量,作为特征工程的属性;
78.步骤二六、利用z-score对属性进行均一化处理以避免某一项因平均数值较小而
被过度压缩;
79.具体的,分别处理burst1、burst2
…
burstn,公式为:z=(x-μ)/σ,其中x为时钟抖动,μ为抖动序列的均值,σ为抖动序列的均方误差,均一化处理后的第n个burst记为向量n(vectorn)。接着,对时钟抖动之间的平稳数据包数量进行z-score均一化处理(即:分别处理num1、num2
…
numn),公式为:z=(x-μ)/σ,其中x为numn,μ为平稳数据包数量的均值,σ为平稳数据包数量的均方误差,更新经均一化处理的第n个burst与第n+1个burst间的平稳数据包数量numn(例:均一化后的第一个burst为向量1,均一化后的第二个burst为向量2,均一化后的burst1与burst2间的平稳数据包数量为num1)。
80.步骤二七、将处理后的属性与标签生成特征矩阵。
81.具体的,特征矩阵,作为机器学习预测模型的输入;
82.具体的,将vectorn、vector(n+1)及numn合并为特征属性,将vectorn对应的操作行为typen作为该特征属性的标签,共同构成第n个“属性-标签”向量(例:vector1、vector2与num1合并为特征属性,对应的操作行为type1为该特征属性的标签,共同构成第一个“属性-标签”向量)。最后将所有“属性-标签”向量合并构成特征矩阵。
83.步骤三、利用特征矩阵生成机器学习预测模型对ble加密通信进行流量分析;由于流量分析模块输入特征矩阵的属性空间稀疏,采用基于随机森林基学习器的梯度提升决策树(gbdt)算法进行流量分析。该算法的结构分为两层。底层是基于随机森林的基本学习者,上层是基于决策树的gbdt。底层算法对决策树进行分类,上层算法通过迭代选择指向负梯度方向的函数(弱预测模型),在函数空间上优化代价函数。
84.具体包括以下步骤:
85.步骤三一、随机森林算法随机抽取特征矩阵选取不同的属性作为每个决策树的训练数据集,在子集上训练决策树;
86.步骤三二、利用单特征m和阈值tm将训练集划分为两个子集;
87.步骤三三、利用分类回归树算法搜索参数对(m,tm),得到按其大小加权的最纯子集;
88.步骤三四、计算第k节点上总d个类别中类别c的训练实例所占的比例β
k,c
,左/右子集的gini impurity和树的左/右实例在拆分子集中的比例i
left/right
;
89.步骤三五、通过l(m,tm)=i
left
·
p
left
+i
right
·
p
right
实现算法试图最小化的代价函数;
90.步骤三六/算法在每个节点上搜索最优属性以分割数据至gini指数最小终止分割;
91.步骤三七、每个基学习器执行平行的个体训练,并产生几乎独立的预测;
92.步骤三八、取每个基本学习者获得的预测方差最小的模式的平均值;
93.步骤三九、每个实例wi的权值最初设置为1/n,其中n是样本数;当第一个预测器已经训练好时,计算误差总权值f0;计算第j个预测器的总权值:和误差总权值
94.步骤三十、计算加权误差率
95.步骤三十一、计算预测值权重
96.步骤三十二、逐步添加预测值,每个预测值都与先前预测值的残差相匹配;综合预测所有先前树的预测之和,并计算加权错误率;
97.步骤三十三、当加权错误率不再随着树的增加而降低时,停止训练,获得使预测值的误差平方和最小的决策树群的形态,最后综合这些决策树的反馈来判断分类结果。
98.本发明的名词解释:
99.ble:低功耗蓝牙。
100.实施例2、一种低功耗蓝牙加密通信的流量分析系统,包括加密通信明文数据获取模块、数据流量特征工程模块和机器学习流量分析模块;在流量分析中依次按顺序构成并执行数据分析;所述加密通信明文数据获取模块用于获取ble加密通信密文流量数据,获得明文数据包;所述据流量特征工程模块用于提取和处理可用于流量分析的数据流量特征属性;机器学习流量分析模块用于利用特征矩阵生成机器学习预测模型对低功耗蓝牙加密通信进行流量分析。
101.实施例3、使用本方明方法应用举例说明,用无线电平台对鼠标和android 8.0oreo系统的google pixel 2手机之间的通信流量进行捕获与流量分析,通过加密通信明文数据获取模块,获得了ble通信的密文数据包和对应的明文数据。在通信过程未丢包的状态下,对比发现无线电平台捕获的通信数据和hci-config文件里记录的操作数据一致,如图5所示。根据数据流量特征工程模块,对破碎数据和丢包情况进行了平滑处理,接着对明文数据中的有效操作行为进行了提取,得到有效数据。收集了与有效数据相对应的密文流量特征,并对这些密文流量特征进行对比分析。提取分析不平稳操作导致的抖动序列与特征属性,属性包括数据包之间的时间间隔的大小的抖动,和不稳定时间间隔的数量的抖动,确定抖动特征与操作间存在对应关系。对长度不同的抖动对长度不同的抖动进行傅里叶变换,将离散点转换至频域。由于抖动的不稳定时间间隔不超过10个,根据nyquist定理,在频域上均匀采样20个点。对采样点进行傅里叶逆变换,获得原有特征不变的等长度的抖动数据。操作变换时出现的一个或几个连续的抖动,定义为抖动组合。将相邻两个抖动组合序列组合在一起,将第一个抖动组合对应的鼠标组合操作名称作为标签。这两个抖动组合及它们之间的数据包平稳时间间隔数量,作为特征工程的属性。对属性进行了z-score均一化处理。将处理过的所有属性和标签共同构成的特征矩阵,作为机器学习流量分析模块的输入。如图6抖动的特征工程处理示意图;
102.根据机器学习流量分析模块,特征矩阵随机选取不同的属性和训练样本生成2000个决策树。将特征工程模块获得的数据集,通过分层抽样法,分成11份,其中1份作为检验集。对剩余十份,采用十折交叉验证的方法进行试验。采用上述算法对数据的属性和标签进行拟合,最终构建了预测模型。对模型训练过程中均方误差与决策数目关系进行分析,结果如图7所示。当决策树的数量达到500个时,测试集的偏差小于10%。并且,此时偏差不再随决策树的数目增加而降低。而此时,训练集上的误差也低于25%。这表明在决策树为500时,我们构建的集成模型即可具有良好的预测效果。
103.对预测模型中属性的重要性进行分析,结果如图8所示。每个抖动组合的前三个时间间隔,以及两个抖动组合之间的数据包平稳时间间隔数量对模型预测的权重最高,且属性的组合对预测的贡献要大于单个属性对预测的贡献和。抖动组合的前三个数据包对应的是鼠标执行新操作时的前三个数据包。如图7属性相对重要性排序示意图。
104.利用检验集数据对模型进行检验,在未知数据集上,该模型的误分类率为4.3%,表明该集成模型能够在不解密的情况下,对ble鼠标的加密通信进行高准确率的操作行为判别。
105.本发明的实现过程:利用无线电平台在ble主从设备加密会话正式建立前获得connect_req数据包和配置信息,进而捕获破解密文数据获得明文数据。对照明文数据与密文数据,根据ble芯片在接收指令变化时数据包传输过程时间间隔会产生抖动,提取操作改变导致的抖动进行组合形成抖动组合,将抖动组合进行均一化处理构建矩阵,通过特征工程确定流量分析模型的输入,构造基于集成方法的机器学习模型,完成对ble加密通信的操作或指令的判别,实现对ble加密通信的流量分析。
106.本发明的关键点:
107.1.利用无线电平台捕获的ble加密通信数据流量获取操作或指令数据包前数据包传输时间间隔抖动作为流量分析输入数据的方法;
108.2.使用操作或指令数据包前数据包传输时间间隔抖动,利用机器学习模型,从而实现对ble加密通信流量分析的方法。
109.实施例4、本发明的计算机装置可以是包括有处理器以及存储器等装置,例如包含中央处理器的单片机等。并且,处理器用于执行存储器中存储的计算机程序时实现上述的基于creo软件的可修改由关系驱动的推荐数据的推荐方法的步骤。
110.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
111.所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
112.实施例5、计算机可读存储介质实施例
113.本发明的计算机可读存储介质可以是被计算机装置的处理器所读取的任何形式的存储介质,包括但不限于非易失性存储器、易失性存储器、铁电存储器等,计算机可读存储介质上存储有计算机程序,当计算机装置的处理器读取并执行存储器中所存储的计算机程序时,可以实现上述的基于creo软件的可修改由关系驱动的建模数据的建模方法的步骤。
114.所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
115.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
技术特征:
1.一种低功耗蓝牙加密通信的流量分析方法,其特征在于,具体包括以下步骤:步骤一、捕获ble加密通信密文流量数据,获得明文数据包;步骤二、分析ble加密通信密文流量数据,获得特征矩阵;步骤三、利用特征矩阵生成机器学习预测模型对ble加密通信进行流量分析。2.根据权利要求1所述的流量分析方法,其特征在于,步骤一所述捕获ble加密通信密文流量数据的具体方法是,包括以下步骤:步骤一一、在目标设备正式建立加密通信前,控制无线电平台随从设备在广播信道范围内一起跳频,获得connect_req数据包;步骤一二、根据配置数据跟踪ble加密通信跳频,并获得破解数据包的必要交互数据与捕获密文数据;步骤一三、在跳频通信间隔对6位pin进行暴力破解,并计算ltk;步骤一四、若在破解ltk过程中,捕获主设备发送的connect_update_req数据包,重新跟踪目标设备跳频通信并破解获得新的ltk;步骤一五、对start_enc_req数据包后的所有密文数据包进行解密,获取到明文数据包。3.根据权利要求2所述的流量分析方法,其特征在于,步骤二所述分析ble加密通信密文流量数据,获得特征矩阵的具体方法是,包括以下步骤:步骤二一、将明文数据与密文数据对应,对破碎数据和丢包情况进行平滑处理,并提取明文数据中的有效操作行为,得到有效数据;步骤二二、提取密文数据中的某个单一种类的非平稳操作所导致的抖动序列和特征属性;步骤二三、对长度不同的抖动进行傅里叶变换,将离散点转换至频域;步骤二四、在频域上均匀采样,对采样点进行傅里叶逆变换,获得原有特征等长度的抖动数据;步骤二五、将变换操作或指令导致抖动按时间顺序抽取,相邻两个抖动序列组合在一起,将第一个抖动对应的操作或指令名称作为标签,将两个抖动及它们之间的数据包平稳时间间隔数量,作为特征工程的属性;步骤二六、对属性进行均一化处理;步骤二七、将处理后的属性与标签生成特征矩阵。4.根据权利要求3所述的流量分析方法,其特征在于,步骤三所述利用特征矩阵生成机器学习预测模型的具体方法是,包括以下步骤:步骤三一、随机森林算法随机抽取特征矩阵选取不同的属性作为每个决策树的训练数据集,在子集上训练决策树;步骤三二、利用单特征m和阈值t
m
将训练集划分为两个子集;步骤三三、利用分类回归树算法搜索参数对(m,t
m
),得到按其大小加权的最纯子集;步骤三四、计算第k节点上总d个类别中类别c的训练实例所占的比例β
k,c
,左/右子集的giniimpurity和树的左/右实例在拆分子集中的比例i
left/right
;步骤三五、通过l(m,t
m
)=i
left
·
p
left
+i
right
·
p
right
实现算法试图最小化的代价函数;
步骤三六、算法在每个节点上搜索最优属性以分割数据至gini指数最小终止分割;步骤三七、每个基学习器执行平行的个体训练,并产生几乎独立的预测;步骤三八、取每个基本学习者获得的预测方差最小的模式的平均值;步骤三九、每个实例w
i
的权值最初设置为1/n,其中n是样本数;当第一个预测器已经训练好时,计算误差总权值f0;计算第j个预测器的总权值:和误差总权值步骤三十、计算加权误差率步骤三十一、计算预测值权重步骤三十二、逐步添加预测值,每个预测值都与先前预测值的残差相匹配;综合预测所有先前树的预测之和,并计算加权错误率;步骤三十三、当加权错误率不再随着树的增加而降低时,停止训练,获得使预测值的误差平方和最小的决策树群的形态,最后综合这些决策树的反馈来判断分类结果。5.根据权利要求4所述的流量分析方法,其特征在于,步骤二二所述抖动序列和特征属性具体包括数据包之间的时间间隔的大小的抖动,和不稳定时间间隔的数量的抖动。6.根据权利要求5所述的流量分析方法,其特征在于,步骤二四所述在频域上均匀采样的具体方法是,根据nyquist定理,在频域上均匀采样20个点。7.根据权利要求6所述的流量分析方法,其特征在于,步骤二六所述均一化处理的具体方法为z-score。8.一种ble加密通信的流量分析系统,,其特征在于,包括加密通信明文数据获取模块、数据流量特征工程模块和机器学习流量分析模块;在流量分析中依次按顺序构成并执行数据分析;所述加密通信明文数据获取模块用于获取ble加密通信密文流量数据,获得明文数据包;所述据流量特征工程模块用于提取和处理可用于流量分析的数据流量特征属性;机器学习流量分析模块用于利用特征矩阵生成机器学习预测模型对ble加密通信进行流量分析。9.一种计算机,其特征在于,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现权利要求1至7任一项所述的流量分析方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的流量分析方法。
技术总结
一种低功耗蓝牙加密通信的流量分析方法、系统、计算机及存储介质,属于蓝牙加密通信技术领域。利用无线电平台在BLE主从设备加密会话正式建立前获得connect_req数据包和配置信息,进而捕获破解密文数据获得明文数据。对照明文数据与密文数据,根据BLE芯片在接收指令变化时数据包传输过程时间间隔会产生抖动,提取多个操作改变导致抖动按时序进行组合形成抖动组合,将抖动组合进行均一化处理构建矩阵,通过特征工程确定流量分析模型的输入,构造基于集成方法的机器学习模型,完成对BLE加密通信的操作或指令的判别,实现对BLE加密通信的流量分析。解决无法对BLE加密通信过程中捕获特征单一的加密数据进行流量分析的问题。捕获特征单一的加密数据进行流量分析的问题。捕获特征单一的加密数据进行流量分析的问题。
技术研发人员:敖世亮 张宏莉 方滨兴 杨大千 肖新光 叶麟
受保护的技术使用者:安天科技集团股份有限公司
技术研发日:2021.12.14
技术公布日:2022/3/8