一种文件操作IP溯源方法和系统技术方案

技术编号:30095635 阅读:19 留言:0更新日期:2021-09-18 08:59
本发明专利技术公开了一种文件操作IP溯源方法和系统,所述方法包括如下步骤:建立内核调试模块,在所述内核调试模块挂载至少两个不同关键函数;获取执行所述关键函数进程的PID字典和socketfd字典;建立文件监控模块,记录文件操作进程的PID和文件操作行为;在所述内核调试模块中挂载execve函数,记录函数调用过程,获取并返回进程树;将文件操作进程的PID和返回的进程树对比,查找所述文件操作进程的PID所在的进程树,并根据所述进程树获取祖先进程;将所述祖先进程的PID和所述PID字典、socketfd字典对比,获取祖先进程对应的socketfd,并解析祖先进程socketfd中的IP。所述方法和系统通过祖先进程获取的套接字链条来追溯文件操作者IP,无视IP地址的伪装,因此可以有效地识别真实IP。真实IP。真实IP。

【技术实现步骤摘要】
一种文件操作IP溯源方法和系统


[0001]本专利技术涉及网络安全领域,特别涉及一种文件操作IP溯源方法和系统。

技术介绍

[0002]文件监控是一种广泛应用的部署于linux服务器上的安全监测机制。目前在linux上有多种技术方案可以对文件的读取、写入、删除、执行进行监控,但是现有的所有的文件操作监控技术方案都存在一个相同的弊端,即只能确定当前操作文件的进程是哪个,而无法确定该操作行为是哪位访问者(文件操作者)产生的,无法追溯到访问者的网络地理位置(IP地址)。

技术实现思路

