基于模型学习的安全协议主机名验证模块脆弱性分析方法技术

技术编号:31623994 阅读:8 留言:0更新日期:2021-12-29 19:00
本发明专利技术涉及一种基于模型学习的安全协议主机名验证模块脆弱性分析方法,属于网络信息安全技术领域。方法包括:获取待检测的主机名验证模块;利用模型学习引擎模块输出状态机模型,所述模型学习引擎模块包括成员资格查询算法和等价检测算法;通过状态机模型分析模块中的规范对输出的状态机模型进行漏洞的检测,判断状态机模型是否存在违规行为或者缺陷,以进行脆弱性分析。本发明专利技术通过模型学习技术有效的推断出与给定证书主机名匹配的所有主机名集合的状态机模型,进而通过分析状态机模型找出主机名验证模块的实现问题,完成对主机名验证模块的脆弱性分析。模块的脆弱性分析。模块的脆弱性分析。

【技术实现步骤摘要】
基于模型学习的安全协议主机名验证模块脆弱性分析方法


[0001]本专利技术涉及一种基于模型学习的安全协议主机名验证模块脆弱性分析方法,属于网络信息安全


技术介绍

[0002]伴随着网络通信技术的快速发展,互联网产业不断升级,互联网产品和服务逐渐成为人们生产生活的重要组成部分。然而,在相关技术不断完善的同时,数据泄露、高危漏洞、网络攻击等网络安全问题也在时刻挑战公民隐私、影响社会稳定甚至危害国家安全。由于社会对网络的依赖性不断提高,如何保障通信安全成为一个急需解决的重要难题。
[0003]在网络通信安全中,通过数字证书对用户身份进行验证是目前极为常见的方法。数字证书是一种公钥密码算法的应用,由可信第三方提供证书的颁发,通信中的一方使用自己的私钥对消息进行签名,另一方使用相应的公钥对消息进行验证。在对数字证书验证的相关分析工作中,大多都是对数字证书进行对抗性测试:通过攻击者进行攻击,测试数字证书是否能够抵挡攻击者的进攻,在没有抵挡攻击的情况下,分析数字证书的漏洞。然而这种对抗性测试需要各种不同类型的攻击者,导致测试的盲目性较大,并且如果存在没有抵挡攻击的多个攻击者的情况下,分析数字证书漏洞的效率低。因此,需要对数字证书进行针对性的分析。
[0004]在证书认证的过程中,有一个非常关键的环节——主机名验证,主机名验证通过检查通信对象的主机名是否与身份证书中存在的名称相匹配,来验证远程目标的身份标识。由于关系到身份认证的有效性,主机名匹配的任何缺陷都有可能带来安全隐患。由于存在很多特殊情况,主机名验证是一个极其复杂的过程,在匹配中不仅要考虑多种身份类型(IP、DN、FQDN等),还要考虑公用名备用名匹配顺序、通配符、空字节等问题。因此采用安全协议主机名验证模块专门对主机名进行验证,并且在安全协议主机名验证模块投入验证前需要进行脆弱性分析。
[0005]为此,本申请提出一种安全协议主机名验证模块脆弱性分析方法的技术方案。

技术实现思路

[0006]本申请的目的在于提供一种基于模型学习的安全协议主机名验证模块脆弱性分析方法,为主机名验证模块的脆弱性分析提出一种行之有效的技术方案。
[0007]为实现上述目的,本申请提出了一种基于模型学习的安全协议主机名验证模块脆弱性分析方法的技术方案,基于模型学习的安全协议主机名验证模块脆弱性分析方法包括以下步骤:
[0008]1)获取待检测的主机名验证模块,主机名验证模块中存储有若干数字证书模板,每个数字证书模板中均存储有相应的验证算法的主机名匹配规则;
[0009]2)利用模型学习引擎模块输出与给定证书主题名匹配的所有主机名集合的状态机模型,所述模型学习引擎模块包括成员资格查询算法和等价检测算法,输出状态机模型
的过程为:
[0010]通过成员资格查询算法进行若干轮查询后输出模型假设;每轮查询过程中,按照成员资格查询算法生成字符串,将生成的字符串输入待检测的主机名验证模块中并接收待检测的主机名验证模块输出的匹配结果;
[0011]通过等价检测算法验证模型假设是否与真实的主机名验证实现等价,若等价,则将模型假设作为状态机模型输出;若不等价,则再次通过成员资格查询算法输出模型假设,直至等价输出状态机模型;
[0012]3)通过状态机模型分析模块中的规范对输出的状态机模型进行漏洞的检测,判断状态机模型是否存在违规行为或者缺陷,以进行脆弱性分析。
[0013]本专利技术的基于模型学习的安全协议主机名验证模块脆弱性分析方法的技术方案的有益效果是:本专利技术通过模型学习技术有效的推断出与给定证书主机名匹配的所有主机名集合的状态机模型,进而通过分析状态机模型找出主机名验证模块的实现问题,完成对主机名验证模块的脆弱性分析。
[0014]进一步的,步骤1)中建立的待检测的主机名验证模块包括第一主机名验证模块和第二主机名验证模块,第一主机名验证模块和第二主机名验证模块为同一协议的不同实现的两个验证模块,进而步骤2)中输出对应的第一状态机模型和第二状态机模型,步骤3)中对第一状态机模型和第二状态机模型中的差异路径采用规范进行漏洞的检测,第一状态机模型和第二状态机模型为同一数字证书模板下的两个模型。
[0015]进一步的,根据Python

Dfa_diff库找出第一状态机模型和第二状态机模型中的差异路径。
[0016]进一步的,所述状态机模型为确定性有限状态机模型。
[0017]进一步的,所述步骤2)中,成员资格查询算法包括L*算法、L
*
M算法、KV算法、TTT算法。
[0018]进一步的,所述步骤2)中,等价检测算法包括Wp算法、或者Lee&Yannakakis算法。
附图说明
[0019]图1是本专利技术基于模型学习的安全协议主机名验证模块脆弱性分析方法的系统框图;
[0020]图2是本专利技术基于模型学习的安全协议主机名验证模块脆弱性分析方法的流程图;
[0021]图3a是本专利技术基于IPsec实现的Strongswan主机名验证模块中对包含"C=CH,CN=a.a.a"证书ID_DER_ASN1_DN类型ID下的匹配模型;
[0022]图3b是本专利技术基于IPsec实现的Libreswan主机名验证模块中对包含"C=CH,CN=a.a.a"证书ID_DER_ASN1_DN类型ID下的匹配模型;
[0023]图4a是本专利技术基于IPsec实现的Strongswan主机名验证模块中对包含"C=CH,CN=a.a.a"证书ID_FQDN类型ID下的匹配模型;
[0024]图4b是本专利技术基于IPsec实现的Libreswan主机名验证模块中对包含"C=CH,CN=a.a.a"证书ID_FQDN类型ID下的匹配模型;
[0025]图5是本专利技术利用不区分大小写的缺陷向Strongswan主机名验证模块发起身份仿
冒攻击示意图;
[0026]图6是本专利技术利用允许通配符证书匹配的缺陷向Libreswan主机名验证模块发起中间人攻击示意图。
具体实施方式
[0027]基于模型学习的安全协议主机名验证模块脆弱性分析方法实施例:
[0028]本专利技术的主要构思在于,基于主机名验证本质上属于一种字符串匹配的问题,并且与复杂条件下的正则表达式匹配非常相似,对于给定证书的主题名,与之匹配的所有主机名可以看作是一个特定的常规语言系或匹配集合。因此,本专利技术利用成员资格查询算法和等价检测算法,采用模型学习技术有效的推断出与某个数字证书主题名匹配的所有主机名集合的确定性有限状态机(DFA)模型,进而通过分析状态机模型找出主机名验证模块的实现问题。
[0029]基于模型学习的安全协议主机名验证模块脆弱性分析方法基于如图1所示的系统,包括待检测的主机名验证模块、模型学习引擎模块以及状态机模型分析模块,通过模型学习引擎模块以及状态机模型分析模块对主机名验证模块的验证实现功能进行脆弱性分析。在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于模型学习的安全协议主机名验证模块脆弱性分析方法,其特征在于,包括以下步骤:1)获取待检测的主机名验证模块,主机名验证模块中存储有若干数字证书模板,每个数字证书模板中均存储有相应的验证算法的主机名匹配规则;2)利用模型学习引擎模块输出与给定证书主题名匹配的所有主机名集合的状态机模型,所述模型学习引擎模块包括成员资格查询算法和等价检测算法,输出状态机模型的过程为:通过成员资格查询算法进行若干轮查询后输出模型假设;每轮查询过程中,按照成员资格查询算法生成字符串,将生成的字符串输入待检测的主机名验证模块中并接收待检测的主机名验证模块输出的匹配结果;通过等价检测算法验证模型假设是否与真实的主机名验证实现等价,若等价,则将模型假设作为状态机模型输出;若不等价,则再次通过成员资格查询算法输出模型假设,直至等价输出状态机模型;3)通过状态机模型分析模块中的规范对输出的状态机模型进行漏洞的检测,判断状态机模型是否存在违规行为或者缺陷,以进行脆弱性分析。2.根据权利要求1所述的基于模型学习的安全协议主机名验证模块脆弱性分析方法,其特征在于,步骤1)中建立的待检测的主机名验证模块包括第一主机名验证模块和...

【专利技术属性】
技术研发人员:顾纯祥郭家兴陈熹石雅男
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1