泛洪攻击检测方法及检测装置的制作方法

文档序号:7691828阅读:236来源:国知局
专利名称:泛洪攻击检测方法及检测装置的制作方法
技术领域
本发明涉及通信技术领域,具体涉及一种泛洪攻击检测方法及检测装置。
技术背景DDOS (Distributed Denial of Service,分布式拒绝服务攻击)攻击是泛洪 (flood)攻击的其中一种,主要是指攻击者利用主控主机做跳板(可能多级 多层),控制大量受感染的主机组成攻击网络对受害主机进行大规模的拒绝服 务攻击。这种攻击往往能把单个攻击者的攻击以级数形式进行放大,从而对 受害主机造成重大影响,也造成网络严重拥塞。现有技术中对DDOS攻击进行检测的一种方式是流量异常检测流量异 常检测主要根据各种协议的报文流量在正常情况下是相对平稳变化的,只有 在受到特定攻击时候才会发生明显的突变。流量异常检测一般分两个阶段, 一个是学习阶段,通过一些样本流量进行学习,从而建立初始分析模型;然 后系统进入工作状态,采集报文流量后进行流量统计,并进行流量模型的分 析,然后把分析结果和初始分析模型进行比对,两者的差异如果大于阈值则 认为异常;如果是正常,则进行流量学习,不断修正初始分析模型。现有技术中对DDOS攻击进行检测的另一种方式是发包频率检测。因为 对于DDOS攻击,通常会出现报文的大流量特征,而流量通常和才艮文的发包 频率密切相关,因此,可以统计发包频率,将统计结果和阈值进行比较,如 果大于阈值则认为异常,否则认为正常。在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题现有技术目前存在的检测方法检测出DDOS攻击的准确性都不太高,对 于流量异常检测方式,如果攻击是小流量下的泛洪攻击,流量变化短期内变 化不是特别大,如果流量分析算法简单的话可能很难检测,对于一些正常的 请求,类似代理或网络地址转换nat服务,也有可能短时内流量很大,因此容 易出现误检测。对于发包频率检测方式,对于小流量攻击,很难检测,对于一些正常的请求,类似代理或nat服务,也容易出现误检测。 发明内容本发明实施例要解决的技术问题是提供一种泛洪攻击检测方法及检测装 置,能够更准确的^r测出泛洪攻击。为解决上述技术问题,本发明所提供的实施例是通过以下技术方案实现的本发明实施例提供一种泛洪攻击检测方法,包括获取源报文的关键字 总数;获取对应所述源报文的特征参数的数目;将所述特征参数的数目占所 述关键字总数的比例值与预设阈值进行比较,若大于等于所述预设阈值,则 判断出发生泛洪攻击。本发明实施例提供一种检测装置,包括获取单元,用于获取源报文的 关键字总数和对应所述源报文的特征参数的数目;处理单元,用于将所述特 征参数的数目占所述关键字总数的比例值与预设阈值进行比较,若大于等于 所述预设阈值,则判断出发生泛洪攻击。上述技术方案可以看出,本发明实施例充分利用了泛洪攻击所具有的特 征,获取源报文的关键字总数和对应源报文的特征参数的数目后,将特征参 数的数目占所述关键字总数的比例值与预设阈值进行比较,若大于等于所述 预设阈值,则判断出发生泛洪攻击,这种检测方法更为准确和简单。


