一种ip流数据在线实时匿名化系统和方法

文档序号:8285251阅读:541来源:国知局
一种ip流数据在线实时匿名化系统和方法
【技术领域】
[0001]本发明涉及流量捕获回放技术领域,具体涉及一种IP流数据在线实时匿名化系统和方法。
【背景技术】
[0002]网络设备测试是保障网络设备可靠性和稳定性的关键环节,现有的测试技术是通过Smartbits、TestCenter等流量仿真测试仪产生模拟仿真的流量进行网络安全设备的测试,这种测试技术已经不能满足网络安全设备能在更加高速和更为复杂的环境中正确的实行安全保护的功能的需求。真实流量回放方法是一种将真实网络流量捕获存储并进行还原回放的网络测试方法。该方法可以再现实际的网络场景,达到考察被测系统在实际网络环境中的功能和性能的目的。真实流量回放方法已经成为了对各类网络/安全设备(如IDS,Firewall, IPS等)进行客观、全面、系统测试的是一种重要方法。
[0003]现实真实网络流量是支撑各项网络安全和信息安全各项试验极为重要的资源,也是真实网络流量回放的基础。由于真实流量来源于现网环境,放映了用户的行为,承载了大量的用户行为信息及个人隐私信息,IP流数据中有网络用户的IP地址、通信内容等隐私信息,如果不加处理或处理不当就将IP流数据向外界公布,势必会侵犯网络用户的隐私权或商业秘密,这就极大的限制了真实流量允许使用的范围和使用效率。如何将真实流量的隐私特性进行匿名化,并在此基础上生成接近真实流量的仿真模拟流量是解决真实流量使用问题的有效方法,也是提升专用设备测试环境构建的重要途径。
[0004]现有的网络设备真实流量还原回放测试方法主要是首先将网络流量捕获存储,然后对网络流量进行一些匿名化处理,最后将网络流量离线情况下还原回放到网络设备中进行测试。这种方法的最大缺点是流量捕获存储过程中不能对网络流量进行实时的还原回放和再现当前网络场景。主要表现在对于网络设备测试来说,首先,一般情况下网络设备测试周期长,将网络流量捕获存储后需要很大的磁盘空间对网络流量进行存储;其次,网络流量在没有处理的情况下是不能够使用的,主要是对流量数据包中的IP地址进行处理,面对如此大的网络流量需要很长的处理时间进行处理;最后,离线还原回放网络流量同样需要很长的时间,还原回放不能实时再现当前网络场景。对于网络设备测试来说浪费了宝贵测试的时间,极大的延长了测试周期,不能使用实时网络场景对网络设备进行安全性测试。因此对于网络设备测试技术来说,迫切需要集网络流量在线实时捕获、匿名化以及还原回放为一体的网络设备测试系统和方法。

【发明内容】

