CN106789895B - 压缩文本检测方法和装置 - Google Patents
压缩文本检测方法和装置 Download PDFInfo
- Publication number
- CN106789895B CN106789895B CN201611033285.4A CN201611033285A CN106789895B CN 106789895 B CN106789895 B CN 106789895B CN 201611033285 A CN201611033285 A CN 201611033285A CN 106789895 B CN106789895 B CN 106789895B
- Authority
- CN
- China
- Prior art keywords
- compressed text
- feature
- text
- compressed
- hit probability
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 44
- 239000013598 vector Substances 0.000 claims abstract description 63
- 238000004364 calculation method Methods 0.000 claims abstract description 60
- 238000013145 classification model Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000012549 training Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 5
- 238000002372 labelling Methods 0.000 claims description 4
- 238000005094 computer simulation Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 15
- 238000004422 calculation algorithm Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006837 decompression Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提出一种压缩文本检测方法和装置,该压缩文本检测方法包括:获取待检测的压缩文本;对所述压缩文本进行模式匹配,获取输出序列;根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。该方法能够避免对压缩文本放弃检测或延迟检测,从而兼顾网络传输安全和网络传输质量。
Description
技术领域
本申请涉及数据检测技术领域,尤其涉及一种网关位置压缩文本检测方法和装置。
背景技术
网络为人们提供方便的同时,网络攻击问题也带来了新的麻烦与威胁。web是一种广泛被采用的网络服务,同时也是不法攻击者传播恶意代码的主要手段。通常在检测web攻击时,需要分析非压缩格式的待检测的文本内容,对文本内容进行模式匹配,根据特征串的输出序列进行后续判断。
gzip是web传输文本的常见压缩编码形式,在进行数据文本与特征串匹配之前,需要进行解压缩。但gzip压缩采用LZ77算法需要为每个文件分配32KB的内存数据窗口。在高并发会话的网关设备中,没有足够的资源为每个会话分配32KB的空间,或者会造成遗漏检测,或者主动降低并发会话数量进而导致网络中断或大幅延迟,影响通信质量。也就是说,相关技术中在网关位置对压缩文本进行检测时,会放弃检测或者延迟检测,但是放弃检测会造成安全风险,延迟检测会影响网络传输质量。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种压缩文本检测方法,该方法可以避免对压缩文本放弃检测或延迟检测,从而兼顾网络传输安全和网络传输质量。
本申请的另一个目的在于提出一种压缩文本检测装置。
为达到上述目的,本申请第一方面实施例提出的压缩文本检测方法,包括:获取待检测的压缩文本;对所述压缩文本进行模式匹配,获取输出序列;根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。
本申请第一方面实施例提出的压缩文本检测方法,通过对压缩文本进行模式匹配,不需要先进行解压缩,可以避免对压缩文本放弃检测或延迟检测,从而兼顾网络传输安全和网络传输质量。
为达到上述目的,本申请第二方面实施例提出的压缩文本检测装置,包括:获取模块,用于获取待检测的压缩文本;模式匹配模块,用于对所述压缩文本进行模式匹配,获取输出序列;向量确定模块,用于根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;类别确定模块,用于根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。
本申请第二方面实施例提出的压缩文本检测装置,通过对压缩文本进行模式匹配,不需要先进行解压缩,可以避免对压缩文本放弃检测或延迟检测,从而兼顾网络传输安全和网络传输质量。
本申请实施例还提出了一种设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取待检测的压缩文本;对所述压缩文本进行模式匹配,获取输出序列;根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。
本申请实施例还提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器被执行时,使得终端能够执行一种方法,所述方法包括:获取待检测的压缩文本;对所述压缩文本进行模式匹配,获取输出序列;根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。
本申请实施例还提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种方法,所述方法包括:获取待检测的压缩文本;对所述压缩文本进行模式匹配,获取输出序列;根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一个实施例提出的压缩文本检测方法的流程示意图;
图2是本申请另一个实施例提出的压缩文本检测方法的流程示意图;
图3是本申请一个实施例提出的压缩文本检测装置的结构示意图;
图4是本申请另一个实施例提出的压缩文本检测装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一个实施例提出的压缩文本检测方法的流程示意图。
如图1所示,本实施例的方法包括:
S11:获取待检测的压缩文本。
一些示例中,本实施例的方法可以具体由网关设备执行,从而可以避免在网关位置出现网络延迟并保证网络安全。当然,可以理解的是,本实施例的方法不限于由网关设备执行,也可以由其他设备执行。
以网关设备执行为例,网关设备可以接收其他设备发送的压缩文本,作为待检测的压缩文本。当然,可以理解的是,也可以由执行设备读取自身设备产生的压缩文本,作为待检测的压缩文本。
一些示例中,压缩文本的格式可以具体是gzip格式。
S12:对所述压缩文本进行模式匹配,获取输出序列。
与通常先解压缩再匹配不同的是,本实施例中,直接对压缩文本进行匹配,不需要预先进行解压缩。
一些示例中,当压缩文本时gzip格式时,先对gzip格式的压缩文本进行huffman转码处理,得到LZ77格式的压缩文本,再对LZ77格式的压缩文本进行模式匹配。其中,LZ77格式的压缩文本中包含了压缩前文本的部分明文和替换索引,替换索引包括相同内容与当前位置之间的距离和相同内容的长度。
相应的,模式匹配时,将LZ77格式的压缩文本与预先选取的特征串进行匹配,得到输出序列。
具体的,在匹配过程中,如果压缩文本中的字符完整或部分命中特征串时,则进行信息记录。其中,如果压缩文本完整命中一个特征串(即压缩文本中包含与特征串相同的完整字符),则记录该特征串的序号;如果压缩文本部分命中一个特征串(即压缩文本中包含与特征串的部分内容相同的字符,如包含特征串中的前缀或后缀),则记录所命中部分的字符序列。例如,假设特征串是“fromCharCode”,如果压缩文本中包含完整的“fromCharCode”,则记录“fromCharCode”的序号;如果压缩文本中包含“fromCharCode”的部分内容,如包含“fromC”、“fromCha”或者“CharCode”等,则记录包含的部分内容的字符序列,以包含“fromC”为例,则记录“fromC”。
在记录信息后,可以根据记录的信息得到输出序列并输出,输出序列是在记录的信息中增加预设的分隔符。如用s表示起始符号,用e表示结束符号,则将输出序列中将起始符号s记录在完整命中的特征串的序号在前面,将结束符号e记录在命中特征串后缀时记录的字符序列的后面。
用符号表示为:
设置F=F1F2…Fm∈E,表示与特征串的部分内容(如前缀或后缀)相同的字符序列。
设置P=p1p2…pn∈R,表示在部分命中特征串之前已记录的完整命中的特征串的序号。
如果压缩文本完整命中一些特征串并且部分命中一个特征串,且命中的是前缀部分时,则输出序列表示为:O=sp1p2…pnF1F2…Fm;如果压缩文本仅完整命中一些特征串则输出序列表示为:O=sp1p2…pn;如果压缩文本部分命中一个特征串,且命中的是后缀部分时,则输出序列表示为:O=Fm+1Fm+2…Fle。
S13:根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量。
其中,可以在对压缩文本进行检测之前预先建立特征命中概率计算模型,具体的建立特征命中概率计算模型的流程可以参见后续描述。
一些示例中,特征命中概率计算模型的类型可以具体是隐Markov模型。隐Markov模型是一种近似求解方法,将复杂的概率影响因素抽象成隐状态,简单概率建模同时也具有显著的效果,在语音识别方面有很成熟的应用。
以特征命中概率计算模型的类型是隐Markov模型为例,隐Markov模型包括隐含状态序列(如用Q表示)和观察状态序列(如用O表示),模型参数包括隐含状态之间的状态转移矩阵(如用A表示)、隐含状态到观察状态之间的输出概率矩阵(如用B表示)和初始分布(如用π表示)。在得到输出序列和特征命中概率计算模型后,将输出序列作为特征命中概率计算模型的相应时刻的观察状态序列,并结合特征命中概率计算模型的参数({A,B,π})可以计算出压缩文本完整命中每种特征串的概率,该概率可以称为特征命中概率,并由所有的特征命中概率组成向量,作为压缩文本对应的向量。假设共有n种特征串,压缩文本完整命中第i(i=1,2,…n)种特征串的概率表示为xi=P(Ci),则压缩文本对应的向量表示为:X=[x1,x2,…,xn]∈Rn。具体计算压缩文本对应的向量的方式可以参见后续描述。
S14:根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。
其中,可以在对压缩文本进行检测之前预先建立分类模型,具体的建立分类模型的流程可以参见后续描述。
一些示例中,分类模型的类型可以具体是SVM模型,即采用SVM算法训练得到的分类模型,如直接使用LIBSVM(LIB是一种已有的开源软件)训练生成分类模型。
分类模型的输入是文本对应的向量,输出是文本属于的类别,因此,在得到压缩文本对应的向量后,将压缩文本对应的向量作为分类模型的输入,则可以将分类模型的输出作为压缩文本属于的类别。
具体的,类别可以分为两类,分别是文本属于攻击或文本不属于攻击,如分别用+1和-1表示。
在确定出压缩文本属于的类别后,可以根据预定规则继续执行,例如,将结果提交给其他决策系统进一步判断。或者在当前系统中,扩展执行步骤,继续采用其他方法或模型进行校验,降低误报的可能性等。
本实施例中,通过对压缩文本进行模式匹配,不需要先进行解压缩,可以避免对压缩文本放弃检测或延迟检测,从而兼顾网络传输安全和网络传输质量。
图2是本申请另一个实施例提出的压缩文本检测方法的流程示意图。
本实施例以gzip格式的压缩文本为例。
如图2所示,本实施例的方法包括:
S201:选取特征串。
一些示例中,可以先选取初始特征串,然后,通过一些常见的特征工程中特征筛选手段,从初始特征串中提取重要的特征串作为最终采用的特征串,以降低模式匹配以及分类模型的复杂度。
选取初始特征串的方式可以为如下项中的至少一项:
方式一:分析一些公开的误用检测的规则,例如snort、ModSecurity开源检测系统的规则,从中提取出关键词,将提取出的关键词作为初始特征串。
方式二:从常见的JavaScript攻击脚本,以及一些跨站攻击脚本中选取初始特征串,例如,选取漏洞公开网站的样例脚本,从中分析提取出初始特征串。
方式三:针对web数据文件中常出现的系统软件相关信息提取关键字作为初始特征串,上述关键字如:OS相关信息关键字、浏览器相关信息关键字,adobe reader相关信息关键字。
S202:获取压缩文本样本。
例如,可以直接收集gzip格式的压缩文本;或者,如果收集的文本是非压缩文本,将其压缩为gzip格式的压缩文本;或者,如果收集的文本是非gzip格式的压缩文本,则先对其解压缩,再将其压缩成gzip格式的压缩文本。
S203:根据所述压缩文本样本和所述特征串进行模式匹配,获取样本输出序列。
比如,对应每个压缩文本样本,先对该gzip格式的压缩文本样本进行huffman转码处理,得到LZ77格式的压缩文本样本,再将LZ77格式的压缩文本样本与选取的特征串进行匹配,得到样本输出序列。
其中,对压缩文本样本进行模式匹配和对待检测的压缩文本进行模式匹配原理相同,流程类似,因此具体内容可以参见上述对待检测的压缩文本的匹配流程,在此不再详述。
S204:根据所述样本输出序列得到观察状态序列,并对所述观察状态序列进行训练,确定特征命中概率计算模型的参数,并得到具有所述参数的特征命中概率计算模型。
在得到样本输出序列后,将所有样本输出序列组成序列作为观察状态序列。
隐马尔科夫模型的隐含状态数可以设置为当前部分命中的特征串所命中部分的字符长度加上一个常量,假设当前所命中部分的字符长度为m,常量是5,则隐含状态可以表示为:Q={q1q2…qm+5}。
具体在模型训练时,可以采用已有算法,如使用Baum Welch算法训练模型,通过已知的观察状态序列O,并使得观察状态序列最大化,求得隐马尔科夫模型的参数{A,B,π}。
S205:根据已建立的特征命中概率计算模型和压缩文本样本,获取压缩文本样本对应的向量。
其中,计算压缩文本样本对应的向量和待检测的压缩文本对应的向量的原理相同,流程类似,下面以压缩文本样本为例,对计算相应向量的流程进行说明。
对应每个压缩文本样本,采用之前流程与特征串进行匹配,得到输出序列。再根据输出序列和隐马尔科夫模型,计算该压缩文本样本完整命中各个特征串的概率,并由完整命中各个特征串的概率组成该压缩文本样本对应的向量。假设共有n种特征串,该压缩文本样本完整命中第i(i=1,2,…n)种特征串的概率表示为xi=P(Ci),则该压缩文本样本对应的向量表示为:X=[x1,x2,…,xn]∈Rn。
对应一个特征串,在计算压缩文本样本完整命中该特征串的概率时,可以在压缩文本样本部分命中该特征串时,计算该特征串在本次被完整命中的概率,再根据该特征串在各次被完整命中的概率计算得到压缩文本样本完整命中该特征串的概率。用公式(1)表示为:
在压缩文本样本部分命中一个特征串时,该特征串在本次被完整命中的概率,可以根据本次的输出序列和隐马尔科夫模型的参数计算得到。
进一步的,根据本次命中部分属于前缀或后缀,相应的计算公式也是不同的。分别描述如下:
情况一:本次命中特征串的前缀。
当命中特征串的前缀,且失配位置是替换索引时,则按当前状态,输出序列C包括已完整命中的其他特征串的序号和当前命中的前缀的字符序列,用公式表示为:C=sp1p2…pnF1F2…Fm,其中,s是起始符号,p1p2…pn是已完整命中的其他特征串的序号序列,F1F2…Fm是当前命中的前缀的字符序列。
假设在当前状态下,Fm+1Fm+2…F1是该被命中前缀的特征串的没有被匹配到的字符串序列,则当前状态下在完整命中该特征串时的输出序列为:D=CFm+1Fm+2…F1e,其中,e是结束符号。
为了描述方便,用O1O2…Ok表示C=sp1p2…pnF1F2…Fm,用O1O2…OT表示D=CFm+ 1Fm+2…F1e,O1O2…Ok是当前观察到的状态,O1O2…OT是特征串完整命中的状态。假设用P(Cn)表示压缩文本样本在第n次部分命中一个特征串时,该特征串被完整命中的概率,则当前命中后缀时,计算公式为:
其中,
α1(i)=πibi(O1),1≤i≤N
上述公式中,M表示隐马尔科夫模型,包括三个参数,分别为状态转移矩阵A、输出概率矩阵B和初始分布π,A={aij},B={bj(k)},π={πi}。aij是隐马尔科夫模型中状态转移矩阵A中的元素,表示t时刻的状态qi转换为t+1时刻的状态qj的概率;bj(k)是隐马尔科夫模型中输出概率矩阵B中的元素,表示t时刻的状态qj对应输出序列Ok的概率;πi是隐马尔科夫模型中初始分布π中的元素,表示t时刻的初始分布概率。
情况二:本次命中特征串的后缀。
当命中特征串的后缀,且失配位置是替换索引时,如果已完整命中其他特征串,则按当前状态,输出序列包括两个,分别是sp1p2…pn和Fm+1Fm+2…F1e,其中,s和e分别是起始符号和结束符号,p1p2…pn是已完整命中的其他特征串的序号序列,Fm+1Fm+2…F1是当前命中的后缀的字符序列。
假设在当前状态下,Fm+1Fm+2…F1是该被命中前缀的特征串的没有被匹配到的字符串序列,则当前状态下在完整命中该特征串时的输出序列为:D=CFm+1Fm+2…F1e,其中,e是结束符号。
为了描述方便,用O1O2…On和OmOm+1…OT表示当前观察到的状态,O1O2…OT是特征串完整命中的状态。假设用P(Cn)表示压缩文本样本在第n次部分命中一个特征串时,该特征串被完整命中的概率,则当前命中后缀时,计算公式为:
其中,
α1(i)=πibi(O1),1≤i≤N
βT(i)=bi(OT),1≤i≤N
公式中各参数的含义可以参见上述相关描述。
在建立特征命中概率计算模型后,即该模型的参数{A,B,π}是已知的,另外,通过对压缩文本样本进行匹配,可以得到各个时刻的输出序列,因此根据公式(2)(命中前缀时)或公式(3)(命中后缀时)可以由模型参数和输出序列计算出压缩文本样本在第n次部分命中一个特征串时,该特征串被完整命中的概率,再根据公式(1)可以计算出压缩文本样本完整命中该特征串的概率,再将压缩文本样本完整命中各个特征串的概率组成该压缩文本样本对应的向量。
S206:根据压缩文本样本已知的类别,为压缩文本样本标注类别标签。
其中,压缩文本样本的类别是已知的,比如是攻击样本或非攻击样本,则可以为压缩文本样本标注相应的类别标签,如定义标签y∈{-1,+1},其中,-1和+1表示类别分别是攻击或非攻击。
S207:将压缩文本样本对应的向量和类型标签作为训练数据,对训练数据进行训练,确定分类模型的参数,并得到具有所述参数的分类模型。
对应每个压缩文本样本,可以得到一组训练数据(X,y),多个压缩文本样本则可以得到训练数据集合{(X1,y1),(X2,y2),…},之后可以根据该集合进行训练,确定分类模型的参数。
本实例中采用SVM算法训练分类器,可以直接使用LIBSVM等知名的开源软件。
从性能角度考虑,本实例中采用线性核函数。通过间隔最大化或等价地求解相应的凸二次规划问题训练得到超平面:
W·x+b=O
和分类决策函数:
y=sign(W·x+b)
其中,x是多个压缩文本样本对应的向量组成的矩阵,y表示压缩文本样本对应的类别标签,W和b是要确定的分类模型的参数。
通过常用的SVM模型的训练算法,可以确定出W和b。
上述步骤可以在训练阶段完成,在建立上述的特征命中概率计算模型和分类模型之后,可以依据这些模型对后续的压缩文本进行检测。即还可以包括下述的检测阶段。
S208:获取待检测的gzip格式的压缩文本。
S209:对所述gzip格式的压缩文本进行huffman转码处理,得到LZ77格式的压缩文本。
S210:根据所述LZ77格式的压缩文本和所述特征串进行模式匹配,获取输出序列。
S211:根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量。
S212:根据所述向量和预先建立的分类模型,确定所述压缩文本属于的类别。
S208-S212的具体内容可以参见上述相关描述,在此不再详述。
本实施例中,通过对压缩文本进行模式匹配,不需要先进行解压缩,可以避免对压缩文本放弃检测或延迟检测,从而兼顾网络传输安全和网络传输质量。特别是在应用在网关位置时,对于web服务中gzip压缩文本检测,去除了每个文件/会话必须分配32KB空间的限制。可以应用在网关设备中,使其在高并发会话情况下也可以进行gzip压缩文本检测,提升web攻击的防御能力。结合机器学习算法,可以准确的估计特征串命中概率,在未进行解压缩的情况下,也可以得到与解压缩之后再分类相近的检测结果。
图3是本申请一个实施例提出的压缩文本检测装置的结构示意图。
如图3所示,本实施例的装置30包括:获取模块31、匹配模块32、向量确定模块33和类别确定模块34。
获取模块31,用于获取待检测的压缩文本;
匹配模块32,用于对所述压缩文本进行模式匹配,获取输出序列;
向量确定模块33,用于根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;
类别确定模块34,用于根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别。
一些实施例中,所述压缩文本包括:gzip格式的压缩文本,参见图4,所述装置30还包括:
转码模块35,用于对所述gzip格式的压缩文本进行huffman转码处理,得到LZ77格式的压缩文本,以便对所述LZ77格式的压缩文本进行模式匹配。
一些实施例中,参见图4,该装置30还包括:用于建立特征命中概率计算模型的计算模型建立模块36,当所述特征命中概率计算模型的类型是隐马尔科夫模型时,所述计算模型建立模块36具体用于:
获取压缩文本样本;
对所述压缩文本样本进行模式匹配,获取样本输出序列;
根据所述样本输出序列得到观察状态序列,并对所述观察状态序列进行训练,确定特征命中概率计算模型的参数,并得到具有所述参数的特征命中概率计算模型。
一些实施例中,所述向量确定模块33具体用于:
将所述输出序列作为所述特征命中概率计算模型的当前时刻的观察状态序列,并根据各个时刻的观察状态序列和所述特征命中概率计算模型的参数,计算所述压缩文本完整命中每种特征串的概率;
将压缩文本完整命中每种特征串的概率组成向量,作为所述压缩文本对应的向量。
一些实施例中,参见图4,该装置30还包括:用于建立分类模型的分类模型建立模块37,当所述分类模型的类型是SVM模型时,所述分类模型建立模块37具体用于:
根据已建立的特征命中概率计算模型和压缩文本样本,获取压缩文本样本对应的向量;
根据压缩文本样本已知的类别,为压缩文本样本标注类别标签;
将压缩文本样本对应的向量和类型标签作为训练数据,对训练数据进行训练,确定分类模型的参数,并得到具有所述参数的分类模型。
可以理解的是,本实施例的装置与上述方法实施例对应,具体内容可以参见方法实施例的相关描述,在此不再详细说明。
本实施例中,通过对压缩文本进行模式匹配,不需要先进行解压缩,可以避免对压缩文本放弃检测或延迟检测,从而兼顾网络传输安全和网络传输质量。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (18)
1.一种压缩文本检测方法,其特征在于,包括:
获取待检测的压缩文本;
对所述压缩文本进行模式匹配,获取输出序列;
根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;
根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别;
所述根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量,包括:将所述输出序列作为所述特征命中概率计算模型的当前时刻的观察状态序列,并根据各个时刻的观察状态序列和所述特征命中概率计算模型的参数,计算所述压缩文本完整命中每种特征串的概率;将压缩文本完整命中每种特征串的概率组成向量,作为所述压缩文本对应的向量。
2.根据权利要求1所述的方法,其特征在于,所述压缩文本包括:gzip格式的压缩文本,获取待检测的压缩文本之后,所述方法还包括:
对所述gzip格式的压缩文本进行huffman转码处理,得到LZ77格式的压缩文本,以便对所述LZ77格式的压缩文本进行模式匹配。
3.根据权利要求1或2所述的方法,其特征在于,还包括:建立特征命中概率计算模型,当所述特征命中概率计算模型的类型是隐马尔科夫模型时,所述建立特征命中概率计算模型包括:
获取压缩文本样本;
对所述压缩文本样本进行模式匹配,获取样本输出序列;
根据所述样本输出序列得到观察状态序列,并对所述观察状态序列进行训练,确定特征命中概率计算模型的参数,并得到具有所述参数的特征命中概率计算模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量,包括:
将所述输出序列作为所述特征命中概率计算模型的当前时刻的观察状态序列,并根据各个时刻的观察状态序列和所述特征命中概率计算模型的参数,计算所述压缩文本完整命中每种特征串的概率;
将压缩文本完整命中每种特征串的概率组成向量,作为所述压缩文本对应的向量。
5.根据权利要求1或2所述的方法,其特征在于,还包括:建立分类模型,当所述分类模型的类型是SVM模型时,所述建立分类模型包括:
根据已建立的特征命中概率计算模型和压缩文本样本,获取压缩文本样本对应的向量;
根据压缩文本样本已知的类别,为压缩文本样本标注类别标签;
将压缩文本样本对应的向量和类型标签作为训练数据,对训练数据进行训练,确定分类模型的参数,并得到具有所述参数的分类模型。
6.根据权利要求1所述的方法,其特征在于,所述输出序列包括:
所述压缩文本完整命中的特征串的序号,以及,所述压缩文本部分命中的特征串中所命中部分的字符序列。
7.根据权利要求3所述的方法,其特征在于,所述获取压缩文本样本,包括:
直接收集gzip格式的压缩文本;或者,
如果收集的文本是非压缩文本,将所述收集的文本压缩为gzip格式的压缩文本;或者,
如果收集的文本是非gzip格式的压缩文本,则对所述收集的文本解压缩,再将解压缩后的收集的文本压缩成gzip格式的压缩文本。
8.根据权利要求3所述的方法,其特征在于,在训练特征命中概率计算模型过程中,将隐马尔科夫模型的隐含状态数设置为当前所命中部分的字符串的长度加上预设常量。
9.根据权利要求4所述的方法,其特征在于,所述压缩文本完整命中每种特征串的概率根据所述压缩文本在各个时刻完整命中相应特征串的概率计算得到,其中,所述压缩文本在各个时刻完整命中相应特征串的概率根据相应时刻所命中部分为特征串的前缀或后缀,根据各个时刻的观察状态序列和所述特征命中概率计算模型的参数,选择不同的运算公式计算得到。
10.一种压缩文本检测装置,其特征在于,包括:
获取模块,用于获取待检测的压缩文本;
匹配模块,用于对所述压缩文本进行模式匹配,获取输出序列;
向量确定模块,用于根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量;
类别确定模块,用于根据所述向量和已建立的分类模型,确定所述压缩文本属于的类别;
所述根据所述输出序列和已建立的特征命中概率计算模型,计算所述压缩文本的特征命中概率,并根据所述特征命中概率得到所述压缩文本对应的向量,包括:将所述输出序列作为所述特征命中概率计算模型的当前时刻的观察状态序列,并根据各个时刻的观察状态序列和所述特征命中概率计算模型的参数,计算所述压缩文本完整命中每种特征串的概率;将压缩文本完整命中每种特征串的概率组成向量,作为所述压缩文本对应的向量。
11.根据权利要求10所述的装置,其特征在于,所述压缩文本包括:gzip格式的压缩文本,所述装置还包括:
转码模块,用于对所述gzip格式的压缩文本进行huffman转码处理,得到LZ77格式的压缩文本,以便对所述LZ77格式的压缩文本进行模式匹配。
12.根据权利要求10或11所述的装置,其特征在于,还包括:用于建立特征命中概率计算模型的计算模型建立模块,当所述特征命中概率计算模型的类型是隐马尔科夫模型时,所述计算模型建立模块具体用于:
获取压缩文本样本;
对所述压缩文本样本进行模式匹配,获取样本输出序列;
根据所述样本输出序列得到观察状态序列,并对所述观察状态序列进行训练,确定特征命中概率计算模型的参数,并得到具有所述参数的特征命中概率计算模型。
13.根据权利要求12所述的装置,其特征在于,所述向量确定模块具体用于:
将所述输出序列作为所述特征命中概率计算模型的当前时刻的观察状态序列,并根据各个时刻的观察状态序列和所述特征命中概率计算模型的参数,计算所述压缩文本完整命中每种特征串的概率;
将压缩文本完整命中每种特征串的概率组成向量,作为所述压缩文本对应的向量。
14.根据权利要求10或11所述的装置,其特征在于,还包括:用于建立分类模型的分类模型建立模块,当所述分类模型的类型是SVM模型时,所述分类模型建立模块具体用于:
根据已建立的特征向量概率计算模型和压缩文本样本,获取压缩文本样本对应的向量;
根据压缩文本样本已知的类别,为压缩文本样本标注类别标签;
将压缩文本样本对应的向量和类型标签作为训练数据,对训练数据进行训练,确定分类模型的参数,并得到具有所述参数的分类模型。
15.根据权利要求10所述的装置,其特征在于,所述输出序列包括:
所述压缩文本完整命中的特征串的序号,以及,所述压缩文本部分命中的特征串中所命中部分的字符序列。
16.根据权利要求12所述的装置,其特征在于,所述计算模型建立模块用于获取压缩文本样本,包括:
直接收集gzip格式的压缩文本;或者,
如果收集的文本是非压缩文本,将所述收集的文本压缩为gzip格式的压缩文本;或者,
如果收集的文本是非gzip格式的压缩文本,则对所述收集的文本解压缩,再将解压缩后的收集的文本压缩成gzip格式的压缩文本。
17.根据权利要求12所述的装置,其特征在于,所述计算模型建立模块在训练特征命中概率计算模型过程中,将隐马尔科夫模型的隐含状态数设置为当前所命中部分的字符串的长度加上预设常量。
18.根据权利要求13所述的装置,其特征在于,所述压缩文本完整命中每种特征串的概率根据所述压缩文本在各个时刻完整命中相应特征串的概率计算得到,其中,所述压缩文本在各个时刻完整命中相应特征串的概率根据相应时刻所命中部分为特征串的前缀或后缀,根据各个时刻的观察状态序列和所述特征命中概率计算模型的参数,选择不同的运算公式计算得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033285.4A CN106789895B (zh) | 2016-11-18 | 2016-11-18 | 压缩文本检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033285.4A CN106789895B (zh) | 2016-11-18 | 2016-11-18 | 压缩文本检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106789895A CN106789895A (zh) | 2017-05-31 |
CN106789895B true CN106789895B (zh) | 2020-03-27 |
Family
ID=58971926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611033285.4A Active CN106789895B (zh) | 2016-11-18 | 2016-11-18 | 压缩文本检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789895B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112615627A (zh) * | 2020-11-13 | 2021-04-06 | 北京信工博特智能科技有限公司 | 基于改进行程长度编码的动态压缩方法及动态压缩系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612135A (zh) * | 2003-10-30 | 2005-05-04 | 中联绿盟信息技术(北京)有限公司 | 入侵检测(保护)产品与防火墙产品中的协议识别技术 |
WO2007149623A2 (en) * | 2006-04-25 | 2007-12-27 | Infovell, Inc. | Full text query and search systems and method of use |
CN101350019A (zh) * | 2008-06-20 | 2009-01-21 | 浙江大学 | 基于预定义槽间向量模型的网页信息抽取方法 |
CN105981053A (zh) * | 2013-10-28 | 2016-09-28 | 英特尔公司 | 用于使用分布式关联记忆库确定数据相关及其中的收敛的方法、系统和计算机程序产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6675148B2 (en) * | 2001-01-05 | 2004-01-06 | Digital Voice Systems, Inc. | Lossless audio coder |
CN101587493B (zh) * | 2009-06-29 | 2012-07-04 | 中国科学技术大学 | 文本分类方法 |
CN104142998A (zh) * | 2014-08-01 | 2014-11-12 | 中国传媒大学 | 一种文本分类方法 |
CN106095845B (zh) * | 2016-06-02 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 文本分类方法和装置 |
-
2016
- 2016-11-18 CN CN201611033285.4A patent/CN106789895B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612135A (zh) * | 2003-10-30 | 2005-05-04 | 中联绿盟信息技术(北京)有限公司 | 入侵检测(保护)产品与防火墙产品中的协议识别技术 |
WO2007149623A2 (en) * | 2006-04-25 | 2007-12-27 | Infovell, Inc. | Full text query and search systems and method of use |
CN101350019A (zh) * | 2008-06-20 | 2009-01-21 | 浙江大学 | 基于预定义槽间向量模型的网页信息抽取方法 |
CN105981053A (zh) * | 2013-10-28 | 2016-09-28 | 英特尔公司 | 用于使用分布式关联记忆库确定数据相关及其中的收敛的方法、系统和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN106789895A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3534283B1 (en) | Classification of source data by neural network processing | |
US9781139B2 (en) | Identifying malware communications with DGA generated domains by discriminative learning | |
CN110266647B (zh) | 一种命令和控制通信检测方法及系统 | |
CN110012029B (zh) | 一种区分加密和非加密压缩流量的方法和系统 | |
EP3534284A1 (en) | Classification of source data by neural network processing | |
KR100670815B1 (ko) | 순차적 데이터 처리 기반의 유해 멀티미디어 서비스 차단장치 및 그 방법 | |
CN113347210B (zh) | 一种dns隧道检测方法、装置及电子设备 | |
JPWO2015186662A1 (ja) | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム | |
CN110022308B (zh) | 一种物联网设备识别方法、系统、电子设备及存储介质 | |
CN109992969B (zh) | 一种恶意文件检测方法、装置及检测平台 | |
CN107463844B (zh) | Web木马检测方法及系统 | |
CN106973047A (zh) | 一种异常流量检测方法和装置 | |
EP3905084A1 (en) | Method and device for detecting malware | |
CN111224946A (zh) | 一种基于监督式学习的tls加密恶意流量检测方法及装置 | |
CN111654504B (zh) | 一种dga域名检测方法及装置 | |
Raghavan et al. | Hidden Markov models with random restarts versus boosting for malware detection | |
CN110674370A (zh) | 域名识别方法及装置、存储介质及电子设备 | |
CN111464510A (zh) | 一种基于快速梯度提升树模型的网络实时入侵检测方法 | |
CN117792803B (zh) | 一种基于有效载荷的网络攻击检测方法、系统及介质 | |
CN112487422A (zh) | 一种恶意文档检测方法、装置、电子设备及存储介质 | |
JP2019148882A (ja) | トラヒック特徴情報抽出装置、トラヒック特徴情報抽出方法、及びトラヒック特徴情報抽出プログラム | |
CN106789895B (zh) | 压缩文本检测方法和装置 | |
CN113688240A (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN111478861B (zh) | 流量识别方法、装置、电子设备、及存储介质 | |
JP6501999B2 (ja) | パケットフォーマット推定装置およびパケットフォーマット推定プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |