【技术实现步骤摘要】
一种协议检测方法、协议检测装置和计算机可读存储介质
[0001]本申请涉及网络安全
,具体涉及一种协议检测方法、协议检测装置和计算机可读存储介质。
技术介绍
[0002]随着物联网设备的逐渐发展,相关设备及其通信协议越来越多;为了保密性或者历史原因,有些开发者使用基于二进制的通信协议,由于此类协议的设计、开发时间较早或受限于技术,未考虑安全因素,导致该协议在安全方面存在隐患。目前对于二进制协议的漏洞挖掘大多基于协议进行模糊检测,该方式一般是专业研究者对产品进行检测,对漏洞代码的定位需要花费较多时间,无法保证对协议中的所有命令均进行检测。
技术实现思路
[0003]本申请提供一种协议检测方法、协议检测装置和计算机可读存储介质,能够解决检测过程中协议命令覆盖率不足的问题,定位有问题的代码。
[0004]为解决上述技术问题,本申请采用的技术方案是:提供一种协议检测方法,该方法包括:获取待检测协议对应的协议定义文档,协议定义文档包括多个协议命令的定义信息;对定义信息进行语义分析处理,得到第一协议检测集, ...
【技术保护点】
【技术特征摘要】
1.一种协议检测方法,其特征在于,包括:获取待检测协议对应的协议定义文档,所述协议定义文档包括多个协议命令的定义信息;对所述定义信息进行语义分析处理,得到第一协议检测集,所述第一协议检测集包括第一关键字段以及与所述第一关键字段对应的第一取值约束;对所述待检测协议对应的源代码进行分析处理,得到第二关键字段以及与所述第二关键字段对应的第二取值约束;基于所述第二关键字段与所述第二取值约束,对所述第一协议检测集进行修正,得到第二协议检测集;采用所述第二协议检测集对所述源代码进行检测,得到检测结果。2.根据权利要求1所述的协议检测方法,其特征在于,所述采用所述第二协议检测集对所述源代码进行检测,得到检测结果的步骤,包括:对所述源代码进行插桩处理,得到插桩后的源代码;采用所述第二协议检测集对所述插桩后的源代码进行检测,得到所述检测结果。3.根据权利要求2所述的协议检测方法,其特征在于,所述采用所述第二协议检测集对所述插桩后的源代码进行检测,得到所述检测结果的步骤,包括:对所述第二协议检测集进行拆分,得到协议头集与第一扩展数据集;基于所述第一扩展数据集,生成多个子扩展数据集;计算所有所述子扩展数据集的并集,得到第二扩展数据集;基于所述协议头集与所述第二扩展数据集,生成检测数据集,所述检测数据集包括多个按照优先级排列的检测用例集;依次采用所述检测数据集中的检测用例集,对所述插桩后的源代码进行检测,得到所述检测结果。4.根据权利要求3所述的协议检测方法,其特征在于,所述第二扩展数据集包括第一子扩展数据集、第二子扩展数据集以及第三子扩展数据集,所述基于所述协议头集与所述第二扩展数据集,生成检测数据集的步骤,包括:判断所述协议命令是否具有扩展数据;若否,则生成第一检测用例集与第二检测用例集,所述第一检测用例集包括所述协议头集与所述第二扩展数据集,所述第二检测用例集为所述协议头集;若是,则生成第三检测用例集、第四检测用例集以及第五检测用例集,所述第三检测用例集包括所述协议头集与所述第一子扩展数据集,所述第四检测用例集包括所述协议头集与所述第二子扩展数据集,所述第五检测用例集包括所述协议头集与所述第三子扩展数据集。5.根据权利要求4所述的协议检测方法,其特征在于,所述方法还包括:依序从所述协议头集中选择一个第一检测数据作为第一当前数据;从所述第一扩展数据集中选择一个第二检测数据作为第二当前数据;将所述第一当前数据与所述第二当前数据拼合,得到当前检测用例;采用所述当前检测用例对所述插桩后的源代码进行检测;判断所述第一当前数据是否为所述协议头集中的最后一个第一检测数据;
若否,则返回所述依序从所述协议头集中选择一个第一检测数据作为第一当前...
【专利技术属性】
技术研发人员:安童乐,张军昌,魏东,
申请(专利权)人:浙江大华技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。