CN105245506B - 一种防御网络攻击的方法与设备 - Google Patents
一种防御网络攻击的方法与设备 Download PDFInfo
- Publication number
- CN105245506B CN105245506B CN201510611887.2A CN201510611887A CN105245506B CN 105245506 B CN105245506 B CN 105245506B CN 201510611887 A CN201510611887 A CN 201510611887A CN 105245506 B CN105245506 B CN 105245506B
- Authority
- CN
- China
- Prior art keywords
- information
- rule
- factor
- page request
- attack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本申请的目的是提供一种防御网络攻击的方法与设备。本申请扫描页面访问请求,以获取所述页面访问请求在规则因子库中的寻址信息,根据所述寻址信息与所述规则因子库建立对应的规则树,然后根据所述规则树中的节点所对应规则因子的因子相关信息以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息,最后根据所述攻击决策信息处理所述页面访问请求。与现有技术相比,本申请所述规则因子库中的规则因子包括组成攻击语句的单词、标点等,以少量规则因子的叠加效果替代了大量的模式串和特征码,避免频繁地更新规则因子库,而且能够做到主动防御新型攻击。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种防御网络攻击的技术。
背景技术
随着互联网的繁荣发展,黑客攻击也越发频繁,SQL(Structured QueryLanguage,结构化查询语言)注入、XSS攻击(Cross Site Scripting,跨站脚本攻击)、Cookie欺骗、恶意扫描、挂马等网络攻击行为越来越普遍。而且目前的各类网络攻击行为具有很强的迷惑性,它们模拟正常的访问特征向网站发起访问请求,并采取一些绕过策略,比如通过Unicode转码、BASE64编码等在注入语句中加入一些注释符等进行绕过。现有技术的检测机制很难识别诸如此类的网络攻击,目前的大部分WAF(Web Application Firewall,网站应用级入侵防护系统)相关产品采用如下的拦截检测机制:依靠所掌握的攻击类型总结出相应模式串形成规则库,对访问内容进行检测过滤;或者,依靠所掌握的攻击类型总结出相应特征码形成规则库,对访问内容进行检测过滤。
然而,现有技术普遍存在以下几个问题:(1)模式串规则库中的模式串具有局限性、固定性,容易被黑客试探出来并绕过模式串的检测;(2)特征码规则库中的特征码也具有局限性、固定性,黑客可以通过一些编码等逃避策略绕过特征码的检测,而且这种方式具有很大的误拦截性,影响用户体验;(3)网络攻击的手段、方法不断地在更新,使用模式串和特征码进行检测,就需要根据新型攻击方式做出相应的更新,并实时更新规则库,造成规则库越来越庞大,而且在遭受到新型攻击之后再更新规则库,无法做到主动防御和智能防御;(4)采用逐条遍历的方式进行检测匹配规则库,那么随着规则库变得越来越庞大,检测匹配的效率也会变得越来越低,导致页面访问速度变慢。
发明内容
本申请的一个目的是提供一种防御网络攻击的方法与设备。
根据本申请的一个方面,提供了一种防御网络攻击的方法,其中,该方法包括:
a扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息;
b根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子;
c根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;
d根据所述攻击决策信息处理所述页面访问请求。
进一步地,所述步骤a包括:分别扫描页面访问请求中的多段请求信息,以获得所述页面访问请求在规则因子库中对应的寻址信息。
进一步地,所述步骤a包括:对页面访问请求中的多段请求信息分别从头至尾一次扫描,以获得所述页面访问请求在规则因子库中对应的寻址信息。
进一步地,所述请求信息包括以下至少任一项:所述页面访问请求中的统一资源标识符;所述页面访问请求中统一资源定位符所包含的参数信息;所述页面访问请求中的头部信息;所述页面访问请求中的主体部分。
进一步地,所述步骤c包括:根据所述节点所对应规则因子的因子相关信息,以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息。
进一步地,所述因子相关信息包括以下至少任一项:规则因子的类型信息;规则因子的匹配次数信息;规则因子的分值信息。
进一步地,所述步骤d包括:根据所述攻击决策信息及当前工作模式处理所述页面访问请求。
进一步地,所述步骤d包括:当所述当前工作模式为拦截模式,且所述攻击决策信息为攻击行为时,阻止所述页面访问请求并记录网络攻击信息;当所述当前工作模式为学习模式,且所述攻击决策信息为攻击行为时,响应所述页面访问请求并记录网络攻击信息。
根据本申请的另一个方面,提供了一种防御网络攻击的设备,其中,该设备包括:
第一装置,用于扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息;
第二装置,用于根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子;
第三装置,用于根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;
第四装置,用于根据所述攻击决策信息处理所述页面访问请求。
进一步地,所述第一装置用于:分别扫描页面访问请求中的多段请求信息,以获得所述页面访问请求在规则因子库中对应的寻址信息。
进一步地,所述第一装置用于:对页面访问请求中的多段请求信息分别从头至尾一次扫描,以获得所述页面访问请求在规则因子库中对应的寻址信息。
进一步地,所述请求信息包括以下至少任一项:所述页面访问请求中的统一资源标识符;所述页面访问请求中统一资源定位符所包含的参数信息;所述页面访问请求中的头部信息;所述页面访问请求中的主体部分。
进一步地,所述第三装置用于:根据所述节点所对应规则因子的因子相关信息,以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息。
进一步地,所述因子相关信息包括以下至少任一项:规则因子的类型信息;规则因子的匹配次数信息;规则因子的分值信息。
进一步地,所述第四装置用于:根据所述攻击决策信息及当前工作模式处理所述页面访问请求。
进一步地,所述第四装置用于:当所述当前工作模式为拦截模式,且所述攻击决策信息为攻击行为时,阻止所述页面访问请求并记录网络攻击信息;当所述当前工作模式为学习模式,且所述攻击决策信息为攻击行为时,响应所述页面访问请求并记录网络攻击信息。
与现有技术相比,本申请扫描页面访问请求,以获取所述页面访问请求在规则因子库中的寻址信息,根据所述寻址信息与所述规则因子库建立对应的规则树,然后根据所述规则树中的节点所对应规则因子的因子相关信息以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息,最后根据所述攻击决策信息处理所述页面访问请求。本申请所述规则因子库中的规则因子包括组成攻击语句的单词、标点等,不同于现有技术的规则库中的模式串和特征码,以少量规则因子的叠加效果替代了大量的模式串和特征码,避免频繁地更新规则因子库,而且能够做到主动防御新型攻击。所述寻址信息包括所述规则因子库中的规则因子的地址,以便快速高效地建立所述规则树。进一步地,所述页面访问请求包括多段请求信息,通过分别从头至尾一次扫描多段请求信息,提高扫描和匹配算法的效率。进一步地,根据所述攻击决策信息,分为拦截模式和学习模式两种情况处理所述页面访问请求,通过灵活的配置适应实际情况,提升用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种防御网络攻击的方法流程图;
图2示出根据本申请另一个方面的一种防御网络攻击的设备示意图;
图3示出根据本申请一个实施例的扫描页面访问请求的示意图;
图4示出根据本申请一个实施例的匹配算法与现有技术的效果对比示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请中,首先,对页面访问请求中的多段请求信息分别从头至尾一次扫描,以获得所述页面访问请求在规则因子库中对应的寻址信息,其中,所述寻址信息包括所述规则因子库中的规则因子的地址;然后,根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子;接下来,根据所述节点所对应规则因子的因子相关信息,以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息;最后,根据所述攻击决策信息,分为拦截模式和学习模式两种情况处理所述页面访问请求。
本申请中的防御网络攻击的设备包括但不限于:存储并管理超媒体(包括超文本文件、音频文件、视频文件等基于网页平台的多媒体文件),并通过网络把它们传输和分配给客户端的服务器或服务器应用。优选地,所述防御网络攻击的设备可以是基于Nginx(一款高性能Web和反向代理服务器)模块实现的Web服务器。当然,所述防御网络攻击的设备也可以基于Apache(目前世界上用的最多的Web服务器)、Kangle(一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件)、Tomcat(一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器)等模块实现。本领域技术人员应能理解上述防御网络攻击的设备仅为举例,其他现有的或今后可能出现的防御网络攻击的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图1示出根据本申请一个方面的一种防御网络攻击的方法流程图。
该方法包括步骤S11、步骤S12、步骤S13和步骤S14。具体地,在步骤S11中,设备1扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息;在步骤S12中,设备1根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子;在步骤S13中,设备1根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;在步骤S14中,设备1根据所述攻击决策信息处理所述页面访问请求。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA(Personal Digital Assistant,掌上电脑)等,所述移动电子产品可以采用任意操作系统,如android(安卓)操作系统、iOS操作系统(苹果公司的移动操作系统)等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
设备1的各个步骤之间是持续不断工作的。具体地,在步骤S11中,设备1持续扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息;在步骤S12中,设备1持续根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子;在步骤S13中,设备1持续根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;在步骤S14中,设备1持续根据所述攻击决策信息处理所述页面访问请求;直至步骤S11中设备1停止扫描页面访问请求。
在步骤S11中,设备1扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息。
在此,所述页面访问请求可以包括多段请求信息。所述规则因子库由若干个规则因子构成。根据不同的分类原则,所述规则因子可以分为普通因子和特殊因子,例如分号、括号等标点和from等普通单词属于普通因子,select、union等具有一定特征的单词属于特殊因子;也可以按照攻击类型进行分类,例如所述规则因子可以包括但不限于SQL(Structured Query Language,结构化查询语言)注入类型因子和XSS(Cross SiteScripting,跨站脚本攻击)类型因子,其中,所述SQL注入类型因子包括select、update等,所述XSS类型因子包括javascript、alert等。所述寻址信息包括所述规则因子库中的规则因子的地址。(在此,from等普通单词常出现在普通语句中,select、union等具有一定特征的单词常出现在攻击语句中。select、update等单词属于SQL注入类型的保留字,javascript、alert等属于XSS类型的保留字。)
具体地,所述请求信息包括以下至少任一项:所述页面访问请求中的统一资源标识符(Uniform Resource Identifier,URI);所述页面访问请求中统一资源定位符(Uniform Resource Locator,URL)所包含的参数信息;所述页面访问请求中的头部信息;所述页面访问请求中的主体部分。
具体地,在步骤S11中,设备1分别扫描页面访问请求中的多段请求信息,以获得所述页面访问请求在规则因子库中对应的寻址信息。
在此,分别扫描所述页面访问请求中的统一资源标识符、统一资源定位符所包含的参数信息、头部信息、主体部分,以获得所述页面访问请求在规则因子库中对应的寻址信息。
优选地,在步骤S11中,设备1对页面访问请求中的多段请求信息分别从头至尾一次扫描,以获得所述页面访问请求在规则因子库中对应的寻址信息。
在此,分别从头至尾一次扫描所述页面访问请求中的统一资源标识符、统一资源定位符所包含的参数信息、头部信息、主体部分,以获得所述页面访问请求在规则因子库中对应的寻址信息。而在现有技术中对页面访问请求普遍采用来回多次扫描的方式,效率低下。
在具体的实施例中,可以通过预定的匹配算法扫描页面访问请求。参照图3,图中箭头指向右方的水平线段指明了扫描方向,箭头指向上方的竖直线段指明了当前的扫描位置。对页面访问请求中的多段请求信息分别从头至尾一次扫描的过程中,每扫描一个字节,所述匹配算法会根据程序启动时加载的所述规则因子库中的相关信息,进行逻辑分析,决定是否可以根据扫描结果获得对应的寻址信息。如图4所示,因为本申请对页面访问请求中的多段请求信息分别从头至尾一次扫描,避免了来回多次的低效扫描方式,而且本申请所述规则因子库中的规则因子包括组成攻击语句的单词、标点等,不同于现有技术的规则库中的模式串和特征码,以少量规则因子的叠加效果替代了大量的模式串和特征码,所以采用本申请的匹配算法与现有技术中的匹配算法相比,匹配耗时并不会随着规则(因子)数量的增长而明显增长。
例如,通过所述匹配算法扫描攻击语句“GET/?id=select*from a where1=1”之后,获得了一个寻址信息,该寻址信息包括与该攻击语句相关的所述规则因子的地址。优选地,所述寻址信息还可以包括匹配算法的相关信息,例如启动程序时从所述规则因子库中提取的相关信息等。
在步骤S12中,设备1根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子。
在此,所述寻址信息包括所述规则因子库中的规则因子的地址,可以根据所述寻址信息在所述规则因子库中读取规则因子,所述规则树中的节点对应于读取的规则因子。所述规则树中的每个节点包含的信息包括该节点所对应规则因子的因子相关信息。
具体地,所述因子相关信息包括以下至少任一项:规则因子的类型信息;规则因子的匹配次数信息;规则因子的分值信息。
例如,所述规则因子的类型信息可以包括普通因子和特殊因子,其中,分号、括号等标点和from等普通单词属于普通因子,select、union等具有一定特征的单词属于特殊因子。(在此,from等普通单词常出现在普通语句中,select、union等具有一定特征的单词常出现在攻击语句中。)所述规则因子的类型信息还可以包括普通正则表达式和特殊正则表达式,其中,%[2|3].等比较普通但又能代表一类的正则表达式属于普通正则表达式,select.*length.*from等较为具体的正则表达式属于特殊正则表达式。所述规则因子的匹配次数信息包括实时获取的该规则因子的匹配次数和匹配频率,即扫描过程中所述页面访问请求中出现该规则因子的次数和频率。所述规则因子的分值信息包括指定规则因子的分值大小,比如“score:1”代表分值为1。优选地,所述因子相关信息还可以包括所述规则因子的ID号等。
在步骤S13中,设备1根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息。
例如,可以通过预定的决策算法,经过计算确定所述规则树所对应的攻击决策信息。所述攻击决策信息包括一个具体的数值,称之为决策量值。
优选地,在步骤S13中,设备1根据所述节点所对应规则因子的因子相关信息,以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息。
在此,所述规则树的结构信息包括所述规则树的复杂度和所述规则树的各个节点的亲疏性,其中,所述规则树的复杂度即所述规则树中具有的节点数量,所述规则树的各个节点的亲疏性即所述规则树中节点类型(例如SQL注入类型、XSS类型等)的类型数量。
例如,接上例,所述规则树的复杂度越大,对决策量值起到更积极的作用,但是复杂度也受到所述规则树的各个节点的亲疏性的影响,当亲疏性越大时,会减小所述复杂度对决策量值的积极作用,通过复杂度与亲疏性的综合作用形成一个积极值。根据该积极值与所述因子相关信息中的规则因子的类型信息,确定是否淡化匹配次数,然后形成一个淡化值。根据该淡化值和所述因子相关信息中的规则因子的分值信息,得到决策量值。
在步骤S14中,设备1根据所述攻击决策信息处理所述页面访问请求。
在具体的实施例中,可以根据攻击类型的不同设定不同的阈值,通过将所述攻击决策信息中的决策量值与阈值进行比对,确定所述页面访问请求是否为攻击行为。优选地,可以为每种攻击类型设置两套阈值标准,严格阈值和普通阈值,根据实际情况确定选用哪套阈值标准。
优选地,在步骤S14中,设备1根据所述攻击决策信息及当前工作模式处理所述页面访问请求。
在此,所述工作模式包括拦截模式和学习模式。
具体地,当所述当前工作模式为拦截模式,且所述攻击决策信息为攻击行为时,设备1阻止所述页面访问请求并记录网络攻击信息;当所述当前工作模式为学习模式,且所述攻击决策信息为攻击行为时,设备1响应所述页面访问请求并记录网络攻击信息。
在具体的实施例中,将所述攻击决策信息中的决策量值与阈值进行比对之后,若确定所述页面访问请求为攻击行为,在拦截模式下,会阻止攻击行为,保护网站安全,并记录详细的网络攻击信息;在学习模式下,不会阻止所述页面访问请求,但会记录详细的网络攻击信息,为后续优化算法提供便利。
图2示出根据本申请另一个方面的一种防御网络攻击的设备1,其中,设备1包括第一装置11、第二装置12、第三装置13和第四装置14。
具体地,所述第一装置11扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息;所述第二装置12根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子;所述第三装置13根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;所述第四装置14根据所述攻击决策信息处理所述页面访问请求。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA(Personal Digital Assistant,掌上电脑)等,所述移动电子产品可以采用任意操作系统,如android(安卓)操作系统、iOS操作系统(苹果公司的移动操作系统)等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如所述第一装置11持续扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息;所述第二装置12持续根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子;所述第三装置13持续根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;所述第四装置14持续根据所述攻击决策信息处理所述页面访问请求;直至所述第一装置11停止扫描页面访问请求。
所述第一装置11扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息。
在此,所述页面访问请求可以包括多段请求信息。所述规则因子库由若干个规则因子构成。根据不同的分类原则,所述规则因子可以分为普通因子和特殊因子,例如分号、括号等标点和from等普通单词属于普通因子,select、union等具有一定特征的单词属于特殊因子;也可以按照攻击类型进行分类,例如所述规则因子可以包括但不限于SQL(Structured Query Language,结构化查询语言)注入类型因子和XSS(Cross SiteScripting,跨站脚本攻击)类型因子,其中,所述SQL注入类型因子包括select、update等,所述XSS类型因子包括javascript、alert等。所述寻址信息包括所述规则因子库中的规则因子的地址。(在此,from等普通单词常出现在普通语句中,select、union等具有一定特征的单词常出现在攻击语句中。select、update等单词属于SQL注入类型的保留字,javascript、alert等属于XSS类型的保留字。)
具体地,所述请求信息包括以下至少任一项:所述页面访问请求中的统一资源标识符(Uniform Resource Identifier,URI);所述页面访问请求中统一资源定位符(Uniform Resource Locator,URL)所包含的参数信息;所述页面访问请求中的头部信息;所述页面访问请求中的主体部分。
具体地,所述第一装置11分别扫描页面访问请求中的多段请求信息,以获得所述页面访问请求在规则因子库中对应的寻址信息。
在此,分别扫描所述页面访问请求中的统一资源标识符、统一资源定位符所包含的参数信息、头部信息、主体部分,以获得所述页面访问请求在规则因子库中对应的寻址信息。
优选地,所述第一装置11对页面访问请求中的多段请求信息分别从头至尾一次扫描,以获得所述页面访问请求在规则因子库中对应的寻址信息。
在此,分别从头至尾一次扫描所述页面访问请求中的统一资源标识符、统一资源定位符所包含的参数信息、头部信息、主体部分,以获得所述页面访问请求在规则因子库中对应的寻址信息。而在现有技术中对页面访问请求普遍采用来回多次扫描的方式,效率低下。
在具体的实施例中,可以通过预定的匹配算法扫描页面访问请求。参照图3,图中箭头指向右方的水平线段指明了扫描方向,箭头指向上方的竖直线段指明了当前的扫描位置。对页面访问请求中的多段请求信息分别从头至尾一次扫描的过程中,每扫描一个字节,所述匹配算法会根据程序启动时加载的所述规则因子库中的相关信息,进行逻辑分析,决定是否可以根据扫描结果获得对应的寻址信息。如图4所示,因为本申请对页面访问请求中的多段请求信息分别从头至尾一次扫描,避免了来回多次的低效扫描方式,而且本申请所述规则因子库中的规则因子包括组成攻击语句的单词、标点等,不同于现有技术的规则库中的模式串和特征码,以少量规则因子的叠加效果替代了大量的模式串和特征码,所以采用本申请的匹配算法与现有技术中的匹配算法相比,匹配耗时并不会随着规则(因子)数量的增长而明显增长。
例如,通过所述匹配算法扫描攻击语句“GET/?id=select*from a where1=1”之后,获得了一个寻址信息,该寻址信息包括与该攻击语句相关的所述规则因子的地址。优选地,所述寻址信息还可以包括匹配算法的相关信息,例如启动程序时从所述规则因子库中提取的相关信息等。
所述第二装置12根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子。
在此,所述寻址信息包括所述规则因子库中的规则因子的地址,可以根据所述寻址信息在所述规则因子库中读取规则因子,所述规则树中的节点对应于读取的规则因子。所述规则树中的每个节点包含的信息包括该节点所对应规则因子的因子相关信息。
具体地,所述因子相关信息包括以下至少任一项:规则因子的类型信息;规则因子的匹配次数信息;规则因子的分值信息。
例如,所述规则因子的类型信息可以包括普通因子和特殊因子,其中,分号、括号等标点和from等普通单词属于普通因子,select、union等具有一定特征的单词属于特殊因子。(在此,from等普通单词常出现在普通语句中,select、union等具有一定特征的单词常出现在攻击语句中。)所述规则因子的类型信息还可以包括普通正则表达式和特殊正则表达式,其中,%[2|3].等比较普通但又能代表一类的正则表达式属于普通正则表达式,select.*length.*from等较为具体的正则表达式属于特殊正则表达式。所述规则因子的匹配次数信息包括实时获取的该规则因子的匹配次数和匹配频率,即扫描过程中所述页面访问请求中出现该规则因子的次数和频率。所述规则因子的分值信息包括指定规则因子的分值大小,比如“score:1”代表分值为1。优选地,所述因子相关信息还可以包括所述规则因子的ID号等。
所述第三装置13根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息。
例如,可以通过预定的决策算法,经过计算确定所述规则树所对应的攻击决策信息。所述攻击决策信息包括一个具体的数值,称之为决策量值。
优选地,所述第三装置13根据所述节点所对应规则因子的因子相关信息,以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息。
在此,所述规则树的结构信息包括所述规则树的复杂度和所述规则树的各个节点的亲疏性,其中,所述规则树的复杂度即所述规则树中具有的节点数量,所述规则树的各个节点的亲疏性即所述规则树中节点类型(例如SQL注入类型、XSS类型等)的类型数量。
例如,接上例,所述规则树的复杂度越大,对决策量值起到更积极的作用,但是复杂度也受到所述规则树的各个节点的亲疏性的影响,当亲疏性越大时,会减小所述复杂度对决策量值的积极作用,通过复杂度与亲疏性的综合作用形成一个积极值。根据该积极值与所述因子相关信息中的规则因子的类型信息,确定是否淡化匹配次数,然后形成一个淡化值。根据该淡化值和所述因子相关信息中的规则因子的分值信息,得到决策量值。
所述第四装置14根据所述攻击决策信息处理所述页面访问请求。
在具体的实施例中,可以根据攻击类型的不同设定不同的阈值,通过将所述攻击决策信息中的决策量值与阈值进行比对,确定所述页面访问请求是否为攻击行为。优选地,可以为每种攻击类型设置两套阈值标准,严格阈值和普通阈值,根据实际情况确定选用哪套阈值标准。
优选地,所述第四装置14根据所述攻击决策信息及当前工作模式处理所述页面访问请求。
在此,所述工作模式包括拦截模式和学习模式。
具体地,当所述当前工作模式为拦截模式,且所述攻击决策信息为攻击行为时,所述第四装置14阻止所述页面访问请求并记录网络攻击信息;当所述当前工作模式为学习模式,且所述攻击决策信息为攻击行为时,所述第四装置14响应所述页面访问请求并记录网络攻击信息。
在具体的实施例中,将所述攻击决策信息中的决策量值与阈值进行比对之后,若确定所述页面访问请求为攻击行为,在拦截模式下,会阻止攻击行为,保护网站安全,并记录详细的网络攻击信息;在学习模式下,不会阻止所述页面访问请求,但会记录详细的网络攻击信息,为后续优化算法提供便利。
与现有技术相比,本申请扫描页面访问请求,以获取所述页面访问请求在规则因子库中的寻址信息,根据所述寻址信息与所述规则因子库建立对应的规则树,然后根据所述规则树中的节点所对应规则因子的因子相关信息以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息,最后根据所述攻击决策信息处理所述页面访问请求。本申请所述规则因子库中的规则因子包括组成攻击语句的单词、标点等,不同于现有技术的规则库中的模式串和特征码,以少量规则因子的叠加效果替代了大量的模式串和特征码,避免频繁地更新规则因子库,而且能够做到主动防御新型攻击。所述寻址信息包括所述规则因子库中的规则因子的地址,以便快速高效地建立所述规则树。进一步地,所述页面访问请求包括多段请求信息,通过分别从头至尾一次扫描多段请求信息,提高扫描和匹配算法的效率。进一步地,根据所述攻击决策信息,分为拦截模式和学习模式两种情况处理所述页面访问请求,通过灵活的配置适应实际情况,提升用户体验。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (14)
1.一种防御网络攻击的方法,其中,该方法包括:
a扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息,其中,所述步骤a包括:对页面访问请求中的多段请求信息分别从头至尾一次扫描,以获得所述页面访问请求在规则因子库中对应的寻址信息;
b根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子,所述规则因子包括组成攻击语句的单词、标点;
c根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;
d根据所述攻击决策信息处理所述页面访问请求。
2.根据权利要求1所述的方法,其中,所述步骤a包括:
分别扫描页面访问请求中的多段请求信息,以获得所述页面访问请求在规则因子库中对应的寻址信息。
3.根据权利要求2所述的方法,其中,所述请求信息包括以下至少任一项:
所述页面访问请求中的统一资源标识符;
所述页面访问请求中统一资源定位符所包含的参数信息;
所述页面访问请求中的头部信息;
所述页面访问请求中的主体部分。
4.根据权利要求1所述的方法,其中,所述步骤c包括:
根据所述节点所对应规则因子的因子相关信息,以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息。
5.根据权利要求1所述的方法,其中,所述因子相关信息包括以下至少任一项:
规则因子的类型信息;
规则因子的匹配次数信息;
规则因子的分值信息。
6.根据权利要求1所述的方法,其中,所述步骤d包括:
根据所述攻击决策信息及当前工作模式处理所述页面访问请求。
7.根据权利要求6所述的方法,其中,所述步骤d包括:
当所述当前工作模式为拦截模式,且所述攻击决策信息为攻击行为时,阻止所述页面访问请求并记录网络攻击信息;
当所述当前工作模式为学习模式,且所述攻击决策信息为攻击行为时,响应所述页面访问请求并记录网络攻击信息。
8.一种防御网络攻击的设备,其中,该设备包括:
第一装置,用于扫描页面访问请求,以获得所述页面访问请求在规则因子库中对应的寻址信息,其中,所述第一装置用于:对页面访问请求中的多段请求信息分别从头至尾一次扫描,以获得所述页面访问请求在规则因子库中对应的寻址信息;
第二装置,用于根据所述寻址信息与所述规则因子库建立对应的规则树,其中,所述规则树中的节点对应于根据所述寻址信息在所述规则因子库中读取的规则因子,所述规则因子包括组成攻击语句的单词、标点;
第三装置,用于根据所述节点所对应规则因子的因子相关信息确定所述规则树所对应的攻击决策信息;
第四装置,用于根据所述攻击决策信息处理所述页面访问请求。
9.根据权利要求8所述的设备,其中,所述第一装置用于:
分别扫描页面访问请求中的多段请求信息,以获得所述页面访问请求在规则因子库中对应的寻址信息。
10.根据权利要求8所述的设备,其中,所述请求信息包括以下至少任一项:
所述页面访问请求中的统一资源标识符;
所述页面访问请求中统一资源定位符所包含的参数信息;
所述页面访问请求中的头部信息;
所述页面访问请求中的主体部分。
11.根据权利要求8所述的设备,其中,所述第三装置用于:
根据所述节点所对应规则因子的因子相关信息,以及所述规则树的结构信息,确定所述规则树所对应的攻击决策信息。
12.根据权利要求8所述的设备,其中,所述因子相关信息包括以下至少任一项:
规则因子的类型信息;
规则因子的匹配次数信息;
规则因子的分值信息。
13.根据权利要求8所述的设备,其中,所述第四装置用于:
根据所述攻击决策信息及当前工作模式处理所述页面访问请求。
14.根据权利要求13所述的设备,其中,所述第四装置用于:
当所述当前工作模式为拦截模式,且所述攻击决策信息为攻击行为时,阻止所述页面访问请求并记录网络攻击信息;
当所述当前工作模式为学习模式,且所述攻击决策信息为攻击行为时,响应所述页面访问请求并记录网络攻击信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611887.2A CN105245506B (zh) | 2015-09-23 | 2015-09-23 | 一种防御网络攻击的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611887.2A CN105245506B (zh) | 2015-09-23 | 2015-09-23 | 一种防御网络攻击的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105245506A CN105245506A (zh) | 2016-01-13 |
CN105245506B true CN105245506B (zh) | 2018-10-12 |
Family
ID=55043006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510611887.2A Active CN105245506B (zh) | 2015-09-23 | 2015-09-23 | 一种防御网络攻击的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105245506B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505189B (zh) * | 2018-05-18 | 2022-08-05 | 深信服科技股份有限公司 | 终端安全代理突破的识别方法、识别设备及存储介质 |
CN112241358A (zh) * | 2019-07-17 | 2021-01-19 | 上海云盾信息技术有限公司 | 一种用于确定WEB应用0day漏洞的方法与系统 |
CN113141331A (zh) * | 2020-01-17 | 2021-07-20 | 深信服科技股份有限公司 | 一种xss攻击检测方法、装置、设备及介质 |
CN114070575A (zh) * | 2020-08-07 | 2022-02-18 | 奇安信科技集团股份有限公司 | 设备探测处理方法、装置、电子设备、存储介质和程序 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291394A (zh) * | 2011-07-22 | 2011-12-21 | 网宿科技股份有限公司 | 基于网络加速设备的安全防御系统 |
CN102957707A (zh) * | 2012-11-16 | 2013-03-06 | 北京星网锐捷网络技术有限公司 | 一种Web应用防火墙的防护方法及装置 |
CN103532944A (zh) * | 2013-10-08 | 2014-01-22 | 百度在线网络技术(北京)有限公司 | 一种捕获未知攻击的方法和装置 |
CN105553917A (zh) * | 2014-10-28 | 2016-05-04 | 腾讯科技(深圳)有限公司 | 一种网页漏洞的检测方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743420B2 (en) * | 2003-12-02 | 2010-06-22 | Imperva, Inc. | Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications |
-
2015
- 2015-09-23 CN CN201510611887.2A patent/CN105245506B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291394A (zh) * | 2011-07-22 | 2011-12-21 | 网宿科技股份有限公司 | 基于网络加速设备的安全防御系统 |
CN102957707A (zh) * | 2012-11-16 | 2013-03-06 | 北京星网锐捷网络技术有限公司 | 一种Web应用防火墙的防护方法及装置 |
CN103532944A (zh) * | 2013-10-08 | 2014-01-22 | 百度在线网络技术(北京)有限公司 | 一种捕获未知攻击的方法和装置 |
CN105553917A (zh) * | 2014-10-28 | 2016-05-04 | 腾讯科技(深圳)有限公司 | 一种网页漏洞的检测方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105245506A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI706273B (zh) | 統一資源定位符(url)攻擊檢測方法、裝置及電子設備 | |
CN105245506B (zh) | 一种防御网络攻击的方法与设备 | |
US9300683B2 (en) | Identifying bots | |
CN103559235B (zh) | 一种在线社交网络恶意网页检测识别方法 | |
CN109413050B (zh) | 一种访问速率自适应的互联网漏洞信息采集方法及系统 | |
CN107437026B (zh) | 一种基于广告网络拓扑的恶意网页广告检测方法 | |
AU2018208693A1 (en) | A system to identify machines infected by malware applying linguistic analysis to network requests from endpoints | |
Aldwairi et al. | Malurls: A lightweight malicious website classification based on url features | |
CN108924118B (zh) | 一种撞库行为检测方法及系统 | |
CN104967628B (zh) | 一种保护web应用安全的诱骗方法 | |
WO2018001078A1 (zh) | 一种url匹配方法、装置及存储介质 | |
CN104601540A (zh) | 一种跨站脚本XSS攻击防御方法及Web服务器 | |
CN109246064A (zh) | 安全访问控制、网络访问规则的生成方法、装置及设备 | |
CN103617393A (zh) | 一种基于支持向量机的移动互联网恶意应用软件检测方法 | |
WO2020046458A1 (en) | Increasing security of network resources utilizing virtual honeypots | |
CN104767747A (zh) | 点击劫持安全检测方法和装置 | |
CN107784107B (zh) | 基于逃逸行为分析的暗链检测方法及装置 | |
WO2019123455A1 (en) | System and method for blocking phishing attempts in computer networks | |
Apruzzese et al. | SpacePhish: the evasion-space of adversarial attacks against phishing website detectors using machine learning | |
CN104301314A (zh) | 一种基于浏览器标签属性的入侵检测方法及装置 | |
US10152465B2 (en) | Security-focused web application crawling | |
Abouollo et al. | Detecting malicious user accounts using Canvas Fingerprint | |
CN103905434A (zh) | 一种网络数据处理方法和装置 | |
TW202009767A (zh) | 閘道裝置、惡意網域與受駭主機的偵測方法及其非暫態電腦可讀取媒體 | |
CN107454083A (zh) | 反爬虫的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |