程序联网管控方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36822931 阅读:14 留言:0更新日期:2023-03-12 01:08
本发明专利技术提供了一种程序联网管控方法、装置、电子设备及存储介质,其中方法包括:当监控到程序通过调用socket内核函数产生联网行为时,获取所述联网行为对应的socket文件描述符和进程信息;根据所述socket文件描述符获取所述联网行为的五元组信息;建立所述进程信息和所述五元组信息的映射关系并缓存;当接收到内核转发的数据包时,解析所述数据包的五元组信息;根据缓存的映射关系确定所述数据包的五元组信息所对应的目标进程信息,以利用所述目标进程信息执行的联网管控规则对所述数据包进行处理。本方案,能够在国产化平台下有效实现程序联网管控。程序联网管控。程序联网管控。

【技术实现步骤摘要】
程序联网管控方法、装置、电子设备及存储介质


[0001]本专利技术实施例涉及安全
,特别涉及一种程序联网管控方法、装置、电子设备及存储介质。

技术介绍

[0002]网络是计算机攻击的重要入侵手段,终端程序联网是攻击的关键途径,因此,针对应用程序联网的管控是保护终端安全的重要方法。目前,国产化操作系统逐渐在各行业成为主流,由于国产操作系统是基于Linux内核实现的,那么针对国产化平台下的程序联网管控一般是通过Netfilter等机制来实现。但是,Netfilter机制获取不到准确的进程名称,无法满足程序联网管控的需求。

技术实现思路

[0003]本专利技术实施例提供了一种程序联网管控方法、装置、电子设备及存储介质,能够在国产化平台下有效实现程序联网管控。
[0004]第一方面,本专利技术实施例提供了一种程序联网管控方法,包括:
[0005]当监控到程序通过调用socket内核函数产生联网行为时,获取所述联网行为对应的socket文件描述符和进程信息;
[0006]根据所述socket文件描述符获取所述联网行为的五元组信息;
[0007]建立所述进程信息和所述五元组信息的映射关系并缓存;
[0008]当接收到内核转发的数据包时,解析所述数据包的五元组信息;
[0009]根据缓存的映射关系确定所述数据包的五元组信息所对应的目标进程信息,以利用所述目标进程信息执行的联网管控规则对所述数据包进行处理。
[0010]一种可能的实现方式中,利用kretprobe框架监控程序对socket内核函数的调用。
[0011]一种可能的实现方式中,所述socket内核函数包括:sys_socket函数和/或sys_accept函数;所述sys_socket函数用于创建网络连接,所述sys_accept函数用于在网络连接建立后进行数据收发。
[0012]一种可能的实现方式中,所述根据所述socket文件描述符获取所述联网行为的五元组信息,包括:
[0013]通过查看所述socket文件描述符所在的网络访问请求链接,以获取用于实现网络连接的套接字的索引节点号;
[0014]查找网络访问请求的信息存储文件中是否存在所述索引节点号,若存在,则获取对应五元组信息。
[0015]一种可能的实现方式中,所述网络访问请求链接为/proc/$pid/fd/;
[0016]所述网络访问请求的信息存储文件为/proc/net/tcp文件和/proc/net/udp文件。
[0017]一种可能的实现方式中,还包括:当通过监控系统函数,监控到发生退出行为的目标程序时,删除缓存中与所述目标程序相关的映射关系。
[0018]一种可能的实现方式中,所述系统函数包括:sys_close函数和/或sys_exit函数;所述sys_close函数用于关闭网络连接,所述sys_exit函数用于停止运行实现网络连接的程序。
[0019]第二方面,本专利技术实施例还提供了一种程序联网管控装置,包括:
[0020]第一获取单元,用于当监控到程序通过调用socket内核函数产生联网行为时,获取所述联网行为对应的socket文件描述符和进程信息;
[0021]所述第一获取单元,还用于根据所述socket文件描述符获取所述联网行为的五元组信息;
[0022]关联单元,用于建立所述进程信息和所述五元组信息的映射关系并缓存;
[0023]解析单元,用于当接收到内核转发的数据包时,解析所述数据包的五元组信息;
[0024]管控单元,用于根据缓存的映射关系确定所述数据包的五元组信息所对应的目标进程信息,以利用所述目标进程信息执行的联网管控规则对所述数据包进行处理。
[0025]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
[0026]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
[0027]本专利技术实施例提供了一种程序联网管控方法、装置、电子设备及存储介质,通过监控socket内核函数的调用情况能够监控到程序是否发生联网行为,当程序发生联网行为时会创建socket,因此可以基于创建的socket获取到联网行为的进程信息,另外还可以基于socket获取到socket文件描述符,进而利用socket文件描述符获取联网行为的五元组信息,如此可以将进程信息和五元组信息建立映射关系;在国产化平台中,Netfilter虽不能获取到的准确的进程信息,但可以获取到五元组信息以及实现拦截和管控,因此,当获取到数据包的五元组信息之后,可以利用已经建立的映射关系来确定准确的进程信息,进而有效的实现程序联网管控。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]图1是本专利技术一实施例提供的一种程序联网管控方法流程图;
[0030]图2是本专利技术一实施例提供的一种电子设备的硬件架构图;
[0031]图3是本专利技术一实施例提供的一种程序联网管控装置结构图;
[0032]图4是本专利技术一实施例提供的另一种程序联网管控装置结构图。
具体实施方式
[0033]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例
中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0034]如前所述,国产化平台下的程序联网管控是通过Netfilter机制实现,用于监控网络行为,对程序联网实现放行或阻断等管控。但是Netfilter无法获取到网络进程,因此,不能够有效实现进程拦截。
[0035]考虑到Netfilter能够获取到网络行为的五元组信息,因此,可以利用一套代理机制来获取进程信息和五元组信息,进而建立进程和五元组的映射关系,将映射关系发送至Netfilter,使得Netfilter能够利用获取到的五元组信息和该映射关系确定对应的进程信息,进而实现程序联网的管控。
[0036]下面描述以上构思的具体实现方式。
[0037]请参考图1,本专利技术实施例提供了一种程序联网管控方法,该方法包括:
[0038]步骤100,当监控到程序通过调用socket内核函数产生联网行为时,获取所述联网行为对应的socket文件描述符和进程信息;...

