攻击检测方法、装置、计算机设备和存储介质与流程

文档序号:18523448发布日期:2019-08-24 10:01阅读:132来源:国知局
攻击检测方法、装置、计算机设备和存储介质与流程

本发明涉及网络安全技术领域,特别是涉及攻击检测方法、装置、计算机设备和存储介质。



背景技术:

随着网络技术的飞速发展和广泛应用,人们在日常生活和生产活动大量使用互联网获取信息。互联网上的设备经常遭受网络攻击,例如分布式拒绝服务(distributeddenailofservice,ddos)攻击,ddos攻击利用多个分布式攻击源向目标对象发送大量的数据包,来消耗大量网络资源,导致设备的网络服务瘫痪。传统的攻击检测一般都是确定固定的流量阈值,当访问流量超过设定的流量阈值时则进行告警,但是访问流量并不是固定的,导致攻击检测准确度低。



技术实现要素:

基于此,有必要针对上述攻击检测准确度低的问题,提供一种攻击检测方法、装置、计算机设备和存储介质。

一种攻击检测方法,所述方法包括:获取当前时间对应的当前流量信息;确定当前时间在当前流量周期对应的目标细化时间段,所述当前流量周期根据预设时间粒度切分为多个细化时间段;获取所述目标细化时间段对应的目标基准流量信息,其中,所述目标基准流量信息是根据多个目标历史流量周期在所述目标细化时间段的目标历史流量信息计算得到的,所述目标历史流量周期根据所述预设时间粒度切分为多个细化时间段;根据所述目标基准流量信息以及所述当前流量信息进行攻击检测。

一种攻击检测装置,所述装置包括:当前流量信息获取模块,用于获取当前时间对应的当前流量信息;目标细化时间段确定模块,用于确定当前时间在当前流量周期对应的目标细化时间段,所述当前流量周期根据预设时间粒度切分为多个细化时间段;目标基准流量信息获取模块,用于获取所述目标细化时间段对应的目标基准流量信息,其中,所述目标基准流量信息是根据多个目标历史流量周期在所述目标细化时间段的目标历史流量信息计算得到的,所述目标历史流量周期根据所述预设时间粒度切分为多个细化时间段;攻击检测模块,用于根据所述目标基准流量信息以及所述当前流量信息进行攻击检测。

在一些实施例中,获取多个目标历史流量周期在所述目标细化时间段的目标历史流量信息的目标历史流量信息获取模块包括:目标攻击时间获取单元,用于获取在所述目标历史流量周期的目标细化时间段期间遭受攻击的目标攻击时间;第一过滤单元,用于从所述目标历史流量周期在所述目标细化时间段对应的历史流量信息中,过滤所述目标攻击时间对应的历史流量信息,得到所述目标历史流量周期在所述目标细化时间段的目标历史流量信息。

在一些实施例中,获取多个目标历史流量周期在所述目标细化时间段的目标历史流量信息的目标历史流量信息获取模块包括:前向历史流量信息获取单元,用于获取多个前向历史流量周期中所述目标细化时间段对应的前向历史流量信息,所述前向历史流量周期为在所述目标历史流量周期之前的流量周期;目标排序得到单元,用于获取所述目标历史流量周期中所述目标细化时间段对应的历史流量信息在所述前向历史流量信息的目标排序;第一过滤单元,用于从所述目标历史流量周期在所述目标细化时间段对应的历史流量信息中,过滤目标排序大于第一排序和/或小于第二排序的历史流量信息,得到所述目标历史流量周期在所述目标细化时间段的目标历史流量信息。

在一些实施例中,获取多个目标历史流量周期在所述目标细化时间段的目标历史流量信息的目标历史流量信息获取模块包括:目标历史流量周期获取单元,用于将当前滑动时间窗对应的流量周期作为目标历史流量周期,其中,所述当前滑动时间窗包括多个流量周期,所述当前流量周期的前一周期为所述当前滑动时间窗的结束点;目标历史流量信息获取单元,用于获取各个所述目标历史流量周期在所述目标细化时间段的目标历史流量信息。

在一些实施例中,所述目标基准流量信息包括多个维度的流量信息,所述当前流量信息获取模块包括:当前数据包获取单元,用于获取当前时间接收到的多个当前数据包;当前流量信息虎丘单元,用于根据所述当前数据包对应的数据包属性计算得到各个维度对应的当前流量信息;所述攻击检测模块包括:差异计算结果得到单元,用于根据各个维度对应的当前流量信息与目标基准流量信息得到当前流量信息与目标基准流量信息的差异计算结果;攻击检测结果得到单元,用于根据所述差异计算结果得到攻击检测结果。

在一些实施例中,所述差异计算结果得到单元用于:将各个维度对应的当前流量信息作为当前向量的向量值,得到当前向量;将各个维度对应的目标基准流量信息作为基准向量的向量值,得到基准向量;计算所述当前向量与所述基准向量的差异,得到当前流量信息与目标基准流量信息的差异计算结果。

在一些实施例中,所述差异计算结果得到单元用于:计算所述当前向量与所述基准向量的相似度,作为当前流量信息与目标基准流量信息的差异计算结果;所述攻击检测结果得到单元用于:当所述当前向量与所述基准向量的相似度小于预设相似度时,确定遭受到攻击。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述攻击检测方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述攻击检测方法的步骤。

上述攻击检测方法、装置、计算机设备和存储介质,当前流量周期根据预设时间粒度切分为多个细化时间段,当前时间对应的基准流量信息是依据当前时间对应的目标细化时间段的多个目标历史流量周期的历史流量信息得到的,因此基准流量信息能够反映过去的流量周期里特定时间段的流量,基准流量信息刻画准确,因此基于当前时间对应的细化时间段的基准流量信息以及当前流量信息能够准确检测出设备是否遭受网络攻击,攻击检测准确度高。

附图说明

图1为一些实施例中提供的攻击检测方法的应用环境图;

图2为一些实施例中攻击检测方法的流程图;

图3为一些实施例中获取多个目标历史流量周期在所述目标细化时间段的目标历史流量信息的流程图;

图4为一些实施例中获取多个目标历史流量周期在所述目标细化时间段的目标历史流量信息的流程图;

图5为一些实施例中根据各个维度对应的当前流量信息与目标基准流量信息得到当前流量信息与目标基准流量信息的差异计算结果的流程图;

图6为一些实施例中攻击检测方法的流程图;

