掌桥专利:专业的专利平台
掌桥专利
首页

网络过滤方法、装置、设备和系统

文献发布时间:2023-06-19 12:19:35


网络过滤方法、装置、设备和系统

技术领域

本申请涉及信息安全技术领域,具体涉及网络过滤方法、装置及系统,以及电子设备。

背景技术

随着计算机和网络技术的快速发展和普及,越来越多的用户将数据信息存储在计算机里面,其中不乏事关生存与发展的重要数据。保护计算机系统不被外部入侵,重要数据不被内部泄漏,是信息安全体系建设的重要工作内容。

在实际应用中,通常只开放少量网络端口用于必要的数据传输,但是黑客和恶意软件往往会通过扫描的方式,获取开放的端口,利用这些端口进行非法操作。传统的网络防火墙无法区分进程级别的网络数据包,无法阻断非法数据传输。因此需要利用网络过滤驱动模块来保护网络端口,只允许合法进程使用。目前,一种典型的网络过滤驱动方式是,通过Windows文件保护程序(WFP)与网络驱动程序接口规范(NDIS)过滤器组合驱动的方式,实现网络底层过滤。该方式通过构造IRP(IO Request Packet,输入输出请求包)请求,将网络连接信息从WFP发送给NDIS过滤器,NDIS过滤器根据网络连接信息,阻断非法进程滥用网络端口。

然而,在实现本发明过程中,发明人发现上述技术方案至少存在如下问题:该方案是通过构造IRP请求,将网络连接信息从WFP发送给NDIS过滤器,这样不仅实现复杂,而且使用资源大。综上所述,如何降低网络过滤驱动模型的实现复杂度,以及降低网络过滤驱动消耗的资源,成为本领域技术人员急需解决的问题。

发明内容

本申请提供网络过滤系统,以解决现有技术存在的复杂度高、且资源消耗大的问题。本申请另外提供网络过滤方法和装置,及电子设备。

本申请提供一种网络过滤系统,包括:

针对从开放给目标进程使用的网络端口流出的数据包,通过操作系统过滤器确定所述数据包的进程信息;

操作系统过滤器通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器;

所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包。

可选的,所述操作系统过滤器通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器,包括:

所述操作系统过滤器将所述进程信息封装成进程上下文结构体;

通过数据包标记机制,将所述进程上下文结构体的内存地址关联到所述数据包的网络缓冲区列表结构中;

所述操作系统过滤器放行所述数据包;

所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包,包括:

所述NDIS过滤器从所述网络缓冲区列表结构中获取所述内存地址;

根据所述内存地址,获取所述进程上下文结构体;

从所述进程上下文结构体中获取所述进程信息。

可选的,所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包,包括:

根据所述进程信息,判断所述数据包是否为目标进程的数据包;

若上述判断结果为是,则所述NDIS过滤器放行所述数据包;

若上述判断结果为否,则所述NDIS过滤器拦截所述数据包。

可选的,所述进程信息包括:进程标识和进程路径。

可选的,所述目标进程为云产品服务器上云产品实例的进程。

可选的,所述云产品包括:云桌面产品;

所述NDIS过滤器根据所述进程信息,过滤云桌面进程以外的数据包。

本申请还提供一种网络过滤装置,包括:

进程信息确定单元,用于针对从开放给目标进程使用的网络端口流出的数据包,通过操作系统过滤器确定所述数据包的进程信息;

进程信息传输单元,用于操作系统过滤器通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器;

数据包过滤单元,用于所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包。

本申请还提供一种电子设备,包括:

处理器和存储器;

存储器,用于存储实现上述方法的程序,该设备通电并通过所述处理器运行该方法的程序。

本申请还提供一种网络过滤系统,包括:

云产品客户端和云产品服务器;

所述云产品服务器上的云产品实例中部署上述网络过滤装置。

本申请还提供一种上网行为管理系统,包括:

客户端和服务器;

所述服务器部署上述网络过滤装置。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。

本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。

与现有技术相比,本申请具有以下优点:

本申请实施例提供的网络过滤方法,结合操作系统过滤器(如WFP)、NDIS过滤器的特点,实现在网络协议的不同层次上分别使用操作系统过滤器和NDIS过滤器的层次化网络过滤,通过数据包标记(Packet Tagging)机制,使得操作系统过滤器和NDIS过滤器通信,将流入数据包的进程标识和进程路径等信息从操作系统过滤器传递到NDIS过滤器,使NDIS过滤器可以获取到网络数据包的进程上下文,NDIS过滤器关联到进程信息后,就可以阻断非法进程滥用网络端口,从而实现网络端口只允许被合法进程使用的效果。由于这种处理方式不需要构造IRP请求,也就不需要额外分配内存资源及维护资源状态,更不需要考虑在合适的时机释放资源,因此可以有效降低实现复杂度及资源消耗。

