全流量存储回溯分析系统中父子连接的处理方法技术方案

技术编号:30772600 阅读:19 留言:0更新日期:2021-11-10 12:45
本发明专利技术涉及数据的分析处理技术领域,具体提供一种全流量存储回溯分析系统中父子连接的处理方法,包括如下步骤:确定每个worker线程的端口范围,建立每个worker线程与端口的映射关系;基于上述设置的映射关系,配置流量的两个方向,一个方向选择来源端口配置,另一个方向选择目的端口配置;构建每个worker线程局部的数据连接哈希映射表;分别对控制连接、数据连接以及存储线程进行处理。本发明专利技术保证了父子连接报文的应用识别准确性的同时,也没有使得同一ip地址分配到同一线程带来的负载均衡引起的健壮性问题,还能提升整体的高并发性能。能。能。

【技术实现步骤摘要】
全流量存储回溯分析系统中父子连接的处理方法


[0001]本专利技术涉及数据的分析处理
,具体提供一种全流量存储回溯分析系统中父子连接的处理方法。

技术介绍

[0002]对于安全厂商而言,防火墙和全流量存储回溯分析系统虽然都是对流量进行分析处理,但是对数据连接报文的处理逻辑却是不同的。这是因为防火墙等系统可以保证控制连接和数据连接的报文时序,而全流量存储回溯分析系统则是对报文的镜像处理,因为多核系统处理报文驱动收包,故而处理全流量存储的线程无法保证控制连接和数据连接被同一worker线程收到,更无法保证控制连接会比数据连接先处理。这对于流量分析系统而言,数据连接需要依赖控制连接才能识别出来应用类型,如果数据连接比控制连接识别出来还慢,很可能影响了应用识别的准确度,造成漏报。
[0003]以ftp被动PASV为例,为了解决服务器发起到客户的连接问题,当客户端通知服务器它处于被动模式时才启用。在被动方式FTP中,控制连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
[0004]与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令,这样做的结果是服务器会开启一个任意的非特权端口(端口号大于1024,假设为PortA),并发送PORT P命令给客户端。客户端收到后发起从本地端口(端口号大于1024,假设为PortB),到服务器的端口PortA的连接用来传送数据。对于ftp而言,未能及时识别出ftp流量的后果是,无法实时处理ftp数据连接中的文件提取功能,来检测ftp中下载的流量是否为病毒,是否需要沙箱处理。
[0005]对于防火墙,由于是实时处理ftp流量,控制连接建立后才会建立数据连接,但是对于全流量存储系统而言,处理逻辑为镜像处理报文无法保证数据连接的处理时序。业内的通用做法是捕获进程与分析进程分而治之,捕获进程负责负载均衡将同一ip的报文送入同一个分析进程,因为父子连接的ip地址相同,故而可以保证分析进程处理父子连接时是按照时序处理的。但是这种设计方案会增加进程切换以及报文在线程之间流转,也会造成cache miss,从而影响性能。
[0006]由于将捕获线程和分析线程分开的弊端,业内的另一种做法是捕获线程同时做分析处理,即两者合二为一,但是需要保证父子连接被同一捕获线程收到,这需要利用硬件收包驱动配置,使同一(sip,dip)或者是同一sip或者同一dip的报文被同一捕获线程收到,但是这种很容易造成负载不均衡,从而影响系统的健壮性。
[0007]对于全流量存储回溯系统中ftp父子连接的处理属于流量分析的一部分,它并非全流量存储系统中的关键功能,各个厂商对其并未特别处理,要么牺牲性能,要么牺牲负载均衡带来的健壮性,要不就忍受多核处理父子连接时序的错乱带来的漏报问题。

技术实现思路

[0008]为了解决上述技术问题,本专利技术提供了一种全流量存储回溯分析系统中父子连接的处理方法,对父子连接进行优化设计,保证了父子连接报文的应用识别准确性的同时,也没有使得同一ip地址分配到同一线程带来的负载均衡引起的健壮性问题,还能提升整体的高并发性能。
[0009]本专利技术是这样实现的,提供一种全流量存储回溯分析系统中父子连接的处理方法,包括如下步骤:1)确定每个worker线程的端口范围,建立每个worker线程与端口的映射关系;2)基于步骤1)设置的映射关系,配置流量的两个方向,一个方向选择来源端口配置,另一个方向选择目的端口配置;3)构建每个worker线程局部的数据连接哈希映射表;4)控制连接按照如下流程处理:401)当worker线程A识别出控制连接存在被动连接、需要建立数据连接时,worker线程A获取服务器发来的目的端口,根据步骤1)建立的映射关系,计算出与该端口对应的worker线程的id,假设为worker线程B,然后worker线程A将数据连接的信息发送给worker线程B,worker线程B在自己的哈希映射表上添加该数据连接的哈希表项;402)当worker线程A识别出控制连接结束,即控制连接会话删除阶段时,无锁查询数据连接所对应的worker线程B的哈希映射表,查看表中数据连接所对应的哈希表项是否被清除,以判断这个数据连接是否被真正识别:4021)如果数据连接所对应的哈希表项被清除,表示已经识别出数据连接的应用类型,给该数据连接打标签flag=1,发送给存储线程正常处理;4022)如果数据连接所对应的哈希表项未被清除,打上标签flag=0,有以下两种情况:该数据连接报文未被处理,此时等待数据连接被处理即可;该数据连接报文已处理完毕,此时发送给存储线程后,存储线程查询索引表,对所有数据连接报文的应用类型重新标记为数据连接,并重新索引处理;5)数据连接按照如下流程处理:501)当worker线程B收到数据连接新建或删除消息时,在worker线程B中无锁处理该数据连接所对应的哈希表项,添加或删除对应哈希表项;502)当worker线程B需要识别数据连接时,按照如下流程处理:502