图7a为一些实施例中协议流量基线的示意图;

图7b为一些实施例中目的端口的分布的示意图;

图8为一些实施例中攻击检测系统的系统结构图;

图9为一些实施例中攻击检测装置的结构框图;

图10为一些实施例中计算机设备的内部结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一排序称为第二排序,且类似地,可将第二排序称为第一排序。

图1为一些实施例中提供的攻击检测方法的应用环境图,如图1所示,在该应用环境中,包括终端110、交换机120、业务服务器130以及攻击检测服务器140。终端110用于向业务服务器130发送业务服务请求,例如视频检索请求,业务服务器130用于接收并处理终端110发送的业务服务请求,业务服务请求可以通过交换机120转发到业务服务器130。交换机120上可以部署流量采集模块,流量采集模块将采集到的当前流量信息发送到攻击检测服务器140,攻击检测服务器140可以根据当前时间对应的当前流量信息进行攻击检测。

业务服务器130以及攻击检测服务器140可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和cdn等基础云计算服务的云服务器。终端110可以是智能手机、电脑、台式计算机、智能音箱、智能手表,当然终端110也可以替换为服务器,但并不局限于此。

如图2所示,在一些实施例中,提出了一种攻击检测方法,本实施例主要以该方法应用于上述图1中的攻击检测服务器140来举例说明。具体可以包括以下步骤:

步骤s202,获取当前时间对应的当前流量信息。

具体地,当前时间是指当前的时间,例如可以是当前所在的分钟作为当前时间,也可以是当前所在的2秒作为当前时间。流量信息用于对网络访问流量进行描述,可以用流量的大小以及流量的波动大小中的一个或多个来表示。流量的大小可以包括数据包的大小以及数据包的数量中的一个或多个,流量的波动可以包括数据包的大小对应的标准差、以及数据包的数量对应的标准差的一个或多个来表示。标准差(standarddeviation)是用于度量数据和其数学期望(即均值)之间的偏离程度,能够反映一组数据的离散程度。例如,当前流量信息可以包括每秒比特数均值(bps_avg)、每秒数据包数量的均值(pps_avg)、每秒比特数标准差(bps_std)以及每秒数据包数量标准差(pps_std)的一个或多个。其中,当前时间所指代的时间长度可以根据需要设定,例如可以是每一分钟计算一次当前流量信息,计算当前所在的这一分钟内的流量信息作为当前流量信息。也可以是每一小时计算一次当前流量信息,计算当前所在的这一小时内的流量信息作为当前流量信息。

在一些实施例中,流量信息还可以包括数据包的源分布度量信息。源分布是指数据包的来源的分布。数据包的来源可以用发送数据包的设备的源ip地址表示,当然也可以用发送数据包的设备的地理位置来表示。例如利用当前时间内接收到的数据包对应的ip(internetprotocol)地址的数量对源分布进行度量,也可以利用当前时间内接收到的数据包对应的地理位置的数量对源分布进行度量。举个实际的例子,假设一分钟内接收到了90个数据包,其中这90个数据包中有10个数据包的源ip地址为h1,20个数据包的源ip地址为h2,其他的60个数据包分别是不同的源ip地址,则当前时间内接收到的数据包对应的ip(internetprotocol)地址的数量为1+1+60=62个每分钟。

在一些实施例中,流量信息是多个维度的流量信息,通过多个维度,以不同的关注视角进行攻击检测,能够提高攻击检测的准确度。不同的业务系统可以根据实际需要确定对应的维度。也可以根据计算机层级确定对应的维度。例如,对于计算机的传输层,可以包括通信协议、标志位、目标端口、源端口、包长流量以及ttl(timetolive,生存时间值)等各个维度对应的流量信息。

在一些实施例中,可以区分不同的通信协议进行流量信息的统计。其中,标志位、目标端口、源端口、包长流量以及ttl可以基于协议进一步分为多个维度,例如可以分为tcp协议对应的各个目标端口的流量信息,udp协议对应的各个目标端口的流量信息等。维度可以包括多个层级,例如可以将流量信息分为多个一级维度对应的流量信息,一个一级维度下又可以包括一个或多个二级维度。

协议流量信息用于对各种通信协议下的流量信息进行刻画,以识别基于特定协议进行的网络攻击。例如,在ddos攻击中,如果是基于udp协议的大流量攻击,会使得udp协议对应的流量占比大幅增加,通过区分不同协议对应的流量,可以更加有效的进行攻击检测。其中,协议流量信息可以包括tcp(transmissioncontrolprotocol,传输控制协议)协议对应的流量信息、udp(userdatagramprotocol,用户数据报协议)协议对应的流量信息、icmp(internetcontrolmessageprotocol,互联网控制报文协议)协议对应的流量信息中的一个或多个。

标志位流量信息用于对各标志位流量信息进行刻画,以识别基于特定标志位的数据包进行的网络攻击,例如,在ddos攻击中,如果采用tcpsynflood手法会使得syn标志位流量占比大幅增加,因此通过标志位维度对应的流量信息,可以更加有效的进行攻击检测。其中,synflood是ddos攻击的方式之一,这是一种利用tcp协议缺陷,发送大量伪造的tcp连接请求,从而使得被攻击方资源耗尽(cpu满负荷或内存不足)的攻击方式。其中,标志位维度对应的流量信息可以包括urg、syn、ack等各种不同标志位为二级维度对应的流量信息。

目标端口流量信息用于对各目标端口的流量信息进行刻画。例如可以包括tcp协议的第0~65535端口以及udp协议的第0~65535端口中各个端口为目标端口的流量信息。源端口流量信息用于对各源端口的流量信息进行刻画,例如可以包括tcp协议的第0~65535端口以及udp协议的第0~65535端口中各个端口为源端口的流量信息。

包长流量信息用于对各个数据包的包长进行刻画,包长可以是指接收到的原始数据包中除去包头后的字节数。在ddos攻击中,攻击者发出的数据包的包长往往会出现聚集,通过本维度的信息可以有效进行攻击检测。其中数据包的包长可以分为多个包长区间,可以计算各个包长区间对应的流量信息。例如,互联网协议中,包长字节数最大长度为1500。因此可以将包长范围分成10个分段区间,编号0~9,0号区间表示包长从1到150,1号区间表示包长从151到300,依此类推,9号区间表示包长从1351到1500。

