攻击识别方法、装置及计算机可读存储介质与流程

文档序号:15272653发布日期:2018-08-28 22:37阅读:131来源:国知局

本发明涉及安全技术领域,具体而言,涉及一种攻击识别方法、装置及计算机可读存储介质。



背景技术:

随着互联网的发展,用于实现各项业务的服务器的功能越来越多样化,确保服务器的安全运行直接关系到各项业务的可靠实现,在服务器受到攻击后,安全人员需要耗费大量的精力和时间进行安全分析,严重影响了服务器的可靠运行。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种攻击识别方法、装置及计算机可读存储介质,以改善现有技术中需耗费较多精力和时间确认服务器是否安全运行的问题。

本发明较佳实施例提供了一种攻击识别方法,所述方法包括:

获得服务器的运行状态数据;

将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,以判断所述服务器是否受到攻击;所述特征数据库中预存有所述服务器受到不同恶意攻击后的特征数据。

可选地,将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,以判断所述服务器是否受到攻击的步骤,包括:

将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,判断所述特征数据库中是否存在与所述运行状态数据匹配的至少一个特征数据,若存在,则获得所述至少一个特征数据作为匹配数据,根据所述匹配数据判断所述服务器是否受到攻击。

可选地,根据所述匹配数据判断所述服务器是否受到攻击的步骤,包括:

基于贝叶斯定理对所述匹配数据进行分析,从而判断所述服务器是否受到攻击。

可选地,在判定所述服务器受到攻击后,所述方法还包括:

分析获得所述服务器受到的攻击类型。

可选地,分析获得所述服务器受到的攻击类型的步骤,包括:

基于预先建立的朴素贝叶斯模型,根据所述匹配数据分析获得所述服务器受到的攻击类型。

可选地,在获得所述服务器受到的攻击类型后,所述方法还包括:

从预设的响应策略中查找出与所述攻击类型对应的响应策略;

根据查找出的所述响应策略控制所述服务器执行相应的响应操作,实现防攻击处理。

可选地,所述特征数据库中的特征数据包括服务器受到恶意攻击后表现的内存占用率数据、连接数据、恶意木马的特征函数、进程数据和日志记录。

本发明另一较佳实施例提供了一种攻击识别装置,包括:

数据获得模块,用于获得服务器的运行状态数据;

攻击判断模块,用于将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,以判断所述服务器是否受到攻击;所述特征数据库中预存有所述服务器受到不同恶意攻击后的特征数据。

可选地,所述攻击判断模块用于将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,判断所述特征数据库中是否存在与所述运行状态数据匹配的至少一个特征数据,若存在,则获得所述至少一个特征数据作为匹配数据,根据所述匹配数据判断所述服务器是否受到攻击。

本发明另一较佳实施例提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在设备执行上述的攻击识别方法。

本发明实施例提供的攻击识别方法、装置及计算机可读存储介质,在特征数据库中预存有服务器受到不同恶意攻击后的特征数据,获得服务器的运行状态数据后,将该运行状态数据与特征数据库中的特征数据进行匹配即可判断服务器是否受到攻击,无需安全人员人工进行判定,实现了对服务器攻击的自动化识别,从而便捷、高效的判定服务器是否受到攻击,进而确保了服务器的可靠运行。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种电子设备10的方框示意图。

图2为本发明实施例提供的一种攻击识别方法的流程图。

图3为本发明实施例提供的另一种攻击识别方法的流程图。

图4为本发明实施例提供的一种攻击识别装置20的模块框图。

图标:10-电子设备;11-存储器;12-处理器;13-网络模块;20-攻击识别装置;21-数据获得模块;22-攻击判断模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

如图1所示,是本发明较佳实施例提供的电子设备10的方框示意图。本发明实施例中的电子设备10可以为具有数据存储、传输、处理功能的处理设备。如图1所示,电子设备10包括:存储器11、处理器12、网络模块13及攻击识别装置20。

所述存储器11、处理器12以及网络模块13相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有攻击识别装置20,所述攻击识别装置20包括至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,如本发明实施例中的攻击识别装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的攻击识别方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立电子设备10与其他通信终端之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在电子设备10执行下面的攻击识别方法。

请参阅图2,是本发明实施例提供的一种攻击识别方法的流程图。所述方法有关的流程所定义的方法步骤应用于电子设备10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述。

步骤s21,获得服务器的运行状态数据。

服务器的运行状态可以由服务器按设定时间间隔主动上传至电子设备10,也可以由电子设备10按设定时间间隔去服务器获取。

步骤s22,将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,以判断所述服务器是否受到攻击。

其中,所述特征数据库中预存有所述服务器受到不同恶意攻击后的特征数据。通过大量地收集服务器受到不同恶意攻击后的特征数据,来创建特征数据库,并基于特征数据库对服务器进行自动化的分析对比和判断,从而更快速高效和准确地判断服务器是否被攻击。所述特征数据库中的特征数据可以包括服务器受到恶意攻击后表现的内存占用率数据、连接数据、恶意木马的特征函数、进程数据、日志记录等。

经研究发现,服务器受到不同的攻击后存在不同的攻击特征数据,例如,服务器受到分布式拒绝服务(distributeddenialofservice,ddos)攻击后表现出内存占用率异常、连接延迟、恶意木马的特征函数等特征数据。又例如,服务器受到webshell攻击后表现出进程的异常、对外主动的异常连接等特征数据。又例如,服务器受到弱口令爆破攻击后在日志上会存在少量ip(internetprotocol)短期内的大量访问等特征数据。

