基于对象分析的攻击识别方法及装置的制造方法_4

文档序号:9238135阅读:来源:国知局
NMP消息以及Telnet消息。
[0081] 消息解析单元用于对获取的消息进行协议分析,解析获得一个或多个对象的数 据。其中的对象是指消息按照协议解析获得的各个预定义字段。以http协议为例,假设获 取的是http协议消息,则对该消息进行协议分析,S卩,httprfc协议规范进行协议分析,从 而获得消息包含的各个http协议字段,S卩,获得对象所包含的数据内容。以http协议为例, 本发明的对象是指http消息预定义字段,例如,url、reference、参数、cookie等字段。
[0082] 特征库构建单元,用于构建所述特征库;以及,多模库构建单元,用于构建所述多 模库。其中,特征库包括多条特征表达式,每条特征表达式具有对象的属性;多模库包括多 条关键字,每条关键字具有对象的属性。其中,多模库根据特征库构建,每一条关键字代表 一个模式。另外,多模库中的关键字与特征库中的一条或多条特征表达式具有映射关系,具 有映射关系的关键字与特征表达式具有相同的属性。其中,多模库根据特征库构建,每一条 关键字代表一个模式。
[0083] 匹配单元,用于基于所述特征库及所述多模库,对所述消息解析单元获得的对象 的数据进行匹配,确定是否存在攻击。
[0084]其中,匹配单元进一步包括多模匹配子单元、映射确定子单元、规则匹配子单元和 结果确定子单元。
[0085]多模匹配子单元用于针对对象的数据,利用多模库进行多模匹配。其中,采用多模 匹配算法进行多模匹配。多模匹配算法包括多种,例如Trie树、AC算法、WM算法等等。本 发明实施例优选采用ACBM算法。ACBM算法是在AC自动机的基础之上,引入了BM算法的多 模扩展,实现的高效的多模匹配。ACBM算法的核心思想就是让每次匹配的起始位置跨度尽 可能的大,以提高效率。和AC自动机不同的是,ACBM算法不需要扫描目标文本串中的每一 个字符,可以利用本次匹配不成功的信息,跳过尽可能多的字符,实现高效匹配。
[0086] 映射确定子单元用于从特征库中匹配是否存在针对该对象的、与匹配的关键字具 有映射关系的特征表达式。
[0087]规则匹配子单元用于基于所述针对该对象的、与匹配的关键字对应的特征表达 式,对该对象的数据进行规则匹配。
[0088] 结果确定子单元用于根据多模匹配单元、映射确定子单元及规则匹配子单元的确 认结果确定是否存在攻击,其中,如果多模匹配子单元未匹配到针对该对象的关键字、所述 映射确定子单元没有匹配到特征表达式或者所述规则匹配子单元没有匹配成功,则确定不 存在攻击,如果所述规则匹配子单元匹配成功,则确定存在攻击。
[0089] 其中,映射确定子单元确定一条关键字是否为针对所述对象的关键字的方式为: 确定该关键字的属性是否为所述对象;同理,规则匹配子单元确定一条特征表达式是否为 针对所述对象的特征表达式的方式为:确定该特征表达式的属性是否为所述对象。
[0090] 优选地,特征库构建单元,在构建所述特征库过程中,用于基于攻击的类型,按照 主类、子类和规则的方式组织所述多条特征表达式;同理,多模库构建单元,在构架所述多 模库过程中,用于基于攻击的类型,按照主类、子类和规则的方式组织所述多条关键字。
[0091] 可见,本发明基于对象进行有针对性的过滤,且通过多模库与特征库结合的方式, 可以将大部分安全数据进行过滤,而不需要对大部分数据进行繁琐的字符匹配,从而显著 提_检测效率。
[0092] 特别地,由于本发明对数据进行多模过滤、特征过滤及字符匹配三个层次的过滤, 对于安全数据在第一层次或第二层次即可保证安全过滤,而不必进行繁琐的字符过滤。在 第一层次过滤中,过滤掉所有的安全请求数据;第二层次过滤中,对有嫌疑的数据做一次初 步的过滤;第三层次过滤中,消息有攻击行为的可能行就非常大,用特征表达式来确定。采 用本发明实施例,通过第一层次能够过滤掉绝大部分的数据,第二层次和第三层次过滤中, 处理的请求数据大概在很小(据统计约为10%)的比例。也就是,不需要对绝大部分的正常 数据进行特征正则表达式匹配处理。由此,检测效率有显著提高。
[0093] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求 的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种 编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。
[0094]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施 例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构 和技术,以便不模糊对本说明书的理解。
[0095]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在 上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施 例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保 护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面 的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此, 遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身 都作为本发明的单独实施例。
[0096]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地 改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或 子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任 何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的 任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的 权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来 代替。
[0097]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任 意之一都可以以任意的组合方式来使用。
[0098]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用 微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于对象分析的攻击识别 装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描 述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。 这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号 的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其 他形式提供。
[0099]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词"包含"不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词"一"或"一个"不排除存在多个这 样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。
[0100] 本发明提供如下技术方案:
[0101]A1 -种基于对象分析的攻击识别方法,包括:
[0102] 构建特征库,所述特征库包括多条特征表达式,每条特征表达式具有对象的属 性;
[0103] 构建多模库,所述多模库包括多条关键字,每条关键字具有对象的属性;所述多模 库中的关键字与所述特征库中的一条或多条特征表达式具有映射关系,具有映射关系的关 键字与特征表达式具有相同的属性;
[0104] 基于所述特征库及所述多模库,对解析消息后获得的对象的数据进行匹配,确定 是否存在攻击。
[0105] A2、如A1所述的方法,所述基于所述特征库及所述多模库,对解析消息后获得的 对象的数据进行匹配,确定是否存在攻击包括:
[0106] 对获取的消息进行协议分析,解析获得一个或多个对象的数据;
[0107] 针对所述对象的数据,利用多模库进行多模匹配,如果匹配到针对该对象的关键 字,则进行后续步骤,否则确定不存在攻击;
[0108] 从特征库中匹配是否存在针对该对象的、与匹配的关键字具有映射关系的特征表 达式,如果没有匹配到特征表达式,则确定不存在攻击,否则进行后续步骤;
[0109] 基于所述针对该对象的、与匹配的关键字对应的特征表达式,对该对象的数据进 行规则匹配,如果匹配成功,则确定存在攻击,否则确定不存在攻击。
[0110] A3、如A1或A2
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1