ttl流量信息用于对生存时间值的流量信息进行刻画。在ddos攻击中,攻击者可能存在地域上的聚集,这种地域聚集会表现到ttl值的聚集上。通过ttl维度的流量信息可以有效进行攻击检测。可以将ttl分为多个ttl区间,计算各个ttl区间对应的流量信息。例如,ip协议中ttl值范围为0~255,可以将ttl分成16个分段区间:用编号0~15表示,0号区间表示ttl值从0到15,1号区间表示ttl值从16到31,依此类推,15号区间表示ttl值从240到255。

步骤s204,确定当前时间在当前流量周期对应的目标细化时间段,当前流量周期根据预设时间粒度切分为多个细化时间段。

具体地,对于业务系统,流量一般是周期性变化的,因此可以按照流量的变化规律确定流量周期。流量的变化规律具体可以业务系统确定,可以是一天为一个流量周期,也可以是一周为一个流量周期。例如,对a业务系统的访问量,一天内其访问量一般都是固定在某个时间会出现访问高峰期,在其他时间内的访问量比较平稳,则对应的流量周期可以是一天。而对于b业务系统的访问量,一般是在每周的周一以及周三的访问量比较大,其他时间的访问量比较平稳,则对应的流量周期可以是一周。预设时间粒度是指流量周期的切分粒度,具体可以根据需要设置,例如根据攻击检测的精度进行设置。如果精度要求高,则预设时间粒度小。当前流量周期是指当前时间所在的流量周期。一个流量周期可以根据预设时间粒度切分为多个细化时间段。例如,预设时间粒度可以是1小时,如果一个流量周期为一天,则分为24个细化时间段。预设时间粒度可以是1天,如果一个流量周期为一周,则分为7个细化时间段

步骤s206,获取目标细化时间段对应的目标基准流量信息,其中,目标基准流量信息是根据多个目标历史流量周期在目标细化时间段的目标历史流量信息计算得到的,目标历史流量周期根据预设时间粒度切分为多个细化时间段。

具体地,目标历史流量周期是在当前流量周期之前的流量周期。例如,如果流量周期是一天,则今天为当前流量周期,而今天之前的流量周期是历史流量周期。目标历史流量信息是目标历史流量周期的流量信息。目标历史流量周期的个数可以根据需要设置。例如可以是13个。基准流量信息用于确定业务系统的流量是否正常,因此基准流量信息是对业务系统的正常流量的特性的标准描述,也可以称为流量画像,可以是一个设备或多个设备对应相同的基准流量信息。目标历史流量周期也是按照同样的预设时间粒度切分为多个细化时间段。在计算目标细化时间段的目标基准流量信息时,是参考多个目标历史流量周期在该目标细化时间段的历史流量信息计算得到的,例如可以是历史流量信息的均值,也可以是在均值的基础上加上或者减去预设值。例如,如果目标细化时间段是当前流量周期的第2个细化时间段,则目标基准流量信息是根据当前流量周期之前的3个目标历史流量周期在第2个细化时间段的流量信息确定的。目标基准流量信息可以是这3个目标历史流量周期在第2个细化时间段的流量信息的均值。目标基准流量信息可以是实时计算得到的,也可以是预先存储的。例如,可以预先存储各个细化时间段对应的基准流量信息,当得到目标细化时间段后,再根据细化时间段与基准流量信息的对应关系得到目标基准流量信息。

在一些实施例中,目标历史流量周期在目标细化时间段的目标历史流量信息是该目标历史周期在目标细化时间段的全部历史流量信息,也可以是部分历史流量信息。例如,可以从该目标历史周期在目标细化时间段的历史流量信息中筛选异常的流量信息,异常的流量信息可以是确认遭受攻击的时间段的流量信息,也可以是流量波动幅度大的时间对应的流量信息。

在一些实施例中,目标历史流量周期可以是在当前流量周期之前的预设个周期。获取多个目标历史流量周期在目标细化时间段的目标历史流量信息包括:将当前滑动时间窗对应的流量周期作为目标历史流量周期,其中,当前滑动时间窗包括多个流量周期,当前流量周期的前一周期为当前滑动时间窗的结束点;获取各个目标历史流量周期在目标细化时间段的目标历史流量信息。

具体地,滑动时间窗随着流量周期的变化而进行滑动,滑动时间窗中的流量周期的个数可以根据需要设置,例如12个。当前流量周期的前一周期为当前滑动时间窗的结束点是指当前流量周期的前一个周期是时间窗的最后一个流量周期,随着时间的变化,流量周期也在变化,滑动时间窗跟随流量周期的变化也在进行滑动,因此在不同的当前流量周期,所对应的目标历史流量周期也是在变化的,故获取得到的目标历史流量周期的目标历史流量信息也在变化,例如,假设当前流量周期是9月16日,则目标历史流量周期可以是9月10至9月15日之间的流量周期。当当前流量周期为9月17日时,则目标历史周期可以是9月11至9月16日之间的流量周期。通过获取当前滑动时间窗对应的流量周期作为目标历史流量周期,获取各个目标历史流量周期在目标细化时间段的目标历史流量信息计算得到在目标细化时间段的目标基准流量信息,能够使得目标基准流量信息在不同的当前流量周期中是跟随最近的一段时间内的目标历史流量周期的历史流量信息进行调整的,能够反映近期业务系统的流量信息。例如,假设流量周期为一天,则可以对基准流量信息按天进行每日更新,主机上当前发生的业务流量的变化,在第二天就能体现到流量画像中。而且,根据多个历史流量周期确定基准流量信息,相对于根据一个流量周期得到基准流量信息,能够减少由于流量的随机性带来的流量值上下变化导致基准流量信息不准确的情况发生。

步骤s208,根据目标基准流量信息以及当前流量信息进行攻击检测。

具体地,得到目标基准流量信息后,可以将当前流量信息与目标基准流量信息进行比较,得到差异结果,当目标基准流量信息与当前流量信息的差异超过一定差异时,则可以判断当前时间遭受到攻击。例如,如果目标基准流量信息为平均每秒接收到的数据包个数为500个,当前流量信息为平均每秒接收到的数据包个数为800个,则差异值可以为300个,假设预设差异值为250,则确认遭受到攻击。

在一些实施例中,当前流量信息与目标基准流量信息的差异可以用两者相减得到的差表示,也可以用两者之间的比例值来表示。