附图说明

图1本申请提供的网络过滤系统的实施例的应用场景示意图;

图2本申请提供的网络过滤方法的实施例的流程示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请中,提供了网络过滤系统、方法和装置,及电子设备。在下面的实施例中逐一对各种方案进行详细说明。

为了更加直观地说明所述网络过滤方法,下面先对所述方法的应用场景进行简要说明。请参考图1,其为本申请的网络过滤方法的实施例的应用场景示意图。在本实施例中,负责测试网络银行应用系统的多个测试人员分别使用各自的笔记本电脑,通过安装在其笔记本电脑上的云桌面程序,以远程工作方式,对网络银行应用系统进行测试。在云桌面服务器上生成与每个测试人员分别对应的云桌面实例,测试人员的笔记本电脑通过开放给云桌面进程的网络端口,与云桌面实例进行数据传输。云桌面服务器可先通过云防火墙对网络数据包进行过滤,但云防火墙无法区分进程的网络数据包,开放给云桌面进程的网络端口可能被恶意软件利用。在云桌面实例中使用本申请实施例提供的网络过滤装置,对从该实例的网络端口流出的网络数据包进行基于进程的网络过滤处理,保证网络端口不被滥用。

由图1可见,本实施例提供的网络过滤装置实现使用操作系统过滤器“WFP过滤驱动”和NDIS过滤器“NDIS Filter驱动”的层次化网络过滤,并通过数据包标记机制,将网络数据包的进程信息从操作系统过滤器传递到NDIS过滤器,使NDIS过滤器可以获取到数据包的进程上下文,如果数据包属于云桌面进程,则使数据包通过,如果数据包属于其它进程(如恶意软件进程等),则拦截数据包。

需要说明的是,本申请实施例提供的网络过滤方法也适用于其它应用领域的云桌面服务,如电商领域的云桌面服务等。在一个示例中,电商平台的工作人员,可通过安装在其笔记本电脑上的云桌面程序,以远程工作方式,执行客服处理、订单查询等操作,使用云桌面来处理一些涉密数据和文件,保证涉密信息不落地到员工本地电脑,达到数据安全的要求。

此外,本申请实施例提供的网络过滤方法还可应用于云桌面服务以外的其它应用领域,如上网行为管理等领域。在一个示例中,所述方法应用在上网行为管理系统中,通过上网行为管理系统,可以禁用即时聊天工具、炒股软件、网络游戏、在线影音娱乐等和工作无关的上网行为,还可以拦截文件通过网络外发的行为等。

具体实施时,所述上网行为管理系统,可包括服务端和客户端。客户端用户的上网行为信息会通过所述客户端发送至服务端,服务端部署本申请实施例提供的所述网络过滤装置,所述网络过滤装置对来自开放给客户端使用的网络端口的网络数据包进行如下处理:通过操作系统过滤器确定所述数据包的进程信息(如即时聊天工具、炒股软件、网络游戏、在线影音娱乐等进程);操作系统过滤器通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器;所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包。

第一实施例

请参考图2,其为本申请的网络过滤方法的实施例的流程示意图。所述方法的执行主体包括网络过滤装置,所述装置可部署在云产品实例中。在本实施例中,所述方法可包括如下步骤:

步骤S201:针对从开放给目标进程使用的网络端口流出的数据包,通过操作系统过滤器确定所述数据包的进程信息。

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。所述目标进程,可以是某个确定的进程,包括但不限于:云产品服务器上云产品实例的进程(简称云产品进程),也可以是其它设备(如电商平台服务器等)上的程序进程。

所述云产品服务器,包括云计算平台的服务器,可向企业用户或者个人用户提供云产品服务。所述云产品,可以为公有云计算平台或者私有云计算平台提供的云终端产品,云计算平台是一种动态的、易扩展的、且通常是通过互联网提供虚拟化的资源计算平台,用户不需要了解云内部的细节,也不必具有云内部的专业知识,或直接控制的基础设施。云计算平台可提供丰富的功能各异的基础设施(IaaS)的各种云产品,比如云主机产品、云数据库产品、负载均衡产品、内容分发产品、大数据产品、算法产品等提供基础信息技术(IT)服务、智能大数据数据处理和算法分析等服务。

在一个示例中,所述目标进程为:云桌面服务器上云桌面实例的进程。例如,目标进程为用于执行网商银行测试的云桌面产品的进程,多个测试人员分别使用各自的笔记本电脑,通过笔记本电脑上安装的云桌面产品程序,使用云桌面服务器上的与每个测试人员分别对应的云桌面实例进行远程工作,假设有10个测试人员,就有10个云桌面实例,这10个云桌面实例分别使用各自的网络端口进行数据传输,可在每个云桌面实例中部署一个网络过滤装置,该装置对从对应网络端口流出的数据包进行网络过滤处理。