图1是本发明实施例一泛洪攻击^r测方法流程图; 图2是本发明实施例数据表的数据结构示意图; ' 图3是本发明实施例一的应用场景示意图; 图4是本发明实施例二泛洪攻击检测方法流程图; 图5是本发明实施例二的应用场景示意图; 图6是本发明实施例检测装置结构示意图。
具体实施方式
本发明实施例提供了 一种泛洪攻击检测方法,能够更准确的检测出泛洪 攻击。本发明实施例技术方案是对同一被保护的目的主机,检测其接收的报文记录,如果检测出接收的由多个主机发送的报文的正文内容都是雷同的,则认为目的主机正遭受这些主机的DDOS攻击;如果检测出接收的由多个主 机发送的报文的正文内容可以随机变换,则检测对所接收报文进行应答的响 应报文,如果检测出响应报文错误率高,也认为目的主机正遭受这些主机的 DDOS攻击。以下结合附图详细介绍本发明实施例内容。请参阅图1,是本发明实施例一泛洪攻击检测方法流程图,实施例一针对 正常携带关键字的情况,包括101、确定源IP报文关键字总数、源IP报文正文哈希字串重复数目;该步骤中是根据预先配置的数据表确定源IP报文关键字总数、源IP报文 正文哈希字串重复数目。以下先对本发明实施例的数据表进行介绍。请参阅图2,是本发明实施例数据表的数据结构示意图。如图2所示,该数据表的数据结构第一层以报文的目的IP字段为索引构 建,第二层则根据报文的源IP字段为索引构建,第三层是主要工作的数据层, 由报文的正文关键句进行哈希变换后的关键句哈希字串为索引构建。第二层中的源IP有效标记表示该条记录是否有效,第二层中的最近接收 报文时间指的是在老化时间内收到的第 一个带该关键字的数据报文的时间, 关键字总数表示在老化时间内收到带该关键字的报文的总数目,失败总数表 示该关键字的响应报文的失败总数。第三层中的关键句哈希字串表示对该带关键字的关键句选取特定长度进 行哈希变换,得到一固定长度的字符串,即关键句哈希字串,第三层中的时 间表示是在老化时间内该源IP发出的对该目的IP响应的第 一个带关键字的报 文的时间,第三层中的雷同数表示收到相同关键句哈希字串的报文数目,第三层中的有效标记表示该关键句哈希字串是否有效。当接收报文后,首先对报文进行协议解析,通常解析到应用层,再进行协议分类,如可分成常规的http协议(Hypertext Transfer Protocol,超文本传 输协议)、DNS协议(Domain Name System,域名系统)等。协议分类完成后, 进行特征过滤,也就是只留下有关键字的报文,例如http协议报文就留下带 get的报文。完成特征过滤后,按目的IP进行分组,也就是根据该的目的IP 是否属于保护IP进行操作,如果是属于保护IP则进行分组,填入数据结构的 第一层。然后,在第二层中寻找源IP相同的那项记录,如果没有记录则创建 该项,然后修改该项记录的源IP有效标记、最近接收报文时间、关键字总数。 之后,对该报文正文关键句取定长进行哈希变换,如果报文正文关键句长度 超过定长,则截断后再进行哈希变换,哈希变换完成后形成关键句哈希字串。 之后,遍历第三层,寻找相同的关键句哈希字串,如果存在相同的关键句哈 希字串,则将雷同数加l、并修改第三层中的该关键句哈希字串的时间字段, 如果不存在相同的关键句哈希字串,则创建新项,并修改相应的时间、雷同 数。如果对于接收的报文进行应答失败,则将第二层相应的失败总数加1。经 过上述过程,则可以完成本发明实施例的数据表配置。102、 判断所述源IP报文正文哈希字串重复数目与所述源IP "^良文关键字 总数的比例值是否超过预先设置的相似阈值,若是,进入103,若否,进入 104;103、 判断出发生DDOS攻击;104、 判断出属于正常情况。 上述过程具体如下假设在一段时间内,第二层表里面有n项源IP记录,第三层有m项关键句 哈希字串记录。假设第i个源IP的关键字总数目为total[i],第i个源IP第j个哈希 字串的重复个数为sam[i][j]。在设定的有效时间内将大于某一阔值的关键句哈 希字串挑选出来,并统计雷同的重复个数,将雷同的重复个数占关键字总数 的比例值与预先设置的相似阈值进行比较,若大于等于相似阈值则判断出该 源IP为攻击源之一。程序代码按以下进行举例说明但不局限于此,也可以通过其他编程代码 实现相同的目的
int count[n]; for(int i=0;i<n;j++)
count[i]二0; for(intj=0;j<m;j++)
If(sam[i] |]]>=相似个数阈值&& valid[i]==true)
count[i]+= sam[i][j];
If( count[i]/total[i〗>=一iH以比例阈^f直)
Do—Flood—Actionl(&IP[i]); 〃IP[i]为DDOS攻击源之一
请参阅图3,是本发明实施例一的应用场景示意图。
如图3所示是从实际网络中获取攻击报文。根据本发明实施例方法,对 Http协议的Get关键字进行过滤,按照上面所述方法,统计出源IP地址为 192.168丄15的Get语句的哈希字串数量的雷同次数过大,其在整个Get数据 报文的比例超过相似阈值,判断出发生DDOS攻击,该IP地址为攻击源之一。
请参阅图4,是本发明实施例二泛洪攻击检测方法流程图,实施例二针对 随机携带关键字的情况,包括
401、确定源IP报文关键字总数、源IP报文的响应报文失败总数;
该步骤中是根据预先配置的数据表确定源IP报文关键字总数、源IP报文 的响应报文失败总数。本发明实施例的数据表如前面实施例一中所介绍,此处不再详述。
402、 判断所述源IP报文的响应报文失败总数与所述源IP报文关键字总
数的比例值是否超过预先设置的失败阈值,若是,进入203,若否,进入204;
403、 判断出发生DDOS攻击;
404、 判断出属于正常情况。 上述过程具体如下
假设在一段时间内,第二层表里面有n项源IP记录,第三层有m项关键 句哈希字串记录。假设第i个源IP的关键字总数目为total[i],第i个源IP响 应报文失败总数为fail[i]。 统计出响应报文失败总数,将响应报文失败总数 占关键字总数的比例值与预先设置的失败阈值进行比较,若大于等于失败阈 值则判断出该源IP为攻击源之一。
程序代码按以下进行举例说明但不局限于此,也可以通过其他编程代码 实现相同的目的
<formula>formula see original document page 9</formula>
<formula>formula see original document page 9</formula>失败个数阈值<formula>formula see original document page 9</formula>失败比例阈值) <formula>formula see original document page 9</formula>攻击源之一
请参阅图5,是本发明实施例二的应用场景示意图。
如图5所示是从实际网络中获取攻击报文。根据本发明实施例方法,对 Http协议的Get关键字进行过滤,统计出源IP地址为192.168丄15的Get语 句的响应状态是大量存在表示失败的响应报文例如http 400,说明其随机构造 的请求导致了大量的请求失败。通过统计出Get语句的失败响应报文总数在 整个Get数据报文的比例超过失败阈值,从而判断出发生DDOS攻击,该IP地址为攻击源之一。
于此,还可以用在DNS的泛洪攻击检测及其他各种应用协议的泛洪攻击检测中。
实施例提供一种检测装置。
请参阅图6,是本发明实施例检测装置结构示意图。 4企测装置包括获取单元601和处理单元602。
获取单元601,用于获取源报文的关键字总数和对应所述源报文的特征参 数的数目。
处理单元602,用于将所述特征参数的数目占所述关键字总数的比例值与 预设阈值进行比较,若大于等于所述预设阈值,则判断出发生泛洪攻击,否 则认为属于正常情况。
所述获取单元601包括第一获取单元6011和第二获取单元6012。
第一获取单元6011,用于获取源报文的关键字总数。
第二获取单元6012,用于获取所述源报文的特征参数的数目,所述特征 参数的数目为源报文的正文哈希字串重复数目,或者为源报文的响应报文失 败总数。当所述特征参数的数目为源报文的正文哈希字串重复数目时,所述 预设阈值为预设的相似阈值;当所述特征参数的数目为源报文的响应^^文失 败总数时,所述预设阈值为预设的失败阈值。
所述检测装置进一步包括存储单元603。
存储单元603,用于存储含有源报文的关键字总数和所述源报文的特征参 数的数目的数据表,所述数据表中的源报文的关键字总数是统计设定时间内 接收的携带所述关键字的源报文的数目后得到,所述数据表中所述源报文的 特征参数的数目为源报文的正文哈希字串重复数目时,是接收所述源报文后
所述数据表中所述源报文的特征参数的数目为所述源报文的响应报文失败总数时,是统计对接收的源报文进行应答的失败报文数目得到。
这里所述的源报文是根据关键字过滤后得到的源报文,所述数据表中以 源报文的目的地址为索引进行分组,每组以源报文的地址为索引存储所述源 报文的关键字总数和所述源报文的特征参数的数目。
综上所述,本发明实施例充分利用了泛洪攻击所具有的特征,获取源才艮 文的关键字总数和对应源报文的特征参数的数目后,将特征参数的数目占所 述关键字总数的比例值与预设阈值进行比较,若大于等于所述预设阈值,贝'J 判断出发生泛洪攻击,这种检测方法更为准确和简单。
进一步的,本发明实施例方案中对于报文属于正常携带关键字时,所述 特征参数的数目为源报文的正文哈希字串重复数目,对于报文属于随机携带 关键字时,所述特征参数的数目为源报文的响应报文失败总数,从而针对不 同攻击情况都能有效检测出发生泛洪攻击。
以上对本发明实施例所提供的 一种泛洪攻击检测方法及检测装置进行了 详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体 实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解 为对本发明的限制。
权利要求
1、一种泛洪攻击检测方法,其特征在于,包括获取源报文的关键字总数;获取对应所述源报文的特征参数的数目;将所述特征参数的数目占所述关键字总数的比例值与预设阈值进行比较,若大于等于所述预设阈值,则判断出发生泛洪攻击。
2、 根据权利要求1所述的泛洪攻击检测方法,其特征在于所述特征参数的数目为源报文的正文哈希字串重复数目,所述预设阈值 为预设的相似阈值。
3、 根据权利要求2所述的泛洪攻击^r测方法,其特征在于 所述源报文的关键字总数和所述源报文的正文哈希字串重复数目从数据表中获取,所述数据表中的源报文的关键字总数是统计设定时间内接收的携带所述 关键字的源报文的数目后得到,所述数据表中的源报文的正文哈希字串重复数目是接收所述源报文后将 进行哈希变换得到的正文哈希字串与已存储的正文哈希字串比较后得到。
4、 根据权利要求1所述的泛洪攻击一企测方法,其特征在于所述特征参数的数目为源报文的响应报文失败总数,所述预设阈值为预 设的失败阈值。
5、 根据权利要求4所述的泛洪攻击检测方法,其特征在于所述源报文的关键字总数和所述源报文的响应报文失败总数从数据表中 获取,所述数据表中的源报文的关键字总数是统计设定时间内接收的携带所述 关键字的源报文的数目后得到,所述数据表中的所述源报文的响应报文失败总数是统计对接收的源报文 进行应答的失败报文数目得到。
6、 根据权利要求3或5所述的泛洪攻击检测方法,其特征在于 所述源报文是根据关键字过滤后得到的源报文,所述数据表中以源报文的目的地址为索引进行分组,每组以源报文的地 址为索引存储所述源报文的关键字总数和所述源报文的特征参数的数目。
7、 一种才企测装置,其特征在于,包括获取单元,用于获取源报文的关键字总数和对应所述源报文的特征参数 的数目;处理单元,用于将所述特征参数的数目占所述关键字总数的比例值与预 设阈值进行比较,若大于等于所述预设阈值,则判断出发生泛洪攻击。
8、 根据权利要求7所述的检测装置,其特征在于,所述获取单元包括 第一获取单元,用于获取源报文的关键字总数;第二获取单元,用于获取所述源报文的特征参数的数目,所述特征参数 的数目为源报文的正文哈希字串重复数目。
9、 根据权利要求7所述的检测装置,其特征在于,所述获取单元包括 第一获取单元,用于获取源报文的关键字总数;第二获取单元,用于获取所述源报文的特征参数的数目,所述特征参数 的数目为源报文的响应报文失败总数。
10、 根据权利要求7至9任一项所述的检测装置,其特征在于,所述才全 测装置进一步包括存储单元,用于存储含有源报文的关键字总数和所述源报文的特征参数 的数目的数据表,所述数据表中的源报文的关键字总数是统计设定时间内接收的携带所述 关键字的源报文的数目后得到,所述数据表中所述源报文的特征参数的数目为源报文的正文哈希字串重 复数目时,是接收所述源报文后将进行哈希变换得到的正文哈希字串与已存 储的正文哈希字串比较后得到,败总数时,是统计对接收的源报文进行应答的失败报文数目得到。
全文摘要
本发明实施例公开一种泛洪攻击检测方法及检测装置。所述方法包括获取源报文的关键字总数;获取对应所述源报文的特征参数的数目;将所述特征参数的数目占所述关键字总数的比例值与预设阈值进行比较,若大于等于所述预设阈值,则判断出发生泛洪攻击。相应的,本发明实施例还提供一种检测装置,包括获取单元,用于获取源报文的关键字总数和对应所述源报文的特征参数的数目;处理单元,用于将所述特征参数的数目占所述关键字总数的比例值与预设阈值进行比较,若大于等于所述预设阈值,则判断出发生泛洪攻击。本发明实施例提供的技术方案能够更准确的检测出泛洪攻击。
文档编号H04L12/56GK101267313SQ20081009502
公开日2008年9月17日 申请日期2008年4月23日 优先权日2008年4月23日
发明者武 蒋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1