一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文件篡改检测方法、装置、电子设备及存储介质与流程

2022-06-29 23:58:03 来源:中国专利 TAG:


1.本发明实施例涉及计算机安全技术领域,特别涉及一种文件篡改检测方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机技术在社会生活中各个领域的广泛运用,病毒也如同其附属品一样接踵而来。由于这些病毒所具有的感染性、复制性及破坏性,使得其已成为困扰计算机使用的一个重大问题。
3.相关技术中,病毒对官方发布的白文件的篡改的方式例如可以是:将恶意代码和垃圾数据等冗余数据添加到白文件的二进制代码的尾部,并将恶意代码隐藏在垃圾数据中。上述被篡改的白文件增大了反病毒引擎(例如杀毒软件)的检测难度,从而不能实现对这类被篡改的白文件的有效检测。


技术实现要素:

4.为了解决反病毒引擎不能实现对被篡改的白文件的有效检测的问题,本发明实施例提供了一种文件篡改检测方法、装置、电子设备及存储介质。
5.第一方面,本发明实施例提供了一种文件篡改检测方法,应用于服务器,包括:
6.接收由客户端发来的携带有数字签名的查询请求;
7.对所述数字签名进行解密,得到待查找哈希值;
8.基于所述待查找哈希值和预先创建的数据库,确定向所述客户端反馈的结果;其中,所述数据库包括白文件和与各白文件的数字签名对应的哈希值,所述结果包括服务器存在与所述查询请求的数字签名对应的白文件和服务器不存在与所述查询请求的数字签名对应的白文件;
9.将所述结果发送给所述客户端,以使所述客户端利用所述结果检测携带有数字签名的第一待检测文件是否被篡改。
10.在一种可能的设计中,所述查询请求还携带有与所述数字签名对应的白文件的官方来源;
11.还包括:
12.在所述结果为服务器不存在与所述查询请求的数字签名对应的白文件时,根据各客户端发来的查询请求携带的白文件的官方来源,访问所述白文件的官方网站,以从所述官方网站收集所述白文件。
13.在一种可能的设计中,所述查询请求还携带有与所述数字签名对应的白文件的官方来源;
14.还包括:
15.在所述结果为服务器不存在与所述查询请求的数字签名对应的白文件时,根据各客户端发来的查询请求携带的白文件的官方来源,对所述白文件的官方网站进行分类,以
对相同官方网站的第一待检测文件进行分析。
16.在一种可能的设计中,所述查询请求还携带有与所述数字签名对应的白文件的官方来源;
17.所述对所述数字签名进行解密,得到待查找哈希值,包括:
18.根据所述白文件的官方来源,访问所述白文件的官方网站;
19.从所述官方网站中获取所述白文件的公钥;
20.利用所述公钥对所述数字签名进行解密,得到待查找哈希值。
21.在一种可能的设计中,所述数据库包括的至少部分白文件是通过如下方式获得的:
22.针对每个客户端,在当前客户端将所述第一待检测文件确定为被篡改的白文件和将第二待检测文件确定为未被篡改的白文件时,当前客户端将所述第二待检测文件作为白文件上传至所述服务器;其中,所述第二待检测文件为所述第一待检测文件的有效数据和数字签名重组后的文件。
23.在一种可能的设计中,所述第一待检测文件的有效数据是基于所述第一待检测文件的数字签名得到的。
24.在一种可能的设计中,所述第一待检测文件的有效数据是通过如下方式得到的:
25.利用客户端提取所述第一待检测文件的数字签名,得到所述第一待检测文件的有效数据在所述第一待检测文件的二进制代码中的开始位置和所占长度;
26.基于所述开始位置和所述所占长度,利用客户端获取所述第一待检测文件的有效数据。
27.第二方面,本发明实施例还提供了一种文件篡改检测装置,应用于服务器,包括:
28.接收模块,用于接收由客户端发来的携带有数字签名的查询请求;
29.解密模块,用于对所述数字签名进行解密,得到待查找哈希值;
30.确定模块,用于基于所述待查找哈希值和预先创建的数据库,确定向所述客户端反馈的结果;其中,所述数据库包括白文件和与各白文件的数字签名对应的哈希值,所述结果包括服务器存在与所述查询请求的数字签名对应的白文件和服务器不存在与所述查询请求的数字签名对应的白文件;
31.发送模块,用于将所述结果发送给所述客户端,以使所述客户端利用所述结果检测携带有数字签名的第一待检测文件是否被篡改。
32.第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
33.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
34.本发明实施例提供了一种文件篡改检测方法、装置、电子设备及存储介质,服务器在接收到由客户端发来的携带有数字签名的查询请求后,会对数字签名进行解密,得到待查找哈希值;然后服务器基于待查找哈希值和预先创建的数据库,确定向客户端反馈的结果;最后服务器将结果发送给客户端,以使客户端利用结果检测携带有数字签名的第一待
检测文件是否被篡改,这样就可以借助服务器来帮助客户端的反病毒引擎实现对被篡改的白文件的有效检测。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是本发明一实施例提供的一种文件篡改检测方法流程图;
37.图2是本发明一实施例提供的另一种文件篡改检测方法流程图;
38.图3是本发明一实施例提供的一种电子设备的硬件架构图;
39.图4是本发明一实施例提供的一种文件篡改检测装置结构图。
具体实施方式
40.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.如前所述,病毒对官方发布的白文件的篡改的方式例如可以是:将恶意代码和垃圾数据等冗余数据添加到白文件的二进制代码的尾部,并将恶意代码隐藏在垃圾数据中。
42.为了解决该技术问题,发明人考虑到官方发布的文件往往带有数字签名,因此可以利用数字签名是否有效来检测待检测文件是否被篡改,例如可以借助服务器对数字签名进行利用,以帮助客户端的反病毒引擎实现对被篡改的白文件的有效检测。
43.下面描述以上构思的具体实现方式。
44.请参考图1,本发明实施例提供了一种文件篡改检测方法,该方法包括:
45.步骤100:接收由客户端发来的携带有数字签名的查询请求;
46.步骤102:对数字签名进行解密,得到待查找哈希值;
47.步骤104:基于待查找哈希值和预先创建的数据库,确定向客户端反馈的结果;其中,数据库包括白文件和与各白文件的数字签名对应的哈希值,结果包括服务器存在与查询请求的数字签名对应的白文件和服务器不存在与查询请求的数字签名对应的白文件;
48.步骤106:将结果发送给客户端,以使客户端利用结果检测携带有数字签名的第一待检测文件是否被篡改。
49.本发明实施例中,服务器在接收到由客户端发来的携带有数字签名的查询请求后,会对数字签名进行解密,得到待查找哈希值;然后服务器基于待查找哈希值和预先创建的数据库,确定向客户端反馈的结果;最后服务器将结果发送给客户端,以使客户端利用结果检测携带有数字签名的第一待检测文件是否被篡改,这样就可以借助服务器来帮助客户端的反病毒引擎实现对被篡改的白文件的有效检测。
50.下面描述图1所示的各个步骤的执行方式。
51.针对步骤100:
52.数字签名是指:只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
53.以pe文件为例,pe文件的image_nt_headers结构中有一个image_optional_header32结构,在image_optional_header32结构中第五个image_data_directory项是指向该pe文件的数字签名的。具体地,第五个image_data_directory项中的virtualaddress和dwsingsize分别表示数字签名的位置和大小。如果这两项不为零,则表示该pe文件中存在数字签名。
54.为了防止被篡改,官方(例如office官方、windows官方等)发布的白文件通常是携带有数字签名的。为了增大反病毒检测的难度,不法分子会将恶意代码和垃圾数据等冗余数据添加到白文件的二进制代码的尾部,并将恶意代码隐藏在垃圾数据中。因此,为了检测官方发布的白文件是否被篡改,可以借助服务器对白文件携带的数字签名进行利用,以将服务器得到的结果反馈给客户端。
55.针对步骤102:
56.数字签名的防篡改逻辑是:发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要(即哈希值),接着再用公钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该报文是发送方的。
57.数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名;二是数字签名能确定消息的完整性,因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值(即哈希值)也将发生变化,即不同的文件将得到不同的数字摘要。
58.在一些实施方式中,查询请求还携带有与数字签名对应的白文件的官方来源,步骤102可以包括:
59.根据白文件的官方来源,访问白文件的官方网站;
60.从官方网站中获取白文件的公钥;
61.利用公钥对数字签名进行解密,得到待查找哈希值。
62.在本实施例中,待查找哈希值是数字签名中的加密字段,要想提取到待查找哈希值,需要访问到白文件所在的官网,以获取与白文件对应的公钥,从而对数字签名进行解密,得到待查找哈希值。需要说明的是,本步骤中提及的“白文件”是否被篡改并未得知,因此需要借助服务器对该“白文件”的数字签名进行查找,以从另一角度来判断该“白文件”是否被窜改。
63.针对步骤104:
64.为了白文件查找的便捷性,可以利用数字签名中的待查找哈希值进行查找。
65.可以理解的是,数据库包括的白文件既可以是由服务器访问白文件官方网站收集得到,又可以是由各客户端上传至服务器得到。
66.在一些实施方式中,在数据库包括的白文件是由各客户端上传至服务器得到时,这部分白文件具体是通过如下方式获得的:
67.针对每个客户端,在当前客户端将第一待检测文件确定为被篡改的白文件和将第
二待检测文件确定为未被篡改的白文件时,当前客户端将第二待检测文件作为白文件上传至服务器;其中,第二待检测文件为第一待检测文件的有效数据和数字签名重组后的文件。
68.也就是说,在本实施例中,第一待检测文件即为在白文件的二进制代码的尾部添加了冗余数据后的文件,第二待检测文件即为将第一待检测文件中的冗余数据剔除后的文件。
69.在一些实施方式中,第一待检测文件的有效数据是基于第一待检测文件的数字签名得到的。
70.以pe文件为例,例如pe文件的大小为11m,数字签名位于10-11m的位置,则可以得到pe文件的有效数据位于0-10m的位置。
71.在一些实施方式中,第一待检测文件的有效数据是通过如下方式得到的:
72.利用客户端提取第一待检测文件的数字签名,得到第一待检测文件的有效数据在第一待检测文件的二进制代码中的开始位置和所占长度;
73.基于开始位置和所占长度,利用客户端获取第一待检测文件的有效数据。
74.在本实施例中,通过在数字签名中提取到的有效数据的开始位置和所占长度,可以得到第一待检测文件的有效数据。
75.下面将在步骤106中介绍客户端是如何利用服务器反馈的结果来检测携带有数字签名的第一待检测文件是否被篡改。
76.针对步骤106:
77.在一些实施方式中,步骤“客户端利用结果检测携带有数字签名的第一待检测文件是否被篡改”可以包括:
78.步骤s1、客户端对携带有数字签名的第一待检测文件进行扫描;
79.步骤s2、客户端验证每个第一待检测文件的数字签名是否有效;
80.步骤s3、若当前第一待检测文件的数字签名无效,则基于当前第一待检测文件的数字签名,客户端获取当前第一待检测文件的有效数据;
81.步骤s4、客户端将当前第一待检测文件的有效数据和数字签名重组为第二待检测文件;
82.步骤s5、客户端基于第二待检测文件的数字签名,检测第一待检测文件和第二待检测文件是否被篡改。
83.在本实施例中,首先反病毒引擎对携带有数字签名的第一待检测文件进行扫描,并验证每个第一待检测文件的数字签名是否有效;若当前第一待检测文件的数字签名无效,则基于当前第一待检测文件的数字签名,获取当前第一待检测文件的有效数据,这样就可以将添加到白文件的二进制代码尾部的冗余数据剔除;然后将当前第一待检测文件的有效数据和数字签名重组为第二待检测文件,以基于第二待检测文件的数字签名,检测第一待检测文件和第二待检测文件是否被篡改,从而解决了反病毒引擎不能实现对被篡改的白文件的有效检测的问题。
84.在一些实施方式中,步骤s2可以包括:
85.针对每个第一待检测文件,客户端均执行:
86.提取当前第一待检测文件的数字签名中的第一哈希值;
87.对当前第一待检测文件中除数字签名外的数据进行哈希计算,得到第二哈希值;
88.基于第一哈希值和第二哈希值,验证当前第一待检测文件的数字签名是否有效。
89.在本实施例中,通过比对数字签名中的第一哈希值和由哈希计算得到的第二哈希值,可以确定当前第一待检测文件的数字签名是否有效。
90.可以理解的是,第一哈希值是数字签名中的加密字段,要想提取到第一哈希值,需要访问到当前第一待检测文件所在的官网,以获取与当前第一待检测文件对应的公钥,从而对数字签名进行解密,得到第一哈希值。同时,也可以从当前第一待检测文件所在的官网获取到该第一待检测文件对应的哈希函数,从而利用该哈希函数对当前第一待检测文件中除数字签名外的数据进行哈希计算,得到第二哈希值。其中,哈希函数包括但不限于md5(message-digest algorithm 5,信息-摘要算法5)、sha-1、sha-2、sha-3和ripemd-160。
91.在一些实施方式中,步骤“基于第一哈希值和第二哈希值,验证当前第一待检测文件的数字签名是否有效”可以包括:
92.若第一哈希值和第二哈希值相同,则表明当前第一待检测文件的数字签名有效;
93.若第一哈希值和第二哈希值不同,则表明当前第一待检测文件的数字签名无效。
94.如果第一待检测文件的数字签名有效,则进一步表明第一待检测文件就是未被篡改的白文件;如果第一待检测文件的数字签名无效,则表明官方发布的白文件已经被篡改。不过,此时并不能确定出白文件篡改的真正原因,即不能确定是白文件的有效数据被篡改,还是白文件的二进制代码尾部附加了冗余数据。因此,需要继续通过后续步骤确定出白文件篡改的真正原因。
95.为了确定出当前第一待检测文件的数字签名无效时的白文件篡改的真正原因,可以利用当前第一待检测文件的数字签名,获取当前第一待检测文件的有效数据,具体的获取方式在上述内容中已经提及,在此不进行赘述。
96.在得到当前第一待检测文件的有效数据后,可以将当前第一待检测文件的有效数据和数字签名进行重组,这样就可以继续对重组得到的第二待检测文件进行验证,如此有利于确定出当前第一待检测文件的数字签名无效时的白文件篡改的真正原因。
97.可以理解的是,重组可以是指将数字签名的二进制代码拼接到有效数据的二进制代码的尾部。
98.在一些实施方式中,步骤s5可以包括:
99.客户端验证第二待检测文件的数字签名是否有效;
100.若第二待检测文件的数字签名有效,则客户端将第二待检测文件确定为未被篡改的白文件,以及将第一待检测文件确定为被篡改的白文件。
101.在本实施例中,通过验证第二待检测文件的数字签名是否有效,若第二待检测文件的数字签名有效,则可以将第二待检测文件确定为未被篡改的白文件,同时也能确定出当前第一待检测文件的数字签名无效时的白文件篡改的真正原因是由于在白文件的二进制代码的尾部添加了冗余数据,即第一待检测文件是被篡改的白文件。
102.在一些实施方式中,步骤s5还可以包括:
103.客户端验证第二待检测文件的数字签名是否有效;
104.若第二待检测文件的数字签名无效,且结果为服务器存在与查询请求的数字签名对应的白文件,则客户端将第一待检测文件和第二待检测文件确定为被篡改的白文件。
105.在本实施例中,如果第二待检测文件的数字签名无效,且结果为服务器存在与查
询请求的数字签名对应的白文件,则表明第二待检测文件的有效数据和数字签名不匹配,即二者中至少有一者是被篡改的。也就是说,在第二待检测文件的数字签名无效时,仍然不能确定出未被篡改的白文件,即不能确定出白文件篡改的真正原因。
106.在一些实施方式中,步骤s5还可以包括:
107.客户端验证第二待检测文件的数字签名是否有效;
108.若第二待检测文件的数字签名无效,且结果为服务器不存在与查询请求的数字签名对应的白文件,则客户端将第一待检测文件和第二待检测文件确定为疑似恶意文件。
109.在本实施例中,如果借助服务器仍然不能确定出白文件篡改的真正原因,但是由于引入服务器判断的方案,如此可以增加第一待检测文件和第二待检测文件的恶意程度,因此有理由将第一待检测文件和第二待检测文件确定为疑似恶意文件,以提醒用户谨慎操作。
110.在一些实施方式中,步骤“客户端验证第二待检测文件的数字签名是否有效”可以包括:
111.客户端提取第二待检测文件的数字签名中的第三哈希值;
112.客户端对第二待检测文件中除数字签名外的数据进行哈希计算,得到第四哈希值;
113.客户端基于第三哈希值和第四哈希值,验证第二待检测文件的数字签名是否有效。
114.在本实施例中,通过比对数字签名中的第三哈希值和由哈希计算得到的第四哈希值,可以确定第二待检测文件的数字签名是否有效。
115.可以理解的是,一个第一待检测文件的数字签名的第一哈希值,与由该第一待检测文件得到的第二检测文件的第三哈希值相同。
116.还可以理解的是,第三哈希值是数字签名中进行加密的,要想提取到第三哈希值,需要访问到第二待检测文件所在的官网,以获取与第二待检测文件对应的公钥,从而对数字签名进行解密,得到第三哈希值。当然,也可以将由上述步骤s2得到的第一哈希值作为第二待检测文件的数字签名中的第三哈希值。
117.同时,也可以从第二待检测文件所在的官网获取到该第二待检测文件对应的哈希函数,从而利用该哈希函数对第二待检测文件中除数字签名外的数据进行哈希计算,得到第四哈希值。其中,哈希函数包括但不限于md5(message-digest algorithm 5,信息-摘要算法5)、sha-1、sha-2、sha-3和ripemd-160。
118.在一些实施方式中,步骤“客户端基于第三哈希值和第四哈希值,验证第二待检测文件的数字签名是否有效”可以包括:
119.若第三哈希值和第四哈希值相同,则表明当前第二待检测文件的数字签名有效;
120.若第三哈希值和第四哈希值不同,则表明当前第二待检测文件的数字签名无效。
121.如果第二待检测文件的数字签名有效,则进一步表明第二待检测文件就是未被篡改的白文件;如果第二待检测文件的数字签名无效,则表明第二待检测文件的有效数据和数字签名不匹配,即二者中至少有一者是被篡改的。也就是说,在第二待检测文件的数字签名无效时,仍然不能确定出未被篡改的白文件,即不能确定出白文件篡改的真正原因。
122.为了能够继续确定出白文件篡改的真正原因,可以借助服务器来确定是否存在与
第二待检测文件的数字签名对应的白文件,如果存在,则可以证明第二待检测文件的数字签名是正确的且第二待检测文件的有效数据是被篡改的,同时服务器还可以向客户端反馈未被篡改的白文件。
123.此外,为了提高服务器的响应能力,可以根据各客户端发来的查询请求,访问相应的官方网站,并收集与查询请求对应的白文件。
124.在一些实施方式中,查询请求还携带有与数字签名对应的白文件的官方来源,上述方法还可以包括:
125.在结果为服务器不存在与查询请求的数字签名对应的白文件时,根据各客户端发来的查询请求携带的白文件的官方来源,访问白文件的官方网站,以从官方网站收集白文件。
126.在本实施例中,各客户端向服务器发送查询请求时,则表明客户端有可能已经被篡改特定白文件的病毒感染,因此服务器可以访问相应的官方网站去收集对应的白文件,并反馈给客户端,这样可以提高服务器的响应能力。
127.由于一些感染特定白文件的病毒同属于一个病毒家族,其篡改习惯类似,因此可以借助各客户端发来的查询请求来对这些特定白文件进行集中分析。
128.在一些实施方式中,查询请求还携带有与数字签名对应的白文件的官方来源,上述方法还可以包括:
129.在结果为服务器不存在与查询请求的数字签名对应的白文件时,根据各客户端发来的查询请求携带的白文件的官方来源,对白文件的官方网站进行分类,以对相同官方网站的第一待检测文件进行分析。
130.在本实施例中,通过对白文件的官方网站进行分类,这样方便用户对相同官方网站的第一待检测文件进行分析,以识别出病毒家族,进而可以进一步来提高客户端反病毒引擎的查杀能力。
131.图2示出根据另一个实施例的文件篡改检测方法的流程图。参见图2,该方法应用于客户端时,包括:
132.步骤200:客户端对携带有数字签名的第一待检测文件进行扫描;
133.步骤202:客户端验证每个第一待检测文件的数字签名是否有效;若是,则执行步骤204;若否,则执行步骤206;
134.步骤204:客户端将第一待检测文件确定为未被篡改的白文件;
135.步骤206:客户端基于当前第一待检测文件的数字签名,获取当前第一待检测文件的有效数据;
136.步骤208:客户端将当前第一待检测文件的有效数据和数字签名重组为第二待检测文件;
137.步骤210:客户端验证第二待检测文件的数字签名是否有效;若是,则执行步骤212;若否,则执行步骤214;
138.步骤212:客户端将第二待检测文件确定为未被篡改的白文件,以及将第一待检测文件确定为被篡改的白文件;
139.步骤214:客户端将第二待检测文件的数字签名上传至服务器;
140.步骤216:客户端接收服务器反馈的结果;
141.步骤218:客户端接收服务器发送的白文件,并将第一待检测文件和第二待检测文件确定为被篡改的白文件。
142.该方法应用于服务器时,包括:
143.步骤300:服务器接收由客户端发来的携带有第二待检测文件的数字签名的查询请求;
144.步骤302:服务器对数字签名进行解密,得到待查找哈希值;
145.步骤304:服务器基于待查找哈希值和预先创建的数据库,确定向客户端反馈的结果;分别执行步骤306、308和310;
146.步骤306:服务器将结果发送给客户端;
147.步骤308:在结果为服务器不存在与查询请求的数字签名对应的白文件时,服务器根据各客户端发来的查询请求携带的白文件的官方来源,访问白文件的官方网站,以从官方网站收集白文件;
148.步骤310:在结果为服务器不存在与查询请求的数字签名对应的白文件时,服务器根据各客户端发来的查询请求携带的白文件的官方来源,对白文件的官方网站进行分类,以对相同官方网站的第一待检测文件进行分析。
149.如图3、图4所示,本发明实施例提供了一种文件篡改检测装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种文件篡改检测装置所在电子设备的一种硬件架构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在电子设备的cpu将非易失性存储器中对应的计算机程序读取到内存中运行形成的。
150.如图4所示,本实施例提供的一种文件篡改检测装置,包括:
151.接收模块400,用于接收由客户端发来的携带有数字签名的查询请求;
152.解密模块402,用于对数字签名进行解密,得到待查找哈希值;
153.确定模块404,用于基于待查找哈希值和预先创建的数据库,确定向客户端反馈的结果;其中,数据库包括白文件和与各白文件的数字签名对应的哈希值,结果包括服务器存在与查询请求的数字签名对应的白文件和服务器不存在与查询请求的数字签名对应的白文件;
154.发送模块406,用于将结果发送给客户端,以使客户端利用结果检测携带有数字签名的第一待检测文件是否被篡改。
155.在本发明实施例中,接收模块400可用于执行上述方法实施例中的步骤100,解密模块402可用于执行上述方法实施例中的步骤102,确定模块404可用于执行上述方法实施例中的步骤104,发送模块406可用于执行上述方法实施例中的步骤106。
156.在本发明的一个实施例中,查询请求还携带有与数字签名对应的白文件的官方来源;
157.还包括:
158.收集模块,用于在结果为服务器不存在与查询请求的数字签名对应的白文件时,根据各客户端发来的查询请求携带的白文件的官方来源,访问白文件的官方网站,以从官
方网站收集白文件。
159.在本发明的一个实施例中,查询请求还携带有与数字签名对应的白文件的官方来源;
160.还包括:
161.分类模块,用于在结果为服务器不存在与查询请求的数字签名对应的白文件时,根据各客户端发来的查询请求携带的白文件的官方来源,对白文件的官方网站进行分类,以对相同官方网站的第一待检测文件进行分析。
162.在本发明的一个实施例中,查询请求还携带有与数字签名对应的白文件的官方来源;
163.解密模块402,用于执行如下操作:
164.根据白文件的官方来源,访问白文件的官方网站;
165.从官方网站中获取白文件的公钥;
166.利用公钥对数字签名进行解密,得到待查找哈希值。
167.在本发明的一个实施例中,数据库包括的至少部分白文件是通过如下方式获得的:
168.针对每个客户端,在当前客户端将第一待检测文件确定为被篡改的白文件和将第二待检测文件确定为未被篡改的白文件时,当前客户端将第二待检测文件作为白文件上传至服务器;其中,第二待检测文件为第一待检测文件的有效数据和数字签名重组后的文件。
169.在本发明的一个实施例中,第一待检测文件的有效数据是基于第一待检测文件的数字签名得到的。
170.在本发明的一个实施例中,第一待检测文件的有效数据是通过如下方式得到的:
171.利用客户端提取第一待检测文件的数字签名,得到第一待检测文件的有效数据在第一待检测文件的二进制代码中的开始位置和所占长度;
172.基于开始位置和所占长度,利用客户端获取第一待检测文件的有效数据。
173.可以理解的是,本发明实施例示意的结构并不构成对一种文件篡改检测装置的具体限定。在本发明的另一些实施例中,一种文件篡改检测装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
174.上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
175.本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种文件篡改检测方法。
176.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种文件篡改检测方法。
177.具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
178.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
179.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
180.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
181.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
182.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
183.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
184.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献