在一些实施例中,当前流量信息以及目标基准流量信息为多维度的流量信息,因此在进行比较时,可以将相同维度的流量信息进行比较,基于各个维度的比较结果确定是否遭受到流量攻击。例如,假设当前流量信息包括不同通信协议对应的流量信息,则可以将相同协议的流量信息进行比较。如果其中的一个协议的当前流量信息与基准流量信息的差异超过预设差异值,则可以确认遭受到了异常攻击。又例如,如果当前流量信息包括不同通信协议对应的流量信息以及不同通信协议下不同目标端口的流量信息,则在当其中的一个通信协议的当前流量信息与基准流量信息的差异超过预设阈值,且该通信协议下其中一个目标端口的流量信息与基准流量信息的差异超过预设阈值时,确认遭受到了异常攻击。

上述攻击检测方法,流量周期根据预设时间粒度切分为多个细化时间段,当前时间对应的基准流量信息是依据当前时间对应的目标细化时间段的多个目标历史流量周期的历史流量信息得到的,因此基准流量信息能够反映过去的流量周期里特定时间段的流量,基准流量信息刻画准确,因此基于该基准流量信息以及当前流量信息能够准确检测出是否遭受网络攻击,攻击检测准确度高

在一些实施例中,如图3所示,获取多个目标历史流量周期在目标细化时间段的目标历史流量信息的步骤包括:

步骤s302,获取在目标历史流量周期的目标细化时间段期间遭受攻击的目标攻击时间。

具体地,在目标历史流量周期,可以利用攻击检测系统进行攻击检测,检测到设备遭受到攻击的目标攻击时间。例如,攻击检测系统检测到攻击信息后将会输出告警信息,告警输出信息可以包含以下信息:攻击起始时间,攻击结束时间、攻击目标ip以及攻击类型。将攻击起始时间与攻击结束时间之间的时间作为目标攻击时间。

步骤s304,从目标历史流量周期在目标细化时间段对应的历史流量信息中,过滤目标攻击时间对应的历史流量信息,得到目标历史流量周期在目标细化时间段的目标历史流量信息。

具体地,得到目标攻击时间后,将该目标攻击时间对应的流量信息从目标细化时间段对应的历史流量信息中过滤掉,得到剩下的历史流量信息为目标历史流量周期在目标细化时间段的目标历史流量信息。因此,在计算目标基准流量信息时,能够去除遭受到攻击时的异常流量信息,减少脏数据的影响,使得得到的目标基准流量信息能够准确刻画设备正常的流量信息。例如,假设目标细化时间段为10:00至11:00,攻击时间为10:03分到10:06分,则将10:03分到10:06分的流量数据过滤。

在一些实施例中,如图4所示,获取多个目标历史流量周期在目标细化时间段的目标历史流量信息的步骤包括:

步骤s402,获取多个前向历史流量周期中目标细化时间段对应的前向历史流量信息,前向历史流量周期为在目标历史流量周期之前的流量周期。

具体地,前向历史流量周期是指目标历史流量周期之前的周期,前向历史流量周期的数量可以根据需要设置,例如一个目标历史流量周期的前向历史流量周期可以为12个。前向历史流量信息是前向历史流量周期的流量信息。可以理解,由于目标历史周期有多个,因此,对于不同的目标历史周期,其对应的前向历史流量周期可以是不同的。例如,假设目标历史流量周期有两个:a1以及a2,a1在a2之前,b1、c1以及d1流量周期在a1之前。则a2的前向历史流量周期可以包括a1、b1以及c1,a1的前向历史流量周期可以包括b1、c1以及d1。

步骤s404,获取目标历史流量周期在目标细化时间段对应的历史流量信息在前向历史流量信息的目标排序。

具体地,得到前向历史流量信息后,将目标历史流量周期中目标细化时间段对应的历史流量信息与前向历史流量信息进行排序,得到目标历史流量周期中目标细化时间段对应的历史流量信息在其对应的前向历史流量信息的目标排序。可以是按照从大到小的顺序进行排序,也可以是按照从小到大的顺序进行排序。例如,假设目标历史流量周期中目标细化时间段的t1时间对应的历史流量信息为3.1mbps,前向历史流量周期中t1时间对应的前向历史流量信息有5个:3mbps、2mbps、2.1mbps、2.9mbps以及3.5mbps,则按照从大到小进行排序,可以得到目标排序为第2。

在一些实施例中,由于一个细化时间段是一段时间,一段时间的历史流量信息为多个流量数据,因此,在对目标历史流量周期中目标细化时间段对应的历史流量信息进行对比排序时,可以是在相同时间对应的流量信息中进行排序。例如,假设一个细化时间段为一小时,细化时间段对应的前向历史流量信息是每一分钟的流量信息,则将目标历史流量周期中第1分钟的历史流量信息,在多个前向历史流量周期中第1分钟的前向历史流量信息中进行排序,将目标历史流量周期中第2分钟的历史流量信息,在多个前向历史流量周期中第2分钟的前向历史流量信息中进行排序……将目标历史流量周期中第n分钟的历史流量信息,在多个前向历史流量周期中第n分钟的前向历史流量信息中进行排序。

步骤s406,从目标历史流量周期中目标细化时间段对应的历史流量信息中,过滤目标排序大于第一排序和/或小于第二排序时的历史流量信息,得到目标历史流量周期在目标细化时间段的目标历史流量信息。

具体地,第一排序以及第二排序可以根据需要设置。第一排序可以大于第二排序。可以是只过滤大于第一排序的历史流量信息,也可以是只过滤小于第二排序的历史流量信息,也可以是既过滤第一排序的历史流量信息,也过滤小于第二排序的历史流量信息。将过滤后得到的历史流量信息作为目标历史流量周期在目标细化时间段的目标历史流量信息。这种,可以将极端情况下的流量数据剔除掉,得到准确反映正常情况下设备的流量情况的流向信息。

在一些实施例中,获取当前时间对应的当前流量信息包括:获取当前时间接收到的多个当前数据包;根据当前数据包对应的数据包属性计算得到各个维度对应的当前流量信息。根据目标基准流量信息以及当前流量信息进行攻击检测包括:根据各个维度对应的当前流量信息与目标基准流量信息得到当前流量信息与目标基准流量信息的差异计算结果;根据差异计算结果得到攻击检测结果。