在另一个示例中,所述目标进程为:云服务器上虚拟机的进程。不同虚拟机对应不同的网络端口,通过不同的网络过滤装置进行网络过滤处理。

所述网络过滤装置通过操作系统过滤器确定所述数据包的进程信息。所述操作系统过滤器能够区分不同进程的数据包,包括但不限于:基于视窗操作系统过滤平台WFP的操作系统过滤器,也可以是基于Windows操作系统上的其它网络过滤驱动构建的操作系统过滤器,如WFP可以用TDI网络过滤驱动代替。其中,WFP是在Windows操作系统上提供的一套用于操作TCP/IP网络协议栈数据包的框架,具有使用方便的特点。

所述进程信息,包括但不限于进程标识和进程路径信息。所述进程信息,可通过操作系统过滤器从所述数据包中读取,如TCP/IP网络协议栈数据包的信息包括:协议名(protocol)、收发方向(director)、源IP地址(source ip address)、源端口(sourceport)、目的IP地址(destination ip address)、目的端口(destination port)、进程标识(process id)、进程图片文件路径(processimage file path)等,其中源IP地址、源端口、目的IP地址、目的端口等属于进程路径信息。

在通过操作系统过滤器确定所述数据包的进程信息后,就可以进入下一步骤,通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器。

步骤S203:操作系统过滤器通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器。

本申请实施例提供的所述方法通过数据包标记(Packet Tagging)机制,使得操作系统过滤器和NDIS过滤器通信,将流入数据包的进程标识和进程路径等信息从操作系统过滤器传递到NDIS过滤器。而现有技术是通过构造IRP请求,使NDIS过滤器关联数据包的进程信息,这种处理方式要额外分配内存资源,维护资源状态,还要在合适的时机释放资源,因此实现复杂度及资源消耗均较高。

在一个示例中,步骤S203可包括如下子步骤:1)所述操作系统过滤器将所述进程信息封装成进程上下文结构体(Context结构体);2)通过数据包标记(Packet Tagging)机制,将Context结构体的内存地址作为标签(tag)标记到数据包(packet)中,如关联到所述数据包的网络缓冲区列表结构(如NET_BUFFER_LIST结构)中;3)所述操作系统过滤器放行所述数据包。

具体实施时,所述操作系统过滤器还可预先注册TCP(Transmission ControlProtocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)过滤函数,以拦截IP访问操作。

步骤S205:所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包。

所述NDIS过滤器可根据所述进程信息,判断所述数据包是否为目标进程的数据包;若判断结果为是,则所述NDIS过滤器放行所述数据包;若判断结果为否,则所述NDIS过滤器拦截所述数据包。

相应的,步骤S205可包括如下子步骤:1)所述NDIS过滤器从数据包的标签中获取所述内存地址,如读取所述网络缓冲区列表结构中的内存地址;2)根据所述内存地址,获取所述进程上下文结构体;3)从所述进程上下文结构体中获取所述进程信息。

具体实施时,所述NDIS过滤器可将从进程上下文结构体中获得的诸如协议名、源/目的IP地址、源/目的端口、收发方向、进程标识、进程路径等信息与网络过滤规则匹配,匹配结果可以是无匹配规则、放行或者阻断,所述NDIS过滤器根据匹配结果放行或者阻断数据包。所述网络过滤规则匹配属于较为成熟的现有技术,此处不再赘述。

从上述实施例可见,本申请实施例提供的网络过滤方法,结合操作系统过滤器(如WFP)、NDIS过滤器的特点,实现在网络协议的不同层次上分别使用操作系统过滤器和NDIS过滤器的层次化网络过滤,通过数据包标记(Packet Tagging)机制,使得操作系统过滤器和NDIS过滤器通信,将流入数据包的进程标识和进程路径等信息从操作系统过滤器传递到NDIS过滤器,使NDIS过滤器可以获取到网络数据包的进程上下文,NDIS过滤器关联到进程信息后,就可以阻断非法进程滥用网络端口,从而实现网络端口只允许被合法进程使用的效果。由于这种处理方式不需要构造IRP请求,也就不需要额外分配内存资源及维护资源状态,更不需要考虑在合适的时机释放资源,因此可以有效降低实现复杂度及资源消耗。

第二实施例

在上述的实施例中,提供了一种网络过滤方法,与之相对应的,本申请还提供一种网络过滤装置。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见系统实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本申请另外提供一种网络过滤装置,包括:

进程信息确定单元,用于针对从开放给目标进程使用的网络端口流出的数据包,通过操作系统过滤器确定所述数据包的进程信息;

进程信息传输单元,用于操作系统过滤器通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器;

数据包过滤单元,用于所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包。

第三实施例

在上述的实施例中,提供了一种网络过滤方法,与之相对应的,本申请还提供一种电子设备。该设备是与上述方法的实施例相对应。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见系统实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。

本申请另外提供一种电子设备,包括:

处理器和存储器;

存储器,用于存储实现网络过滤方法的程序,该设备通电并通过所述处理器运行该方法的程序。

第四实施例

在上述的实施例中,提供了一种网络过滤方法,与之相对应的,本申请还提供一种网络过滤系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。

本实施例的一种网络过滤系统包括:云产品客户端和云产品服务器。其中,所述云产品服务器上的云产品实例中部署网络过滤装置。

在本实施例中,负责测试网络银行应用系统的多个测试人员分别使用各自的笔记本电脑,通过安装在其笔记本电脑上的云桌面程序(云产品客户端),以远程工作方式,对网络银行应用系统进行测试。在云桌面服务器(云产品服务器)上生成与每个测试人员分别对应的云桌面实例,测试人员的笔记本电脑通过开放给云桌面进程的网络端口,与云桌面实例进行数据传输。云桌面服务器可先通过云防火墙对网络数据包进行过滤,但云防火墙无法区分进程的网络数据包,开放给云桌面进程的网络端口可能被恶意软件利用。在云桌面实例中使用本申请实施例提供的网络过滤装置,对从该实例的网络端口流出的网络数据包进行基于进程的网络过滤处理,保证网络端口不被滥用。

从上述实施例可见,本申请实施例提供的网络过滤系统,结合操作系统过滤器(如WFP)、NDIS过滤器的特点,实现在网络协议的不同层次上分别使用操作系统过滤器和NDIS过滤器的层次化网络过滤,通过数据包标记(Packet Tagging)机制,使得操作系统过滤器和NDIS过滤器通信,将流入数据包的进程标识和进程路径等信息从操作系统过滤器传递到NDIS过滤器,使NDIS过滤器可以获取到网络数据包的进程上下文,NDIS过滤器关联到进程信息后,就可以阻断非法进程滥用网络端口,从而实现网络端口只允许被合法进程使用的效果。由于这种处理方式不需要构造IRP请求,也就不需要额外分配内存资源及维护资源状态,更不需要考虑在合适的时机释放资源,因此可以有效降低实现复杂度及资源消耗。

第五实施例

在上述的实施例中,提供了一种网络过滤方法,与之相对应的,本申请还提供一种上网行为管理系统。该系统是与上述方法的实施例相对应。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。

本实施例的一种上网行为管理系统包括:客户端和服务器。其中,所述服务器中部署网络过滤装置。

所述上网行为管理系统,用于可以禁用即时聊天工具、炒股软件、网络游戏、在线影音娱乐等和工作无关的上网行为,还可以拦截文件通过网络外发的行为等。

在本实施例中,客户端用户的上网行为信息会通过所述客户端发送至服务端,服务端部署本申请实施例提供的所述网络过滤装置,所述网络过滤装置对来自开放给客户端使用的网络端口的网络数据包进行如下处理:通过操作系统过滤器确定所述数据包的进程信息(如即时聊天工具、炒股软件、网络游戏、在线影音娱乐等进程);操作系统过滤器通过数据包标记机制,将所述进程信息传输至网络驱动程序接口规范NDIS过滤器;所述NDIS过滤器根据所述进程信息,过滤目标进程以外的数据包。

从上述实施例可见,本申请实施例提供的上网行为管理系统,结合操作系统过滤器(如WFP)、NDIS过滤器的特点,实现在网络协议的不同层次上分别使用操作系统过滤器和NDIS过滤器的层次化网络过滤,通过数据包标记(Packet Tagging)机制,使得操作系统过滤器和NDIS过滤器通信,将流入数据包的进程标识和进程路径等信息从操作系统过滤器传递到NDIS过滤器,使NDIS过滤器可以获取到网络数据包的进程上下文,NDIS过滤器关联到进程信息后,就可以阻断非法进程滥用网络端口,从而实现网络端口只允许被合法进程使用的效果。由于这种处理方式不需要构造IRP请求,也就不需要额外分配内存资源及维护资源状态,更不需要考虑在合适的时机释放资源,因此可以有效降低实现复杂度及资源消耗。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

相关技术
  • 网络过滤方法、装置、设备和系统
  • 一种网络设备告警自动过滤系统及其过滤方法
技术分类

06120113255432