【技术保护点】

【技术特征摘要】
1.一种程序联网管控方法,其特征在于,包括:当监控到程序通过调用socket内核函数产生联网行为时,获取所述联网行为对应的socket文件描述符和进程信息;根据所述socket文件描述符获取所述联网行为的五元组信息;建立所述进程信息和所述五元组信息的映射关系并缓存;当接收到内核转发的数据包时,解析所述数据包的五元组信息;根据缓存的映射关系确定所述数据包的五元组信息所对应的目标进程信息,以利用所述目标进程信息执行的联网管控规则对所述数据包进行处理。2.根据权利要求1所述的方法,其特征在于,利用kretprobe框架监控程序对socket内核函数的调用。3.根据权利要求1或2所述的方法,其特征在于,所述socket内核函数包括:sys_socket函数和/或sys_accept函数;所述sys_socket函数用于创建网络连接,所述sys_accept函数用于在网络连接建立后进行数据收发。4.根据权利要求1所述的方法,其特征在于,所述根据所述socket文件描述符获取所述联网行为的五元组信息,包括:通过查看所述socket文件描述符所在的网络访问请求链接,以获取用于实现网络连接的套接字的索引节点号;查找网络访问请求的信息存储文件中是否存在所述索引节点号,若存在,则获取对应五元组信息。5.根据权利要求4所述的方法,其特征在于,所述网络访问请求链接为/proc/$pid/fd/;所述网络访问请求的信息存储文件为/proc/net/tcp文件和/proc...

【专利技术属性】
技术研发人员:王辛宇孙洪伟肖新光
申请(专利权)人:北京安天网络安全技术有限公司
类型:发明
国别省市:

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

1