具体地,当前时间内可以接收到多个数据包。数据包属性用于描述数据包的性质。数据包属性例如可以是协议名称、标志位、源ip、源端口、目的ip、目的端口、包长以及ttl值中的一个或多个。得到各个数据包属性后,可以是一个数据包属性对应一个维度,也可以是多个数据包属性对应一个维度。例如,可以是计算不同协议名称对应的流量信息,也可以是计算在不同协议名称下不同源端口对应的流量信息。举个实际的例子,假设一分钟内接收到6000个数据包,提取到各个数据包的属性,进行统计后,可以得到tcp协议对应的数据包为3600个,udp协议的为2400个,则可以计算得到tcp协议维度对应的流量信息为3600/60=60个数据包每秒。udp协议维度对应的流量信息为2400/60=40个数据包每秒。差异计算结果用于表示当前流量信息与目标基准流量信息的差异,差异计算结果可以用差异度表示,也可以用相似度表示。差异度表示差异的程度,差异度越大,则表示差异越大。相似度表示相似的程度,相似度越小,则表示差异越大。得到多个维度的当前流量信息后,将相同维度的当前流量信息与目标基准流量信息进行比较,得到各个维度对应的当前流量信息与目标基准流量信息的差异计算结果,如果差异计算结果表示差异度大于预设差异度时,则可以确定遭受到了攻击。如果差异计算结果表示相似度小于预设相似度时,则可以确定遭受到了攻击。

在一些实施例中,如图5所示,根据各个维度对应的当前流量信息与目标基准流量信息得到当前流量信息与目标基准流量信息的差异计算结果包括:

步骤s502,将各个维度对应的当前流量信息作为当前向量的向量值,得到当前向量。

具体地,当前向量是由各个维度对应的流量信息组成的。当得到一个维度对应的当前流量信息后,将对应的当前流量信息作为预设位置的向量值。

在一些实施例中,可以是将相同类型,不同维度对应的当前流量信息作为同一个当前向量的向量值,组成一个当前向量,即一个当前向量中的向量值是相同类型的维度对应的当前流量信息组成的,相同类型是指相同的数据包属性类型,以从各个类型的数据包属性的角度进行攻击检测,提高攻击检测的准确度。数据包属性类型例如可以是协议、标志位、目标端口、源端口、包长流量以及ttl等。例如,将协议类型中不同协议对应的流量信息组成一个当前向量,将标志位类型中不同标志位对应的流量信息组成一个当前向量。

在一些实施例中,组成同一当前向量的当前流量信息是相同通信协议对应的流量信息。例如,将tcp协议中不同ttl值对应的流量信息组成一个当前向量。将udp协议中不同ttl值对应的流量信息组成另一个当前向量。

举个实际的例子,假设tcp协议中,数据包的包长为o号区间、1号区间、2号区间、3号区间、4号区间以及5号区间的当前流量信息分别为f1、f2、f3、f4以及f5,则组成的当前向量为(f1,f2,f3,f4,f5)。

在一些实施例中,当流量信息包括多个度量类型时,例如包括每秒比特数均值(bps_avg)、每秒数据包的包数均值(pps_avg)、每秒比特数标准差(bps_std)以及每秒数据包的包数标准差(pps_std)的一个或多个度量类型时,则可以是一种度量类型对应的当前流量信息组成一个当前向量。

步骤s504,将各个维度对应的目标基准流量信息作为基准向量的向量值,得到基准向量。

具体地,基准向量是由目标基准流量信息组成的,可以理解,基准向量的组成规则与当前向量的组成规则是一致的。例如,如果是将相同类型不同维度对应的当前流量信息作为同一个当前向量的向量值,组成一个当前向量,则基准向量也是将相同类型不同维度对应的目标基准流量信息作为同一个基准向量的向量值,组成一个基准向量。

步骤s506,计算当前向量与基准向量的差异,得到当前流量信息与目标基准流量信息的差异计算结果。

具体地,当前向量与基准向量的差异可以用当前向量与基准向量的向量距离表示,也可以用相似度表示。当前向量与基准向量的向量距离可以用欧式距离表示,当前向量与基准向量的相似度可以用余弦相似度表示。其中,欧式距离越大,则表示向量差异度越大。余弦相似度的值小于等于1,余弦相似度越接近1,则表示向量越相似。

在一些实施例中,计算当前向量与基准向量的差异,得到当前流量信息与目标基准流量信息的差异计算结果包括:计算当前向量与基准向量的相似度,作为当前流量信息与目标基准流量信息的差异计算结果;根据差异计算结果得到攻击检测结果包括:当当前向量与基准向量的相似度小于预设相似度时,确定遭受到攻击。

具体地,预设相似度可以根据需要设置,例如可以为0.75。计算得到当前向量与基准向量的相似度后,将当前向量与基准向量的相似度作为当前流量信息与目标基准流量信息的差异计算结果,如果当前向量与基准向量的相似度小于预设相似度时,确定遭受到攻击,如果当前向量与基准向量的相似度大于预设相似度时,则可以确定未遭受到攻击。

在一些实施例中,当当前向量包括多个时,可以计算各个当前向量与对应的基准向量的差异,可以是当其中的一个当前向量与对应的基准向量的差异大于预设差异时,则确定遭受到攻击。当确定遭受到攻击时,可以输出告警信息。告警信息中可以包括对应的维度信息。例如如果是ttl对应的当前向量与基准向量的差异大于预设差异,则告警信息可以包括通信协议的类型信息以及ttl标识。

在一些实施例中,图6示出了一些实施例中攻击检测方法的实现流程图,具体可以包括以下步骤:

s602,获取历史流量周期的原始历史流量信息。

具体地,可以对数据包的流量信息进行提取,得到原始历史流量信息。例如可以在机房交换机上部署流量采集模块,通过流量分光技术,将经过交换机的数据包镜像出来,使得对流量信息的处理不会影响主机上部署的业务。可以理解,这里的原始历史流量信息是相对于当前流量周期而言的,但是在实际的流量采集中,例如通过流量分光技术镜像时,可以是实时的,通过实时采集流量数据,并存储在预设存储空间中,当需要计算基准流量信息时再获取预设存储空间中的流量数据。

在进行流量分光时,可以将分光出来的数据包进行解包,根据包结构判断所属的通信协议,并从包结构中提取出关键字段信息,从而形成一条条的结构化数据,再加上对应的数据包的时间作为流量信息的时间戳。其中,输出的结构化数据可以为如下9元组数据:时间戳、协议名、tcp标志位、源ip、源端口、目的ip、目的端口、包长以及ttl值。可以是每解析一个通信数据包,输出一条结构化数据。结构化数据中,若对应字段值不存在则填入空值,例如icmp协议无端口概念,则端口的字段填入空值。

