软体文件被修改时的来源追溯方法、监测方法、还原方法及系统的制作方法

文档序号:10570300阅读:517来源:国知局
软体文件被修改时的来源追溯方法、监测方法、还原方法及系统的制作方法
【专利摘要】本发明公开了一种软体文件被修改时的来源追溯方法、监测方法、还原方法及系统,来源追溯方法包括S101、在操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;S102、根据操作系统调用写入函数时传递的参数来获取进程的进程ID号;S103、通过进程ID获取到对应的进程对象;S104、通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;S105、通过原始调用函数得到操作者IP、操作者提交的报文数据,从而得到修改的软体文件的修改来源;S106、客户端计算机将操作者IP、操作者提交的报文数据打包形成数据包,并将数据包上传至服务器端;S107、服务器端接收到数据包之后发出警示信息至客户端计算机侧的对应管理人员。
【专利说明】
软体文件被修改时的来源追溯方法、监测方法、还原方法及系统
技术领域
[0001 ]本发明涉及计算机软体安全监控领域,特别涉及一种软体文件被修改时的来源追溯方法、监测方法、还原方法及系统。
【背景技术】
[0002]个人电脑、服务器等计算机被入侵后,计算机内的软体文件会被修改,导致计算机内存在木马文件、原文件被篡改等等问题,为了减少被黑客、病毒入侵文件被修改的几率,或者为了尽快发现病毒,保护计算机,许多用户在计算机上装有杀毒软件、防护墙软件等以对计算机内的软体文件进行保护。目前的入侵防御软件都是基于防火墙形式的前端防护软件,采用正则和策略进行保护,因为自身设计缺陷和自身安全缺陷导致入侵者很容易绕过防御,或者软件本身处理不到高并发和大流量导致启用默认策略放行所有请求导致防御功能失效,这样容易被黑客绕过策略,或者绕过防火墙对目标进行下一步渗透测试而防火墙上无任何不安全的通知,被黑客入侵系统后留下一系列不可追溯的记录和更改,这些不可追溯的记录和更改让管理人员无法快速的找到入侵根源,让管理员人员无法快速进行排查。因此,迫切需要一种能够在得知计算机内软体文件被修改后能够即时发现被修改文件路径和导致文件被修改的请求来源的解决方案,便于当计算机遇到非正常或非授权的修改时,管理人员能够根据原始来源、调用过程到修改的途径以及原始入侵口。

【发明内容】

[0003]针对上述现有技术的不足,本发明所要解决的技术问题是:提供一种操作系统执行写入动作时能够根据写入的动作追溯到该写入动作的原始根源的计算机内软体文件被修改时的来源追溯方法;还提供一种监测计算机内的软体文件是否被修改、追溯被修改的软体文件的原始根源的客户端计算机内软体文件的监测方法;还提供一种能够对客户端计算机内软体文件备份还原的方法;还提供一种客户端计算机内软体文件的监控还原系统。
[0004]为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机内软体文件被修改时的来源追溯方法,包括以下步骤:
5101、在操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
5102、根据操作系统调用写入函数时传递的参数来获取进程的进程ID号;
5103、通过进程ID获取到对应的进程对象;
5104、通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
5105、通过原始调用函数得到操作者IP、操作者提交的报文数据,从而得到修改的软体文件的修改来源。
[0005]其中,在S102步骤中,还根据操作系统调用写入函数时传递的参数来获取被写入硬盘的目录位置。[000?] 进一步的,上述SlOl至S105步骤均由客户端计算机侧进行处理;
还包括以下步骤:
S106、客户端计算机将操作者ΙΡ、操作者提交的报文数据打包形成数据包,并将数据包上传至服务器端。
[0007]S107、服务器端接收到数据包之后发出警示信息至客户端计算机侧的对应管理人员以警示对应的客户端计算机内的文件被修改,警示信息包括操作者IP、操作者提交的报文数据。
[0008]其中,所述S106步骤包括以下子步骤:
51061、客户端计算机对打包后的数据包进行数据加密;
51062、客户端计算机判断是否加密成功;若加密成功,则进入S1063步骤,若未加密成功,则转入S1061步骤;
51063、客户端计算机将加密后的数据包进行数据传输,以上传至服务器端。
[0009]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种客户端计算机内软体文件的监测方法,包括以下步骤:
5201、对客户端计算机内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份;
5202、在客户端计算机操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
5203、客户端计算机根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容;
5204、客户端计算机通过进程ID获取到对应的进程对象;
5205、客户端计算机通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
5206、客户端计算机通过原始调用函数得到操作者IP、操作者提交的报文数据,并将操作者IP、报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容打包形成数据包上传至服务器端;
5207、服务器端接收到数据包之后对数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的。
[0010]进一步的,还包括:
5208、服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员。
[0011]进一步的,还包括:
5209、客户端计算机接收当管理人员确认被修改明细对应的软体文件修改为非授权人员的修改时而发出的备份还原请求,客户端计算机将还原请求发送至服务器端;
5210、服务器端接收到还原请求之后,对请求的客户端计算机进行软体文件还原。
[0012]为解决上述技术问题,本发明采用的又一个技术方案是:提供一种客户端计算机内软体文件的监测方法,包括以下步骤:
5301、客户端计算机对其内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份;
5302、客户端计算机在操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
5303、客户端计算机根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容;
5304、客户端计算机通过进程ID获取到对应的进程对象;
5305、客户端计算机通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
5306、客户端计算机通过原始调用函数得到操作者IP、操作者提交的报文数据,并将操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容打包形成数据包上传至服务器端;
5307、客户端计算机接收客户端计算机管理人员发出的备份还原请求,并将接收到的备份还原请求发送至服务器端;
5308、客户端计算机根据服务器端的操作对客户端内的软体文件进行还原操作。
[0013]为解决上述技术问题,本发明采用的又一个技术方案是:提供一种对客户端计算机内软体文件备份还原的方法:
5401、服务器端接收客户端计算机对其内的软体文件进行备份的备份文件,以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件对应的备份文件包括:文件位置目录的备份、文件属性的备份、文件内容的备份;
5402、服务器端接收客户端计算机对每一被修改的软体文件对应的数据包,其中,数据包内有操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容;
5403、服务器端对接收到的数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的;
5404、服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员;
5405、服务器端接收客户端计算机发送的备份还原请求,对请求的客户端计算机进行软体文件还原。
[0014]为解决上述技术问题,本发明采用的又一个技术方案是:提供一种客户端计算机内软体文件的监控还原系统,包括客户端计算机以及服务器端;
所述客户端计算机包括:
备份上传模块,用于对客户端计算机内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份;
拦截模块,用于在客户端计算机操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
写入信息获取模块,用于根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容;
进程对象获取模块,用于通过进程ID获取到对应的进程对象;
第一分析模块,用于通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
操作者信息获取模块,用于通过原始调用函数得到操作者IP、操作者提交的报文数据;数据包形成上传模块,用于将操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容打包形成数据包上传至服务器端;所述服务器端包括:
第二分析模块,用于接收到数据包之后对该数据包,对数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的;
数据包形成发送模块,用于在服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员;
所述客户端计算机还包括接收模块,用于接收当管理人员确认被修改明细对应的软体文件修改为非授权人员的修改时而发出的备份还原请求;
还原请求发送模块,用于将接收到的还原请求发送至服务器端;
服务器端还包括还原操作模块,用于根据还原请求对对应的客户端计算机内的软体文件进行还原操作。
[0015]上述方法及系统,监测每一个写入动作,只要有写入动作便进行拦截,待获取到想要的信息之后,写入会继续,但是这个时候我们能够从获取到的信息通过逆向递归方法对写入动作对应的原始请求函数,通过原始调用函数得到操作者IP及报文数据,如此只要计算机内有文件被修改、或者增加新的软体文件,我们都可得到记录,形成可追溯的记录文件。这些记录文件可以发送至计算机的管理人员中,当计算机的写入操作是被允许的授权人员写入时,管理人员知晓该操作是经过授权过的。当未经管理人员授权时进行修改,管理人员可通过这些记录文件找到修改来源以及被修改的文件的位置,便于管理人员即时通过来源找到入侵口以及便于管理人员采取修复措施。通过拦截写入函数后,获取得到文件位置可得到被修改的文件的具体位置,管理人员得知该具体位置后,可选择性的对该位置处的对应文件进行修复。
[0016]当服务器端形成记录文件后,可通过任何一种传输方式发送给客户端计算机的管理人员,例如邮件、QQ等等,如果客户端计算机的写入修改动作是管理人员自己或者授权的人进行的,管理人员通过该邮件或警示信息后,可不必理会;如果修改动作不是管理人员或授权的人进行的,管理人员收到该警示信息后通过记录文件追溯修改源头,可即时排查问题,对计算机进行修复。
[0017]客户端和服务器端相配合实现客户端计算机内的文件是否被修改的监测,若被修改后,由服务器端备份的软体文件为基线,将修改后的软体文件的属性、内容、位置与备份的对应软体文件进行对比,以得出修改的明细,并形成记录文件发送至管理人员,由于本发明的客户端计算机主要为企业用服务器,因此修改服务器的次数、频率均比较低,而且修改一般均为管理人员修改,因此管理人员在接收到记录文件时,很容易判断此修改是否为本人或者授权人员的修改,若确定本修改为非授权人员的修改并且修改有可能影响服务器的处理,那么则表示该修改为异常修改,有可能为黑客入侵、病毒入侵后的修改,管理人员则通过记录文件找到源头、找到文件位置,通过备份该位置的文件还原,以避免系统继续被感染,通过源头找到修改文件是从服务器哪个入口进入的,能够即时得知服务器的漏洞,能够尽快的对漏洞进行修复。
[0018]上述方法及系统可以与前端防护墙配合使用,达到对客户端计算机的双层保护,即:防护墙对前端入侵进行防护,防护墙未防护到的,通过本系统及方法进行即时检测,以便管理人员即时发现异常修改,即时得知被修改的文件、位置以及来源,即时作好备份或修复工作。
【附图说明】
[0019]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本发明计算机内软体文件被修改时的来源追溯方法一实施例的流程图。
[0021]图2是本发明客户端计算机内软体文件的监测方法一实施例的流程图。
[0022]图3是本发明客户端计算机内软体文件的监测方法另一实施例的流程图。
[0023]图4是本发明对客户端计算机内软体文件备份还原的方法一实施例的流程图。
【具体实施方式】
[0024]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]请参见图1,本发明的计算机内软体文件被修改时的来源追溯方法,包括以下步骤:
5101、在操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
5102、根据操作系统调用写入函数时传递的参数来获取进程的进程ID号;
本步骤中,还可根据写入函数时传递的参数来获取被写入硬盘的位置目录(例如文件路径、文件层次结构)。可理解的,还可通过写入函数时传递的参数来得到被写入的文件属性、被写入的文件内容等等。文件属性例如可是以下属性的其中一种或任意组合:归档文件、隐藏文件、创建时间、文件流、文件大小、文件类型格式、文件MD5 (文件的hash值,文件的唯一标识)、文件所有者、文件组别、文件最后修改时间、系统文件、用户和组等等。本实施例中可选择:文件类型、文件大于、文件MD5、文件所有者、最后修改时间作为文件的属性。在其他的实施例中,文件属性还可有其它的选择,并且文件属性的各类并不限于以上列举,在一些实施例中,可根据实际需要再列出相关的文件属性各类,此处不再一一列举。
[0026]S103、通过进程ID获取到对应的进程对象;
5104、通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
5105、通过原始调用函数得到操作者IP、操作者提交的报文数据,从而得到修改的软体文件的修改来源;
5106、将操作者IP、操作者提交的报文数据打包形成数据包,并将数据包上传至服务器端;
本步骤中,包括以下子步骤:
51061、客户端计算机对打包后的数据包进行数据加密;
51062、客户端计算机判断是否加密成功;若加密成功,则进入S1063步骤,若未加密成功,则转入S1061步骤;
51063、客户端计算机将加密后的数据包进行数据传输,以上传至服务器端。
[0027]上述SlOl至S106步骤均由客户端计算机侧操作,客户端计算机可以是个人电脑、服务器等。而本发明的追溯方法,主要是针对服务器而设定的,因此本实施例的客户端计算机为服务器,例如企业用服务器、各种网页服务器、云服务器等等。而本实施例中的服务器端则为本方法对应的APP的总服务器,用来备份、分析、处理各个客户端服务器的软体文件。
[0028]S107、服务器端接收到数据包之后发出警示信息至客户端计算机侧的对应管理人员以警示对应的客户端计算机内的文件被修改,警示信息包括操作者IP、操作者提交的报文数据。
[0029]本发明实施方式,采用逆向法获取操作系统写入中断的向量表hook住nt写入内核函数,获取写入的进程ID号,通过进程ID获取进程实例句柄,例如Java进程进行的写入操作,则追溯到Java的Fi Ie类wri ter方法,利用汇编语句获取该函数在堆桟中的返回值,通过本发明的追溯引擎达到无消耗的进行追溯直到追溯至能获取HTTP报文信息的函数为止。
[0030]本发明实施方式,监测每一个写入动作,只要有写入动作便进行拦截,待获取到想要的信息之后,写入会继续,但是这个时候我们能够从获取到的信息通过逆向递归方法对写入动作对应的原始请求函数,通过原始调用函数得到操作者IP及报文数据,如此只要计算机内有文件被修改、或者增加新的软体文件,我们都可得到记录,形成可追溯的记录文件。这些记录文件可以发送至计算机的管理人员中,当计算机的写入操作是被允许的授权人员写入时,管理人员知晓该操作是经过授权过的。当未经管理人员授权时进行修改,管理人员可通过这些记录文件找到修改来源以及被修改的文件的位置,便于管理人员即时通过来源找到入侵口以及便于管理人员采取修复措施。通过拦截写入函数后,获取得到文件位置可得到被修改的文件的具体位置,管理人员得知该具体位置后,可选择性的对该位置处的对应文件进行修复。
[0031]当服务器端形成记录文件后,可通过任何一种传输方式发送给客户端计算机的管理人员,例如邮件、QQ等等,如果客户端计算机的写入修改动作是管理人员自己或者授权的人进行的,管理人员通过该邮件或警示信息后,可不必理会;如果修改动作不是管理人员或授权的人进行的,管理人员收到该警示信息后通过记录文件追溯修改源头,可即时排查问题,对计算机进行修复。
[0032]请参见图2,本实施例的客户端计算机内软体文件的监测方法,包括以下步骤:
5201、对客户端计算机内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括对文件文件位置目录的备份、对文件属性的备份、对文件内容的备份;文件的属性可选用上述实施例的文件属性,此处不再赘述
5202、在客户端计算机操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
5203、客户端计算机根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容;
5204、客户端计算机通过进程ID获取到对应的进程对象;
5205、客户端计算机通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
5206、客户端计算机通过原始调用函数得到操作者IP、操作者提交的报文数据,并将操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容打包形成数据包上传至服务器端;
5207、服务器端接收到数据包之后对数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的;
本实施例中,还可选择的包括:
5208、服务器端与基线对比得到修改的明细后,将此打包形成数据包(记录文件)并发送至对应的客户端计算机的管理人员;
本实施例中,还可选择的包括:
5209、客户端计算机接收当管理人员确认被修改明细对应的软体文件修改为非授权人员的修改时而发出的备份还原请求,客户端计算机将还原请求发送至服务器端;
5210、服务器端接收到还原请求之后,对请求的客户端计算机进行软体文件还原。
[0033]本发明实施方式,客户端和服务器端相配合实现客户端计算机内的文件是否被修改的监测,若被修改后,由服务器端备份的软体文件为基线,将修改后的软体文件的属性、内容、位置与备份的对应软体文件进行对比,以得出修改的明细,并形成记录文件发送至管理人员,由于本实施例中的客户端计算机主要为企业用服务器,因此修改服务器的次数、频率均比较低,而且修改一般均为管理人员修改,因此管理人员在接收到记录文件时,很容易判断此修改是否为本人或者授权人员的修改,若确定本修改为非授权人员的修改并且修改有可能影响服务器的处理,那么则表示该修改为异常修改,有可能为黑客入侵、病毒入侵后的修改,管理人员则通过记录文件找到源头、找到文件位置,通过备份该位置的文件还原,以避免系统继续被感染,通过源头找到修改文件是从服务器哪个入口进入的,能够即时得知服务器的漏洞,能够尽快的对漏洞进行修复。
[0034]请参见图3,图3是本发明另一实施例的客户端计算机内软体文件的监测方法,本方法主要为客户端侧处理的流程,具体如下:
5301、客户端计算机对其内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份;
5302、客户端计算机在操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
5303、客户端计算机根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容;
5304、客户端计算机通过进程ID获取到对应的进程对象;
5305、客户端计算机通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
5306、客户端计算机通过原始调用函数得到操作者IP、操作者提交的报文数据,并将操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容,并打包形成数据包上传至服务器端;
5307、客户端计算机接收客户端计算机管理人员发出的备份还原请求,并将接收到的备份还原请求发送至服务器端;
5308、客户端计算机根据服务器端的操作对客户端内的软体文件进行还原操作。
[0035]请参见图4,图4是本发明对客户端计算机内软体文件备份还原的方法,本方法主要为服务器端的处理流程,主要用于根据客户端上传的数据包、管理人员的请求进行备份还原,具体包括以下步骤:
5401、服务器端接收客户端计算机对其内的软体文件进行备份的备份文件,以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件对应的备份文件包括:文件位置目录的备份、文件属性的备份、文件内容的备份;
5402、服务器端接收客户端计算机对每一被修改的软体文件对应的数据包,其中,数据包内有操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容;
5403、服务器端对接收到的数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的;
5404、服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员;
5405、服务器端接收客户端计算机发送的备份还原请求,对请求的客户端计算机进行软体文件还原。
[0036]可理解的,上述方法步骤并非严格按照顺序进行执行,例如:向服务器端请求还原的提前时客户端计算机被修改而导致的客户端计算机出现问题,例如被非授权的人员进行修改,例如被黑客入侵而导致的文件被修改等等,只要管理人员确定修改会导致服务器出现崩溃、被入侵、服务器处理速度变慢等等问题时,均可产生上述还原请求,它是根据管理人员的请求指令而产生的,时间上没有任何限定。
[0037]本发明还公开了一种客户端计算机内软体文件的监控还原系统,包括客户端计算机以及服务器端;
所述客户端计算机包括:
备份上传模块,用于对客户端计算机内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份;
拦截模块,用于在客户端计算机操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数;
写入信息获取模块,用于根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容;
进程对象获取模块,用于通过进程ID获取到对应的进程对象;
第一分析模块,用于通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用;
操作者信息获取模块,用于通过原始调用函数得到操作者IP、操作者提交的报文数据;数据包形成上传模块,用于将操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容,并打包形成数据包上传至服务器端;
所述服务器端包括:
第二分析模块,用于接收到数据包之后对该数据包,对数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的;
数据包形成发送模块,用于在服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员;
所述客户端计算机还包括接收模块,用于接收当管理人员确认被修改明细对应的软体文件修改为非授权人员的修改时而发出的备份还原请求;
还原请求发送模块,用于将接收到的还原请求发送至服务器端;
服务器端还包括还原操作模块,用于根据还原请求对对应的客户端计算机内的软体文件进行还原操作。
[0038]本发明实施方式,客户端和服务器端相配合实现客户端计算机内的文件是否被修改的监测,若被修改后,由服务器端备份的软体文件为基线,将修改后的软体文件的属性、内容、位置与备份的对应软体文件进行对比,以得出修改的明细,并形成记录文件发送至管理人员,由于本实施例中的客户端计算机主要为企业用服务器,因此修改服务器的次数、频率均比较低,而且修改一般均为管理人员修改,因此管理人员在接收到记录文件时,很容易判断此修改是否为本人或者授权人员的修改,若确定本修改为非授权人员的修改并且修改有可能影响服务器的处理,那么则表示该修改为异常修改,有可能为黑客入侵、病毒入侵后的修改,管理人员则通过记录文件找到源头、找到文件位置,通过备份该位置的文件还原,以避免系统继续被感染,通过源头找到修改文件是从服务器哪个入口进入的,能够即时得知服务器的漏洞,能够尽快的对漏洞进行修复。
[0039]本实施例的系统可以与前端防护墙配合使用,达到对客户端计算机的双层保护,即:防护墙对前端入侵进行防护,防护墙未防护到的,通过本系统及方法进行即时检测,以便管理人员即时发现异常修改,即时得知被修改的文件、位置以及来源,即时作好备份或修复工作。
[0040]以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种计算机内软体文件被修改时的来源追溯方法,包括以下步骤: 5101、在操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数; 5102、根据操作系统调用写入函数时传递的参数来获取进程的进程ID号; 5103、通过进程ID获取到对应的进程对象; 5104、通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用; 5105、通过原始调用函数得到操作者IP、操作者提交的报文数据,从而得到修改的软体文件的修改来源。2.如权利要求1所述的计算机内软体文件被修改时的来源追溯方法,其特征在于,在S102步骤中,还根据操作系统调用写入函数时传递的参数来获取被写入硬盘的目录位置。3.如权利要求2所述的计算机内软体文件被修改时的来源追溯方法,其特征在于: 上述SlOl至S105步骤均由客户端计算机侧进行处理; 还包括以下步骤: 5106、客户端计算机将操作者IP、操作者提交的报文数据打包形成数据包,并将数据包上传至服务器端。 5107、服务器端接收到数据包之后发出警示信息至客户端计算机侧的对应管理人员以警示对应的客户端计算机内的文件被修改,警示信息包括操作者IP、操作者提交的报文数据。4.如权利要求3所述的计算机内软体文件被修改时的来源追溯方法,其特征在于,所述S106步骤包括以下子步骤: 51061、客户端计算机对打包后的数据包进行数据加密; 51062、客户端计算机判断是否加密成功;若加密成功,则进入S1063步骤,若未加密成功,则转入S1061步骤; 51063、客户端计算机将加密后的数据包进行数据传输,以上传至服务器端。5.—种客户端计算机内软体文件的监测方法,包括以下步骤: 5201、对客户端计算机内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份; 5202、在客户端计算机操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数; 5203、客户端计算机根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容; 5204、客户端计算机通过进程ID获取到对应的进程对象; 5205、客户端计算机通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用; 5206、客户端计算机通过原始调用函数得到操作者IP、操作者提交的报文数据,并将操作者IP、报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容打包形成数据包上传至服务器端; 5207、服务器端接收到数据包之后对数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的。6.如权利要求5所述的客户端计算机内软体文件的监测方法,其特征在于,还包括: 5208、服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员。7.如权利要求6所述的客户端计算机内软体文件的监测方法,其特征在于,还包括: 5209、客户端计算机接收当管理人员确认被修改明细对应的软体文件修改为非授权人员的修改时而发出的备份还原请求,客户端计算机将还原请求发送至服务器端; 5210、服务器端接收到还原请求之后,对请求的客户端计算机进行软体文件还原。8.—种客户端计算机内软体文件的监测方法,包括以下步骤: 5301、客户端计算机对其内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份; 5302、客户端计算机在操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数; 5303、客户端计算机根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容; 5304、客户端计算机通过进程ID获取到对应的进程对象; 5305、客户端计算机通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用; 5306、客户端计算机通过原始调用函数得到操作者IP、操作者提交的报文数据,并将操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容打包形成数据包上传至服务器端; 5307、客户端计算机接收客户端计算机管理人员发出的备份还原请求,并将接收到的备份还原请求发送至服务器端; 5308、客户端计算机根据服务器端的操作对客户端内的软体文件进行还原操作。9.一种对客户端计算机内软体文件备份还原的方法: 5401、服务器端接收客户端计算机对其内的软体文件进行备份的备份文件,以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件对应的备份文件包括:文件位置目录的备份、文件属性的备份、文件内容的备份; 5402、服务器端接收客户端计算机对每一被修改的软体文件对应的数据包,其中,数据包内有操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容; 5403、服务器端对接收到的数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的; 5404、服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员; 5405、服务器端接收客户端计算机发送的备份还原请求,对请求的客户端计算机进行软体文件还原。10.—种客户端计算机内软体文件的监控还原系统,其特征在于:包括客户端计算机以及服务器端; 所述客户端计算机包括: 备份上传模块,用于对客户端计算机内的软体文件进行备份并上传至服务器端,以使服务器端以此作为判断客户端计算机内的软体文件是否被修改的基线,其中,软体文件的备份包括文件位置目录的备份、文件属性的备份、文件内容的备份; 拦截模块,用于在客户端计算机操作系统内核即将对硬盘写入时,拦截操作系统内核对硬盘的写入函数; 写入信息获取模块,用于根据操作系统调用写入函数时传递的参数来获取进程的进程ID号、被写入硬盘的位置目录、被写入的文件属性、被写入的文件内容; 进程对象获取模块,用于通过进程ID获取到对应的进程对象; 第一分析模块,用于通过进程堆栈读取写入函数的返回地址进行递归分析所述进程对象的原始请求函数调用; 操作者信息获取模块,用于通过原始调用函数得到操作者IP、操作者提交的报文数据;数据包形成上传模块,用于将操作者IP、操作者提交的报文数据、被写入硬盘的位置目录、该目录下被写入的文件属性以及被写入的文件内容打包形成数据包上传至服务器端;所述服务器端包括: 第二分析模块,用于接收到数据包之后对该数据包,对数据包进行分析,根据数据包内的操作者IP得到入侵对象的原始来源,根据报文数据分析得到操作者的写入手段;将数据包中的被写入硬盘的位置目录、该目录下被写入文件属性以及被写入文件内容与备份的对应文件进行比对,以得到在原备份的基础上被修改的明细,从而实现对客户端计算机内的软体文件进行监测的目的; 数据包形成发送模块,用于在服务器端与基线对比得到修改的明细后,将此打包形成数据包并发送至对应的客户端计算机的管理人员; 所述客户端计算机还包括接收模块,用于接收当管理人员确认被修改明细对应的软体文件修改为非授权人员的修改时而发出的备份还原请求; 还原请求发送模块,用于将接收到的还原请求发送至服务器端; 服务器端还包括还原操作模块,用于根据还原请求对对应的客户端计算机内的软体文件进行还原操作。
【文档编号】G06F21/62GK105930740SQ201610234679
【公开日】2016年9月7日
【申请日】2016年4月15日
【发明人】舒小龙
【申请人】重庆鑫合信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1