1)如果会话的类型为tcp报文且来源端口和目的端口的范围均为1024

65535之间,则报文可能为被动连接,否则不可能为被动连接;502

2)当可能为被动连接时,提取数据连接的key(sip,dip,dport),无锁查找worker线程B的哈希映射表,如果找到此项则获取value值,即获取到相应的应用类型;502

3)识别出应用类型后则基于应用类型进行处理;502

4)处理结束后,删除哈希映射表中数据连接对应的该哈希表项;503)当数据连接结束时,如果识别出数据连接的应用类型,则给报文打上flag=1的标签正常处理;504)当未识别出数据连接的应用类型,而数据连接的报文却需要送往存储线程处
理时,将报文打上flag=2的标签;6)存储线程按照如下流程处理:601)根据控制连接和数据连接的sip、dip,计算出存储线程的id;602)当为步骤4022)中的情况,即为控制连接且flag=0时,按照数据连接的信息查找索引表,如果能够找到,则设置该连接为数据连接,按照其应用类型进行处理,并重置该数据连接的索引,如果没有找到,结束对该控制连接的额外处理,对控制连接的报文进行正常存储;603)当为步骤504)中的情况,即为数据连接且flag=2时,根据数据连接端口的信息确定与该端口对应的worker线程的id,然后查找该worker线程的哈希映射表,如果能够找到,则设置该连接为数据连接,按照其应用类型进行处理,并在该worker线程的哈希映射表中删除该数据连接对应的哈希表项,重置该数据连接的索引并存储报文,如果没有找到,结束对该数据连接的额外处理,对数据连接的报文进行正常存储;604)当为步骤4021)和步骤503)中的情况,即为控制连接或数据连接且flag=1时,设置该连接的索引并存储报文。
[0010]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.全流量存储回溯分析系统中父子连接的处理方法,其特征在于,包括如下步骤:1)确定每个worker线程的端口范围,建立每个worker线程与端口的映射关系;2)基于步骤1)设置的映射关系,配置流量的两个方向,一个方向选择来源端口配置,另一个方向选择目的端口配置;3)构建每个worker线程局部的数据连接哈希映射表;4)控制连接按照如下流程处理:401)当worker线程A识别出控制连接存在被动连接、需要建立数据连接时,worker线程A获取服务器发来的目的端口,根据步骤1)建立的映射关系,计算出与该端口对应的worker线程的id,假设为worker线程B,然后worker线程A将数据连接的信息发送给worker线程B,worker线程B在自己的哈希映射表上添加该数据连接的哈希表项;402)当worker线程A识别出控制连接结束,即控制连接会话删除阶段时,无锁查询数据连接所对应的worker线程B的哈希映射表,查看表中数据连接所对应的哈希表项是否被清除,以判断这个数据连接是否被真正识别:4021)如果数据连接所对应的哈希表项被清除,表示已经识别出数据连接的应用类型,给该数据连接打标签flag=1,发送给存储线程正常处理;4022)如果数据连接所对应的哈希表项未被清除,打上标签flag=0,有以下两种情况:该数据连接报文未被处理,此时等待数据连接被处理即可;该数据连接报文已处理完毕,此时发送给存储线程后,存储线程查询索引表,对所有数据连接报文的应用类型重新标记为数据连接,并重新索引处理;5)数据连接按照如下流程处理:501)当worker线程B收到数据连接新建或删除消息时,在worker线程B中无锁处理该数据连接所对应的哈希表项,添加或删除对应哈希表项;502)当worker线程B需要识别数据连接时,按照如下流程处理:502

1)如果会话的类型为tcp报文且来源端口和目的端口的范围均为1024

65535之间,则报文可能为被动连接,否则不可能为被动连接;502

2)当可能为被动连接时,提取数据连接的key(sip,dip,dport),无锁查找worker线程B的哈希映射表,如果找...

【专利技术属性】
技术研发人员:曲武
申请(专利权)人:金睛云华沈阳科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1