通过更新和收集服务器在受到不同的攻击,如struts2、ms17010等攻击后,进程、日志等存在的特征数据并存入特征数据库,基于特征数据库与服务器的状态数据进行进行离散匹配,即可判定服务器是否受到攻击。

可选地,将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,以判断所述服务器是否受到攻击的步骤,包括:将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,判断所述特征数据库中是否存在与所述运行状态数据匹配的至少一个特征数据,若存在,则获得所述至少一个特征数据作为匹配数据,根据所述匹配数据判断所述服务器是否受到攻击。

根据对攻击识别要求的不同,将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,以判断所述服务器是否受到攻击的判断原则可灵活设定,例如,为了确保攻击识别的全面性,可以在特征数据库中存在一个以上与服务器的运行状态数据匹配的特征数据时,即直接判定服务器受到攻击。又例如,为了确保攻击识别的准确性,可以根据特征数据库中存在的一个以上与服务器的运行状态数据匹配的特征数据综合判断服务器是否受到攻击。

在根据特征数据库中存在的一个以上与服务器的运行状态数据匹配的特征数据综合判断服务器是否受到攻击的过程中,可以基于贝叶斯定理对所述匹配数据进行分析,从而判断所述服务器是否受到攻击。

可选地,可以在特征数据库中建立一些相互独立的特征库,各特征库中分别存储有用于判定可能存在某一类攻击的特征数据,基于各相互独立的特征库判断服务器是否受到攻击。如:遭受webshell攻击所对应的特征库中可以存储有web访问日志中存在敏感数据、存在异常的进程、对外主动发起规律性请求、连接延迟、日志中短期内存在大量访问信息等。根据各个特征数据来构造朴素贝叶斯模型,基于朴素贝叶斯模型根据特征数据库中存在的一个以上与服务器的运行状态数据匹配的特征数据综合判断服务器是否受到攻击。

相应地,在实现攻击识别方法之前,预先建立朴素贝叶斯模型,在分析获得所述服务器受到的攻击类型的过程中,基于预先建立的朴素贝叶斯模型,根据所述匹配数据分析获得所述服务器受到的攻击类型。

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯分类器(naivebayesclassifier,或nbc)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,nbc模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,nbc模型与其他分类方法相比具有最小的误差率。因而,本实施例中采用朴素贝叶斯法综合判断服务器是否受到攻击,便捷简单。

基于上述原理,例如针对注入攻击,可以基于特征数据库的慢日志中是否存在敏感的操作记录、web访问日志中是否存在敏感参数等特征,根据朴素贝叶斯定理来得到是否存在结构化查询语言(structuredquerylanguage,sql)注入这一漏洞。

可选地,可以根据公式:计算服务器是否受到某种攻击或者存在某种漏洞。其中y=ck为先验概率,是在经过对大量服务器数据进行采集后,得到的某个漏洞存在与否的概率。而xj为与某种漏洞存在关联的几个特征条件,通过公式得到是否存在漏洞的两个概率值,取最大的概率值为y的最后结果,即得到是否存在该漏洞。

通过在特征数据库中存储服务器受到不同攻击后对应的特征数据,在判定所述服务器受到攻击后,还可以基于不同特征数据与不同攻击的对应关系,分析获得所述服务器受到的攻击类型。

请结合参阅图3,为了实现对各攻击的及时处理,可选地,在电子设备10中还可以预先存储针对不同攻击类型的响应策略,相应地,在获得所述服务器受到的攻击类型后,所述方法还包括以下步骤。

步骤s23,从预设的响应策略中查找出与所述攻击类型对应的响应策略。

步骤s24,根据查找出的所述响应策略控制所述服务器执行相应的响应操作,实现防攻击处理。

其中,不同攻击类型对应的响应策略有多种,例如,可以为下载已有的补丁修复漏洞,可以为对服务器系统进行更新等。如针对跨站脚本攻击,可以对数据的输入和输出进行过滤或编码,针对服务器类型的漏洞,如ms17010永痕之蓝,可下载相关的补丁修复漏洞。本实施例对此不作限制。

在上述基础上,如图4所示,本发明实施例提供了一种攻击识别装置20,所述攻击识别装置20包括数据获得模块21和攻击判断模块22。

其中,数据获得模块21用于获得服务器的运行状态数据。

由于数据获得模块21和图2中步骤s21的实现原理类似,因而在此不作更多说明。

攻击判断模块22用于将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,以判断所述服务器是否受到攻击,所述特征数据库中预存有所述服务器受到不同恶意攻击后的特征数据。

由于攻击判断模块22和图2中步骤s22的实现原理类似,因而在此不作更多说明。

可选地,所述攻击判断模块22用于将所述运行状态数据与预存的特征数据库中的特征数据进行匹配,判断所述特征数据库中是否存在与所述运行状态数据匹配的至少一个特征数据,若存在,则获得所述至少一个特征数据作为匹配数据,根据所述匹配数据判断所述服务器是否受到攻击

本发明实施例中的攻击识别方法、装置及计算机可读存储介质,在特征数据库中预存有服务器受到不同恶意攻击后的特征数据,获得服务器的运行状态数据后,将该运行状态数据与特征数据库中的特征数据进行匹配即可判断服务器是否受到攻击,无需安全人员人工进行判定,实现了对服务器攻击的自动化识别,从而便捷、高效的判定服务器是否受到攻击,进而确保了服务器的可靠运行。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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