[0003]本专利技术其中一个专利技术目的在于提供一种文件操作IP溯源方法和系统,所述方法和系统通过文件操作的进程链条和套接字链条,根据文件操作的所处的进程树追溯到祖先进程,通过祖先进程获取的套接字链条来追溯文件操作者IP,无视IP地址的伪装,因此可以有效地识别真实IP。
[0004]本专利技术另一个专利技术目的在于提供一种文件操作IP溯源方法和系统,所述方法和系统通过关键函数获取执行该关键函数的PID字典,socketfd字典,用于后续文件操作溯源PID的对比,用于获取真实的IP。
[0005]本专利技术另一个专利技术目的在于提供一种文件操作IP溯源方法和系统,所述方法和系统在溯源根据祖先进程过程中将socketfd转化为Sock结构体,进而在Sock结构体中解析出真实的IP,由于祖先进程的Sock结构体中的五元组无法被篡改,因此可以解析出文件操作的真实IP。
[0006]为了实现至少一个上述专利技术目的,本专利技术进一步提供一种文件操作IP溯源方法,所述方法包括如下步骤:
[0007]建立内核调试模块,在所述内核调试模块挂载至少两个不同关键函数;
[0008]获取执行所述关键函数进程的PID字典和socketfd字典;
[0009]建立文件监控模块,记录文件操作进程的PID和文件操作行为;
[0010]在所述内核调试模块中挂载execve函数,记录函数调用过程,获取并返回进程树;
[0011]将文件操作的进程PID和返回的进程树对比,查找所述文件操作进程PID所在的进程树,并根据所述进程树获取祖先进程;
[0012]将所述祖先进程的PID和所述PID字典、socketfd字典对比,获取祖先进程对应的socketfd,并解析祖先进程socketfd中的IP。
[0013]根据本专利技术其中一个较佳实施例,解析祖先进程获取socketfd中的IP方法包括:在内核中调用原生函数sockfd_lookup函数,通过所述sockfd_lookup函数将追溯祖先进程获取的socketfd转化为sock结构体,从所述sock结构体中解析出真实IP。
[0014]根据本专利技术另一个较佳实施例,所述内核调试模块包括Linux系统中kprobe模块
和所述kprobe模块派生的kretprobe模块,所述内核调试模块跟踪记录内核函数的执行状态。
[0015]根据本专利技术另一个较佳实施例,所述文件监控模块连接monitor程序,所述文件监控模块记录文件读取、文件写入、文件删除、文件创建和文件执行操作,并获取上述操作的PID,将文件操作进程PID和文件操作行为返回给monitor程序。
[0016]根据本专利技术另一个较佳实施例,所述内核调试模块将PID字典、socketfd字典、所有进程PID和进程树输入所述monitor程序,所述monitor程序将文件操作进程PID和进程树中对比,获取包含所述文件操作进程PID的进程树,并追溯该进程树中的祖先进程。
[0017]根据本专利技术另一个较佳实施例,所述祖先进程的追溯方法包括:所述monitor程序获取包含文件操作进程PID的进程树后,判断当前文件操作进程PID是否存在关键函数的调用,若存在则获取该关键函数调用的socketfd解析IP,若不存在所述关键函数调用,则进一步查找该文件操作进程PID进程的父进程,直到查找到存在所述关键函数调用的祖先进程。
[0018]根据本专利技术另一个较佳实施例,当解析键函数调用的socketfd获取IP后,判断该当前解析获取的IP是否是外部IP,若是外部IP则返回该外部IP为访问者IP。
[0019]根据本专利技术另一个较佳实施例,若当前解析获取的IP为内部IP,则判断该解析IP对应的文件操作进程PID是否存在另一不同关键函数调用,若存在,则获取该不同关键函数的socketfd,进一步解析该不同关键函数的socketfd获取IP。
[0020]为了实现至少一个上述专利技术目的,本专利技术进一步提供一种文件擦操作IP溯源系统,所述系统执行上述一种文件操作IP溯源方法。
[0021]本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行上述一种文件擦操作IP溯源方法。
附图说明
[0022]图1显示的是本专利技术一种文件操作IP溯源方法的一种流程示意图。
[0023]图2显示的是本专利技术中文件操作IP溯源一种详细流程示意图。
具体实施方式
[0024]以下描述用于揭露本专利技术以使本领域技术人员能够实现本专利技术。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本专利技术的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本专利技术的精神和范围的其他技术方案。
[0025]可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
[0026]请结合图1至图2,本专利技术公开的一种文件操作溯源方法流程示意图,其中,所述方法利用了进程树寻找祖先进程,并根据祖先进程的套接字来寻找真实的IP,因为祖先进程中套接字的五元组无法被修改,因此可以追溯到的IP可信度更高,从而可以获取文件操作者的真实的关键信息。
[0027]具体的,首先需要建立内核调试模块,其中所述内核调试模块包括kprobe模块和
其派生模块kretprobe,所述内核调试模块为Linux系统中用于跟踪获取内核函数调用状态的一种轻量级的调试技术。在内核调试模块中挂载多个关键函数,其中所述关键函数包括:recvfrom函数和accept函数,其中所述accept函数在建立等待序列中每一请求的链接时,都会产生一个套接字文件描述符socketfd,accept函数的套接字的文件描述符socketfd可以用于和客户端的交互。所述recvfrom函数在每次调用时,都会获取来自数据发送者的套接字,且通过recvfrom函数还指定接收数据的缓冲区域、接收数据的长度、接收数据的标记,并返回套接字文件描述符socketfd。需要说明的是,当存在执行所述recvfrom函数时,获取当前执行所述recvfrom函数PID(进程标识符),并根据所述PID获取执行当前所述recvfrom函数返回的文件描述符本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件操作IP溯源方法,其特征在于,所述方法包括如下步骤:建立内核调试模块,在所述内核调试模块挂载至少两个不同关键函数;获取执行所述关键函数进程的PID字典和socketfd字典;建立文件监控模块,记录文件操作进程的PID和文件操作行为;在所述内核调试模块中挂载execve函数,记录函数调用过程,获取并返回进程树;将文件操作的进程PID和返回的进程树对比,查找所述文件操作进程PID所在的进程树,并根据所述进程树获取祖先进程;将所述祖先进程的PID和所述PID字典、socketfd字典对比,获取祖先进程对应的socketfd,并解析祖先进程socketfd中的IP。2.根据权利要求1所述的一种文件操作IP溯源方法,其特征在于,解析祖先进程获取socketfd中的IP方法包括:在内核中调用原生函数sockfd_lookup函数,通过所述sockfd_lookup函数将追溯祖先进程获取的socketfd转化为sock结构体,从所述sock结构体中解析出真实IP。3.根据权利要求1所述的一种文件操作IP溯源方法,其特征在于,所述内核调试模块包括Linux系统中kprobe模块和所述kprobe模块派生的kretprobe模块,所述内核调试模块跟踪记录内核函数的执行状态。4.根据权利要求1所述的一种文件操作IP溯源方法,其特征在于,所述文件监控模块连接monitor程序,所述文件监控模块记录文件读取、文件写入、文件删除、文件创建和文件执行操作,并获取上述文件操作进程的PID,将文件操作进程PID和文件操作行为返回给monitor程序。5.根据权利要求4所述的一种文件操作IP溯源方法,其特征在于,所述...

【专利技术属性】
技术研发人员:王嘉雄
申请(专利权)人:杭州默安科技有限公司
类型:发明
国别省市:

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

1