【技术实现步骤摘要】
一种面向会话的网络流量存储及索引方法
[0001]本专利技术属于信息安全
,具体是一种面向会话的网络流量存储及索引方法。
技术介绍
[0002]近年来,随着网络安全技术的发展,越来越多高级、复杂且隐蔽的攻击手法不断被开发出来,比如0day/Nday漏洞利用攻击、供应链攻击、无文件攻击等,这些攻击手段尤其在APT(Advanced Persistent Threat)攻击中应用的最为广泛。由于攻防的不对称,防御方往往无法在第一时间发现和防御这些攻击手段,因此,留存完整的原始网络流量是安全分析人员对网络攻击事件进行溯源和取证的重要技术手段,网络流量存储和溯源技术比较广泛的应用在政府、金融和科研等重要领域。
[0003]在现有技术方案中,已经有一些公开的软件来实现数据包留存,如tcpdump和wireshark,这两个软件都可以将网络流量保存为常见的数据包格式,如pcap格式,但由于实现技术以及磁盘IO性能的限制,这两个软件都无法实现高性能的数据包索引。数据包存储和索引技术的主要瓶颈之一是磁盘IO的速度限制,虽然目前raid5硬盘阵列的顺序读写入性能能够达到1GB/S以上,但随机读写的性能却很低,4KB大小的随机磁盘读取性能的IOPS仅有200左右,换算速率仅为1MB/S左右。为了优化磁盘IO性能,目前常见的优化手段是将磁盘随机IO转变为顺序IO,同时通过压缩和去重等手段降低数据量以减少磁盘IO数据量。
[0004]为了解决数据包存储和快速索引问题,专利CN103259737A提出了一种基于多队列并行 ...
【技术保护点】
【技术特征摘要】
1.一种面向会话的网络流量存储及索引方法,其特征在于:包括数据包存储和数据包索引两个步骤,所述数据包存储步骤如下:步骤1:网络流量镜像通过交换机端口镜像和光纤分光镜像网络数据包流量;步骤2:高性能流量采集实现网络流量还原,从网络镜像设备中还原网络数据包,实现高性能流量采集;步骤3:数据包协议解析识别数据包的网络层和传输层协议,识别数据包的二层协议和三层协议;步骤4:会话重组根据数据包的协议、IP和端口信息生成相应的IP会话或者五元组会话,进行会话重组,对于没有端口的IP层协议生成IP对会话,对于有端口的TCP/UDP协议生成五元组会话,跟踪所有会话完整的生命周期;步骤5:会话数据包缓存在会话活动生命周期中,缓存会话数据包到相应的会话对象中;步骤6:会话数据包缓存根据数据包缓存消耗阈值和会话的消亡时机来推动会话数据包的落盘,在内存空间足够的情况下,缓存更多的数据包;步骤7:预分配存储分区在数据包落盘之前提前在磁盘预分配相应的存储空间;步骤8:数据包分块存盘根据每个会话当前落盘数据包集合,生成数据包分块存储的分块基本信息和分块数据包内容,分块基本信息包括:当前分块数据包总数、当前分块数据包起始时间戳、前序分块总数、当前分块长度、分块头部校验和、前序分块偏移和分区ID数组、前序分块长度数组、前序分块起始时间戳数组、前序分块数据包个数数组、当前分块数据包起始偏移数组;分块数据包内容包括每个数据包的时间戳和数据包原始内容;步骤9:会话消亡。2.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤6中,当整体会话数据包超过缓存限制时,以会话的最后活动时间进行遍历,将长时间未活动的会话数据包进行落盘,直到内存空间回到指定的空闲空间大小,缓存空间大小需要容纳30秒到120秒的网络流量;当每条会话单独缓存数据包容量超过4GB时以及会话消亡时也需要立即启动当前会话的数据包落盘。3.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤7中,每次预分配大小为64G,在磁盘上产生一个实体文件作为一个独立存储分区,分区存储文件以分区ID为文件名,每个分区的总大小不超过1TB大小。4.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤8中,整体存储结构如下:4B:当前分块数据包个数;4B:当前分块数据包起始时间戳;2B:前序分块总数,为0时前序分块相关的数组为空;
5B:当前分块长度;1B:分块头部校验和;[{5B:偏移,3B:分区ID}]:前序分块偏移和分区ID数组;[{4B:前序分块长度}]:前序分块长度数组;[{4B:前序分块起始时间戳}]:前序分块起始时间戳数组;[{4B:前序分块数据包个数}]:前序分块数据包个数数组;[5B:当前数据包偏移]:当前数据包起始偏移数组;[{8B:数据包1到n时间戳,*B:数据包1到n的数据内容}]:分块数据包内容。5.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤8中,每个分块的总体内容不超过4GB大小,超过4GB后会分割成多个分块,当会话存在多个数据包分块时,会话对象会将所有前序分块的基本信息保存到前序分块基本信息数组中,包括前序分块偏移和分区ID数组、前序分块长度数组、前序分块起始时间戳数组、前序分块数据包个数数组,每次有新的数据包分块落盘都会更新前序分块的基...
【专利技术属性】
技术研发人员:田红伟,徐文勇,魏勇,
申请(专利权)人:成都数默科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。