一种检测被篡改的应用的方法及设备与流程

专利2022-06-29  39


本发明属于移动互联网技术领域,具体涉及一种移动智能终端上具有隐蔽能力的检测被篡改的应用的方法及装置。



背景技术:

目前移动终端上山寨app的现象比较普遍,山寨app会影响用户的隐私与用户体验,因此需要对app的完整性进行校验,如果app被非法篡改,就应当在服务端做出判断,禁止山寨app使用功能。

具体来说,由于本地应用部署脱离了和应用平台服务器的通信,这就使得它的一些安全隐患凸显了出来,一般来讲存在以下安全问题:

(1)应用来源不能得到保证。

存储在大容量区域的应用安装文件是通过拷贝文件的方式存放在大容量卡上的,安装文件是否来源于合法渠道(如运营商或第三方应用提供商)不得而知。这样的应用安装到卡上可能会给智能卡带来很多不确定的安全隐患。

(2)应用完整性不能得到保证。

安装文件存储在大容量区域时并不会进行完整性检查,因此应用是否包含完整以及是否未被恶意篡改也不得而知。这样的应用安装在卡上可能会导致安装失败,或者造成用户信息被不法分子非法窃取等风险。

(3)应用授权安装不能得到保证。

有些应用并非完全免费提供给用户使用的,需要用户预先申请得到授权后方可使用。一旦被授权的应用安装文件被拷贝到了其它未经授权的大容量卡上,就有可能出现未经授权的用户能够成功安装应用的情况,由此会对应用提供商的利益造成极大的损害。

目前app完整性校验的方法的核心手段都是收集app的安装文件与资源文件的摘要值,并通过接口进行上报,在服务端与官方app摘要值进行匹配后得出该app是否为官方版本的判断。

例如,中国发明专利公开号cn102663292a披露了一种实现智能卡应用部署的方法及系统,其中方法包括:在发布应用时,将应用安装文件与校验文件一起打包成应用安装文件包发布;在安装应用时,若检查应用安装文件包内不具备校验文件包,或者计算出的摘要值与从校验文件解密出的校验数据明文中的摘要值不符,或者,检查需经授权的用户未经授权,则禁止应用安装;否则,允许进行安装。

但是这种直接的接口上报方法不具备隐蔽性,容易被黑客察觉并寻找机会进行破解。



技术实现要素:

为解决以上问题,本发明提出一种app的完整性校验方法,该方法具有较强的隐蔽能力,并应用在移动智能终端上。

具体的,根据本发明的一个方面,本发明提供一种用于终端的检测被篡改的应用的方法,包括:

计算所述终端上所安装的应用的校验码;

所述应用启动后,获取所述应用的上传操作关联的第一影像,所述上传操作由所述应用的功能使用触发;

使用所述校验码处理所述第一影像的数据,并根据处理后的数据生成第二影像,所述第二影像的视觉效果与所述第一影像相似;

将所述第二影像提供给服务端。

根据本发明的另一个方面,还提供了一种用于服务端的检测被篡改的应用的方法,包括:

接收安装有所述应用的终端在所述应用的功能使用过程中上传的第二影像;

对所述第二影像进行图像变换,获得第二变换数据;

基于预设规则,从所述第二变换数据中提取数据,以获得来自所述终端的校验码;

将来自所述终端的校验码与预先存储的所述应用的基准校验码进行匹配;

若来自所述终端的校验码与所述基准校验码不匹配,确定所述应用被篡改。

根据本发明的另一个方面,还提供了一种应用程序完整性的校验设备,包括:

一个或多个处理器、存储一个或多个程序的存储装置;

当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现如上所述的方法。

根据本发明的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

本发明的优点在于:将app的摘要值隐藏在正常的用户数据(图片)中进行上报,这样就避免了黑客察觉完整性校验的过程。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明的一种应用程序完整性的校验系统原理图;

图2示出了本发明的一种检测被篡改的应用的方法流程图;

图3示出了本发明的一种应用程序完整性的第一种校验装置结构图。

图4示出了本发明的一种应用程序完整性的第二种校验装置结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

具体的,根据本发明的一个方面,本发明提供一种用于终端的检测被篡改的应用的方法,用于客户端,包括:

a1、计算所述终端上所安装的应用的校验码;用户完成应用安装之后,在客户端第一次激活应用时,应用会启动守护进程,计算当前应用的校验码。

a2、所述应用启动后,获取所述应用的上传操作关联的第一影像,所述上传操作由所述应用的功能使用触发。例如用户在使用某个应用时,应用促使用户进行某些必然会上传图片的产品流程操作(例如上传头像,设置背景图片等),在这个过程中产生的图片记为第一影像;该图像是用户正常使用应用时,应用提供给服务端的图像,而非专门为了校验而增加的步骤。例如,用户使用应用时上传的头像等。

a3、使用所述校验码处理所述第一影像的数据,并根据处理后的数据生成第二影像,所述第二影像的视觉效果与所述第一影像相似;根据本发明的一个优选方案,在这个步骤,对所述第一影像进行图像变换,获得第一变换数据,所述第一变换数据包括第一频域矩阵;使用所述校验码,改变所述第一变换数据,优选的,可以例如基于所述校验码,改变所述第一频域矩阵的中频段的部分序列,进一步优选的,可以对所述校验码进行加密,并使用加密后的校验码替换所述第一频域矩阵中的中频段的部分数据。将得到的所述第二频域矩阵,作为第二变换数据;对所述第二变换数据进行反向图像变换,获得所述第二影像。

在这个图像变换的过程中,上述图像变换操作不会影响上传图像的视觉效果,原因是虽然图像的高频部分在图像变换的过程中会有损失,但是低频部分是不变的,而仅对图像变换后仍然存在的中频段的一部分序列进行替换。由于低频部分决定了图片的视觉效果,而本实施例中图片的低频部分在变换前后并无变化,因此,经过变换后的图像的视觉效果并没有明显的变化,处理后的图片在视觉上与原图片没有太大区别。

所述图像变换包括离散余弦变换或小波变换。离散余弦变换(dctfordiscretecosinetransform)是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换(dftfordiscretefouriertransform),但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数),在有些变形里面需要将输入或者输出的位置移动半个单位(dct有8种标准类型,其中4种是常见的)。小波变换(wavelettransform,wt)是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了fourier变换的困难问题。

作为本发明的更优选实施例,优选的,所述加密采用如下方法的至少一种:md5算法、sha加密、des加密算法。md5消息摘要算法(英语:md5message-digestalgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。安全散列算法(英语:securehashalgorithm,缩写为sha)是一个密码散列函数家族,是fips所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。数据加密算法(dataencryptionalgorithm,dea)是一种对称加密算法,是使用最广泛的密钥系统。

所述校验码包括基于所述应用的运行核心文件和资源文件生成的摘要值。

a4、将所述第二影像提供给服务端。此后客户端进入短暂的等待阶段,等待服务端给出应用检测结果。

a5、接收来自服务端的应用检测结果;若所述应用检测结果指示所述应用被篡改,执行以下至少一项操作:提示用户所述应用为非法应用;禁止所述应用被使用。如果匹配,则可以提示客户放心使用该应用。

例如,将服务端的图像变换和提取后得到的校验码与应用存储在服务端的初始校验码相比较,如果相同,则认为该应用是没有经过篡改的,否则认为该应用是被篡改的山寨应用。服务端将比较结果发送给客户端,如果该应用是没有经过篡改的,可以提示用户该应用为合法应用,用户可以放心使用。即应用若合法,服务端可以发出用于指示未被篡改的应用检测结果,当然,在这种情形下,服务器也可以选择不发出检测结果,则客户端默认该应用可以正常使用。

反之,若判断该应用是被篡改的山寨应用,则在客户端用弹出对话框或者振动、声音播报等形式提醒用户此为非法应用,请用户留意;更进一步的,还可以在用户端直接禁止继续使用该应用,从而彻底断绝安全隐患。

本实施例的方案中,由于将校验码(基于app运行核心文件和资源文件生成的摘要值)隐藏在产品正常上传信息的流程中(例如,隐藏在用户上传的头像中),以此隐藏校验码,减少被破解的可能性。

根据本发明的另一个方面,还提供了一种用于服务端的检测被篡改的应用的方法,用于服务端,包括:

b1、接收安装有所述应用的终端在所述应用的功能使用过程中上传的第二影像。如前所述,所述第二影像的视觉效果与第一影像相似,更重要的是,第二影像包含有加密后的待验证应用的校验码。

服务端的主要作用就是基于该加密后的校验码,与该应用刚发布时存储在服务端的原始校验码进行比较,以鉴别客户端新安装应用的真伪,从而防止已经被篡改的应用危及客户端用户的信息安全。

b2、对所述第二影像进行图像变换,获得第二变换数据;优选的,所述图像变换包括离散余弦变换或小波变换。这个步骤的目的是为了将第二影像进行图像变换从而获得其中隐藏的待验证应用的校验码。

b3、基于预设规则,从所述第二变换数据的中频段提取数据,并将所提取的数据解密以获得来自所述终端的校验码;优选的,所述第二变换数据可以包括第二频域矩阵。优选的,所述校验码包括基于应用程序运行核心文件和资源文件生成的摘要值。

由于客户端的操作是将待验证应用的校验码隐藏于图像对应的频域矩阵的中频段,因此,服务端的操作是一个反向的过程,即先进行数据的提取操作,将经过客户端加密的待验证应用的校验码提取出来,然后对其进行相应的解密过程,这样就可以获得待验证应用的校验码的校验码,以便进行下一步的对比验证工作。

b4、将来自所述终端的校验码与预先存储的所述应用的基准校验码进行匹配;若来自所述终端的校验码与所述基准校验码不匹配,确定所述应用被篡改。优选的,若所述应用被篡改,向客户端发送用于指示所述应用被篡改的应用检测结果。

例如,在服务端,将服务端的图像变换和提取后得到的校验码与应用存储在服务端的初始校验码相比较,如果相同,则认为该应用是没有经过篡改的,否则认为该应用是被篡改的山寨应用。服务端将比较结果发送给客户端,如果该应用是没有经过篡改的,可以提示用户该应用为合法应用,用户可以放心使用。即应用若合法,服务端可以发出用于指示未被篡改的应用检测结果,当然,在这种情形下,服务器也可以选择不发出检测结果,则客户端默认该应用可以正常使用。

反之,若判断该应用是被篡改的山寨应用,则在客户端用弹出对话框或者振动、声音播报等形式提醒用户此为非法应用,请用户留意;更进一步的,还可以在用户端直接禁止继续使用该应用,从而彻底断绝安全隐患。

本实施例的方案中,由于将校验码(基于app运行核心文件和资源文件生成的摘要值)隐藏在产品正常上传信息的流程中(例如,隐藏在用户上传的头像中),以此隐藏校验码,减少被破解的可能性。

根据本发明的另一个方面,还提供了一种应用程序完整性的校验设备,包括:一个或多个处理器、存储一个或多个程序的存储装置;当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现如上所述的方法。当上述方法是用于客户端时,所述校验设备就是客户端硬件,可以采用例如手机、平板电脑、智能手表等常见客户端。当上述方法是用于服务端时,所述校验设备就是服务器本身。

根据本发明的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。当上述方法是用于客户端时,所述计算机可读存储介质位于客户端硬件内,例如内存。当上述方法是用于服务端时,所述计算机可读存储介质位于服务器内,例如内存或硬盘。

实施例1

一种移动智能终端上具有隐蔽能力的app完整性校验方法,用于一种应用程序完整性的校验系统,包括如图1所示的客户端和服务端,如图2所示,其中包括如下步骤:

s1、官方app发布时,在服务端记录app安装文件的摘要值t1,并保存在服务端;

s2、用户完成app安装之后,第一次激活app时,app启动守护进程,计算当前app的摘要值t2;

s3、用户在使用app时,app促使用户进行某些必然会上传图片的产品流程操作(例如上传头像,设置背景图片等),在这个过程中产生的图片记为p1;该图像是用户正常使用应用时,应用提供给服务端的图像,而非专门为了校验而增加的步骤。例如,用户使用应用时上传的头像等。

s4、对p1进行离散余弦变换,得到频域矩阵m1。将第s2步中的摘要值t2进行加密后,替换m1的中频段的部分序列,得到包含摘要值的频域矩阵m2。在这个图像变换的过程中,上述图像变换操作不会影响上传图像的视觉效果,原因是:虽然图像的高频部分在图像变换的过程中会有损失,但是低频部分是不变的,而仅对图像变换后仍然存在的中频段的一部分序列进行替换。由于低频部分决定了图片的视觉效果,而本发明中图片的低频部分在变换前后并无变化,因此,经过变换后的图像的视觉效果并没有明显的变化,处理后的图片在视觉上与原图片没有太大区别。本发明中,所述对摘要值t2的加密,可以采用md5算法,也可以使用sha的加密方式,也可以使用des加密算法加密。

s5、将m2进行反向离散余弦变换,重新得到图片p2,并上传到服务端;

s6、服务端收到图片p2后,进行离散余弦变换,得到频域矩阵m2,并基于预设规则从m2的中频段中将加密后的摘要值t2提取出来,并进行解密,得到app的摘要值t2;

s7、将t2与t1进行比较,如果相同,则认为该app是没有经过篡改的,否则认为该app是被篡改的山寨应用。服务端将比较结果发送给客户端,如果该app是没有经过篡改的,可以提示用户该app为合法应用,用户可以放心使用。即app若合法,可以发用于指示未被篡改的应用检测结果;也可以不发。

s8、若判断该app是被篡改的山寨应用,则在客户端用弹出对话框或者振动、声音播报等形式提醒用户此为非法应用,请用户留意;更进一步的,还可以直接禁止继续使用该app,彻底断绝安全隐患。

本实施例的方案中,将校验码(基于app运行核心文件和资源文件生成的摘要值)隐藏在产品正常上传信息的流程中(例如,隐藏在用户上传的头像中),以此隐藏校验码,减少被破解的可能性。

虽然本发明的具体实施例中,列举的图像变换方式是离散余弦变换,但是该列举并非是对图像变换方式的限制,本领域技术人员根据本发明的发明思想,也可以采用其他的图像变换方式对图片进行处理。具体的,例如小波变换。

实施例2

对应于客户端的方法,本实施例提供一种应用程序完整性的校验装置,包括:

安装单元,用于下载并安装当前应用程序;

校验码计算单元,用于激活当前应用程序,并计算所述当前应用程序的校验码;优选的,所述校验码为基于应用程序运行核心文件和资源文件生成的摘要值。

第一提示单元,用于提示用户上传第一图片;

图像变换单元,用于获取第一图片并对其进行图像变换,得到第一频域矩阵;优选的,所述图像变换为离散余弦变换。

加密及替换单元,用于加密所述当前应用程序的校验码,并使用加密后的校验码替换所述第一频域矩阵的中频段的部分序列,得到第二频域矩阵;所述加密采用如下方法的至少一种:md5算法、sha加密、des加密算法。

反向变换单元,用于对第二频域矩阵进行反向图像变换,得到第二图片,并将所述第二图片上传服务端。

第二提示单元,用于接收服务端发送的判断结果,并当所述当前应用被判断为非法应用时,提示用户所述当前应用非法。所述提示方法为以下方法的至少一种:弹出对话框、振动、声音播报。或者,当所述当前应用被判断为非法应用时,禁止用户继续使用当前应用。

本实施例的方案中,将校验码(基于app运行核心文件和资源文件生成的摘要值)隐藏在产品正常上传信息的流程中(例如,隐藏在用户上传的头像中),以此隐藏校验码,减少被破解的可能性。

虽然本发明的具体实施例中,列举的图像变换方式是离散余弦变换,但是该列举并非是对图像变换方式的限制,本领域技术人员根据本发明的发明思想,也可以采用其他的图像变换方式对图片进行处理。具体的,例如小波变换。

实施例3

对应于服务端的方法,本实施例提供一种应用程序完整性的校验装置,包括:

记录单元,用于记录并保存合法应用程序的校验码;

图像变换单元,用于接收客户端上传的图片,进行图像变换;所述图像变换为离散余弦变换。

校验码提取单元,用于提取所述图片中的加密校验码;所述加密校验码为基于当前应用程序运行核心文件和资源文件生成的摘要值经过加密后得到的。

解密单元,用于解密所述加密校验码,得到当前应用程序的校验码;所述校验码为基于应用程序运行核心文件和资源文件生成的摘要值。

比较单元,比较所述合法应用程序的校验码和当前应用程序的校验码,以判断当前应用程序的合法性。如果合法应用程序的校验码和当前应用程序的校验码相同,则当前应用程序合法;如果合法应用程序的校验码和当前应用程序的校验码不同,则当前应用程序非法。

结果发送单元,用于将比较结果发送给客户端,以便于客户端提示用户该应用程序为合法或者非法。

本实施例的方案中,将校验码(基于app运行核心文件和资源文件生成的摘要值)隐藏在产品正常上传信息的流程中(例如,隐藏在用户上传的头像中),以此隐藏校验码,减少被破解的可能性。

虽然本发明的具体实施例中,列举的图像变换方式是离散余弦变换,但是该列举并非是对图像变换方式的限制,本领域技术人员根据本发明的发明思想,也可以采用其他的图像变换方式对图片进行处理。具体的,例如小波变换。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。


技术特征:

1.一种用于终端的检测被篡改的应用的方法,其特征在于,包括:

计算所述终端上所安装的应用的校验码;

所述应用启动后,获取所述应用的上传操作关联的第一影像,所述上传操作由所述应用的功能使用触发;

使用所述校验码处理所述第一影像的数据,并根据处理后的数据生成第二影像,所述第二影像的视觉效果与所述第一影像相似;

将所述第二影像提供给服务端。

2.根据权利要求1所述的方法,其特征在于,所述使用所述校验码处理所述第一影像的数据,并根据处理后的数据生成第二影像,包括:

对所述第一影像进行图像变换,获得第一变换数据;

使用所述校验码,改变所述第一变换数据,获得第二变换数据;

对所述第二变换数据进行反向图像变换,获得所述第二影像。

3.根据权利要求2所述的方法,其特征在于,所述第一变换数据包括第一频域矩阵,所述第二变换数据包括第二频域矩阵,所述使用所述校验码改变所述第一变换数据,获得第二变换数据,包括:

基于所述校验码,改变所述第一频域矩阵的中频段的部分序列,得到所述第二频域矩阵。

4.根据权利要求3所述的方法,其特征在于,所述基于所述校验码,改变所述第一频域矩阵的中频段的部分序列,包括:

对所述校验码进行加密,并使用加密后的校验码替换所述第一频域矩阵中的中频段的部分数据。

5.根据权利要求4所述的方法,其特征在于,所述加密采用如下方法的至少一种:md5算法、sha加密、des加密算法。

6.根据权利要求2所述的方法,其特征在于,

所述图像变换包括离散余弦变换或小波变换。

7.根据权利要求1所述的方法,其特征在于,

所述校验码包括基于所述应用的运行核心文件和资源文件生成的摘要值。

8.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:

接收来自服务端的应用检测结果;

若所述应用检测结果指示所述应用被篡改,执行以下至少一项操作:

提示用户所述应用为非法应用;

禁止所述应用被使用。

9.一种用于服务端的检测被篡改的应用的方法,其特征在于,包括:

接收安装有所述应用的终端在所述应用的功能使用过程中上传的第二影像;

对所述第二影像进行图像变换,获得第二变换数据;

基于预设规则,从所述第二变换数据中提取数据,以获得来自所述终端的校验码;

将来自所述终端的校验码与预先存储的所述应用的基准校验码进行匹配;

若来自所述终端的校验码与所述基准校验码不匹配,确定所述应用被篡改。

10.根据权利要求9所述的方法,其特征在于,该方法还包括:

若所述应用被篡改,向所述终端发送用于指示所述应用被篡改的应用检测结果。

11.根据权利要求9所述的方法,其特征在于,所述第二变换数据包括第二频域矩阵,所述基于预设规则从所述第二变换数据中提取数据,包括:

基于所述预设规则,从所述第二频域矩阵的中频段中提取数据。

12.根据权利要求9所述的方法,其特征在于,所提取的数据被解密以获得所述来自终端的校验码。

13.根据权利要求9所述的方法,其特征在于,

所述校验码包括基于应用程序运行核心文件和资源文件生成的摘要值。

14.根据权利要求9所述的方法,其特征在于,

所述图像变换包括离散余弦变换或小波变换。

15.一种应用程序完整性的校验设备,其特征在于,包括:

一个或多个处理器、存储一个或多个程序的存储装置;

当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现如权利要求1至14中任一项所述的方法。

16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至14任一项所述的方法。

技术总结
本发明公开了一种检测被篡改的应用的方法及设备,包括:计算所述终端上所安装的应用的校验码;所述应用启动后,获取所述应用的上传操作关联的第一影像,所述上传操作由所述应用的功能使用触发;使用所述校验码处理所述第一影像的数据,并根据处理后的数据生成第二影像,所述第二影像的视觉效果与所述第一影像相似;将所述第二影像提供给服务端。服务端比较图像变换后得到的校验码是否与官方校验码相同,以判断当前应用程序的合法性。本发明的优点在于:将APP的校验码隐藏在正常的用户数据中进行上报,这样就避免了黑客察觉完整性校验的过程。

技术研发人员:胡晨鹏
受保护的技术使用者:上海掌门科技有限公司
技术研发日:2018.12.03
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-22146.html

最新回复(0)