在一些实施例中,一个交换机可以对应多台主机,主机可以是图1中的业务服务器。因此原始历史流量信息可以是多台主机的流量信息。主机可以根据目的ip进行确定。一个目的ip可以对应一台主机。

s604,根据原始历史流量信息提取各个维度对应的初始历史流量信息。

具体地,初始历史流量信息是区分维度进行统计得到的。得到原始历史流量信息后,基于各个维度对原始流量信息进行统计,得到各个维度对应的初始历史流量信息。在进行统计时,可以包括多个层级的维度,例如2个层级的维度。可以将流量信息分为多个一级维度对应的流量信息,一个一级维度下又可以包括一个或多个二级维度。其中,同一个一级维度下的二级维度之间不存在交集,并且并集的范围等于对应的一级维度的范围。

在一些实施例中,一级维度可以包括协议(t_summary)、标志位(t_flag)、目标端口(t_dport)、源端口(t_sport)、包长流量(t_pkglen)以及ttl(t_ttl)中的一个或多个。例如,协议维度下可以没有二级维度。标志位维度对应的二级维度可以包括urg、ack、psh、rst、syn、fin、ece以及cwr等数据包标志位对应的二级维度。目标端口维度可以包括第0~第65535端口各个端口对应的二级维度。源端口可以包括第0~第65535端口各个端口对应的二级维度。

在一些实施例中,由于通信协议可以包括多种,因此,当包括多种通信协议时,区分不同的通信协议进行流量信息的统计。例如,可以计算tcp协议对应的流量信息中,各个目标端口对应的流量信息。计算udp协议对应的流量信息中,各个目标端口对应的流量信息。

在一些实施例中,在进行统计时,是基于最小的预设画像粒度进行统计的。最小的预设画像粒度对应的时间长度可以根据需要确定,例如可以是1小时,也可以是1分钟。由于在计算基准流量信息时,需要根据预设时间粒度切分为多个时间段进行计算,而预设时间粒度根据不同的需求进行设置。因此,在统计维度对应的初始历史流量信息时,基于最小的预设画像粒度进行统计,可以使得预设时间粒度大于或等于最小的预设画像粒度。如果预设时间粒度等于最小的预设画像粒度,则可以直接得到基准流量信息。如果预设时间粒度大于最小的预设画像粒度,则可以基于最小的预设画像粒度对应的流量信息计算得到预设时间段的信息。例如,最小的预设画像粒度为分钟,而预设时间粒度为小时,则可以计算一小时中各分钟对应的历史流量信息的均值,作为这一小时的细化时间段对应的基准流量信息。

例如,在得到原始历史流量信息后,可以基于时间对原始历史流量信息进行聚合,聚合的画像粒度可以为一分钟,可以将原始历史流量信息按照时间戳分为多个组,一分钟为一个组。对一组的信息进行统计,得到该组对应的流量信息。原始历史流量信息是实时采集的,将流量信息按照时间戳进行分组,将时间戳为同一分钟的流量信息放入同一个分区中,当这一分钟的流量信息均已存储在该分区中时,即当获取的初始流量信息超过当前组所在的分钟时,则开始进行统计,最终可以输出如表一所示的结构化数据。其中,举个实际的例子,表一第三行的数据所表示的意思为:对于主机标识为1.1.1.2这台主机,其在2018年10月10日第25分钟时,tcp总流量均值为15020比特/秒,流量标准差为510比特/秒,tcp总包速均值为1020个数据包/秒,数据包标准差为310个数据包/秒。

表一:不同通信协议下,各个维度对应的初始历史流量信息

得到维度对应的初始历史流量信息后,可以基于流量周期进行存储。例如,可以采用hadoop集群作为数据存储系统,在hadoop之上搭建hive数据仓库作为关系型数据库系统,在使用hive数据仓库存储流量信息时,可以采用按流量周期进行分区的存储结构,例如一个流量周期的流量数据对应一个分区,这样可以有效避免单表过大造成的分析效率低下问题,而且可以根据流量周期快速定位到当日的数据。

s606,对各个初始历史流量信息进行数据去脏,得到目标历史流量信息。

具体地,去脏指去除异常的数据。例如去除本发明上述实施例中的攻击时间对应的历史流量信息,目标排序大于第一排序和/或小于第二排序的历史流量信息等。例如,根据攻击检测系统输出的告警输出信息中的攻击的起始时间和攻击的结束时间,可以得到一个时间段,在这个时间段内采集的流量混合了攻击流量,需要过滤掉。过滤方法是根据告警输出信息中的日期以及分钟可以确定该攻击的发生时间,对于落在上述攻击时间段内的历史流量信息,则进行丢弃。

举个实际的例子,可以设计一个两步方案进行数据去脏,第一步在每个流量周期的初始历史流量数据写入完成的时候执行,将一个流量周期的初始流量数据作为一个数据分区,对该分区的所有流量数信息处理。假设一个流量周期对应于一个自然日,因此在头一天的数据分区会写入完成后,即可触发对头一天的全体数据进行去脏处理:通过攻击检测引擎输出的告警信息,将数据分区的流量信息中落到攻击时段内的流量信息剔除掉。当将落到攻击时段内的流量信息剔除掉后,得到的头一天的流量信息用e指代,往前再取13个分区,即往前再取13个前向流量周期的流量信息。总共得到连续的14个流量周期的流量信息,用g指代这14个分区构成的全体数据。因此对于数据e中的每一分钟的流量信息,在数据g中都会有相同时间的13条流量信息相对应。若数据e的某一分钟记录的bps_avg值,在对应的14条数据中处于最大前2名或最小前2名中,则将e的该分钟的流量数据记录丢弃,即剔除最大前14.3%和最小前14.3%的流量数据,这样可以将两种极端情况剔除掉,通过实验发现,通过这种方法,可以有效排除掉脏数据。通过对脏数据以及显著的数据噪声进行过滤,能够去除异常的数据,提高得到的基准流量信息的准确度,能主机的流量画像进行更准确的刻画。

s608,根据多个历史流量周期在各个细化时间段对应的目标历史流量信息,得到各个细化时间段对应的目标基准流量信息。

