System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络安全,更具体涉及一种在windows系统中实现l3vpn匿名网络的方法。
技术介绍
1、l3vpn(layer 3 virtual private network),作为三层网络架构下的虚拟专用网络,是一种在网络层(osi模型的第三层)实现的vpn技术,巧妙融合了虚拟网卡与系统路由机制,将目标资源的路由直接指向虚拟网卡,从而允许系统在虚拟网卡上截获并处理来自上层应用的网络数据包,该数据包随后通过ssl或其他强化加密通道安全传输至vpn网关,再由vpn网关转发至内网中的目标主机。相反方向内网目标主机的回复数据同样经vpn网关处转发给客户端,客户端写入虚拟网卡,再由虚拟网卡提交给上层应用。l3vpn广泛应用于企业、政府和运营商的远程办公与接入场景,其核心优势通过隧道技术、高级加密技术、密钥管理机制以及严格的用户与设备身份认证,极大地提升了网络通信的安全性。
2、l3vpn的这种设计也伴随着一定的安全风险。具体而言,由于虚拟网卡的路由规则被直接嵌入操作系统,如果使用route print等命令则可轻易揭示这些规则,进而暴露内网拓扑结构,增加内网地址泄露的风险。此外,攻击者还有可能利用wireshark等强大的网络抓包工具,捕获并解析通过虚拟网卡传输的原始请求与响应数据,进一步威胁内网安全,严重时可能还会引发内网渗透与攻击事件。
3、为了优化这些潜在的安全问题,windows系统上的l3vpn通常采用以下两种防嗅探策略:
4、方案一:主动防御策略,在l3vpn运行期间,通过系统策略或
5、方案二:技术革新策略。放弃传统的虚拟网卡路由引流方式,转而采用自研发的windows内核级驱动来处理l3层网络数据的获取与传输。该方法绕过虚拟网卡层面,直接在内核级别进行数据加密与解密,避免嗅探工具的拦截与分析。
6、然而,方案一l3vpn在使用过程中,用户本身是有查看网卡信息及使用网络抓包工具的需求的,因此该方案不具有普适性;方案二采用自研发的windows内核驱动替换虚拟网卡,对原有系统改动较大,侵入性过强,并且不可避免的存在性能及稳定性问题。
7、因此,本专利技术提出一种在windows系统中实现l3vpn匿名网络的方法,以提高网络安全性,防止内网地址泄露。
技术实现思路
1、现有方案一l3vpn在使用过程中,用户本身是有查看网卡信息及使用网络抓包工具的需求的,因此该方案不具有普适性;方案二采用自研发的windows内核驱动替换虚拟网卡,对原有系统改动较大,侵入性过强,并且不可避免的存在性能及稳定性问题。
2、为了更好的解决上述问题,本专利技术提供一种在windows系统中实现l3vpn匿名网络的方法,l3vpn应用与目标服务器进行通信,获取需要引流的真实路由地址列表,并将所述真实路由地址列表存入wfp内核驱动保护模块,所述真实路由地址列表包括多个真实ip地址,所述方法通过如下步骤进行实现:
3、步骤s1:所述l3vpn应用在windows操作系统中创建虚拟网卡,并为所述虚拟网卡配置虚拟地址列表,所述虚拟地址列表包括多个虚拟ip地址,建立所述真实ip地址与所述虚拟ip地址的对应关系,并将所述对应关系保存至nat表和反nat表中;
4、步骤s2:应用层发起一个socket请求,通过wfp内核驱动保护模块将匹配真实ip地址的所述socket请求重定向至混淆后的ip地址,通过所述混淆后的ip地址所在的所述虚拟网卡将第一数据包发送至l3vpn应用层,所述第一数据包是对所述socket请求的封装;
5、步骤s3:l3vpn应用层中的发送数据还原模块接收所述第一数据包,替换所述第一数据包中的五元组信息,并还原第一数据包,还将还原后的所述第一数据包传递给l3vpn应用层,由所述l3vpn应用层再转发至l3vpn服务器;
6、步骤s4:所述l3vpn应用层获取l3vpn服务器接收到的第二数据包,并转发至所述l3vpn应用层中的接收数据混淆模块,所述接收数据混淆模块替换所述第二数据包中的五元组信息,生成混淆ip地址后的第二数据包,并将所述第二数据包传递给所述混淆后的ip地址所在的所述虚拟网卡,之后由l3vpn应用构建的虚拟网卡驱动接收,经所述wfp内核驱动保护模块重定向至恢复后的ip地址,并将所述第二数据包返回至所述应用层,其中,所述第二数据包是所述第一数据包的响应信息。
7、作为本专利技术的一种优选技术方案,所述步骤s2中,通过wfp内核驱动保护模块将匹配真实ip地址的所述socket请求重定向至混淆后的ip地址,包括:
8、所述wfp内核驱动保护模块通过驱动层挂接fwpm_layer_ale_connect_redirect_v4/v6层监听操作系统中所述应用层发送的所述socket请求,获取五元组信息,判断所述五元组信息中的目的ip地址是否匹配所述真实路由地址列表中的ip地址,若不匹配,则正常通过,若匹配,则传递至网络重定向模块中进行混淆ip处理,并将所述socket请求重定向至混淆后的ip地址。
9、作为本专利技术的一种优选技术方案,网络重定向模块中进行混淆ip处理,并将所述socket请求重定向至混淆后的ip地址包括:
10、基于所述五元组信息中的目的ip地址,通过nat表查询模块获取所述目的ip地址对应的第一虚拟ip地址,修改所述socket请求的目的ip地址为所述第一虚拟ip地址,所述socket请求的源ip地址为所述第一虚拟ip地址所在的虚拟网卡地址,将所述socket请求重定向至所述第一虚拟ip地址。
11、作为本专利技术的一种优选技术方案,通过nat表查询模块获取所述目的ip地址对应的第一虚拟ip地址,包括:
12、基于所述目的ip地址,通过nat表查询模块查询对应的第一虚拟ip地址,若查询成功,则返回所述目的ip地址对应的第一虚拟ip地址,若查询失败,则从nat池中获取分配的第一虚拟ip地址,并将所述第一虚拟ip地址插入所述nat表中,再返回所述第一虚拟ip地址。
13、作为本专利技术的一种优选技术方案,所述步骤s1中,将所述对应关系保存至nat表和反nat表中:
14、所述nat表和所述反nat表都存储在用户态程序中,所述nat表表示从所述虚拟ip地址获取所述真实ip地址,所述反nat表表示从所述真实ip地址获取所述虚拟ip地址。
15、作为本专利技术的一种优选技术方案,所述步骤s3中,发送数据还原模块接收所述第一数据包,替换所述第一数据包中的五元组信息,并还原第一数据包,包括:
16、所述发送数据还原模块位于用户态程序中,监听所述虚拟网卡传递的所述第一数据包,并从所述第一数据包中获取五元组信息,基于所述五元组信息中的目的ip本文档来自技高网...
【技术保护点】
1.一种在Windows系统中实现L3VPN匿名网络的方法,L3VPN应用与目标服务器进行通信,获取需要引流的真实路由地址列表,并将所述真实路由地址列表存入WFP内核驱动保护模块,所述真实路由地址列表包括多个真实IP地址,其特征在于,所述方法包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述步骤S2中,通过WFP内核驱动保护模块将匹配真实IP地址的所述Socket请求重定向至混淆后的IP地址,包括:
3.根据权利要求2所述的方法,其特征在于,网络重定向模块中进行混淆IP处理,并将所述Socket请求重定向至混淆后的IP地址包括:
4.根据权利要求3所述的方法,其特征在于,通过NAT表查询模块获取所述目的IP地址对应的第一虚拟IP地址,包括:
5.根据权利要求1所述的方法,其特征在于,所述步骤S1中,将所述对应关系保存至NAT表和反NAT表中:
6.根据权利要求1所述的方法,其特征在于,所述步骤S3中,发送数据还原模块接收所述第一数据包,替换所述第一数据包中的五元组信息,并还原第一数据包,包括:
7
8.根据权利要求1所述的方法,其特征在于,所述五元组信息包括源端口、源IP地址、目的端口、目的IP地址以及协议。
9.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述第一数据包传递给L3VPN应用层,还包括:
10.根据权利要求9所述的方法,其特征在于,所述步骤S4中,所述L3VPN应用层获取L3VPN服务器接收到的第二数据包,还包括:
...【技术特征摘要】
1.一种在windows系统中实现l3vpn匿名网络的方法,l3vpn应用与目标服务器进行通信,获取需要引流的真实路由地址列表,并将所述真实路由地址列表存入wfp内核驱动保护模块,所述真实路由地址列表包括多个真实ip地址,其特征在于,所述方法包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述步骤s2中,通过wfp内核驱动保护模块将匹配真实ip地址的所述socket请求重定向至混淆后的ip地址,包括:
3.根据权利要求2所述的方法,其特征在于,网络重定向模块中进行混淆ip处理,并将所述socket请求重定向至混淆后的ip地址包括:
4.根据权利要求3所述的方法,其特征在于,通过nat表查询模块获取所述目的ip地址对应的第一虚拟ip地址,包括:
5.根据权利要求1所述的方法,其特征在于,所述步骤s1...
【专利技术属性】
技术研发人员:成少波,王伟,
申请(专利权)人:北京指掌易科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。