融合黑白灰安全检测技术的应用安全测试方法及系统技术方案

技术编号:37174612 阅读:12 留言:0更新日期:2023-04-20 22:44
本发明专利技术提供了融合黑白灰安全检测技术的应用安全测试方法及系统,运用于软件应用技术领域;获取初步生成的代码工程,基于预设的规则库设定的安全编码要求,对代码工程进行融合黑白灰安全检测,得到检测结果,判断检测结果是否存在漏洞代码;若是,则基于融合黑白灰安全检测,精确定位到漏洞代码的位置,根据预设的漏洞模式库确认漏洞代码对应的至少一个或多个特征,将特征输入至预设的学习模型进行训练,完善学习模型;识别漏洞代码对应的安全编码,基于预设的编码知识库对安全编码进行差异性比对,生成安全编码对应的修正范围;基于学习模型和修正范围对检测结果进行融合、加权和判定引擎,生成检测结果对应的检测报告。生成检测结果对应的检测报告。生成检测结果对应的检测报告。

【技术实现步骤摘要】
融合黑白灰安全检测技术的应用安全测试方法及系统


[0001]本专利技术涉及软件应用
,特别涉及为融合黑白灰安全检测技术的应用安全测试方法及系统。

技术介绍

[0002]AST(Application Security Testing)应用安全测试是针对应用安全性进行测试,测试软件在遭到没有授权的内部或者外部用户的攻击/恶意破坏时如何进行处理,从而保证软件和数据的安全,主要包括动态应用测试DAST(Dynamic Application Security Testing黑盒安全测试)、静态应用测试SAST(Static Application Security Testing白盒安全测试)、交互式应用测试IAST(Interactive Application Security Testing灰盒安全测试)。
[0003]应用安全检测AST的目的是发现漏洞,发现漏洞的目的是修复漏洞,修复漏洞的最终落地点就在于源代码和系统配置、环境的修改,很大一部分修复要精准到源代码、配置某一行,而随着组织机构使用的应用数量不断增长、复杂度不断提高、类型不断多样化,通常应用系统黑白灰检测结果没有打通,无法实现相互佐证和促进,黑白灰各自独立的检测结果没有合并,导致三种检测的结果也不一致,无法得到最精确的结论。

技术实现思路

[0004]本专利技术旨在解决黑白灰三种检测结果无法相互佐证,无法得到最精确检测结果的问题,提供融合黑白灰安全检测技术的应用安全测试方法及系统。
[0005]本专利技术为解决技术问题采用如下技术手段:
[0006]本专利技术提供融合黑白灰安全检测技术的应用安全测试方法,包括以下步骤:
[0007]获取初步生成的代码工程,基于预设的规则库设定的安全编码要求,对所述代码工程进行融合黑白灰安全检测,得到检测结果,其中,所述融合黑白灰安全检测具体为基于预设次序的检测引擎编排,所述检测引擎编排具体为依次采用合规引擎,黑盒专用引擎,白盒专用引擎和灰盒专用引擎对所述代码工程进行检测;
[0008]判断所述检测结果是否存在漏洞代码;
[0009]若是,则基于所述融合黑白灰安全检测,精确定位到所述漏洞代码的位置,根据预设的漏洞模式库确认所述漏洞代码对应的至少一个或多个特征,将所述特征输入至预设的学习模型进行训练,完善所述学习模型;
[0010]识别所述漏洞代码对应的安全编码,基于预设的编码知识库对所述安全编码进行差异性比对,生成所述安全编码对应的修正范围;
[0011]基于所述学习模型和所述修正范围对所述检测结果进行融合、加权和判定引擎,生成所述检测结果对应的检测报告。
[0012]进一步地,所述则基于所述融合黑白灰安全检测,精确定位到所述漏洞代码的位置的步骤中,包括:
[0013]对所述检测结果进行静态应用测试,通过所述白盒专用引擎生成得到至少一个或多个漏洞代码;
[0014]将所述至少一个或多个漏洞代码输入至所述灰盒专用引擎,检测得到所述至少一个或多个漏洞代码对应的风险源代码,其中,所述风险源代码包括有风险的代码模块、代码行、调用函数和传递参数;
[0015]通过所述黑盒专用引擎对所述风险源代码进行权重赋值,获取所述权重赋值对应的权重数值;
[0016]判断所述权重数值是否匹配预设的数值;
[0017]若是,则确定存在所述至少一个或多个漏洞代码对应的漏洞,若否,则确定不存在所述至少一个或多个漏洞代码对应的漏洞。
[0018]进一步地,所述根据预设的漏洞模式库确认所述漏洞代码对应的至少一个或多个特征的步骤中,包括:
[0019]获取所述漏洞代码的程序片段,根据所述程序片段,生成漏洞程序片段控制流图;
[0020]对所述漏洞程序片段控制流图进行权重评分计算,得到所述融合黑白灰安全检测的权重评分计算结果,根据所述权重评分计算结果和所述漏洞程序片段控制流图的基本块中,选取预设数量的所述基本块进行权重赋值,其中,所述权重赋值最大值为1,最小值为0。
[0021]进一步地,所述识别所述漏洞代码对应的安全编码,基于预设的编码知识库对所述安全编码进行差异性比对,生成所述安全编码对应的修正范围的步骤中,包括:
[0022]构建编码类型特征库和编码编排脚本库,基于所述编码类型特征库和所述编码编排脚本库导入不同编码类型的执行脚本,根据所述编码类型匹配相应类型的编排脚本,运行所述编排脚本对应的编排应用,并引入预设源码库的代码源构建相应代码程序包,根据不同的编码类型建立不同的修正规则;
[0023]基于所述修正规则对应生成所述安全编码的修正方案,利用所述修正方案对所述漏洞代码对应的安全编码进行规则检测和编码安全隐患扫描及识别,并对所述漏洞代码进行存储。
[0024]进一步地,所述获取初步生成的代码工程,基于预设的规则库设定的安全编码要求的步骤中,包括:
[0025]提取所述代码工程中包含的至少一个或多个代码文本;
[0026]对所述代码文本进行规范检测,并判断所述代码文本是否存在异常代码,其中,所述规范检测具体为获取所述代码工程的白名单,根据所述白名单对所述代码工程包含的多个代码文本进行过滤,生成至少一种代码类型,所述代码类型包括常规代码和异常代码;
[0027]若存在,则对所述代码工程进行报错,并根据所述异常代码提供的异常信息,对所述代码工程进行安全检测。
[0028]进一步地,所述对所述代码工程进行融合黑白灰安全检测,得到检测结果的步骤中,包括:
[0029]基于所述融合黑白灰安全检测,拆分为黑、白和灰三种安全检测结果,取得属于所述黑、白和灰三种安全检测结果对应的三种不同权重值,将所述三种不同权重值进行交叉分析,生成权重规则;
[0030]判断所述权重规则是否发生重叠冲突;
[0031]若是,则基于所述重叠冲突的系数生成所述漏洞代码的预设指标,对所述预设指标进行权重值约束至预设的权重区间赋值,其中,所述权重值约束具体为所述权重值根据触发约束快速递减,每增加一个约束条件风险告警时权重值减少,直至所述权重值为0时截止。
[0032]进一步地,所述基于所述学习模型和所述修正范围对所述检测结果进行融合、加权和判定引擎,生成所述检测结果对应的检测报告的步骤中,包括:
[0033]获取所述融合黑白灰安全检测对应赋予所述漏洞代码的三种不同权重值,将所述三种不同权重值通过权重乘以预设的风险等级进行所述漏洞代码的优先级排序整改,生成以所述漏洞代码的利用难易度相应的顺序表单,其中,所述优先级顺序具体为建立在所述漏洞代码存在被利用的基础上对所述三种不同权重值进行计算,所述利用难易度具体为基于安全问题对应的安全测试区别检测结果为所述漏洞代码或噪音;
[0034]判断所述顺序表单中是否存在大于预设的代码数量;
[0035]若否,则采用静态应用测试对所述漏洞代码进行代码覆盖率测试,对所述漏洞代码基于所述优先级顺序进行污点追踪,并生成所述污点追踪对应的检测报本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.融合黑白灰安全检测技术的应用安全测试方法,其特征在于,包括以下步骤:获取初步生成的代码工程,基于预设的规则库设定的安全编码要求,对所述代码工程进行融合黑白灰安全检测,得到检测结果,其中,所述融合黑白灰安全检测具体为基于预设次序的检测引擎编排,所述检测引擎编排具体为依次采用合规引擎,黑盒专用引擎,白盒专用引擎和灰盒专用引擎对所述代码工程进行检测;判断所述检测结果是否存在漏洞代码;若是,则基于所述融合黑白灰安全检测,精确定位到所述漏洞代码的位置,根据预设的漏洞模式库确认所述漏洞代码对应的至少一个或多个特征,将所述特征输入至预设的学习模型进行训练,完善所述学习模型;识别所述漏洞代码对应的安全编码,基于预设的编码知识库对所述安全编码进行差异性比对,生成所述安全编码对应的修正范围;基于所述学习模型和所述修正范围对所述检测结果进行融合、加权和判定引擎,生成所述检测结果对应的检测报告。2.根据权利要求1所述的融合黑白灰安全检测技术的应用安全测试方法,其特征在于,所述则基于所述融合黑白灰安全检测,精确定位到所述漏洞代码的位置的步骤中,包括:对所述检测结果进行静态应用测试,通过所述白盒专用引擎生成得到至少一个或多个漏洞代码;将所述至少一个或多个漏洞代码输入至所述灰盒专用引擎,检测得到所述至少一个或多个漏洞代码对应的风险源代码,其中,所述风险源代码包括有风险的代码模块、代码行、调用函数和传递参数;通过所述黑盒专用引擎对所述风险源代码进行权重赋值,获取所述权重赋值对应的权重数值;判断所述权重数值是否匹配预设的数值;若是,则确定存在所述至少一个或多个漏洞代码对应的漏洞,若否,则确定不存在所述至少一个或多个漏洞代码对应的漏洞。3.根据权利要求1所述的融合黑白灰安全检测技术的应用安全测试方法,其特征在于,所述根据预设的漏洞模式库确认所述漏洞代码对应的至少一个或多个特征的步骤中,包括:获取所述漏洞代码的程序片段,根据所述程序片段,生成漏洞程序片段控制流图;对所述漏洞程序片段控制流图进行权重评分计算,得到所述融合黑白灰安全检测的权重评分计算结果,根据所述权重评分计算结果和所述漏洞程序片段控制流图的基本块中,选取预设数量的所述基本块进行权重赋值,其中,所述权重赋值最大值为1,最小值为0。4.根据权利要求1所述的融合黑白灰安全检测技术的应用安全测试方法,其特征在于,所述识别所述漏洞代码对应的安全编码,基于预设的编码知识库对所述安全编码进行差异性比对,生成所述安全编码对应的修正范围的步骤中,包括:构建编码类型特征库和编码编排脚本库,基于所述编码类型特征库和所述编码编排脚本库导入不同编码类型的执行脚本,根据所述编码类型匹配相应类型的编排脚本,运行所述编排脚本对应的编排应用,并引入预设源码库的代码源构建相应代码程序包,根据不同的编码类型建立不同的修正规则;
基于所述修正规则对应生成所述安全编码的修正方案,利用所述修正方案对所述漏洞代码对应的安全编码进行规则检测和编码安全隐患扫描及识别,并对所述漏洞代码进行存储。5.根据权利要求1所述的融合黑白灰安全检测技术的应用安全测试方法,其特征在于,所述获取初步生成的代码工程,基于预设的规则库设定的安全编码要求的步骤中,包括:提取所述代码工程中包含的至少一个或多个代码文本;对所述代码文本进行规范检测,并判断所述代码文本是否存在异常代码,其中,所述规范检测具体为获取所述代码工程的白名单,根据所述白名单对所述代码工程包含的多个代码文本进行过滤,生成至少一种代码类型,所述代码类型包括常规代码和异常代码;若存在,则对所述代码工程进行报错,并根据所述异常代码提供的异常信息,对所述代码工程进行安全检测。6.根据权利要求1所述的融合黑白灰安全检测技术的应用安全测试方法,其特征在于,所述对所述代码工程进行融合黑白灰安全检测,得到检测结果的步骤中,包括:...

【专利技术属性】
技术研发人员:谢朝海齐大伟李志勇谢朝战雷德诚
申请(专利权)人:深圳海云安网络安全技术有限公司
类型:发明
国别省市:

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

1