具体地,根据步骤s602~s606得到目标历史流量信息后,获取多个历史流量周期在各个细化时间段对应的目标历史流量信息,统计得到细化时间段对应的目标基准流量信息。细化时间段根据预设时间粒度切分得到。假设流量周期为一天,如果预设时间粒度为1小时,则可以分为24个细化时间段。假设流量周期为一天,如果预设时间粒度为1分钟时,则可以分为1440个细化时间段。例如,当一个细化时间段为1个小时,则在计算12:00至13:00这细化时间段的目标基准流量信息时,获取14个历史流量周期中,12:00至13:00之间每一分钟对应的初始流量信息,计算初始流量信息的均值,作为12:00至13:00这细化时间段的目标基准流量信息。得到目标基准流量信息后,可以存储各个主机标识与对应的目标基准流量信息的对应关系。主机标识对应的目标基准流量信息可按如下7元组进行描述:<主机标识,画像粒度,时间标签,一级维度,二级维度,流量大小及波动度量,源分布度量>。其中,主机标识用于唯一确定一台主机,一般采用ip地址,也可以根据具体情况采用不同的标识,例如mac(mediaaccesscontroladdress,媒体访问控制地址)地址或者域名地址。画像粒度表示切分流量周期的时间粒度。

如表二所示,为一些实施例中流量周期为一天时,输出的细化时间段与对应的目标基准流量信息的数据表。由表二可以看出,对于主机1.1.1.1,预设时间粒度为小时,因此时间标签的值可以为有24个,例如可以为0~23,表示一天中各个小时对应的基准流量信息。对于主机1.1.1.2,预设时间粒度为分钟,因此时间标签的值可以为有1440个,例如可以为0~1439,表示一天中各个分钟对应的基准流量信息。以表二第三行的数据为例,表示的意思为对于主机1.1.1.2,其预设时间粒度为1分钟,在流量周期的第1430个分钟的细化时间段内,协议为tcp,标志位t_flag为urg对应的目标基准流量信息为总流量均值为30000比特/秒,流量标准差为800比特/秒,tcp总包速均值为2000个数据包/秒,数据包标准差为400个数据包/秒。

在一些实施例中,对于当前流量周期,对应的目标历史流量周期是位于当前滑动时间窗内的周期。根据步骤s602~s606计算得到目标历史流量信息时,可以是每经过一个流量周期,则计算一次各个细化时间段对应的目标基准流量信息。假设根据步骤s602~s606计算到2018年10月29日对应的目标历史流量信息后,则触发获取2018年10月22日至10月28日对应的目标历史流量信息,其中,2018年10月22日至10月28对应的目标历史流量信息也是根据步骤s602~s606预先已经计算得到的。因此根据2018年10月22日至10月29日的目标历史流量信息计算得到2018年10月30日中各个细化时间段对应的基准流量信息。将细化时间段与对应的基准流量信息对应存储。

表二、细化时间段与对应的目标基准流量信息

在一些实施例中,由于部分维度对应的流量信息可能不存在,例如,对于某个端口并没有开放服务,则该目标端口上的流量、包速率和源ip数均为0。为了节省存储空间,这些全0的记录可以不进行存储,以节省存储空间。

s610,获取当前时间对应的当前流量信息。

s612,确定当前时间在当前流量周期对应的目标细化时间段,当前流量周期根据预设时间粒度切分为多个细化时间段。

具体地,步骤s610以及s612的描述可以参见步骤s202以及s204,具体不再赘述。

s614,获取目标细化时间段对应的目标基准流量信息。

具体地,得到目标细化时间段后,则可以根据细化时间段与基准流量信息的对应关系,得到该目标细化时间段对应的目标基准流量信息。

s616,根据目标细化时间段对应的目标基准流量信息以及当前流量信息进行攻击检测。

具体地,步骤s616的描述可以参见步骤s208,具体不再赘述。

在一些实施例中,得到各个细化时间段对应的目标基准流量信息后,可以根据目标基准流量信息进行流量基线的展示。例如,如图7a所示,根据tcp协议在每一分钟对应的基准流量信息得到的tcp协议流量基线,其中,横坐标为时间,纵坐标表示该时间对应的基准流量信息。通过图7a可以知道业务正常的流量的访问量级、访问的高峰和低谷时段等信息。如果某天的实际业务流量大幅偏离图1的画像,例如应该出现高峰的时段未出现高峰,则有可能发生业务异常,例如出现业务宕机。

在一些实施例中,可以计算各个维度对应的分布情况,基于分布情况进行攻击检测。例如,对于目的端口维度,可以根据历史流量周期的流量信息计算各个目的端口的访问量的比例,如图7b所示,示出了各个目的端口的分布情况。如果某天的实际业务流量大幅偏离图7b的画像,例如某个正常情况下流量占比很小的服务端口出现了很大的占比,则有可能发生业务异常。可以理解,还可以展示业务流量的包长分布情况图,通过业务流量的包长分布情况可以知道业务正常的情况下,流量包长的分布区间,每个区间的流量占比分别是多大。如果某天的实际业务流量大幅偏离包长分布画像,例如正常情况下数据包大小主要集中在300比特左右,而当天数据包大小聚集在1000比特左右,则有可能发生业务异常,例如被ddos大数据包攻击。也可以展示业务流量的ttl值分布图,通过ttl值分布图可以知道业务正常的情况下,流量的ttl的分布区间,每个区间的流量占比分别是多大。如果某天的实际业务流量大幅偏离ttl值分布图,例如正常情况下ttl主要集中在50左右,而当天ttl聚集在150左右,则有可能发生业务异常,例如ddos攻击。也可以展示业务流量的源端口分布图,通过源端口分布图可以知道业务正常的情况下,哪些关注的源端口会访问业务,访问流量占比是多少。如果某天的实际业务流量大幅偏离源端口分布图,例如正常情况下53端口的流量占比较小,而当天53端口的流量占比很大,则有可能发生业务异常,例如dns反射型攻击。

