一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于业务逻辑的安全检测方法及系统与流程

2021-12-07 21:17:00 来源:中国专利 TAG:


1.本发明涉及信息安全技术领域,特别涉及一种基于业务逻辑的安全检测方法及系统。


背景技术:

2.随着软件规模增大,软件面临的安全威胁类型也日益增加,如银行和互联网金融软件为用户处理业务的时候,因为用户的信息要经过很多种逻辑处理过程,在这期间用户隐私数据很容易发生泄露。因此,对用户处理业务时的安全性进行检测是亟需解决的技术问题。


技术实现要素:

3.本发明提供一种基于业务逻辑的安全检测方法,基于用户处理业务的业务逻辑出发,对用户处理业务的安全性进行检测,通过检测发现用户处理业务的漏洞,进而实现对漏洞的有效处理,保障用户的信息的安全。
4.本发明还提供一种基于业务逻辑的安全检测方法,包括:
5.步骤s1:基于用户的业务行为,建立业务逻辑矩阵;
6.步骤s2:基于预设的漏洞检测规则和业务逻辑矩阵,确定存在的业务逻辑漏洞。
7.优选的,步骤s1,基于用户的业务行为,建立业务逻辑矩阵,包括:
8.获取用户的业务行为;
9.基于业务行为,确定用户的业务执行步骤;
10.解析业务执行步骤,确定业务逻辑;
11.基于业务逻辑,构建业务逻辑矩阵。
12.优选的,获取用户的业务行为,包括:
13.接收用户的业务办理请求;
14.解析业务办理请求,确定业务办理请求对应的业务行为。
15.优选的,基于业务行为,确定用户的业务执行步骤,包括:
16.获取业务行为对应的源代码;
17.基于源代码,生成语法树;
18.解析语法树,确定语法树结构;
19.查找语法树结构中的结构链路,基于结构链路得到语法树的执行顺序;
20.基于执行顺序,建立代码执行步骤,对代码执行步骤进行分析转换,得到业务执行步骤。
21.优选的,解析业务执行步骤,确定业务逻辑,包括:
22.基于预设的逻辑关键词表,对业务执行步骤进行关键词提取,确定多个关键词;
23.基于关键词,查询预设的业务逻辑库,确定业务逻辑。
24.优选的,步骤s2:基于预设的漏洞检测规则和业务逻辑矩阵,确定存在的业务逻辑
漏洞,包括:
25.根据业务逻辑矩阵的特征确定特征提取数据;
26.根据业务逻辑中的元素确定归一化数据;
27.将特征提取数据与归一化数据进行精度匹配,得到特征提取矩阵;
28.将业务逻辑矩阵和特征提取矩阵进行计算,得到特征值矩阵;
29.基于特征值矩阵和漏洞检测规则确定业务逻辑漏洞。
30.优选的,漏洞检测规则,确定过程如下:
31.获取历史业务数据;
32.将历史业务数据导入预设的机器学习模型;
33.根据机器学习模型的训练结果,筛选出存在业务逻辑漏洞的漏洞数据,并确定漏洞数据的漏洞类型;
34.对历史业务数据进行归一化处理,得到历史标准数据;
35.对历史标准数据进行特征提取,得到历史标准数据的特征值;
36.基于特征值,确定历史标准数据中存在业务逻辑漏洞的漏洞数据的漏洞类型所对应的特征值取值范围;
37.基于特征值取值范围,将历史标准数据划分为多个特征数据集合,并获取每个特征数据集合对应的漏洞类型;
38.将特征数据集合以特征值为单位建立坐标系,坐标系表示特征值与漏洞类型之间的对应关系,获取特征数据集合中特征数据的坐标点;
39.对坐标系中的坐标点进行分析,获取存在漏洞类型重叠的特征值范围内的第一坐标点;
40.基于第一坐标点的漏洞类型,对第一坐标点进行分类,得到第二坐标点和第三坐标点;
41.获取第二坐标点、第三坐标点的坐标分布,将坐标分布依次输入至中心获取模型中,分别得到第二坐标点、第三坐标点的第二中心特征值、第三中心特征值;
42.将第二中心特征值、第三中心特征值的平均值作为第一中心特征值,作为漏洞类型重叠的特征分界值;
43.基于特征分界值对不同的漏洞类型对应的特征值取值范围进行调整;
44.基于调整后的不同的漏洞类型对应的特征值取值范围,确定漏洞检测规则。
45.优选的基于业务逻辑的安全检测方法,还包括:对漏洞检测规则的准确性进行检测,其过程如下:
46.对漏洞检测规则进行解析,确定漏洞检测规则中漏洞类型的个数、每个漏洞类型中历史标准数据集合的个数、历史标准数据集合中的历史标准数据对应的平均特征值大小;
47.确定漏洞检测规则中漏洞类型的个数,并根据如下公式计算漏洞检测规则中各个漏洞类型的检测准确值:
48.49.其中,q
i
表示漏洞检测规则中第i个漏洞类型的检测准确值,s表示漏洞检测规则中漏洞类型的个数,m表示第i个漏洞类型中历史标准数据集合的个数,b
j
表示第i个漏洞类型中第j个历史标准数据集合中的历史标准数据对应的平均特征值,p1表示第i个漏洞类型中特征取值范围的左边界特征值,p2表示第i个漏洞类型中特征取值范围的右边界特征值,δ
i
第i个漏洞类型的标准特征值,取值为(0.2,1);e表示自然常数,取值为2.72,k表示漏洞检测规则在检测过程中的检测稳定值,取值为[0.7,0.9];
[0050]
将漏洞检测规则中各个漏洞类型输入至难度检测模型中,输出各个漏洞类型的检测难度结果,基于检测难度结果为各个漏洞类型设置权重值;
[0051]
基于各个漏洞类型设置权重值,并根据如下公式计算漏洞检测规则的总体准确值:
[0052][0053]
其中,q
z
表示漏洞检测规则的总体准确值,γ
i
表示第i个漏洞类型的权重值,取值范围为(0.8,1.2);
[0054]
判断漏洞检测规则的总体准确值是否大于预设准确值;
[0055]
若是,确定漏洞检测规则能够检测执行每个业务执行步骤时存在的业务逻辑漏洞;
[0056]
否则,重新调整漏洞检测规则中漏洞类型的特征值范围,直到满足预设准确值。
[0057]
本发明还提供一种基于业务逻辑的安全检测系统,包括:
[0058]
建立模块,基于用户的业务行为,建立业务逻辑矩阵;
[0059]
确定模块,用于基于预设的漏洞检测规则和业务逻辑矩阵,确定存在的业务逻辑漏洞。
[0060]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0061]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0062]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0063]
图1为本发明实施例中一种基于业务逻辑的安全检测方法的流程图;
[0064]
图2为本发明实施例中一种基于业务逻辑的安全检测系统的结构图。
具体实施方式
[0065]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0066]
本发明实施例提供一种基于业务逻辑的安全检测方法,如图1所示,包括:
[0067]
步骤s1:基于用户的业务行为,建立业务逻辑矩阵;
[0068]
步骤s2:基于预设的漏洞检测规则和业务逻辑矩阵,确定存在的业务逻辑漏洞。
[0069]
优选的,步骤s1,基于用户的业务行为,建立业务逻辑矩阵,包括:
[0070]
获取用户的业务行为;
[0071]
基于业务行为,确定用户的业务执行步骤;
[0072]
解析业务执行步骤,确定业务逻辑;
[0073]
基于业务逻辑,构建业务逻辑矩阵。
[0074]
·
该实施例中,用户的业务行为例如是向银行办理借贷业务,其对应的业务执行步骤为1、借款人向银行提出贷款申请,提交相关材料;2、经银行审批同意的,借款人和担保人与本机构签订借款合同和担保合同;3、银行落实贷款条件后,按规定程序办理放款手续,将贷款资金划入借款人账户;4、借款人按期归还贷款本息;5、贷款结清,到银行办理撤押手续。
[0075]
·
在该实施例中,业务执行步骤对应的业务逻辑为基于业务执行步骤得到的领域实体:借款人、银行办理人员、担保人等;业务规则:提交了材料,银行才会同意、办理了手续,才会放款等;数据完整性:必须有借款人和担保人的身份信息等;工作流:提交材料

银行同意

签订合同

办理手续

发放贷款

归还贷款利息

办理撤押手续。业务逻辑矩阵为基于业务逻辑得到矩阵映射关系,得到的体现业务逻辑的矩阵。
[0076]
·
在该实施例中,业务逻辑漏洞是应用程序的设计和实现中的缺陷,攻击者可以利用这些缺陷引发意外行为。这可能使攻击者能够操纵合法功能来实现恶意行为。这些缺陷通常是由于无法预期可能发生的异常应用程序状态,因此无法安全处理它们所导致的。例如在借款人按期归还贷款本息,如果开发人员规定用户将仅通过web浏览器传递数据,则应用程序可能完全依赖不安全的客户端来验证输入。攻击者可以使用拦截代理轻松绕过这些漏洞。
[0077]
·
在该实施例中,述漏洞检测规则包括:越权检测规则、涉敏检测规则、大权检测规则、弱口令检测规则、行为基线异常检测规则等,
[0078]
上述设计方案的有益效果是:通过对将用户业务行为转化为业务执行步骤,并根据漏洞检测规则来确定执行每个业务执行步骤时存在的业务逻辑漏洞,不需要标注与业务逻辑相关语义,从而提高安全检测的效率,提醒及时进行漏洞修复,解决了业务处理过程中引起的业务安全问题,提高软件的适用性。
[0079]
在一个实施例中,获取用户的业务行为,包括:
[0080]
接收用户的业务办理请求;
[0081]
解析业务办理请求,确定业务办理请求对应的业务行为。
[0082]
上述技术方案的有益效果是:通过根据用户的业务办理请求确定用户的业务请求,提高用户的业务请求的准确性,为安全检测提供基础。
[0083]
在一个实施例中,基于业务行为,确定用户的业务执行步骤,包括:
[0084]
获取业务行为对应的源代码;
[0085]
基于源代码,生成语法树;
[0086]
解析语法树,确定语法树结构;
[0087]
查找语法树结构中的结构链路,基于结构链路得到语法树的执行顺序;
[0088]
基于执行顺序,建立代码执行步骤,对代码执行步骤进行分析转换,得到业务执行步骤。
[0089]
上述技术方案的工作原理为:
[0090]
可以将语法树输入语法分析模型对初始语法树进行优化,具体为基于语法分析模型对语法树进行分析,修正语法树中部分源代码的语法错误。
[0091]
语法树的执行顺序即源代码的执行顺序,例如先执行if语句再执行whlie语句等。
[0092]
在该实施例中,语法树的节点类型包括元素、文本等。
[0093]
在该实施例中,语法树的节点位置为对应的节点在整个语法树中的位置。
[0094]
在该实施例中,结构链路表示由节点之间的连接关系组成的完整的链路。
[0095]
上述技术方案的有益效果是:通过根据业务行为,对业务行为建立语法树结构,确定用户的业务执行步骤,提高了获取的业务执行步骤的精确性,为安全检测提供基础。
[0096]
在一个实施例中,解析业务执行步骤,确定业务逻辑,包括:
[0097]
基于预设的逻辑关键词表,对业务执行步骤进行关键词提取,确定多个关键词;
[0098]
基于关键词,查询预设的业务逻辑库,确定业务逻辑。
[0099]
在该实施例中,关键词例如是“求和”、“加密”等。
[0100]
在该实施例中,业务逻辑是指是只用代码实现的真实业务的规则映射。
[0101]
上述设计方案的有益效果是:通过对业务执行步骤进行语义分析得到对应业务逻辑,为后续基于业务逻辑的安全检测提供基础。
[0102]
在一个实施例中,步骤s2:基于预设的漏洞检测规则和业务逻辑矩阵,确定存在的业务逻辑漏洞,包括:
[0103]
根据业务逻辑矩阵的特征确定特征提取数据;
[0104]
根据业务逻辑中的元素确定归一化数据;
[0105]
将特征提取数据与归一化数据进行精度匹配,得到特征提取矩阵;
[0106]
将业务逻辑矩阵和特征提取矩阵进行计算,得到特征值矩阵;
[0107]
基于特征值矩阵和漏洞检测规则确定业务逻辑漏洞。
[0108]
其中,特征提取矩阵由特征提取数据与归一化数据确定,用来与业务逻辑矩阵确定特征值矩阵。
[0109]
根据漏洞检测规则检测执行每个业务执行步骤时存在的业务逻辑漏洞的原理如下:判断特征值矩阵中的特征值大小,确定业务逻辑是否存在业务逻辑漏洞,若存在,根据特征值大小所在的取值范围,确定业务逻辑漏洞的类型。
[0110]
上述设计方案的有益效果是:基于业务逻辑矩阵,根据漏洞检测规则检测执行每个业务执行步骤时存在的业务逻辑漏洞,不需要标注与业务逻辑相关语义,从而提高安全检测的效率,解决了业务处理过程中引起的业务安全问题,提高软件的适用性。
[0111]
在一个实施例中,漏洞检测规则,确定过程如下:
[0112]
获取历史业务数据;
[0113]
将历史业务数据导入预设的机器学习模型;
[0114]
根据机器学习模型的训练结果,筛选出存在业务逻辑漏洞的漏洞数据,并确定漏洞数据的漏洞类型;
[0115]
对历史业务数据进行归一化处理,得到历史标准数据;
[0116]
对历史标准数据进行特征提取,得到历史标准数据的特征值;
[0117]
基于特征值,确定历史标准数据中存在业务逻辑漏洞的漏洞数据的漏洞类型所对
应的特征值取值范围;
[0118]
基于特征值取值范围,将历史标准数据划分为多个特征数据集合,并获取每个特征数据集合对应的漏洞类型;
[0119]
将特征数据集合以特征值为单位建立坐标系,坐标系表示特征值与漏洞类型之间的对应关系,获取特征数据集合中特征数据的坐标点;
[0120]
对坐标系中的坐标点进行分析,获取存在漏洞类型重叠的特征值范围内的第一坐标点;
[0121]
基于第一坐标点的漏洞类型,对第一坐标点进行分类,得到第二坐标点和第三坐标点;
[0122]
获取第二坐标点、第三坐标点的坐标分布,将坐标分布依次输入至中心获取模型中,分别得到第二坐标点、第三坐标点的第二中心特征值、第三中心特征值;
[0123]
将第二中心特征值、第三中心特征值的平均值作为第一中心特征值,作为漏洞类型重叠的特征分界值;
[0124]
基于特征分界值对不同的漏洞类型对应的特征值取值范围进行调整;
[0125]
基于调整后的不同的漏洞类型对应的特征值取值范围,确定漏洞检测规则。
[0126]
其中,漏洞数据为出现业务逻辑漏洞所对应的数据。
[0127]
不同的漏洞类型具有不同的特征,根据对这些特征进行分析处理,确认每个特征的特征值,从而反过来可以根据特征值的取值范围来分辨漏洞类型。
[0128]
根据历史标准数据的特征值的不同,将历史标准数据划分为多个特征数据集合,例如第一特征数据集合中特征数据的取值范围为第一特征值范围,第二特征数据集合中特征数据的取值范围为第二特征值范围。
[0129]
存在漏洞类型重叠的特征值范围例如第一类型的特征值范围为[0.4,0.7],第二类型的特征值范围为[0.5,0.9],则漏洞类型重叠的特征值范围为[0.5,0.7]。
[0130]
述漏洞检测规则包括:越权检测规则、涉敏检测规则、大权检测规则、弱口令检测规则、行为基线异常检测规则等,这些规则对应不同的特征值范围,例如,若在执行步骤过程中,数据的特征值为0.5,而越权检测规则的特征值范围为[0.4,0.7],则执行步骤存在越权逻辑漏洞。
[0131]
将特征数据以特征值为单位建立坐标系,来确定漏洞类型重叠的特征分界值,通过坐标系可以直观显示,提高获取的特征分界值的精确度。
[0132]
上述技术方案的有益效果是:基于历史业务数据,确定漏洞检测规则,基于漏洞检测规则进行安全检测,提高了安全检测的效率。
[0133]
在一个实施例中,基于业务逻辑的安全检测方法,还包括:对漏洞检测规则的准确性进行检测,其过程如下:
[0134]
对漏洞检测规则进行解析,确定漏洞检测规则中漏洞类型的个数、每个漏洞类型中历史标准数据集合的个数、历史标准数据集合中的历史标准数据对应的平均特征值大小;
[0135]
确定漏洞检测规则中漏洞类型的个数,并根据如下公式计算漏洞检测规则中各个漏洞类型的检测准确值:
[0136][0137]
其中,q
i
表示漏洞检测规则中第i个漏洞类型的检测准确值,s表示漏洞检测规则中漏洞类型的个数,m表示第i个漏洞类型中历史标准数据集合的个数,b
j
表示第i个漏洞类型中第j个历史标准数据集合中的历史标准数据对应的平均特征值,p1表示第i个漏洞类型中特征取值范围的左边界特征值,p2表示第i个漏洞类型中特征取值范围的右边界特征值,δ
i
第i个漏洞类型的标准特征值,取值为(0.2,1);e表示自然常数,取值为2.72,k表示漏洞检测规则在检测过程中的检测稳定值,取值为[0.7,0.9];
[0138]
将漏洞检测规则中各个漏洞类型输入至难度检测模型中,输出各个漏洞类型的检测难度结果,基于检测难度结果为各个漏洞类型设置权重值;
[0139]
基于各个漏洞类型设置权重值,并根据如下公式计算漏洞检测规则的总体准确值:
[0140][0141]
其中,q
z
表示漏洞检测规则的总体准确值,γ
i
表示第i个漏洞类型的权重值,取值范围为(0.8,1.2);
[0142]
判断漏洞检测规则的总体准确值是否大于预设准确值;
[0143]
若是,确定漏洞检测规则能够检测执行每个业务执行步骤时存在的业务逻辑漏洞;
[0144]
否则,重新调整漏洞检测规则中漏洞类型的特征值范围,直到满足预设准确值。
[0145]
各个漏洞类型包括:越权漏洞类型、涉敏漏洞类型、大权漏洞类型、弱口令漏洞类型、行为基线异常漏洞类型等。
[0146]
漏洞类型中漏洞类型的标准特征值为在漏洞类型下,漏洞类型的特征值取值出现频率最高的特征值,例如越权漏洞类型的特征值取值范围为[0.4,0.7],在越权漏洞类型数据中,数据的特征值取值出现频率最高的为0.5,则0.5即为越权漏洞类型的标准特征值。
[0147]
历史标准数据集合为由多个历史业务得到的多个历史业务数据集合经过归一化处理得到的。
[0148]
漏洞类型的难度检测越高,对应的权重值越大。
[0149]
漏洞检测规则在检测过程中的检测稳定值与检测业务数据的数量有关,数量越少,稳定值越大。
[0150]
不同的漏洞类型对应不同的特征值取值范围,例如越权漏洞类型的特征值取值范围为[0.4,0.7],则对应的左边界特征值为0.4,右边界特征值为0.7。
[0151]
上述技术方案的有益效果是:通过对漏洞检测规则的准确性进行检测,提高了根据漏洞检测规则检测执行每个业务执行步骤时存在的业务逻辑漏洞时准确性,便于准确解决了业务处理过程中引起的业务安全问题。
[0152]
本发明实施例提供一种基于业务逻辑的安全检测系统,如图2所示,包括:
[0153]
建立模块,基于用户的业务行为,建立业务逻辑矩阵;
[0154]
确定模块,用于基于预设的漏洞检测规则和业务逻辑矩阵,确定存在的业务逻辑
漏洞。
[0155]
上述技术方案的工作原理及有益效果在方法权利要求中已经说明,此处不再赘述。
[0156]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献