本发明涉及协议安全分析的,尤其涉及一种北斗授时协议安全分析方法。
背景技术:
1、北斗授时协议是面向国内设备统一授时的无线通信协议,随着该协议的广泛使用,其安全问题也引起了广泛的关注。由于北斗设备内部授时协议的数据单元规范不公开,严重限制了安全性分析的途径。现有基于模糊测试的协议测试样本生成策略基于变异,依赖于对指定北斗设备开发文档的人工分析,通过对特殊字段进行随机变异的方法生成测试样本并以此进行协议安全性分析。然而,对于使用北斗授时协议的绝大多数设备,其数据单元未公开,测试人员无法获取协议规范进行分析,这种测试样本生成方法存在着局限性,缺乏对协议关联字段的针对性。在测试时,随机变异策略生成的测试样本不能代表协议格式,产生过多无效包,从而使得被测设备接收率低,难以实施有效的安全性分析。针对上述问题,需要一种面向北斗授时协议的安全分析方法,提高北斗授时协议的安全分析效率和可靠性。
技术实现思路
1、有鉴于此,本发明提供一种北斗授时协议安全分析方法,目的在于:1)利用多次迭代卷积计算将北斗授时协议转换为特征表示结果,并基于北斗授时协议所表示的若干协议内容部分对特征表示结果进行划分,结合不同划分结果之间的语义关联,对每部分特征表示进行赋权处理,实现协议关联字段的针对性特征规范提取,得到北斗授时协议的语义特征规范,将构造的数据测试集合随机拆分为多个测试子集合,并计算每个测试子集合的多样化度,其中多样化度越高,则表示测试子集合的多样性越大,具有存在隐患的语义特征规范的概率越大,因此优先进行安全性测试,进而记录存在安全性隐患的语义特征规范,利用存在安全性隐患的语义特征规范指导生成若干测试数据,避免所生成测试数据的随机性,利用所生成存在安全性隐患的测试数据对语义特征规范安全性测试模型进行优化训练,提高语义特征规范安全性测试模型的训练效果;2)基于训练目标函数的梯度确定迭代步长,并对待优化参数进行迭代更新,在迭代更新的过程中,在待优化参数迭代结果的基础上,通过变异操作生成新的优化参数,若变异结果优于迭代结果则进行替换,扩大了待优化参数的更新搜索范围,避免待优化参数陷入局部最优解,进而提高语义特征规范安全性测试模型的测试准确性。
2、实现上述目的,本发明提供的一种北斗授时协议安全分析方法,包括以下步骤:
3、s1:获取北斗授时协议数据流,构建北斗授时协议语义挖掘模型,所述北斗授时协议语义挖掘模型以北斗授时协议数据流为输入,以语义特征规范为输出,利用北斗授时协议语义挖掘模型得到北斗授时协议的语义特征规范;
4、s2:将北斗授时协议的语义特征规范作为测试数据,构造北斗授时协议测试数据集合,将构造的数据测试集合随机拆分为多个测试子集合,并计算每个测试子集合的多样化度;
5、s3:构建语义特征规范安全性测试模型,按照测试子集合多样化度由大到小的次序对测试子集合中的语义特征规范进行安全性测试,记录存在安全性隐患的语义特征规范;
6、s4:对记录得到的语义特征规范进行测试数据支持度统计,并按照支持度计算样本生成比例指导语义特征规范生成指定数量的测试数据,利用所生成存在安全性隐患的测试数据对语义特征规范安全性测试模型进行优化训练。
7、作为本发明的进一步改进方法:
8、可选地,所述s1步骤中获取北斗授时协议数据流,包括:
9、获取北斗授时协议数据流,其中北斗授时协议数据流为北斗卫星向授时用户机所发送电文信息数据流中的北斗授时协议规范数据流,电文信息数据流包括标准北斗时间、卫星位置信息、调制后的时标信息、延迟信息以及北斗授时协议,北斗授时协议中包括闰秒提示、版本号、北斗授时工作模式、轮询时间、时钟精度、系统时钟的层数、参考时钟源的标识、系统时钟相较于参考时钟的最大误差、电子信息数据流离开发送端的时间以及验证编码信息;
10、所获取北斗授时协议数据流的表示形式为:
11、;
12、其中:
13、表示所获取第n组电文信息数据中的北斗授时协议,n表示所获取电文信息数据的总数。
14、可选地,所述s1步骤中利用北斗授时协议语义挖掘模型得到北斗授时协议的语义特征规范,包括:
15、构建北斗授时协议语义挖掘模型,所述北斗授时协议语义挖掘模型以北斗授时协议数据流为输入,以语义特征规范为输出;北斗授时协议语义挖掘模型包括输入层、卷积计算层、注意力层以及输出层,输入层用于接收北斗授时协议,卷积计算层用于计算得到北斗授时协议的特征表示结果,注意力层用于得到特征表示结果的权重,输出层用于输出北斗授时协议的语义特征规范;
16、利用北斗授时协议语义挖掘模型得到北斗授时协议的语义特征规范,其中北斗授时协议的语义特征规范提取流程为:
17、s11:输入层接收北斗授时协议;
18、s12:设定当前迭代卷积计算次数为d,d的初始值为1,最大迭代卷积计算次数为d,则北斗授时协议在第d次卷积计算的特征表示结果为;
19、s13:卷积计算层计算得到第d次卷积计算的特征表示结果:
20、;
21、;
22、;
23、;
24、其中:
25、表示卷积计算层中四层卷积层的权重参数,表示卷积计算层中四层卷积层的偏置参数,表示第d-1次卷积计算得到的特征表示结果中需要记录的信息,表示第d-1次卷积计算得到的特征表示结果中需要过滤删除的信息,表示需要向第d次卷积计算过程传递的信息,包括以及,表示对第d-1次卷积计算得到的特征表示结果进行卷积计算,表示在迭代过程中传递信息,使得需要记录的有效信息得以保留,并过滤删除无效信息;
26、表示激活函数,;在本发明实施例中,表示relu激活函数,表示softmax激活函数;
27、s14:若,则将划分为10部分特征表示结果,其中每部分对应北斗授时协议中协议内容,其中10部分在北斗授时协议中的对应协议内容依次为闰秒提示、版本号、北斗授时工作模式、轮询时间、时钟精度、系统时钟的层数、参考时钟源的标识、系统时钟相较于参考时钟的最大误差、电子信息数据流离开发送端的时间以及验证编码信息;
28、注意力层对进行注意力权重计算,其中注意力权重计算公式为:
29、;
30、;
31、其中:
32、t表示转置;
33、表示北斗授时协议中第部分协议内容在北斗授时协议数据流中出现的次数;
34、表示北斗授时协议中第部分协议内容的权重;
35、表示以自然常数为底的指数函数;
36、表示北斗授时协议中第部分协议内容的注意力权重;
37、表示中10部分特征表示结果的注意力权重矩阵;
38、若,则令,返回步骤s13;
39、s15:输出层输出北斗授时协议的语义特征规范:
40、;
41、其中:
42、表示中第部分的特征表示结果,即北斗授时协议中第部分协议内容的特征表示结果。
43、可选地,所述s2步骤中构造北斗授时协议测试数据集合,将构造的数据测试集合随机拆分为多个测试子集合,包括:
44、将北斗授时协议的语义特征规范作为测试数据,构造北斗授时协议测试数据集合data:
45、;
46、其中:
47、表示北斗授时协议的语义特征规范;
48、将构造的数据测试集合随机拆分为k个测试子集合,其中所拆分得到的每个测试子集合中的测试数据数目为,则第k个测试子集合为:
49、;
50、其中:
51、表示第k个测试子集合中的第j个测试数据。
52、可选地,所述s2步骤中计算每个测试子集合的多样化度,包括:
53、计算所拆分每个测试子集合的多样化度,其中第k个测试子集合的多样化度计算公式为:
54、;
55、;
56、其中:
57、表示第k个测试子集合的多样化度;
58、表示语义特征规范在北斗授时协议测试数据集合中出现的次数,则表示语义特征规范在北斗授时协议测试数据集合中的频率。
59、可选地,所述s3步骤中按照测试子集合多样化度由大到小的次序,利用语义特征规范安全性测试模型依次对测试子集合中的语义特征规范进行安全性测试,包括:
60、按照测试子集合多样化度由大到小的次序,利用语义特征规范安全性测试模型依次对测试子集合中的语义特征规范进行安全性测试,并记录存在安全性隐患的语义特征规范;
61、所述语义特征规范安全性测试模型包括输入层、特征计算层以及输出层,输入层用于接收语义特征规范;特征计算层包括3个卷积层以及3个池化层,每个卷积层后跟池化层,每个池化层接收前一个卷积层的输出,并将池化结果作为下一个卷积层的输入,其中第一个卷积层的输入为语义特征规范;输出层包括两个连续的全连接层,其中第一个全连接层选取relu激活函数,最后一个全连接层选取softmax激活函数,输出安全性测试结果,其中0表示语义特征规范所对应的北斗授时协议不存在安全性隐患,1表示语义特征规范所对应的北斗授时协议存在安全性隐患。在本发明实施例中,本发明仅对多样化度高于预设置阈值的测试子集合进行安全性测试。
62、可选地,所述s4步骤中对存在安全隐患的语义特征规范进行测试数据支持度统计,并按照支持度计算样本生成比例指导语义特征规范生成指定数量的测试数据,包括:
63、对存在安全隐患的语义特征规范进行测试数据支持度统计,其中测试数据支持度统计公式为:
64、;
65、其中:
66、表示第b个存在安全隐患的语义特征规范,表示的支持度,表示存在安全隐患的语义特征规范总数,表示l1范数;
67、按照支持度计算样本生成比例指导语义特征规范生成指定数量的测试数据,所生成测试数据与基准语义特征规范的余弦相似度高于预设置的相似度阈值,基准语义特征规范即存在安全隐患的语义特征规范,并指导基准语义特征规范生成指定数量的测试数据,则基于语义特征规范所生成的测试数据数目为:,其中:
68、;
69、其中:
70、c表示所设置生成测试数据的总数;
71、表示语义特征规范安全性测试模型训练数据集中存在安全隐患的测试数据总数;
72、语义特征规范安全性测试模型训练数据集中的测试数据总数。
73、可选地,所述s4步骤中利用所生成存在安全性隐患的测试数据对语义特征规范安全性测试模型进行优化训练,包括:
74、将所生成存在安全性隐患的测试数据加入到语义特征规范安全性测试模型的训练数据集,得到更新后的训练数据集data:
75、;
76、其中:
77、表示训练数据集data中的第c组测试数据;
78、,表示测试数据的安全性测试结果,其中由存在安全隐患的语义特征规范指导生成的测试数据的安全性测试结果为1;
79、构建语义特征规范安全性测试模型的训练目标函数:
80、;
81、其中:
82、表示待训练优化参数,即语义特征规范安全性测试模型中特征计算层的参数;
83、表示将测试数据输入到基于的语义特征规范安全性测试模型中,模型输出的安全性测试结果;
84、基于训练目标函数的模型参数优化训练流程为:
85、s41:设置待优化参数的当前迭代次数为u,期望最大迭代次数为u,u的初始值为0,并初始化,表示当前初始待优化参数,表示当前语义特征规范安全性测试模型的待优化参数,表示第u次迭代后的待优化参数;
86、s42:若,则输出作为优化训练得到的参数,并基于构建语义特征规范安全性测试模型,否则转向步骤s43,其中为预设置的梯度阈值;
87、s43:计算得到迭代步长:
88、;
89、;
90、其中:
91、表示步长参数;
92、表示单位矩阵;
93、基于步长参数更新待优化参数:
94、;
95、s44:生成0-1之间的随机数rand,若所生成随机数满足下式,则对进行变异处理,其中所生成随机数的待满足不等式为:
96、;
97、其中:
98、为所设置的最大变异率,为所设置的最小变异率;
99、其中变异处理公式为:
100、;
101、其中:
102、分别表示任意第次迭代得到的待优化参数以及任意第次迭代得到的待优化参数,;在本发明实施例中,本发明在待优化参数迭代结果的基础上,通过变异操作生成新的优化参数,若变异结果优于迭代结果则进行替换,扩大了待优化参数的更新搜索范围,避免待优化参数陷入局部最优解;
103、为的变异结果;
104、若,则将替换为变异结果,令u=u+1,返回步骤s42;
105、若所生成随机数不满足所述不等式,则令u=u+1,返回步骤s42。
106、为了解决上述问题,本发明提供一种电子设备,所述电子设备包括:
107、存储器,存储至少一个指令;
108、通信接口,实现电子设备通信;及处理器,执行所述存储器中存储的指令以实现上述所述的北斗授时协议安全分析方法。
109、为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的北斗授时协议安全分析方法。
110、相对于现有技术,本发明提出一种北斗授时协议安全分析方法,该技术具有以下优势:
111、首先,本方案提出一种语义特征规范提取方法,利用北斗授时协议语义挖掘模型得到北斗授时协议的语义特征规范,其中北斗授时协议的语义特征规范提取流程为:输入层接收北斗授时协议;设定当前迭代卷积计算次数为d,d的初始值为1,最大迭代卷积计算次数为d,则北斗授时协议在第d次卷积计算的特征表示结果为;卷积计算层计算得到第d次卷积计算的特征表示结果:
112、;
113、;
114、;
115、;
116、其中:表示卷积计算层中四层卷积层的权重参数,表示卷积计算层中四层卷积层的偏置参数;表示激活函数,;若,则将划分为10部分特征表示结果,其中每部分对应北斗授时协议中协议内容,其中10部分在北斗授时协议中的对应协议内容依次为闰秒提示、版本号、北斗授时工作模式、轮询时间、时钟精度、系统时钟的层数、参考时钟源的标识、系统时钟相较于参考时钟的最大误差、电子信息数据流离开发送端的时间以及验证编码信息;注意力层对进行注意力权重计算,其中注意力权重计算公式为:
117、;
118、;
119、其中:t表示转置;表示北斗授时协议中第部分协议内容在北斗授时协议数据流中出现的次数;表示北斗授时协议中第部分协议内容的权重;
120、表示以自然常数为底的指数函数;表示北斗授时协议中第部分协议内容的注意力权重;表示中10部分特征表示结果的注意力权重矩阵;若,则令;输出层输出北斗授时协议的语义特征规范:
121、;
122、其中:表示中第部分的特征表示结果,即北斗授时协议中第部分协议内容的特征表示结果。本方案利用多次迭代卷积计算将北斗授时协议转换为特征表示结果,并基于北斗授时协议所表示的若干协议内容部分对特征表示结果进行划分,结合不同划分结果之间的语义关联,对每部分特征表示进行赋权处理,实现协议关联字段的针对性特征规范提取,得到北斗授时协议的语义特征规范,将构造的数据测试集合随机拆分为多个测试子集合,并计算每个测试子集合的多样化度,其中多样化度越高,则表示测试子集合的多样性越大,具有存在隐患的语义特征规范的概率越大,因此优先进行安全性测试,进而记录存在安全性隐患的语义特征规范,利用存在安全性隐患的语义特征规范指导生成若干测试数据,避免所生成测试数据的随机性,利用所生成存在安全性隐患的测试数据对语义特征规范安全性测试模型进行优化训练,提高语义特征规范安全性测试模型的训练效果。
123、同时,本方案提出一种结合参数变异的模型参数迭代优化方法,基于训练目标函数的模型参数优化训练流程为:设置待优化参数的当前迭代次数为u,期望最大迭代次数为u,u的初始值为0,并初始化,表示当前初始待优化参数,表示当前语义特征规范安全性测试模型的待优化参数,表示第u次迭代后的待优化参数;若,则输出作为优化训练得到的参数,并基于构建语义特征规范安全性测试模型,否则转向步骤s43,其中为预设置的梯度阈值;计算得到迭代步长:
124、;
125、;
126、其中:表示步长参数;表示单位矩阵;基于步长参数更新待优化参数:
127、;
128、生成0-1之间的随机数rand,若所生成随机数满足下式,则对进行变异处理,其中所生成随机数的待满足不等式为:
129、;
130、其中:为所设置的最大变异率,为所设置的最小变异率;其中变异处理公式为:
131、;
132、其中:分别表示任意第次迭代得到的待优化参数以及任意第次迭代得到的待优化参数,;为的变异结果;若,则将替换为变异结果,令u=u+1,返回迭代步骤;若所生成随机数不满足所述不等式,则令u=u+1,返回迭代步骤。本方案基于训练目标函数的梯度确定迭代步长,并对待优化参数进行迭代更新,在迭代更新的过程中,在待优化参数迭代结果的基础上,通过变异操作生成新的优化参数,若变异结果优于迭代结果则进行替换,扩大了待优化参数的更新搜索范围,避免待优化参数陷入局部最优解,进而提高语义特征规范安全性测试模型的测试准确性。