一种针对业务逻辑漏洞攻击的检测方法及系统与流程

文档序号:18466341发布日期:2019-08-17 02:30阅读:378来源:国知局
一种针对业务逻辑漏洞攻击的检测方法及系统与流程

本发明涉及计算机安全技术领域,尤其涉及一种针对业务逻辑漏洞攻击的检测方法及系统。



背景技术:

由于业务发展迅速,应用的版本迭代不断加快,开发人员开发水平不一,设计开发时对业务存在的安全问题考虑不深,导致一些逻辑分支不能正常处理或处理错误,出现业务逻辑漏洞。

目前业务逻辑类漏洞的检测手段主要有在源代码检测阶段检测源代码是否存在业务逻辑漏洞,系统上线前或运维中对系统进行渗透测试来发现存在的业务逻辑漏洞,进而整改业务系统中存在的业务逻辑漏洞。

现有技术中,目在源代码层面对业务逻辑漏洞进行方法和检测,无法感知系统运维阶段的业务攻击行为,同时源代码层面对业务逻辑漏洞的攻击检测过程中,识别成功率并不理想,且需要大量的人工来对业务逻辑漏洞进行检测识别,识别效率低下。



技术实现要素:

为解决上述现有技术中存在的问题,本发明实施例提供一种针对业务逻辑漏洞攻击的检测方法及系统。

第一方面,本发明实施例提供一种针对业务逻辑漏洞攻击的检测方法,包括:

获取业务系统生成的业务日志,对所述业务日志进行预处理,获取所述业务日志对应的待识别信息;

将所述业务日志对应的待识别信息输入到预设的业务逻辑攻击识别模型中,获取所述业务日志对应的识别结果。

其中,所述获取所述业务日志对应的识别结果具体包括:若判断获知所述业务日志对应的识别结果为受到攻击,则根据所述业务日志对应的识别结果,判断获得攻击者对所述业务系统的攻击方式及以及所述攻击方式对应的业务逻辑漏洞。

其中,所述判断所述获得攻击者对所述业务系统的攻击方式及以及所述攻击方式对应的业务逻辑漏洞之后的步骤,具体包括:根据所述业务日志,对所述业务日志对应的攻击账户进行识别,并根据所述业务逻辑漏洞类型,匹配相应的攻击应对策略。

其中,所述业务逻辑攻击识别模型具体为训练后的神经网络或训练后的基于机器学习的模型。

其中,所述方法还包括:获取若干标注识别结果的业务日志作为训练样本集,通过所述训练样本集对所述神经网络或基于机器学习的模型进行训练。

第二方面,本发明实施例提供一种针对业务逻辑漏洞攻击的检测系统,包括:

日志处理模块,用于获取业务系统生成的业务日志,对所述业务日志进行预处理,获取所述业务日志对应的待识别信息;

识别模块,用于将所述业务日志对应的待识别信息输入到预设的业务逻辑攻击识别模型中,获取所述业务日志对应的识别结果。

其中,所述系统还包括:攻击源查询模块,若判断获知所述业务日志对应的识别结果为受到攻击,则根据所述业务日志对应的识别结果,判断所述业务系统受到的业务逻辑漏洞类型。

其中,所述系统还包括:应对模块,用于根据所述业务日志,对所述业务日志对应的攻击账户进行识别,并根据所述业务逻辑漏洞类型,匹配相应的攻击应对策略。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所提供的针对业务逻辑漏洞攻击的检测方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所提供的针对业务逻辑漏洞攻击的检测方法的步骤。

本发明实施例提供的方法及系统,采用收集业务系统的业务日志,通过对业务日志进行智能识别,实现基于业务日志检测业务逻辑漏洞的攻击行为,相比于源代码层面对业务逻辑漏洞攻击检测类系统,业务逻辑漏洞日志分析的误报率更低,能更准确的识别攻击,减少人工的工作量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的针对业务逻辑漏洞攻击的检测方法的流程示意图;

图2为本发明一实施例提供的针对业务逻辑漏洞攻击的检测系统的结构示意图;