[0005]本发明针对现有技术中存在的不足,提供了对实际网络中IP流数据在线实时捕获、匿名化和还原回放为一体的系统框架。系统在对IP流数据捕获过程中使用匿名化算法在线实时的处理数据,处理完成后实时的将匿名化后的网络流量进行在线回放。
[0006]根据本发明的一个方面,提供一种IP流数据在线实时匿名化系统,包括IP流数据捕获模块、IP流数据匿名化模块、IP流数据存储模块以及匿名化IP流回放模块,其中:ip流数据捕获模块,用于从接收到的网络流量中提取数据包IP地址信息以及数据包包头信息;IP流匿名化模块,用于在IP流数据捕获的过程中使用匿名化算法在线实时地对IP地址进行匿名化处理;IP流数据存储模块,用于将匿名化后的IP流数据存储到存储设备中;匿名化IP流回放模块,用于通过在回放时指定回放数据包的源、目的MAC地址和对IP流数据包头中的校验位进行重新计算来将匿名化的IP流数据进行在线实时回放处理。
[0007]根据本发明的另一方面,提供一种IP流数据在线实时匿名化方法,包括以下步骤:
[0008]步骤1,从接收到的网络流量中提取数据包IP地址信息以及数据包包头信息;
[0009]步骤2,在IP流数据捕获的过程中使用匿名化算法在线实时地对IP地址进行匿名化处理;
[0010]步骤3,将匿名化处理后的源、目的IP地址覆盖写入到提取的数据包包头中源、目IP地址的相应位置,然后将匿名化后的IP数据包写入到内存中已经申请好的环形循环缓存中;假定环形循环缓存具有N块大小为M的缓存块,根据当前缓存写入操作指向的缓存块P的标志位,缓存写入操作包括:
[0011](I)若当前指向的缓存块P标志位为空,则直接将数据包写入到该缓存块中,缓存块写入长度L加固定写入数据包长度N,L = L+N,若(L+N) > M,则标记当前缓存块P为满,返回步骤3 ;
[0012](2)若当前指向的缓存块P标志位为满,则将当前缓存写入操作指向下一块缓存块,P = (P+1) % N ;若当前指向的缓存块P标志位为空,则直接将数据包信息写入到该缓存块中,缓存块写入长度L加固定写入数据包长度N,L = L+N ;若P标志位为满,则缓存块全部写满,系统等待直到P标志位为空,返回步骤3 ;
[0013]步骤4,存储设备写入操作指向同一环形循环缓存,根据当前存储设备写入操作指向的缓存块的标志位,存储设备写入操作包括:
[0014](I)若当前指向的缓存块Q标志位为空,则等待直到Q标志位为满,返回步骤4 ;
[0015](2)若当前指向的缓存块Q标志位为满,则将该缓存块中的内容全部写入到存储设备中,写入完成后置该缓存块Q标志位为空,将存储设备写入操作指向下一块缓存块,Q=(Q+1) % N,返回步骤4 ;
[0016]步骤5,根据回放指定的起始时间使用二分查找算法通过查看已经存储的数据包中包头的时间戳信息,找到第一个时间戳大于或等于指定回放起始时间的数据包,回放操作指向该数据包,并且设置下一秒回放数据包时间为该数据包头时间加I秒,设置下一秒系统时间为获取到的系统时间加I秒;
[0017]步骤6,获取当前系统时间,读取当前回放操作指向的数据包包头时间,若当前回放操作指向的数据包为空,转向步骤10 ;若当前回放操作指向的数据包时间大于或等于设定的回放结束时间,转向步骤11 ;根据下一秒回放数据包时间、当前数据包回放时间、下一秒系统时间以及当前系统时间判断回放操作包括:
[0018](I)若当前系统时间小于下一秒系统时间且当前回放数据包时间小于下一秒回放数据包时间,转向步骤7 ;
[0019](2)若当前系统时间大于等于下一秒系统时间且当前回放数据包时间大于等于下一秒回放数据包时间,转向步骤8 ;
[0020](3)若当前系统时间大于等于下一秒系统时间且当前回放数据包时间小于等于下一秒回放数据包时间,转向步骤8 ;
[0021](4)若当前系统时间小于下一秒系统时间且当前回放数据包时间大于等于下一秒回放数据包时间,转向步骤9 ;
[0022]步骤7,获取回放操作指向的数据包包头信息,添加数据包源、目的MAC地址,根据数据包包头中的数据包长度信息随机添加数据包的负载,根据数据包的协议信息使用相应的校验算法重新计算校验位,使用数据包回放接口函数将数据包实时回放到真实网络环境中,回放操作指向下一个数据包,回放完成后转向步骤6 ;
[0023]步骤8,下一秒回放数据包时间加I秒,下一秒系统时间加I秒,转向步骤6 ;
[0024]步骤9,回放操作挂起设定的时间,转向步骤6 ;
[0025]步骤10,回放操作挂起设定的时间,转向步骤6 ;
[0026]步骤11,回放操作正常完成。
[0027]本发明的技术方案有以下优点及效果:
[0028](I)与现有技术相比,本发明创造性的将IP流在线实时捕获、匿名化、存储和还原回放结合为了一体。弥补了现有还原回放测试方法测试周期长和不能实时再现当前网络场景的缺陷和不足。
[0029](2)本发明在存储数据过程中只存储了固定的56字节数据包包头的部分信息,最大程度保留了 IP流数据的原始特征信息,保留了数据的使用价值,大大提高了存储设备的利用率;
[0030](3)本发明在根据指定回放时间进行回放时,定位数据包算法的复杂度为1g2 (η),定位效率更加高效。
[0031](4)本发明在回放过程中根据存储的数据包时间戳信息,使用时间比较算法,数据包回放速率相比于数据包捕获速率精确到了秒级,最大程度再现了当前的网络场景,另外本发明也可以根据指定的回放时间实时再现任意时段的网络场景。
【附图说明】
[0032]图1是根据本发明实施例的IP流数据在线实时匿名化系统的框图;
[0033]图2示意性地示出根据本发明实施例使用Crypto-PAn匿名化算法对IP地址进行匿名化的结果;
[0034]图3示意性地示出根据本发明实施例的IP流存储模块的操作,其中图3(a)是当前环形循环缓存的状态,并且图3(b)是缓存写入操作和存储设备写入操作写入两个数据包后环形循环缓存的状态;
[0035]图4是根据本发明实施例的匿名化IP流模块的回放流程图;
[0036]图5示意性地示出根据本发明实施例的匿名化IP流模块的回放操作。
【具体实施方式】
[0037]下面结合附图1?5对本发明的实施例作详细说明。应当理解,虽然下文给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0038]根据本发明的实施例寻求对网络中的网络流量进行在线捕获,同时对IP流数据包中的IP地址使用Crypt
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1