CN101577703A - 一种无需解码的对base64编码数据的模式匹配方法 - Google Patents
一种无需解码的对base64编码数据的模式匹配方法 Download PDFInfo
- Publication number
- CN101577703A CN101577703A CNA2008101060199A CN200810106019A CN101577703A CN 101577703 A CN101577703 A CN 101577703A CN A2008101060199 A CNA2008101060199 A CN A2008101060199A CN 200810106019 A CN200810106019 A CN 200810106019A CN 101577703 A CN101577703 A CN 101577703A
- Authority
- CN
- China
- Prior art keywords
- data
- matching
- mode
- base64
- coded data
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种无需解码的对base64编码数据的模式匹配方法,该方法可以广泛的用于对数据进行监测的如入侵检测系统、审计系统等安全系统中。该方法包含如下步骤:1.把读取的模式数据转换为几种可能的base64编码表达式;2.采用逻辑表达式方法完成转换后的该模式数据的表达;3.根据逻辑表达式生成用于并行模式匹配的匹配状态树;4.对读取的数据,调用并行模式匹配程序完成模式数据的模式匹配;5.上报匹配结果。本发明具有的优点:能够快速完成base64编码数据(如邮件)的模式匹配。该方法无需进行base64编码的解码操作,就可以完成基于base64编码数据的模式匹配。
Description
技术领域
本发明涉及一种无需解码的对base64编码数据的模式匹配方法,该方法可以广泛的用于对数据进行监测的如入侵检测系统、审计系统等安全系统中。
背景技术
作为任何一种监测系统,都希望能够对邮件进行内容检查,以便发现其中包含的蠕虫、恶意代码等内容。但由于邮件内容是base64编码形式的,无法直接进行内容匹配,因此,需要先进行base64解码,然后再进行模式匹配,但这样会造成大量的时间消耗,无法满足性能的需求。
模式匹配是指根据一个给定的字符串(该字符串叫做模式数据),判断在其他一些获得的数据中(被监测数据)该字符串是否出现的过程;并行模式匹配是对于多个模式数据,仅仅一次性扫描被监测数据,同时完成所有模式数据的匹配。目前各类网络监测系统采用的,都是并行模式匹配方法,本文的模式匹配也指并行模式匹配。
本方法提出一种无需base64解码,即可完成base64编码内容的模式匹配方法,该方法采用采用逻辑表达式方法,能够以base64编码方式表示明文模式,并采用并行并行模式匹配算法,快速的完成base64编码数据的模式匹配工作。
发明内容
本发明的目的是解决base64编码数据的快速匹配问题:把模式数据转换为base64形式,通过直接匹配base64原始数据,减少解码时间,达到快速匹配的目的。该系统通过模式数据转换和并行模式匹配2个过程组成,分别完成明文模式数据转换为base64编码的逻辑表达式,和base64编码数据的模式匹配工作。
一种无需解码的对base64编码数据的模式匹配方法,包含读取并完成数据转换和实时数据匹配的步骤:
1、读取并完成数据转换,分为下面几个子步骤:
模式数据读取;
模式数据的base64编码转换;
模式数据的逻辑表达式生成;
模式匹配状态树生成;
2、实时数据匹配,分为下面几个子步骤:
读取匹配数据;
调用并行模式匹配程序,完成模式匹配;
如果匹配成功,上报匹配结果数据。
这里的base64编码数据是指在RFC1341中定义的数据编码方式;模式匹配是指根据一定准则,使被监测的数据与模式数据中的某一个获得匹配;模式数据是指给定的一组字符串,使包含这些字符串的数据就具有一定的含义,如恶意代码等。
本发明具有的优点:能够快速完成base64编码数据(如邮件)的模式匹配。能够快速完成模式匹配的关键在于把模式数据转换为base64的形式,然后与被匹配数据直接匹配;而传统方式是把被匹配数据经过base64解码,还原成原始数据形式,再进行模式匹配。这样,就节省了一个中间环节:base64解码过程,从而提高了匹配速度。
附图说明
图1是本发明的系统处理流程;
图2是base64编码原理;
图3是base64编码的数值对应关系;
图4是base64编码的示例;
图5是逻辑表达式表示的模式数据;
图6是并行模式匹配状态树说明。
下面结合附图和具体实现来详细描述本发明。
具体实施方式
实施例1:
一种对base64编码的数据的模式匹配方法,包含读取并完成数据转换和实时数据匹配的步骤:
1、读取并完成数据转换,分为下面几个子步骤:
模式数据读取;
把待匹配的模式数据转换为base64编码;
模式数据的逻辑表达式生成;
根据逻辑表达式生成模式匹配状态树;
2、实时模式数据的匹配,分为下面几个子步骤:
读取匹配数据;
调用并行模式匹配程序,完成读取数据的模式匹配;
如果匹配成功,上报匹配结果数据。
还包括以下步骤;
模式数据指一个明文字符串,当邮件等形式的内容中(以base64编码的数据)包含该字符串时,将产生报警的步骤。
模式数据的转换指把明文的模式数据,转变为base64编码数据:每组明文的模式数据(3个字节),可以转换为3个base64编码的字符串的步骤。
base64编码数据的模式匹配过程中的逻辑表达式转换:把三种可能的base64字符串,转换为一个逻辑表达式的步骤。
base64编码数据的模式匹配过程中的模式匹配状态树的生成:按照逻辑表达式,生成可用于模式匹配的模式匹配状态树,并解决可能出现的回车符号。
base64编码数据的模式匹配过程中的数据读取:读取外部数据以便进行模式匹配的步骤。
ba se64编码数据的模式匹配过程中的模式匹配算法:调用并行模式匹配程序,对读取的数据,按照生成的逻辑表达式进行匹配处理的步骤。
base64编码数据的模式匹配过程中的结果上报:如果匹配成功,上报匹配成功结果的步骤。
实施例2:
图1描述了本系统的处理步骤。分为模式数据读取转换和实时数据匹配两个部分、七个步骤。
■读取明文模式数据:从配置文件中,读取需要匹配的明文数据。示例中为:0123456789;
■把明文数据转换为base64编码形式:把读取的明文模式数据,转换为三种可能的base64编码形式。
■把模式数据转换为逻辑表达式形式:把上述3个模式数据,通过逻辑表达式方式列出。
■生成模式匹配状态树:按照逻辑表达式,生成模式匹配状态树。由于在邮件中,数据是一组带回车符号的字符串组成的,每个字符后可能会有回车换行符号,因此,为了方便处理,在生成的匹配状态树中,考虑回车换行符号的处理:在每个节点的跳转字符中,增加了回车2个字符的跳转设置,使之仍然返回当前节点,由此过滤了回车字符对匹配结果的影响。如附图6所示。
■读取读取:从外部读取匹配数据;
■调用并行模式匹配程序:调用并行模式匹配程序,完成当前数据的模式匹配;并行模式匹配程序,指基于有限状态自动机原理,根据匹配模式生成匹配状态树,每匹配一个字符,就转换一个状态节点的匹配过程。
■上报匹配结果:如果匹配成功,上报匹配结果;完成结果处理后,继续循环处理后续数据。
图2描述了base64编码的基本原理。明文的每3个字节,生成4个base64编码字节,第一字节的高6位数据生成第一个base64编码数据,第一字节的低2位和第二字节的高4位生成第二个base64编码数据,第二字节的低4位和第三字节的高2位生成第三个base64编码数据,第三字节的低6位生成第四个base64编码数据。
图3描述了base64编码的数值对应:明文的6位数据(0-63),对应到base64编码的数据:A-Z、a-z、0-9、+、\。
图4描述了base64编码的重复性:从连续6个依次移动一个字节的明文数据可见,base64编码出现3种完全相同的数据字符串。从前面的编码原理也可以看出,对一个连续的字符串,无论其起始位置在什么地方,它的base64编码,只能够表现为三种形式之一。但这里注意:由于第一个字节、最后一个字节可能与其他字节相混合编码,因此作为base64模式数据,其有效的数据可能少1-2个字节。如对字符串“0123456789”,其可能的base64编码数据为:
图5列出了逻辑表达式表示的匹配数据。其中,或符号“|”表示几个或关系的模式数据,当匹配成功其中任意一个模式数据时,本表达式匹配成功。
图6列出了并行模式匹配程序生成的匹配状态树的一部分。其中,节点0表示起始节点,虚线圆圈表示匹配的字符,匹配字符“-1”表示除标明字符外的所有其他字符。图中列出的部分匹配字符“MDEy”4个字符,原匹配树是一个简单的树型结构,分别依次匹配M、D、E和y,匹配成功则进入下一个节点,匹配失败则返回起始节点0。为了解决回车符号的过滤,增加了虚线的2个回车字符的匹配,当匹配到回车2个字符(0x0d和0x0a)时,下一个匹配节点仍然是当前节点,而不是返回起始节点,这样就可以过滤回车符号对匹配结果的影响。
Claims (6)
1.一种无需解码的对base64编码数据的模式匹配方法,其特征在于包含下面几个步骤;
1)读取并完成模式数据转换,分为下面几个子步骤:
a)把待匹配的模式数据转换为base64编码;
b)模式数据的逻辑表达式生成;
c)根据逻辑表达式生成模式匹配状态树;
2)实时模式数据的匹配,分为下面几个子步骤:
a)调用并行模式匹配程序,完成读取数据的模式匹配;
b)如果匹配成功,上报匹配结果数据。
2.根据权利要求1所述的一种无需解码的对base64编码数据的模式匹配方法,其特征在于:模式数据指一个明文字符串,当邮件等形式的内容中(以base64编码的数据)包含该字符串时,将产生报警。
3.根据权利要求1所述的一种无需解码的对base64编码数据的模式匹配方法,其特征在于:base64编码数据的模式匹配过程中的逻辑表达式转换:把三种可能的base64字符串,转换为一个逻辑表达式。
4.根据权利要求1所述的一种无需解码的对base64编码数据的模式匹配方法,其特征在于:根据逻辑表达式,生成并行模式匹配状态树,并使生成的状态树能够处理回车换行2个可能的间隔字符:对每个状态节点的二个回车字符(0d0a)进行修改,使其下一个处理的状态节点,仍然为当前节点,这样就可以过滤回车符号对匹配结果的影响。
5.根据权利要求1所述的一种无需解码的对base64编码数据的模式匹配方法,其特征在于:base64编码数据的模式匹配过程中的模式匹配算法:调用并行模式匹配程序,对读取的数据,按照生成的模式匹配状态树进行匹配处理。
6.根据权利要求1所述的一种无需解码的对base64编码数据的模式匹配方法,其特征在于:base64编码数据的模式匹配过程中的结果上报:如果匹配成功,上报匹配成功结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101060199A CN101577703A (zh) | 2008-05-07 | 2008-05-07 | 一种无需解码的对base64编码数据的模式匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101060199A CN101577703A (zh) | 2008-05-07 | 2008-05-07 | 一种无需解码的对base64编码数据的模式匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101577703A true CN101577703A (zh) | 2009-11-11 |
Family
ID=41272491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101060199A Pending CN101577703A (zh) | 2008-05-07 | 2008-05-07 | 一种无需解码的对base64编码数据的模式匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101577703A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799806A (zh) * | 2012-06-14 | 2012-11-28 | 中国人民解放军信息工程大学 | 一种基于树结构的密码算法逻辑表达式识别方法 |
CN106649217A (zh) * | 2016-10-28 | 2017-05-10 | 东软集团股份有限公司 | 数据的匹配方法及装置 |
CN108133052A (zh) * | 2018-01-18 | 2018-06-08 | 广州汇智通信技术有限公司 | 一种多关键字的搜索方法、系统、介质及设备 |
US10540379B2 (en) | 2017-12-11 | 2020-01-21 | International Business Machines Corporation | Searching base encoded text |
CN114257442A (zh) * | 2021-12-20 | 2022-03-29 | 山石网科通信技术股份有限公司 | 一种传输漏洞的检测方法及装置、存储介质 |
-
2008
- 2008-05-07 CN CNA2008101060199A patent/CN101577703A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799806A (zh) * | 2012-06-14 | 2012-11-28 | 中国人民解放军信息工程大学 | 一种基于树结构的密码算法逻辑表达式识别方法 |
CN102799806B (zh) * | 2012-06-14 | 2015-02-25 | 中国人民解放军信息工程大学 | 一种基于树结构的密码算法逻辑表达式识别方法 |
CN106649217A (zh) * | 2016-10-28 | 2017-05-10 | 东软集团股份有限公司 | 数据的匹配方法及装置 |
US10540379B2 (en) | 2017-12-11 | 2020-01-21 | International Business Machines Corporation | Searching base encoded text |
CN108133052A (zh) * | 2018-01-18 | 2018-06-08 | 广州汇智通信技术有限公司 | 一种多关键字的搜索方法、系统、介质及设备 |
CN114257442A (zh) * | 2021-12-20 | 2022-03-29 | 山石网科通信技术股份有限公司 | 一种传输漏洞的检测方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101577703A (zh) | 一种无需解码的对base64编码数据的模式匹配方法 | |
US9235724B2 (en) | Systems, methods, and computer medium to securely transfer backup data between physically isolated networks having different levels of network protection | |
CN110958252B (zh) | 一种网络安全设备及其网络攻击检测方法、装置和介质 | |
US20110185077A1 (en) | Multi-pattern matching in compressed communication traffic | |
CN112039196A (zh) | 一种基于协议逆向工程的电力监控系统私有协议解析方法 | |
CN105281843A (zh) | 二维码信息的发送、接收方法及发送、接收装置 | |
CN110598464B (zh) | 一种人脸识别系统的数据与模型安全保护方法 | |
CN114239779A (zh) | 一种数据传输方法、传输系统、采集设备及接收设备 | |
Jamal et al. | Modeling and Verification of Aircraft Takeoff Through Novel Quantum Nets. | |
CN101136640A (zh) | 在序列间置换涡轮码系统中利用可变长度输入 | |
CN108897721B (zh) | 一种对多种编码的数据进行解码的方法和装置 | |
CN116821967A (zh) | 用于隐私保护的交集计算方法及系统 | |
CN105279728B (zh) | 基于秘密信息加密预处理的智能移动终端图像隐写方法 | |
CN111045892A (zh) | 一种智能合约执行的过程状态检测方法及装置 | |
CN108134799B (zh) | 新型编解码方法及其装置 | |
CN110941236A (zh) | 一种plc安全监测和动态度量方法与系统 | |
CN108900300B (zh) | 一种用于连续变量量子密钥分发中的高效错误校验与私钥放大方法 | |
CN109743581A (zh) | 编码端处理方法、解码端处理方法及防止伪起始码的方法 | |
CN102244521A (zh) | 一种归零Turbo码编码参数的盲识别方法 | |
CN114584362A (zh) | 一种防止unicode编码绕过的检测方法和装置 | |
CN102073530B (zh) | 一种多条正则表达式的增量分组方法 | |
CN114386067A (zh) | 一种基于人工智能的设备生产数据安全传输方法及系统 | |
CN102270499B (zh) | 一种存储装置 | |
CN102013208A (zh) | 一种条形码、安全线的防伪方法及产品 | |
CN111698077A (zh) | 一种采用动态整数混沌的hevc视频加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091111 |