图3为本发一实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参考图1,图1为本发明一实施例提供的针对业务逻辑漏洞攻击的检测方法的流程示意图,所提供的方法包括:

s1,获取业务系统生成的业务日志,对所述业务日志进行预处理,获取所述业务日志对应的待识别信息。

s2,将所述业务日志对应的待识别信息输入到预设的业务逻辑攻击识别模型中,获取所述业务日志对应的识别结果。

具体的,首先通过大数据技术,采集业务系统生成的业务日志,在获取了业务日志后,通过将日志进行处理,生成业务日志对应的待识别信息,其中,生成的待识别信息的格式满足预设的业务逻辑攻击识别模型的输入数据格式要求。

在获取了业务日志对应的待识别信息后,将该向量输入到预设的业务逻辑攻击识别模型中,获得业务逻辑攻击识别模型的识别结果,其中,识别包括未受攻击和受到攻击,当识别结果为受到攻击时,则发出业务逻辑漏洞攻击警报。

通过此方法,采用收集业务系统的业务日志,通过对业务日志进行智能识别,实现基于业务日志检测业务逻辑漏洞的攻击行为,相比于源代码层面对业务逻辑漏洞攻击检测类系统,业务逻辑漏洞日志分析的误报率更低,能更准确的识别攻击,减少人工的工作量。

在上述实施例的基础上,所述获取所述业务日志对应的识别结果具体包括:若判断获知所述业务日志对应的识别结果为受到攻击,则根据所述业务日志对应的识别结果,判断获得攻击者对所述业务系统的攻击方式及以及所述攻击方式对应的业务逻辑漏洞。

所述判断获得攻击者对所述业务系统的攻击方式及以及所述攻击方式对应的业务逻辑漏洞之后的步骤,具体包括:根据所述业务日志,对所述业务日志对应的攻击账户进行识别,并根据所述业务逻辑漏洞类型,匹配相应的攻击应对策略。

具体的,当识别到业务系统遭到攻击者通过业务逻辑漏洞进行攻击时,会继续根据业务日志对攻击的业务逻辑漏洞进行追查,进而识别到攻击者是通过哪一个业务逻辑漏洞发起攻击,同时获取攻击者发起攻击的方式。在根据业务逻辑漏洞的类型,进而根据业务逻辑漏洞的类型,匹配相应的攻击应对策略,从而防范针对业务逻辑漏洞的攻击行为。

进一步的,在对攻击进行防范的同时,还会对攻击源头进行追溯,根据业务日志发现攻击源,并识别威胁账户,进而在攻击者源头对业务逻辑漏洞攻击进行防范。

在上述实施例的基础上,所述业务逻辑攻击识别模型具体为训练后的神经网络或训练后的基于机器学习的模型。

所述方法还包括:获取若干标注识别结果的业务日志作为训练样本集,通过所述训练样本集对所述神经网络或支持向量机进行训练。

具体的,本发明实施例中,预设的业务逻辑攻击识别模型,可以是训练后的支持向量机,也可以是训练完成的神经网络,支持向量机(supportvectormachine,svm)是一类按监督学习(supervisedlearning)方式对数据进行二元分类(binaryclassification)的广义线性分类器(generalizedlinearclassifier),其决策边界是对学习样本求解的最大边距超平面(maximum-marginhyperplane)。人工神经网络(artificialneuralnetworks,简写为anns)也简称为神经网络(nns)或称作连接模型(connectionmodel),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

本申请中,通过采用基于机器学习的模型或神经网络,采用对应的训练样本集对基于机器学习的模型或神经网络进行训练,从而构建业务逻辑攻击识别模型,其中,在构建训练样本集的过程中,需要分析分析业务场景中存在的威胁,含有哪些安全风险点需要分析和防范,再根据业务场景的源代码中的信息实现流程进行分析,了解业务场景的实现逻辑及针对业务逻辑漏洞的安全防护方式。

基于源代码分析得到的业务场景实现逻辑及信息流转方式,并结合业务系统生成的日志,在通过对生成的日志进行标注,进而构建训练样本集,再通过构建好的训练样本集对神经网络或基于机器学习的模型进行训练,进而构建业务逻辑攻击识别模型,检测业务逻辑漏洞攻击行为。

