一种基于文件序列化的自动机远程分发和初始化方法

文档序号:9547233阅读:208来源:国知局
一种基于文件序列化的自动机远程分发和初始化方法
【技术领域】
[0001]本发明涉及大规模分布式特征实时检测和匹配技术领域,尤其涉及到使用自动机匹配技术进行多模式子串匹配的分布式检测系统。
【背景技术】
[0002]互联网的飞速发展伴随着大量的网络攻击和恶意代码的传播,如何从海量的互联网流量中检测出这些攻击特征和恶意代码成为一个巨大的挑战。基于知名的开源引擎如SNORT,BR0等而形成的分布式特征检测与匹配系统是解决这个挑战的主要技术之一。而在这些分布式系统中,特征检测和匹配算法是其中的关键技术,基于自动机的匹配算法是众多匹配算法中的使用比较广泛的一种特征匹配算法。
[0003]原来自动机匹配算法的实现方式是先将所有的规则和特征分发到每一台处理机上,各自根据规则和特征初始化生成匹配自动机,然后基于自动机进行特征匹配。这种方式使得特征和规则暴露在所有的处理机上,形成安全隐患,而且每一台处理机都要进行同样的初始化过程,系统开销较大。

【发明内容】

[0004]本发明要解决的技术问题是提供一种基于文件序列化的自动机远程分发和初始化方法,将位于内存的自动机序列化成本地文件,然后将序列化后的文件进行分发和快速部署,以替代原有的基于规则和特征的分发和部署方式。
[0005]—种基于文件序列化的自动机远程分发和初始化方法,该方法包括步骤:
[0006]S1.配置后端服务器,将特征和规则进行初始化生成自动机;
[0007]S2.在所述后端服务器上将自动机序列化到本地,以文件形式存储;
[0008]S3.配置分发网络和η台处理机,所述后端服务器将文件形式存在的自动机通过分发网络发送给所有需要进行匹配处理的处理机;
[0009]S4.每台处理机都接收文件形式存在的自动机,并初始化到内存;
[0010]S5.处理机根据新生成自动机进行特征的匹配和检测处理。
[0011]本发明的有益效果:
[0012]本发明提供了一种可靠的自动机序列化方法,将位于内存的自动机序列化成本地文件,然后将序列化后的文件进行分发和快速部署,以替代原有的基于规则和特征的分发和部署方式。
【具体实施方式】
[0013]本发明提供了一种基于文件序列化的自动机远程分发和初始化方法,该方法包括步骤:
[0014]S1.配置后端服务器,将特征和规则进行初始化生成自动机;
[0015]S2.在后端服务器上将自动机序列化到本地,以文件形式存储;
[0016]S3.配置分发网络和η台处理机,后端服务器将文件形式存在的自动机通过分发网络发送给所有需要进行匹配处理的处理机;
[0017]S4.每台处理机都接收文件形式存在的自动机,并初始化到内存;
[0018]S5.处理机根据新生成自动机进行特征的匹配和检测处理;
[0019]其中,步骤S1之前还包括步骤:
[0020]Α,.启动异步消息网络系统;
[0021 ] 其中,步骤S1还包括步骤:
[0022]S1.1后端服务器在自动机算法实现时将其数据结构分成两类,一类是纯指针,一类是纯数据;所有的指针都指向纯数据部分的内存地址;
[0023]S1.2后端服务器开辟两块连续的内存,一块用来存放纯指针,一块用来存放纯数据;
[0024]S1.3后端服务器按照前面两点进行自动机的构建和初始化工作。
[0025]其中,步骤S2还包括步骤:
[0026]S2.1以下所有操作都在后端服务器上完成;
[0027]S2.2将存贮纯数据的内存内容直接以字符格式原样写出到文件filel里面,并在filel文件中记录下字符的总长度lenl ;这块内存的起始地址记为pO ;
[0028]S2.3存储指针数据的内存起始地址为记为pi,对每一个指针i,其中0 < i〈len2,计算偏移量offset[i] = pl[i] - pO,将每一个偏移量以32位整数格式写入到文件file2中,并在file2记录下总偏移量的个数len2 ;
[0029]S2.4将filel和file2按照一定的格式封装,形成完整的自动机序列化后的文件。
[0030]其中,步骤S4还包括步骤:
[0031]S4.1以下所有操作都在处理机上完成;
[0032]S4.2收到自动机序列化文件后,首先从文件中获取lenl的值,在内存中开辟lenl长度的空间,将filel的字符内容原样写入到内存,并记录下这块内存的起始地址p2 ;
[0033]S4.3从自动机文件中获取len2的值,在内存开辟len2个连续的指针;从自动机文件中获取偏移量offset [i],其中0 < i〈len2,对每一个指针重新赋值offset [i]+p2 ;
[0034]S4.4至此,处理机上的自动机初始化工作完成。
【主权项】
1.一种基于文件序列化的自动机远程分发和初始化方法,其特征在于,包括步骤: 51.配置后端服务器,将特征和规则进行初始化生成自动机; 52.在所述后端服务器上将自动机序列化到本地,以文件形式存储; 53.配置分发网络和η台处理机,所述后端服务器将文件形式存在的自动机通过分发网络发送给所有需要进行匹配处理的处理机; 54.每台处理机都接收文件形式存在的自动机,并初始化到内存; 55.处理机根据新生成自动机进行特征的匹配和检测处理。2.如权利要求1所述的一种基于文件序列化的自动机远程分发和初始化方法,其特征在于,其中,步骤S1之前还包括步骤: A:.启动异步消息网络系统。3.如权利要求1所述的一种基于文件序列化的自动机远程分发和初始化方法,其特征在于,其中,步骤S1还包括步骤: S1.1后端服务器在自动机算法实现时将其数据结构分成两类,一类是纯指针,一类是纯数据;所有的指针都指向纯数据部分的内存地址; S1.2后端服务器开辟两块连续的内存,一块用来存放纯指针,一块用来存放纯数据; 51.3后端服务器按照前面两点进行自动机的构建和初始化工作。4.如权利要求3所述的一种基于文件序列化的自动机远程分发和初始化方法,其特征在于,其中,步骤S2还包括步骤: 52.1以下所有操作都在后端服务器上完成; S2.2将存贮纯数据的内存内容直接以字符格式原样写出到文件filel里面,并在filel文件中记录下字符的总长度lenl ;这块内存的起始地址记为pO ; S2.3存储指针数据的内存起始地址为记为pi,对每一个指针i,其中0 < i〈len2,计算偏移量0ffset[i] = pl[i] - pO,将每一个偏移量以32位整数格式写入到文件file2中,并在file2记录下总偏移量的个数len2 ; S2.4将filel和file2按照一定的格式封装,形成完整的自动机序列化后的文件。5.如权利要求4所述的一种基于文件序列化的自动机远程分发和初始化方法,其特征在于,其中,步骤S4还包括步骤: S4.1以下所有操作都在处理机上完成; S4.2收到自动机序列化文件后,首先从文件中获取lenl的值,在内存中开辟lenl长度的空间,将filel的字符内容原样写入到内存,并记录下这块内存的起始地址p2 ; S4.3从自动机文件中获取len2的值,在内存开辟len2个连续的指针;从自动机文件中获取偏移量offset [i],其中0 < i〈len2,对每一个指针重新赋值offset [i]+p2 ; S4.4至此,处理机上的自动机初始化工作完成。
【专利摘要】本发明提供一种基于文件序列化的自动机远程分发和初始化方法,将位于内存的自动机序列化成本地文件,然后将序列化后的文件进行分发和快速部署,以替代原有的基于规则和特征的分发和部署方式。该方法包括步骤:S1.配置后端服务器,将特征和规则进行初始化生成自动机;S2.在所述后端服务器上将自动机序列化到本地,以文件形式存储;S3.配置分发网络和n台处理机,所述后端服务器将文件形式存在的自动机通过分发网络发送给所有需要进行匹配处理的处理机;S4.每台处理机都接收文件形式存在的自动机,并初始化到内存;S5.处理机根据新生成自动机进行特征的匹配和检测处理。
【IPC分类】G06F17/30
【公开号】CN105302851
【申请号】CN201510572332
【发明人】何清林, 马秀娟, 孙昊良, 吴昊, 张良, 王大伟, 汪立东
【申请人】国家计算机网络与信息安全管理中心
【公开日】2016年2月3日
【申请日】2015年9月10日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1