如图8所示,为一些实施例中的攻击检测系统的系统结构图,可以包括设置在机房交换机的原始流量信息采集模块、设置在实时计算引擎的基础维度提取模块以及结构化数据存储模块、设置在离线计算引擎的数据去脏模块以及时窗平滑模块,设置在应用中的展示查询模块以及攻击检测以及防御模块。原始流量信息采集模块可以实时采集通过机房交换机原始流量信息。实时计算引擎例如可以为sparkstreaming、apacheflink、storm等实时计算引擎。storm是一种开源的分布式实时大数据处理框架。实时计算引擎中的基础维度提取模块根据原始历史流量信息提取各个维度对应的初始历史流量信息,结构化数据存储模块按照一个流量周期的流量数据对应一个分区的方式存储得到的初始历史流量信息。当得到一个流量周期的流量信息后,离线计算引擎的数据去脏模块进行数据去脏,得到目标历史流量信息,时窗平滑模块根据滑动时间窗的多个历史流量周期在各个细化时间段对应的目标历史流量信息,计算得到各个细化时间段对应的目标基准流量信息。展示查询模块可以根据查询请求展示对应的目标基准流量信息,攻击检测以及防御模块根据当前时间对应的当前流量信息以及基准流量信息进行攻击检测以及防御。上述攻击检测系统,各模块的功能定义清晰,并根据数据流进行衔接和驱动,当通过分光技术常态化地持续采集业务流量,并传递到后续模块进行数据处理,则攻击检测系统就能动态地持续地自动化运行,当一个流量周期例如一天的目标历史流量数据存储完成后,就可以触发自动生成流量画像并更新,这样,主机上昨天的业务流量变化,会影响当天的基准流量信息,因此可以在不了解主机上的业务特性以及实验测量的情况下进行攻击检测。

如图9所示,在一些实施例中,提供了一种攻击检测装置,该攻击检测装置可以集成于上述的攻击检测服务器140中,具体可以包括当前流量信息获取模块902、目标细化时间段确定模块904、目标基准流量信息获取模块906以及攻击检测模块908。

当前流量信息获取模块902,用于获取当前时间对应的当前流量信息。

目标细化时间段确定模块904,用于确定当前时间在当前流量周期对应的目标细化时间段,当前流量周期根据预设时间粒度切分为多个细化时间段。

目标基准流量信息获取模块906,用于获取目标细化时间段对应的目标基准流量信息,其中,目标基准流量信息是根据多个目标历史流量周期在目标细化时间段的目标历史流量信息计算得到的,目标历史流量周期根据预设时间粒度切分为多个细化时间段。

攻击检测模块908,用于根据目标基准流量信息以及当前流量信息进行攻击检测。

在一些实施例中,获取多个目标历史流量周期在目标细化时间段的目标历史流量信息的目标历史流量信息获取模块包括:

目标攻击时间获取单元,用于获取在目标历史流量周期的目标细化时间段期间遭受攻击的目标攻击时间。

第一过滤单元,用于从目标历史流量周期在目标细化时间段对应的历史流量信息中,过滤目标攻击时间对应的历史流量信息,得到目标历史流量周期在目标细化时间段的目标历史流量信息。

在一些实施例中,获取多个目标历史流量周期在目标细化时间段的目标历史流量信息的目标历史流量信息获取模块包括:

前向历史流量信息获取单元,用于获取多个前向历史流量周期中目标细化时间段对应的前向历史流量信息,前向历史流量周期为在目标历史流量周期之前的流量周期。

目标排序得到单元,用于获取目标历史流量周期中目标细化时间段对应的历史流量信息在前向历史流量信息的目标排序。

第一过滤单元,用于从目标历史流量周期在目标细化时间段对应的历史流量信息中,过滤目标排序大于第一排序和/或小于第二排序的历史流量信息,得到目标历史流量周期在目标细化时间段的目标历史流量信息。

在一些实施例中,获取多个目标历史流量周期在目标细化时间段的目标历史流量信息的目标历史流量信息获取模块包括:

目标历史流量周期获取单元,用于将当前滑动时间窗对应的流量周期作为目标历史流量周期,其中,当前滑动时间窗包括多个流量周期,当前流量周期的前一周期为当前滑动时间窗的结束点。

目标历史流量信息获取单元,用于获取各个目标历史流量周期在目标细化时间段的目标历史流量信息。

在一些实施例中,目标基准流量信息包括多个维度的流量信息,当前流量信息获取模块902包括:

当前数据包获取单元,用于获取当前时间接收到的多个当前数据包.

当前流量信息虎丘单元,用于根据当前数据包对应的数据包属性计算得到各个维度对应的当前流量信息。

攻击检测模块908包括:

差异计算结果得到单元,用于根据各个维度对应的当前流量信息与目标基准流量信息得到当前流量信息与目标基准流量信息的差异计算结果。

攻击检测结果得到单元,用于根据差异计算结果得到攻击检测结果。

在一些实施例中,差异计算结果得到单元用于:

将各个维度对应的当前流量信息作为当前向量的向量值,得到当前向量。

将各个维度对应的目标基准流量信息作为基准向量的向量值,得到基准向量。

计算当前向量与基准向量的差异,得到当前流量信息与目标基准流量信息的差异计算结果。

在一些实施例中,差异计算结果得到单元用于:计算当前向量与基准向量的相似度,作为当前流量信息与目标基准流量信息的差异计算结果;攻击检测结果得到单元用于:当当前向量与基准向量的相似度小于预设相似度时,确定遭受到攻击。

图10示出了一些实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的攻击检测服务器140。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现攻击检测方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行攻击检测方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一些实施例中,本申请提供的攻击检测装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该攻击检测装置的各个程序模块,比如,图9所示的当前流量信息获取模块902、目标细化时间段确定模块904、目标基准流量信息获取模块906以及攻击检测模块908。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的攻击检测方法中的步骤。

例如,图10所示的计算机设备可以通过如图9所示的攻击检测装置中的当前流量信息获取模块902获取当前时间对应的当前流量信息。通过目标细化时间段确定模块904确定当前时间在当前流量周期对应的目标细化时间段,当前流量周期根据预设时间粒度切分为多个细化时间段。通过目标基准流量信息获取模块906获取目标细化时间段对应的目标基准流量信息,其中,目标基准流量信息是根据多个目标历史流量周期在目标细化时间段的目标历史流量信息计算得到的,目标历史流量周期根据预设时间粒度切分为多个细化时间段。通过攻击检测模块908根据目标基准流量信息以及当前流量信息进行攻击检测。

在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述攻击检测方法的步骤。此处攻击检测方法的步骤可以是上述各个实施例的攻击检测方法中的步骤。

在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述攻击检测方法的步骤。此处攻击检测方法的步骤可以是上述各个实施例的攻击检测方法中的步骤。

应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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