综上所述,本发明实施例提供的方法,通过获取业务系统的业务日志,对业务日志进行分类识别,来检测业务系统是否受到攻击,当业务系统受到攻击时,对攻击源头进行封堵,同时提供相应的策略来防范业务逻辑漏洞攻击。相比于源代码层面对业务逻辑漏洞检测类系统,业务逻辑漏洞日志分析的准确性更高,同时通过机器学习、深度学习等人工智能技术手段检测业务系统业务逻辑漏洞攻击行为,降低了人工成本,提升了攻击检测效率。

参考图2,图2为本发明一实施例提供的针对业务逻辑漏洞攻击的检测系统的结构示意图,所提供的系统包括:日志处理模块21和识别模块22。

其中,日志处理模块21用于获取业务系统生成的业务日志,对所述业务日志进行预处理,获取所述业务日志对应的待识别信息。

识别模块22用于将所述业务日志对应的待识别信息输入到预设的业务逻辑攻击识别模型中,获取所述业务日志对应的识别结果。

具体的,首先通过大数据技术,采集业务系统生成的业务日志,在获取了业务日志后,通过将日志进行处理,生成业务日志对应的待识别信息,其中,生成的待识别信息的格式满足预设的业务逻辑攻击识别模型的输入数据格式要求。

在获取了业务日志对应的待识别信息后,将该向量输入到预设的业务逻辑攻击识别模型中,获得业务逻辑攻击识别模型的识别结果,其中,识别包括未受攻击和受到攻击,当识别结果为受到攻击时,则发出业务逻辑漏洞攻击警报。

通过此系统,采用收集业务系统的业务日志,通过对业务日志进行智能识别,实现基于业务日志检测业务逻辑漏洞的攻击行为,相比于源代码层面对业务逻辑漏洞攻击检测类系统,业务逻辑漏洞日志分析的误报率更低,能更准确的识别攻击,减少人工的工作量。

在上述实施例的基础上,所述系统还包括:攻击源查询模块,若判断获知所述业务日志对应的识别结果为受到攻击,则根据所述业务日志对应的识别结果,判断所述业务系统受到的业务逻辑漏洞类型。

所述系统还包括:应对模块,用于根据所述业务日志,对所述业务日志对应的攻击账户进行识别,并根据所述业务逻辑漏洞类型,匹配相应的攻击应对策略。

具体的当识别到业务系统遭到攻击者通过业务逻辑漏洞进行攻击时,会继续根据业务日志对攻击的业务逻辑漏洞进行追查,进而识别到攻击者是通过哪一个业务逻辑漏洞发起攻击。进而根据业务逻辑漏洞的类型,匹配相应的攻击应对策略,从而防范针对业务逻辑漏洞的攻击行为。

进一步的,在对攻击进行防范的同时,还会对攻击源头进行追溯,根据业务日志发现攻击源,并识别威胁账户,进而在攻击者源头对业务逻辑漏洞攻击进行防范。

图3示例了一种电子设备的结构示意图,如图3所示,该服务器可以包括:处理器(processor)310、通信接口(communicationsinterface)320、存储器(memory)330和总线340,其中,处理器310,通信接口320,存储器330通过总线340完成相互间的通信。通信接口340可以用于服务器与智能电视之间的信息传输。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:获取业务系统生成的业务日志,对所述业务日志进行预处理,获取所述业务日志对应的待识别信息;将所述业务日志对应的待识别信息输入到预设的业务逻辑攻击识别模型中,获取所述业务日志对应的识别结果。

本实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取业务系统生成的业务日志,对所述业务日志进行预处理,获取所述业务日志对应的待识别信息;将所述业务日志对应的待识别信息输入到预设的业务逻辑攻击识别模型中,获取所述业务日志对应的识别结果。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取业务系统生成的业务日志,对所述业务日志进行预处理,获取所述业务日志对应的待识别信息;将所述业务日志对应的待识别信息输入到预设的业务逻辑攻击识别模型中,获取所述业务日志对应的识别结果。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1