CN103685224A - 网络入侵检测方法 - Google Patents
网络入侵检测方法 Download PDFInfo
- Publication number
- CN103685224A CN103685224A CN201310400482.5A CN201310400482A CN103685224A CN 103685224 A CN103685224 A CN 103685224A CN 201310400482 A CN201310400482 A CN 201310400482A CN 103685224 A CN103685224 A CN 103685224A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- rule
- protocol
- state
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种网络入侵检测方法,其包括以下步骤:A)捕获网络中的数据包;B)对所捕获的数据包进行全协议栈解析,即对包括应用层协议在内的所有协议数据进行重组后,再对重组后的数据包进行解析;C)通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩;D)将步骤2解析后的数据写入压缩后的DFA状态转换表做匹配;E)输出匹配结果。本发明通过对数据包进行全协议栈解析,大大提高了解码速度,满足实时解码要求,并减少了对服务器内存的需求;本发明还通过DFA状态转移表实现高速报文匹配,能够对存在的威胁进行准确检测和防御,准确识别并清除高级逃逸技术。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络入侵检测方法。
背景技术
网络入侵检测作为目前最主要的主动网络安全措施之一,它通过对计算机和网络资源上的恶意网络连接进行识别和响应,有效地补充和完善了诸如访问控制、数据加密、防火墙、病毒防范等安全措施,提高了信息安全基础结构的完整性,已成为信息系统安全解决方案中不可或缺的环节。
高级隐遁技术(AET,Advanced Evasion Technique)、隐遁攻击的叠加网络力量(cyber‐force)渗透到各国政治斗争的计算机攻击的案例略见不鲜,最近发生的韩国银行计算机网络故障、美国的纽约时报和华尔街日报受到的攻击足以说明这种情况。显然黑客的攻击手段和能力已经发生了质的变化,根据Garter的报告,从2011年来,网络防御的能力已经远远滞后于攻击的手段。而高级隐遁技术(AET)毫无疑问对IDS/IPS厂商来说是尤为头疼的技术难题,从NSS Lab公布的最新的IPS测试标准《NSS_Labs_ips group test methodology v6.2》中单独增加了AET的测试(4.15章节部分)可以看出对AET的重视程度。
防火墙和IPS是网络中核心的安全保障设备,防火墙通常根据数据流端口、地址、协议等进行数据的过滤,而IPS则进一步进行数据包的深度检测。为了真正的理解和检测网络数据包,IPS则需要深度理解数据流所采用的协议。表面上如果彻底分析透数据流的协议格式就足够了,但事实证明并非如此。早在1998年,来自Secure Network公司的Tim Newsham和Thomas Ptacek发表了有关如何穿透IDS/IPS的技术文章《插入、隐遁和拒绝服务攻击:避开网络入侵检测》。近两年,国内相关的研究,总参某研究所的徐金伟研究员曾就AET发表过多篇文章。常用的AET手段有:字符串混淆、加密和隧道技术、碎片技术和协议的违规四种。
针对高级隐遁攻击应当考虑新的拦截模式,单纯的特征库匹配模式不再能够完全达到拦截目的,因此,本发明将提出一种全新的网络入侵检测方法,该方法将大大提高网络的安全系数。
发明内容
为了克服现有技术的缺陷,本发明的目的在于提出一种能够提高网络安全系数的网络入侵检测方法。
为实现上述目的,本发明所述的网络入侵检测方法,其包含如下具体步骤:
A)捕获网络中的数据包;
B)对所捕获的数据包进行全协议栈解析,即对包括应用层协议在内的所有协议数据进行重组后,再对重组后的数据包进行解析;
C)通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩;
D)将步骤2解析后的数据写入压缩后的DFA状态转换表做匹配;
E)输出匹配结果。
进一步地,所述步骤B中,对协议数据进行重组的具体步骤包括:
从捕获的原始数据包中提取与IP协议相关的描述特征,分析其中的数据报文;
对分析后的数据报文按照其规范进行重新拼装,并保存到特定的内存结构中。
进一步地,所述步骤B中,对重组后的数据包进行解析的具体步骤包括:
B1)协议解析器进行初始化,并加载编译后的正则规则表达集;
B2)读取数据包,并对其进行分组处理;
B3)识别分组后所述数据包的协议类型,并判断所述数据包是否需要解析,如不需要,则直接丢弃该数据包;否则,将协议类型相同的数据包进行归类;
B4)根据正则表达式规则集查找到与数据协议类型对应的协议解码规则,再对包含该数据的数据包进行扫描,根据所述协议解析规则从数据包中提取所述数据的解析信息。
进一步地,所述对数据包进行分组的具体步骤包括:
首先设置输出端口分组规则和数据分组规则,输出端口分组规则的配置是首先将各输出端口按照对应的后端应用系统的业务处理类型进行分组,然后再根据组内各端口对应的后端系统的处理能力决定每个端口在该组中数据包处理流量的分配比例,数据分组规则的配置是根据IP地址信息或特殊字段将数据包划分到各个分组当中;再进行数据分组处理,先通过协议解析,从网络上接收到的原始数据包中提取出IP数据包,根据设置好的数据分组规则将与后续处理相关数据划分到各个输出端口分组中;然后将划分到每个组中的数据包的地址和端口信息进行Hash运算,Hash值再与该分组所包含的端 口总数取模,得到的结果就是该数据包在所属的分组中对应的输出端口序号。
进一步地,所述的输出端口分组的配置遵循以下原则:
1)输出端口的分组首先依据后端处理系统的业务需求,按照业务处理类型进行分组,当一个系统与多个系统分别在数据分组规则属性中互相有重叠时,同一个输出端口会出现在两个以上的分组中;
2)在每个分组内部,为了保证数据处理任务实现均衡分配,同一个输出端口可多次出现在同一个组中,即在分组内按照每个端口对应的后端系统的数据处理能力决定每个端口在该组中数据包流量的分配比例;
3)组内各输出端口的分配在保证负载均衡的同时,保证同一条TCP连接双向的所有数据包必须转发到同一个输出端口上,便于后端对所接收到的数据的汇总和还原。
进一步地,所述的数据分组规则的设置包括两种方式:
一种是将数据包的IP地址和端口信息作为直接监控对象,基于这些IP地址信息将规则设置在基于地址信息的数据分组规则表中,该规则表的格式如下:
另一种是基于特殊字段信息的规则设置方式,该规则表的格式如下:
规则号 | 字段偏移量 | 字段长度 | 匹配内容 | 数据分组行为 |
其中:
规则号:是每个规则的唯一标识序号;
源、目的IP地址:数据包传输的源端和目的端的IP地址值;
源、目的IP掩码:数据包传输的源端和目的端IP字段的子网掩码;
源、目的端口:数据包传输的源端和目的端的端口号;
字段偏移量:从IP数据包内容开始计算的需要匹配的特殊字段的偏移量;
字段长度:需要匹配的特殊字段的长度;
匹配内容:特殊字段的匹配值,这些特殊字段包括如URL地址、Email信件中的收信人和发信人地址字段;
数据分组行为:“0”表示将该数据包丢弃,“1”表示将该数据包转发到组1,“2”表示将该数据包转发到组2,……“N”表示将该数据报转发到组N,“-1”表示暂停使用该条规则,如果数据分组规则表中除数据分组行为字段外的所有字段都为0,则表示 该条规则适用于所有数据包;
由于动态设定的规则具有时效性,因此导入到内存的基于数据包的IP地址和端口信息的数据分组规则表增加“动态/静态”和“超时计数”两个字段。
进一步地,所述步骤B3中,将协议类型相同的数据包进行归类的具体步骤包括:
1)在接收到新数据包时建立新的数据表;
2)当接收到数据报文时,先在所述数据表中查找与其对应的包号,若能找到,再判断所述数据报文是否为最后一个包,若不是,则将所述数据报文归入对应的数据包中;否则,删除该数据包;
3)当所述数据包出现乱序或重发且所述数据包没有被正常删除时,启动定时器在定时时间内将所述数据包删除。
进一步地,所述步骤C中,对DFA状态转换表进行压缩的具体步骤包括:
对DFA状态转换表的每一行,将转换状态相同的输入字符分为同一组;
对DFA状态转换表的每一行,将分在同一组的相邻或邻近的输入字符及其转换状态用三元组信息来表示,该三元组信息为起始字符,位图和转换状态;
对DFA状态转换表的每一行,当分在同一组的输入字符不能被单个所述三元组信息编码时,由多个所述三元组来编码;
对DFA状态转换表的每一行,如果其包含的所述三元组的个数不超过预设的阀值,则该状态行用上述三元组编码的方式存放在高速存储器中;否则,该状态行不压缩,用一维线性数组的方式存储在片外DRAM中;
对状态值重新映射,使得存放三元组的高速存储器中存放的状态值都小于片外DRAM存放的状态值;将片外DRAM存放的状态值中的极小值作为分界值。
进一步地,所述起始字符为分组内最小的输入字符;所述位图以二进制表示,计算该组各个输入字符相对于起始字符的偏移值,将位图上与这些偏移值相对应的比特位置为1,其余比特位置为0。
进一步地,所述步骤D的具体方法包括:
4a)以DFA状态转换表的起始状态和报文首字符作为起始输入;
4b)如果该状态是终结状态则结束匹配;如果状态值小于所述分界值,则执行步骤4c查找存放三元组的高速存储器;否则,执行步骤4d查找片外DRAM;
4c)根据一维线性数组索引的方式,从存放三元组的高速存储器中读出该状态行的所有三元组编码,将每一个三元组编码中位图比特偏移值置1的字符与该输入字符进行 匹配;如果匹配到,则取该字符所在三元组的转移状态和报文的下个字符作为输入,执行步骤4b;如果没有匹配到任何三元组,则匹配失败并结束;
4d)根据二维线性数组索引的方式,从片外DRAM中读取对应的转移状态;如果有转移状态,则取该转移状态和报文的下个字符作为输入,执行步骤4b;如果没有转移状态,则匹配失败并结束。
与现有技术相比,本发明的有益效果在于:
本发明通过对数据包进行全协议栈解析,具体方法是通过协议解析和正则表达式规则库相接合,并采用多线程技术对复杂的用户业务数据进行硬件解码,大大提高了解码速度,满足实时解码要求,并减少了对服务器内存的需求,降低了成本;本发明还通过DFA状态转移表实现高速报文匹配,能够对存在的威胁进行准确检测和防御,准确识别并清除高级逃逸技术,这样将大大提高网络的安全系数。
此外,本发明基于DFA状态转移表的稀疏和相近输入字符转移状态相同这两个特征,采用起始字符、位图、转移状态的三元组编码方式,能够有效的压缩DFA状态转移表,从而将压缩部分放入高速存储器中,有效减少了片外DRAM存储空间的需求。并且DFA状态转移表存放在高速存储器中也有利于硬件实现高速报文匹配。
附图说明
图1是本发明中经过全协议栈解析后的结构示意图;
图2是一个基于并行处理的IP协议及其数据还原方法流程图;
图3是实施发明的典型应用环境;
图4是IP重组后的输出实例;
图5是本发明中协议解析系统的结构示意图。
具体实施方式
下面结合附图对本发明的方法做进一步详细的说明。
本发明所述的网络入侵检测的方法,其包含如下具体步骤:
第一步,捕获网络中的数据包;
第二步,对所捕获的数据包进行全协议栈解析,即对包括应用层协议在内的所有协 议数据进行重组后,再对重组后的数据包进行解析;
第三步,通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩;
第四步,将第二步解析后的数据写入压缩后的DFA状态转换表做匹配;
第五步,输出匹配结果。
第二步中进行数据重组的具体实现过程如下:
其实施过程是发送一系列相关的原始报文数据包至本地网络中,并包含如下的原始数据。相应说明如下表1所示:
表1
其中,上表中的协议变量是为了记录相应的数据域说明的特征数据,[string.12]=ISS是表明在ICMP(INTERNET CoNTROL MESSAGEPROTOCOL:网际控制信息协议)数据区的偏移量为12字节处的字符串变量为“ISS”;
该解析系统包含有:
协议解析模块:用于对该原始报文数据包进行协议解析;
协议数据缓冲区模块:用于存储各层协议数据;
特征数据模块:用于存储特征数据;
在启动本发明的检测方法时,对该解析系统进行初始化,即从所述的特征数据模块中读取相关的协议数据、运算类型、运算变量名、运算变量值、特征事件返回值变量等特征数据,并存储至计算机的内存储器中;该特征数据对“Ping ISS”扫描特征事件而言,具体为:协议变量(数据)是icmp_type和[string.12]、运算类型是字符串和整数操作类型、运算变量名是等于操作(=)和包含操作(^)、运算变量值是字符串ISS和整数值8、特征事件返回值变量的名称是“长度”,相应的协议变量是“icmp_length”。
该解析方法的具体步骤如下:
对如上表1中的原始报文数据包进行协议解析,得到该原始报文数据包的各层协议数据。
协议解析模块对如上表1中所述的原始报文数据包进行协议解析,如图1所示是本发明所述的协议解析后的结构示意图。协议解析是按照网络协议的层次划分循序渐进的,其从底到顶逐层进行,并将解析后的协议数据赋值给协议变量,即存储到协议数据缓冲区模块,如将“8”赋值给“ICMP_type”,将“ISS”赋值给“[String.12]”等。
对包括应用层协议在内的所有协议数据进行重组的系统,包括:
网络报文捕获装置,用于获取传输在网络中的全部网络报文数据;
网络报文存取装置,用于将捕获的网络报文按照特定规律存储到特定的数据结构中,在实施协议分析和重组时能够对报文进行快速的存取;
IP协议分析与重组装置,用于分析捕获后的原始网络报文,分析其中的IP协议特征,并根据其特征将报文分配到网络报文存取装置中;
应用层数据通知装置,用于当IP协议数据重组完毕后,通知应用层程序对其中的数据进行分析和处理,支持网络管理与信息安全应用。
如图2所示,对包括应用层协议在内的所有协议数据进行重组的具体方法包括如下步骤:
1.原始网络报文捕获平台
为实现在高速、大流量网络环境下实现网络报文的完整捕获,本发明在实施中采用了基于零拷贝的报文捕获技术,零拷贝的实现技术如下:
零拷贝实现了数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU在这方面的负载。
实现零拷贝用到的最主要技术是DMA数据传输技术和内存区域映射技术。传统的网络数据报处理,需要经过网络设备到操作系统内存空间,系统内存空间到用户应用程序 空间两次拷贝过程,同时还需要经历用户向系统发出的系统调用。
零拷贝技术首先利用DMA技术将网络数据报直接传递到系统内核预先分配的地址空间中,避免CPU的参与;同时,将系统内核中存储数据报的内存区域映射到检测程序的应用程序空间,还有一种方式是在用户空间建立缓冲区,并将其映射到内核空间,类似于linux系统下的kiobuf技术,检测程序直接对这块内存进行访问,从而减少了系统内核向用户空间的内存拷贝,同时减少了系统调用的开销。
2.网络数据报文快速存取
本发明采用基于Hash链表的二维缓冲区结构。Hash表具有计算简单、定位速度快的优点。Hash值利用IP报文中的四元组数据(源、目的IP地址,源、目的端口),通过设计适当的Hash函数来生成。
缓冲区的内存管理策略采用动态与静态相结合的思想,既能保证较高的存取速度,同时也具有较高的系统资源利用率。缓冲区采用二维逻辑结构,即不需要为从报文捕获系统采集到的数据另外分配内存空间用以组织缓冲区,而是直接采用内存指针的关系建立链表,这种策略极大地减小了系统的存储开销,加快了存取速度。
3.IP协议数据并行重组
(1)多线程组织策略
大流量网络环境下单位时间内产生的网络数据会很大,同时网络数据之间或多或少存在着关系;此外单系统的线程资源也是有限的。因此采用特定策略的多线程并行重组方案才能满足需求。
本发明采用线程池技术组织协议重组线程。在应用程序启动之后,立即创建一定数量的线程(N1),放入空闲队列中。这些线程都是处于阻塞状态,不消耗CPU资源,但占用较小的内存空间。当任务到来后,缓冲池选择一个空闲线程,把任务传入此线程中运行。当N1个线程都在处理任务后,缓冲池自动创建一定数量的新线程,用于处理更多的任务。在任务执行完毕后线程也不退出,而是继续保持在池中等待下一次的任务。当系统比较空闲时,大部分线程都一直处于暂停状态,线程池自动销毁一部分线程,回收系统资源。这种策略缩减了频繁创建线程带来的系统开销,同时也避免了大流量数据所致的线程数量过多而导致系统崩溃的缺陷。
(2)线程同步方案
当系统将某链接数据报交给一个线程去处理时,由于同一个链接的所有数据报都会由同一个线程处理,所以在处理线程还没有处理完成上一个数据报时主数据报分配线程 要陷入等待。同理如果处理线程上没有数据时同样也要进行等待主数据报分配线程通知。为了避免线程进入忙等占用CPU资源,本发明使用两组互斥量来完成主数据报分配线程和数据报处理线程的同步。
在主数据报分配线程中首先锁定相应的参数互斥量,如果此时该数据报处理线程正在处理数据报则主数据报分配线程会等待解锁,当处理线程处理完成后会解锁该互斥量使主数据报分配线程继续执行,当锁定了参数互斥量后就对参数进行赋值这时再解锁处理线程,处理线程便会进行数据的处理。
4.IP并行重组状态通知
选择适当的时机与方式通知应用层程序是一个重要的问题,在本发明中使用交换的概念进行通知作为数据处理单元。一次交换就是客户端和服务端的一次通信,即客户端发送数据和服务端对本次数据的回复共同构成一次交换。
每一次交换会进行三次通知,第一次是这次交换刚建立时,也就是服务器端刚收到客户端第一个有效数据报时,此时通知状态为IP_SWAP_CLIENT;第二次是客户端收到服务器端第一个数据报时,此时通知状态为IP_SWAP_SERVER;第三次通知状态为IP_SWAP_FINISH会在以下几种情况时发生:
(1)服务器端的ACK发生变化时。
(2)收到RST数据报。
(3)收到FIN数据报。
(4)链接超时。
5.实施例场景与结果描述
为了验证本发明的有效性,我们搭建了典型应用环境,图3为实施例的典型应用环境。IP协议分析与重组服务器的硬件环境为两个Intel(R)Xeon(R)CPU,主频为2G;内存容量为2G;软件环境为操作系统为Red Hat4.1.1-52,内核版本为2.6.21。
具体实施方式为采用IPdump应用程序录制流经网络出入口的数据,形成数据文件。另选一台机器,运行IPreplay应用程序,通过不同的速度向运行协议分析与重组程序的机器进行回放,观察协议栈的行为,表1和表2分别为协议栈处理纯HTTP流量数据以及混合流量数据在不同回放速度下表现出的性能。图4为实际网络协议分析程序调用本发明接口实现的还原输出。
本实施例可以说明无论是在性能还是正确性方面,本发明都适用于利用单节点计算资源平台上(处理器数量不大于2)针对大流量网络环境下实施协议还原。
第二步中对重组后的数据包进行解析的具体实现过程如下:
图5是本例中基于流的协议解析系统的结构示意图,该系统包括路由器和协议解析设备。其中,路由器用于在通信网络中转发业务数据,并将所转发的数据复制一份发给协议解析器(即DPI协议解析设备);协议解析器并联于所述路由器上,用于接收路由器发送的数据,对接收的数据进行分组并对分组后的数据进行协议类型判断,根据协议类型对数据进行归类,再对每一个协议中数据进行流管理,以确保同一个数据流发送给同一个处理模块中进行解码,最后通过处理模块对数据进行协议解析。这种并联接入的方式由于是独立进行数据协议解析,所以对移动系统进行数据通信的影响较小。
步骤100:协议解析器进行初始化,并加载编译后的正则表达式规则集。其中,协议解析器中的DPI芯片经过初始化后才能正常工作,该步骤在协议解析器进行初始化之前还可包括:对正则表达式规则集进行编译,将其转换成DPI芯片能够识别格式的数据,这样协议解析器才能对数据包进行DPI协议解码;
步骤101:读取数据包,并对其进行分组处理。本步骤还包括所述路由器在对数据包进行分组时并将所分发的数据包进行存储;所述分组处理的具体步骤为:
(1)设置输出端口分组配置规则:假设高速网过滤分流接入平台具有8个输出端口,端口标识号分别为:0、1、2、3、4、5、6、7,这些端口分别对应后端的各个安全监测设备。根据每个安全监测设备的业务类型处理需求和各自的数据处理能力,将各个端口划分成四个分组:
分组号 | 输出端口标识号 |
1 | 3;2;0;2 |
2 | 1;4 |
3 | 5;7;5;6;7 |
4 | 0;4 |
划分到同一个分组中的端口说明它们将处理相同类型的数据包,其中端口2在分组1中出现两次,说明端口2对应的后端处理设备将接收并处理该输出端口中二四分之一的数据量;端口4被划分到2和4两个分组当中,说明端口4将负责转发来自这两个分组的数据。
(2)设置过滤分组规则:过滤分流规则的设置是为了实现粗粒度的数据过滤分流,将对后端处理无用的数据滤除掉,将后端每个处理设备所需的数据划分到指定的端口分组中。数据分组规则设置的示例如下所示:
基于数据包的IP地址和端口信息的数据分组规则表:
基于特殊字段信息的数据分组规则表:
规则号 | 字段偏移量 | 字段长度 | 匹配内容 | 过滤分流行为 |
301 | 42 | 15 | xyyahoo.com.cn | 3 |
根据(3)中假定的情况对数据包b的处理过程:将数据包b中的地址信息与基于数据包的IP地址和端口信息的数据分组规则表中设置的规则逐一进行匹配,匹配结果发现没有与任何一条规则匹配成功,再将该数据包中字段偏移量为0X42字节之后的15个字节的值“xyyahoo.com.cn”提取出来与基于特殊字段信息的过滤分流规则表中的规则进行逐一匹配,匹配结果满足规则301。按照规则301中设置的过滤分流行为,将数据包b划分到分组3,并提取出该数据包中的IP地址信息,连同规则301中设置的过滤分流行为,生成一条新的动态数据过滤分组规则加入到基于数据包的IP地址和端口信息的数据分组规则表中,即:
(5)对划分到每个分组的数据,按照本发明中提出的分流算法进行分组处理。数据包a的源IP地址61.125.3.8和目的IP地址10.10.25.30高低位按位异或,得到的结果值再与源端口号90和目的端口号1290的异或结果进行按位异或,最终得到的结果与分组4中的端口总数取模,即:
{(0X3D7D_0X0A0A)_(0X0308_0X191E)_(0X005A_0X050A)}mod2={0X3777_0X1A16_0X0550}mod2=1
运算结果为1,表明该数据包a应从分组4中的第2个端口输出,即端口4输出。
数据包b的源IP地址10.10.19.131和目的IP地址216.136.173.18高低字节按位异或,得到的结果值再与源端口号1664和目的端口号25的异或结果进行按位异或,最终得到的结果与分组3中的端口总数取模,即:
{(0X0A0A_0XD888)_(0X1383_0XAD12)_(0X0680_0X0019)}mod5={0XD282_0XBE91_0X0699}=4
运算结果为4,表明该数据包b应从分组3中的第5个端口输出,即端口7输出。
(6)假定收到数据包a、b所属连接的后续包,由于所属同一连接数据包的IP地址和端口相同,因此经上述运算过程得到的结果也相同,所以保证了相同连接的所有后续包仍然从相同的端口输出。
(7)收到数据包b所属连接的结束包,则清除动态设置的规则7。
本发明提出的不依赖连接表的高速过滤分流方法如果采用CAM技术实现,对于12路2.5G POS接入,具备30G的数据接入能力,满足高速骨干网络的线速数据接入需求。
步骤102:对经过分组的数据的协议类型进行识别,获取所述数据的协议类型;判断所述数据是否需要进行解码,若不需要,则直接丢弃所述数据,否则进行步骤103。其中,判断的方法是根据实际要求判断某种协议类型的数据是否需要进行解码;
步骤103:将同一数据流分发归类到相同协议解析器中的检测处理模块进行处理,并对对协议类型识别后的数据进行流管理;所述流管理包括对数据流的建立、维护、删除、老化进行管理;
将同一数据流分发到相同协议解析器中的检测处理模块进行处理的具体步骤包括:
1)在接收到新数据包时建立新的数据表;
2)当接收到数据报文时,先在所述数据表中查找与其对应的包号,若能找到,再判断所述数据报文是否为最后一个包,若不是,则将所述数据报文归入对应的数据包中;否则,删除该数据包;
3)当所述数据包出现乱序或重发且所述数据包没有被正常删除时,启动定时器在定时时间内将所述数据包删除。
步骤104:所述DPI协议解析器根据正则表达式规则库对经过流管理模块的数据进行DPI协议解析。所述DPI协议解析器获取了所述数据的协议类型后,根据正则表达式规则库查找到与所述数据协议类型对应的协议解码规则;再对包含所述数据的数据包进行扫描,根据所述协议解码规则从所述数据包中提取所述数据的输出信息。
需要说明的是,所述DPI协议解析器支持跨包扫描。对于跨包数据报文,则在下一个数据报文中输出结果,即若所述输出信息中包含跨包字段,则需要在前一包和当前包中取出对应字段结果,即可获得所述跨包的输出信息。另外,由于本实施例中采用的是正则表达式规则库匹配解码的方法,所述输出信息是匹配位置相对所述数据包的偏移量,所以步骤104还包括根据所述输出信息从所述数据包提取解码信息。
相比于现有技术,本发明通过DPI协议解析和正则表达式规则库相接合,并采用多线程技术对复杂的用户业务数据进行硬件解码。由于在相同条件下,DPI硬件解码速度是软件解码速度的10倍以上,所以本发明大大提高了解码速度,满足实时解码要求,而且由于DPI硬件支持跨包扫描,只需保存一个数据流中的前一包及当前包的信息,所以这就大大减少了对服务器内存的需求,降低了成本。
第三步和第四步的具体实现方法如下:表1示出了现有的采用标准二维线性数组存储格式的DFA状态转移表。
如表1所示,横坐标0~255是输入字符(8比特宽,共256个),纵坐标S(0)~S(N)是状态。每一行表示该状态下,对应每个输入字符的转移状态。如果输入字符没有转移状态,就表示匹配失败并结束。根据二维线性数组寻址方式,使用(状态,输入字符)作为索引从DFA状态转移表找到转移状态。
通过对许多正则表达式转换成的DFA状态转移表的分析,可以发现两个特征:a)表是稀疏的,即相当大部分(状态,输入字符)是没有转移状态的;b)对同一个状态,许多相邻或邻近的输入字符的转移状态是相同的。基于上述两个特征,本发明采用位图编码方式来对DFA状态转移表进行压缩。
表2示出了采用本发明位图编码压缩存储格式的DFA状态转移表:
为了实现从表1压缩至表2,本发明具体的压缩方法如下:
步骤1)对每个状态行,将输入字符分组,转移状态相同的输入字符分为同一组。
步骤2)对每个状态行,把分在同一组的转移状态相同的、且相邻的或邻近的输入字符及转移状态用(起始字符,位图,转移状态)三元组来表示。
起始字符为分组内最小的输入字符。位图以二进制表示,低比特位在右边。计算该组的输入字符相对于起始字符的偏移值,将位图上与这些偏移值相对应的比特位置1,其余比特位置0。
步骤3)由于位图的宽度是固定的,可以是4~16个比特。因此对每个状态行,当分在同一组的输入字符不能被单个(起始字符,位图,转移状态)三元组编码时,可以由多个三元组来编码。最终形成每个状态行由1个或多个(起始字符,位图,转移状态)三元组来编码的格式。
步骤4)对每个状态行,如果上述三元组的个数不超过某个预设的阀值(比如8或16),则该状态行用上述三元组编码的方式存储在片内SRAM中;否则,该状态行不压缩,用一维线性数组的方式存储在片外DRAM中。
经过上述压缩步骤,可以将DFA状态转移表的可压缩部分存放在片内SRAM中,不可压缩部分放在片外DRAM中。
步骤5)同时,对状态值重新映射,使得片内SRAM中存放的DFA状态值都小于片外DRAM存放的DFA状态值。这样只需和一个分界值(即片外DRAM存放的状态值中的极小值)比较大小即可区分状态是存放在片内SRAM中,还是存放在片外DRAM中。
下面通过一个实际的例子来对本发明的压缩方法进行具体说明。
表3示出了一个实际的未经压缩的实际DFA状态转移表片段。
如表3所示,在当前状态是16时,输入字符5、7、8、11对应的转移状态是17,输入字符6、9、10、12对应的转移状态是23,其它输入字符没有转移状态。
首先对该状态行按转移状态对输入字符分组,即输入字符5、7、8、11作为一个分组,输入字符6、9、10、12作为另一个分组,起始字符分别为分组内最小的输入字符5及6。
将分组内每个输入字符减去起始字符得到偏移值,将位图的该偏移位置的比特位置为1,位图的其它比特位置为0。比如对于输入字符为5、7、8、11的分组,起始字符为5,分别对每个字符计算偏移值为5-5=0,7-5=2,8-5=3,11-5=6。则位图的0,2,3,6比特位置为1,得到01001101(位图以二进制表示,低比特位在右边,即最右边是第0比特,最左边是第7比特)。对于输入字符为6、9、10、12的分组,也采用同样的方法形成位图。
该DFA状态转移表经过位图压缩三元组(起始字符,位图,转移状态)编码压缩后,状态16对应的行最终可以编码成如下两个三元组:(5,01001101,17)、(6,01011001,23),存放在片内SRAM中。
假设每个状态值占用4个字节,则原始的DFA状态转移表的每个状态行占用的字节为:4*256=1024个。
假设位图字段占用一个字节,每个三元组占用6个字节,每行固定三元组个数为8,则使用本发明位图压缩三元组编码的DFA状态转移表的每个状态行占用的字节为:8*6=48个。存储空间需求大为减少。
与上述压缩相应的,本发明具体的报文匹配方法如下:
步骤6)以DFA状态转移表的起始状态和报文首字符作为起始输入。
步骤7)如果该状态是终结状态,则结束匹配;如果状态值小于分界值,则执行步骤8查找片内SRAM;否则,执行步骤9查找片外DRAM。
步骤8)根据一维线性数组索引的方式,从片内SRAM中读出该状态行的所有三元组编码,将每一个三元组编码中位图比特偏移值置1的字符与该报文字符进行匹配;如果匹配到,则取该字符所在三元组的转移状态和报文的下个字符作为输入,执行步骤7;如果没有匹配到任何三元组,则匹配失败并结束。
步骤9)根据二维线性数组索引的方式,从片外DRAM中读取对应的转移状态;如果有转移状态,则取该转移状态和报文的下个字符作为输入,执行步骤7;如果没有转移状态,则匹配失败并结束。
图5为实现本发明压缩匹配部分的硬件结构示意图。如图5所示,CPU将正则表达式规则集转换成DFA状态转移表,并使用本专利发明的位图编码方式压缩,将压缩部分写入ASIC/FPGA片内SRAM中,未压缩部分写入ASIC/FPGA片外DRAM中。具体压缩步骤同上述技术方案所描述。ASIC/FPGA内存控制器完成SRAM和DRAM的读写时序控制。 ASIC/FPGA报文匹配模块负责将报文去匹配存放在片内SRAM和片外DRAM中的DFA状态转移表。具体报文匹配步骤同上述技术方案所描述。
需要注意的是,本发明中经压缩后的三元组不但可以存放在片内高速存储器(如SRAM)中,也可以存放在片外高速存储器中。而且该高速存储器除采用SRAM外,也可选用速度在现有DRAM以上的其他形式的存储器,以及将来经过技术革新的新一代高速DRAM。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
Claims (10)
1.一种网络入侵检测方法,其特征在于,包括以下步骤:
A)捕获网络中的数据包;
B)对所捕获的数据包进行全协议栈解析,即对包括应用层协议在内的所有协议数据进行重组后,再对重组后的数据包进行解析;
C)通过确定性有限状态机将正则表达式规则集编译成DFA状态转换表,对DFA状态转换表进行压缩;
D)将步骤2解析后的数据写入压缩后的DFA状态转换表做匹配;
E)输出匹配结果。
2.如权利要求1所述的方法,其特征在于,所述步骤B中,对协议数据进行重组的具体步骤包括:
从捕获的原始数据包中提取与IP协议相关的描述特征,分析其中的数据报文;
对分析后的数据报文按照其规范进行重新拼装,并保存到特定的内存结构中。
3.如权利要求1所述的方法,其特征在于,所述步骤B中,对重组后的数据包进行解析的具体步骤包括:
B1)协议解析器进行初始化,并加载编译后的正则规则表达集;
B2)读取数据包,并对其进行分组处理;
B3)识别分组后所述数据包的协议类型,并判断所述数据包是否需要解析,如不需要,则直接丢弃该数据包;否则,将协议类型相同的数据包进行归类;
B4)根据正则表达式规则集查找到与数据协议类型对应的协议解码规则,再对包含该数据的数据包进行扫描,根据所述协议解析规则从数据包中提取所述数据的解析信息。
4.根据权利要求3所述的方法,其特征在于,所述对数据包进行分组的具体步骤包括:
首先设置输出端口分组规则和数据分组规则,输出端口分组规则的配置是首先将各输出端口按照对应的后端应用系统的业务处理类型进行分组,然后再根据组内各端口对应的后端系统的处理能力决定每个端口在该组中数据包处理流量的分配比例,数据分组规则的配置是根据IP地址信息或特殊字段将数据包划分到各个分组当中;再进行数据分组处理,先通过协议解析,从网络上接收到的原始数据包中提取出IP数据包,根据设置好的数据分组规则将与后续处理相关数据划分到各个输出端口分组中;然后将划分到每个组中的数据包的地址和端口信息进行Hash运算,Hash值再与该分组所包含的端口总数取模,得到的结果就是该数据包在所属的分组中对应的输出端口序号。
5.根据权利要求4所述的方法,其特征是,所述的输出端口分组的配置遵循以下原则:
1)输出端口的分组首先依据后端处理系统的业务需求,按照业务处理类型进行分组,当一个系统与多个系统分别在数据分组规则属性中互相有重叠时,同一个输出端口会出现在两个以上的分组中;
2)在每个分组内部,为了保证数据处理任务实现均衡分配,同一个输出端口可多次出现在同一个组中,即在分组内按照每个端口对应的后端系统的数据处理能力决定每个端口在该组中数据包流量的分配比例;
3)组内各输出端口的分配在保证负载均衡的同时,保证同一条TCP连接双向的所有数据包必须转发到同一个输出端口上,便于后端对所接收到的数据的汇总和还原。
6.根据权利要求4所述的方法,其特征在于,所述的数据分组规则的设置包括两种方式:
一种是将数据包的IP地址和端口信息作为直接监控对象,基于这些IP地址信息将规则设置在基于地址信息的数据分组规则表中,该规则表的格式如下:
另一种是基于特殊字段信息的规则设置方式,该规则表的格式如下:
其中:
规则号:是每个规则的唯一标识序号;
源、目的IP地址:数据包传输的源端和目的端的IP地址值;
源、目的IP掩码:数据包传输的源端和目的端IP字段的子网掩码;
源、目的端口:数据包传输的源端和目的端的端口号;
字段偏移量:从IP数据包内容开始计算的需要匹配的特殊字段的偏移量;
字段长度:需要匹配的特殊字段的长度;
匹配内容:特殊字段的匹配值,这些特殊字段包括如URL地址、Email信件中的收信人和发信人地址字段;
数据分组行为:“0”表示将该数据包丢弃,“1”表示将该数据包转发到组1,“2”表示将该数据包转发到组2,……“N”表示将该数据报转发到组N,“-1”表示暂停使用该条规则,如果数据分组规则表中除数据分组行为字段外的所有字段都为0,则表示该条规则适用于所有数据包;
由于动态设定的规则具有时效性,因此导入到内存的基于数据包的IP地址和端口信息的数据分组规则表增加“动态/静态”和“超时计数”两个字段。
7.根据权利要求3所述的方法,其特征在于,所述步骤B3中,将协议类型相同的数据包进行归类的具体步骤包括:
1)在接收到新数据包时建立新的数据表;
2)当接收到数据报文时,先在所述数据表中查找与其对应的包号,若能找到,再判断所述数据报文是否为最后一个包,若不是,则将所述数据报文归入对应的数据包中;否则,删除该数据包;
3)当所述数据包出现乱序或重发且所述数据包没有被正常删除时,启动定时器在定时时间内将所述数据包删除。
8.如权利要求1所述的方法,其特征在于,所述步骤C中,对DFA状态转换表进行压缩的具体步骤包括:
对DFA状态转换表的每一行,将转换状态相同的输入字符分为同一组;
对DFA状态转换表的每一行,将分在同一组的相邻或邻近的输入字符及其转换状态用三元组信息来表示,该三元组信息为起始字符,位图和转换状态;
对DFA状态转换表的每一行,当分在同一组的输入字符不能被单个所述三元组信息编码时,由多个所述三元组来编码;
对DFA状态转换表的每一行,如果其包含的所述三元组的个数不超过预设的阀值,则该状态行用上述三元组编码的方式存放在高速存储器中;否则,该状态行不压缩,用一维线性数组的方式存储在片外DRAM中;
对状态值重新映射,使得存放三元组的高速存储器中存放的状态值都小于片外DRAM存放的状态值;将片外DRAM存放的状态值中的极小值作为分界值。
9.如权利要求8所述的方法,其特征在于,
所述起始字符为分组内最小的输入字符;
所述位图以二进制表示,计算该组各个输入字符相对于起始字符的偏移值,将位图上与这些偏移值相对应的比特位置为1,其余比特位置为0。
10.如权利要求1所述的方法,其特征在于,所述步骤D的具体方法包括:
4a)以DFA状态转换表的起始状态和报文首字符作为起始输入;
4b)如果该状态是终结状态则结束匹配;如果状态值小于所述分界值,则执行步骤4c查找存放三元组的高速存储器;否则,执行步骤4d查找片外DRAM;
4c)根据一维线性数组索引的方式,从存放三元组的高速存储器中读出该状态行的所有三元组编码,将每一个三元组编码中位图比特偏移值置1的字符与该输入字符进行匹配;如果匹配到,则取该字符所在三元组的转移状态和报文的下个字符作为输入,执行步骤4b;如果没有匹配到任何三元组,则匹配失败并结束;
4d)根据二维线性数组索引的方式,从片外DRAM中读取对应的转移状态;如果有转移状态,则取该转移状态和报文的下个字符作为输入,执行步骤4b;如果没有转移状态,则匹配失败并结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400482.5A CN103685224A (zh) | 2013-09-05 | 2013-09-05 | 网络入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400482.5A CN103685224A (zh) | 2013-09-05 | 2013-09-05 | 网络入侵检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103685224A true CN103685224A (zh) | 2014-03-26 |
Family
ID=50321542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310400482.5A Pending CN103685224A (zh) | 2013-09-05 | 2013-09-05 | 网络入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685224A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578488A (zh) * | 2014-10-10 | 2016-05-11 | 中兴通讯股份有限公司 | 网络数据采集系统及方法 |
CN107196931A (zh) * | 2017-05-17 | 2017-09-22 | 南京南瑞继保电气有限公司 | 一种基于网络隔离装置的深度报文检测方法 |
CN107360051A (zh) * | 2016-09-30 | 2017-11-17 | 成都科来软件有限公司 | 一种控制多种不同网络协议分析开关的方法及装置 |
CN111064631A (zh) * | 2019-11-15 | 2020-04-24 | 上海理工大学 | 电厂同步相量测量装置数据捕获解析方法 |
CN111988343A (zh) * | 2020-10-13 | 2020-11-24 | 之江实验室 | 一种远程设定规则并监测工业网络入侵的系统及方法 |
CN113132416A (zh) * | 2021-06-03 | 2021-07-16 | 新华三信息安全技术有限公司 | 一种数据包检测方法及装置 |
CN113641672A (zh) * | 2021-07-30 | 2021-11-12 | 武汉思普崚技术有限公司 | 一种多维度快速匹配方法、装置及存储介质 |
CN113923002A (zh) * | 2021-09-29 | 2022-01-11 | 山石网科通信技术股份有限公司 | 计算机网络入侵防御方法、装置、存储介质及处理器 |
CN114760256A (zh) * | 2022-04-14 | 2022-07-15 | 曙光网络科技有限公司 | 数据处理方法、装置、设备及存储介质 |
CN114827030A (zh) * | 2022-03-26 | 2022-07-29 | 西安电子科技大学 | 一种基于折叠sram的流分类装置及表项压缩方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
US7200684B1 (en) * | 2000-04-13 | 2007-04-03 | International Business Machines Corporation | Network data packet classification and demultiplexing |
CN101488960A (zh) * | 2009-03-04 | 2009-07-22 | 哈尔滨工程大学 | 基于并行处理的tcp协议及其数据还原装置及方法 |
CN101605018A (zh) * | 2009-06-17 | 2009-12-16 | 中兴通讯股份有限公司 | 一种基于流的深度报文检测协议解码方法、设备及系统 |
CN102075430A (zh) * | 2011-01-25 | 2011-05-25 | 无锡网芯科技有限公司 | 深度报文检测dfa状态转移表的压缩与报文匹配方法 |
-
2013
- 2013-09-05 CN CN201310400482.5A patent/CN103685224A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200684B1 (en) * | 2000-04-13 | 2007-04-03 | International Business Machines Corporation | Network data packet classification and demultiplexing |
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
CN101488960A (zh) * | 2009-03-04 | 2009-07-22 | 哈尔滨工程大学 | 基于并行处理的tcp协议及其数据还原装置及方法 |
CN101605018A (zh) * | 2009-06-17 | 2009-12-16 | 中兴通讯股份有限公司 | 一种基于流的深度报文检测协议解码方法、设备及系统 |
CN102075430A (zh) * | 2011-01-25 | 2011-05-25 | 无锡网芯科技有限公司 | 深度报文检测dfa状态转移表的压缩与报文匹配方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578488A (zh) * | 2014-10-10 | 2016-05-11 | 中兴通讯股份有限公司 | 网络数据采集系统及方法 |
CN105578488B (zh) * | 2014-10-10 | 2020-10-16 | 南京中兴软件有限责任公司 | 网络数据采集系统及方法 |
CN107360051B (zh) * | 2016-09-30 | 2021-06-15 | 成都科来软件有限公司 | 一种控制多种不同网络协议分析开关的方法及装置 |
CN107360051A (zh) * | 2016-09-30 | 2017-11-17 | 成都科来软件有限公司 | 一种控制多种不同网络协议分析开关的方法及装置 |
CN107196931B (zh) * | 2017-05-17 | 2020-09-08 | 南京南瑞继保电气有限公司 | 一种基于网络隔离装置的深度报文检测方法 |
CN107196931A (zh) * | 2017-05-17 | 2017-09-22 | 南京南瑞继保电气有限公司 | 一种基于网络隔离装置的深度报文检测方法 |
CN111064631A (zh) * | 2019-11-15 | 2020-04-24 | 上海理工大学 | 电厂同步相量测量装置数据捕获解析方法 |
CN111988343A (zh) * | 2020-10-13 | 2020-11-24 | 之江实验室 | 一种远程设定规则并监测工业网络入侵的系统及方法 |
CN111988343B (zh) * | 2020-10-13 | 2021-03-02 | 之江实验室 | 一种远程设定规则并监测工业网络入侵的系统及方法 |
CN113132416B (zh) * | 2021-06-03 | 2022-06-21 | 新华三信息安全技术有限公司 | 一种数据包检测方法及装置 |
CN113132416A (zh) * | 2021-06-03 | 2021-07-16 | 新华三信息安全技术有限公司 | 一种数据包检测方法及装置 |
CN113641672A (zh) * | 2021-07-30 | 2021-11-12 | 武汉思普崚技术有限公司 | 一种多维度快速匹配方法、装置及存储介质 |
CN113923002A (zh) * | 2021-09-29 | 2022-01-11 | 山石网科通信技术股份有限公司 | 计算机网络入侵防御方法、装置、存储介质及处理器 |
CN113923002B (zh) * | 2021-09-29 | 2024-04-19 | 山石网科通信技术股份有限公司 | 计算机网络入侵防御方法、装置、存储介质及处理器 |
CN114827030A (zh) * | 2022-03-26 | 2022-07-29 | 西安电子科技大学 | 一种基于折叠sram的流分类装置及表项压缩方法 |
CN114827030B (zh) * | 2022-03-26 | 2023-04-07 | 西安电子科技大学 | 一种基于折叠sram的流分类装置及表项压缩方法 |
CN114760256A (zh) * | 2022-04-14 | 2022-07-15 | 曙光网络科技有限公司 | 数据处理方法、装置、设备及存储介质 |
CN114760256B (zh) * | 2022-04-14 | 2024-01-30 | 曙光网络科技有限公司 | 数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685224A (zh) | 网络入侵检测方法 | |
CN103491069A (zh) | 网络数据包的过滤方法 | |
CN101267313B (zh) | 泛洪攻击检测方法及检测装置 | |
CN1287570C (zh) | 保持连接特性的高速过滤分流方法 | |
CN103685221A (zh) | 网络入侵检测方法 | |
CN104794170B (zh) | 基于指纹多重哈希布隆过滤器的网络取证内容溯源方法和系统 | |
CN110650128B (zh) | 一种检测以太坊数字货币盗取攻击的系统及方法 | |
CN105337991B (zh) | 一种一体化的报文流查找与更新方法 | |
CN103841096A (zh) | 自动调整匹配算法的入侵检测方法 | |
CN101488960B (zh) | 基于并行处理的tcp协议及其数据还原装置及方法 | |
CN103685222A (zh) | 基于确定性有穷状态自动机的数据匹配检测方法 | |
CN105989061B (zh) | 一种滑动窗口下多维数据重复检测快速索引方法 | |
CN107733851A (zh) | 基于通信行为分析的dns隧道木马检测方法 | |
CN104579974B (zh) | 面向ndn中名字查找的哈希布鲁姆过滤器及数据转发方法 | |
CN102110132A (zh) | 统一资源定位符匹配查找方法、装置和网络侧设备 | |
CN102739473A (zh) | 一种应用智能网卡的网络检测方法 | |
CN105989129A (zh) | 实时数据统计方法和装置 | |
CN101577721A (zh) | 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法 | |
CN103475653A (zh) | 网络数据包的检测方法 | |
CN101465760A (zh) | 一种检测拒绝服务攻击的方法和系统 | |
CN107040405A (zh) | 网络环境下被动式多维度主机指纹模型构建方法及其装置 | |
Xing et al. | Research on the defense against ARP spoofing attacks based on Winpcap | |
CN110222503A (zh) | 一种大数据流负载下的数据库审计方法、系统与设备 | |
CN107294966A (zh) | 一种基于内网流量的ip白名单构建方法 | |
CN104468107A (zh) | 校验数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |