CN109992955A - 非法安装包的检测拦截方法、装置、***、设备及介质 - Google Patents
非法安装包的检测拦截方法、装置、***、设备及介质 Download PDFInfo
- Publication number
- CN109992955A CN109992955A CN201910291459.4A CN201910291459A CN109992955A CN 109992955 A CN109992955 A CN 109992955A CN 201910291459 A CN201910291459 A CN 201910291459A CN 109992955 A CN109992955 A CN 109992955A
- Authority
- CN
- China
- Prior art keywords
- installation kit
- file
- describing document
- configuration describing
- illegal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009434 installation Methods 0.000 title claims abstract description 190
- 238000001514 detection method Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000000903 blocking effect Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 31
- 230000010354 integration Effects 0.000 claims description 4
- 238000005336 cracking Methods 0.000 description 12
- 238000013459 approach Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种非法安装包的检测拦截方法,包括:获取目标安装包对应的配置描述文件;基于所述配置描述文件判断所述目标安装包是否为非法安装包;若是,则将所述配置描述文件发送至后台服务器;通过所述后台服务器将所述配置描述文件添加至黑名单中,并通过所述黑名单屏蔽所述配置描述文件。本发明还公开了一种非法安装包的检测拦截装置、***、设备和一种介质。本发明通过对目标安装包中的配置描述文件的获取及判断,实现对目标安装包是否为非法安装包的检测;通过后台服务器将该非法安装包对应的配置描述文件添加至黑名单中,实现黑名单对该非法安装包的屏蔽,从而实现对非法安装包的拦截。
Description
技术领域
本发明涉及科技金融(Finteh)技术领域,尤其涉及非法安装包的检测拦截方法、装置、设备及可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,安装包的检测拦截技术也逐渐应用到金融科技领域,目前,ios***上软件安装包的分发渠道主要通过AppStore下载,企业证书签名分发等等,软件服务提供商通过App里的会员和订阅模式提供服务进行盈利。然而黑色产业通过破解软件,改变原有App的行为,对破解后的安装包使用企业证书重新进行签名分发,使得使用者可以绕过软件开发者原先的设计思路,非法获取到付费服务,甚至使用这些破解的软件对后台服务进行攻击。破解方通过向ios***运营商申请企业证书来进行重签名,但是ios***运营商并不知道颁发的这份证书的用于何处。
因此,若是安装包被篡改,会产生极大的信息安全隐患。
发明内容
本发明的主要目的在于提出一种非法安装包的检测拦截方法、装置、***、设备及可读存储介质,旨在有效检测拦截非法安装包,以保证信息安全。
为实现上述目的,本发明提供一种非法安装包的检测拦截方法,所述非法安装包的检测拦截方法包括如下步骤:
获取目标安装包对应的配置描述文件;
基于所述配置描述文件判断所述目标安装包是否为非法安装包;
若是,则将所述配置描述文件发送至后台服务器,以供所述后台服务器将所述配置描述文件添加至黑名单中,并通过所述黑名单屏蔽所述配置描述文件。
优选地,所述目标安装包包括可执行文件及所述配置描述文件;所述获取目标安装包对应的配置描述文件的步骤包括:
在可执行文件中查找对应的目标文件;
基于所述目标文件获取所述配置描述文件对应的路径文件;
基于所述路径文件获取所述配置描述文件。
优选地,所述基于所述目标文件获取所述配置描述文件对应的路径文件的步骤包括:
将所述目标文件的路径转换为预设格式字符串;
将所述预设格式字符串传递给第一预设函数,通过所述第一预设函数基于所述预设格式字符串打开目标文件以获得目标文件的文件句柄;
获取所述文件句柄对应的文件大小,并申请所述文件大小对应的内存空间;
读取所述文件句柄指向的文件,以获得所述文件大小的内容,以获得所述路径文件。
优选地,所述基于所述目标文件获取所述配置描述文件对应的路径文件的步骤包括:
使用资源对象提供的第二预设函数获取所述目标文件对应的内存对象;
将文件名和文件类型传递至所述内存对象中,并基于所述内存对象进行文件查找,以获得所述路径文件。
优选地,所述配置描述文件包括目标企业证书;所述基于所述配置描述文件判断所述目标安装包是否为非法安装包的步骤包括:
获取所述目标文件对应的合法企业证书;
比较所述合法企业证书及目标企业证书;
若所述目标企业证书与所述合法企业证书一致,则判定所述目标安装包为合法安装包;
若所述目标企业证书与所述合法企业证书不一致,则判定所述目标安装包为非法安装包。
优选地,所述比较所述合法企业证书及目标企业证书的步骤包括:
对所述合法企业证书进行哈希运算得到第一哈希值;
对所述目标企业证书进行哈希运算得到第二哈希值;
比较所述第一哈希值及第二哈希值。
优选地,所述将所述配置描述文件发送至后台服务器的步骤包括:
通过所述后台服务器提供的上传接口,将所述配置描述文件发送至所述后台服务器。
此外,为实现上述目的,本发明还提供一种非法安装包的检测拦截装置,所述非法安装包的检测拦截装置包括:
获取模块,用于获取目标安装包对应的配置描述文件;
判断模块,用于基于所述配置描述文件判断所述目标安装包是否为非法安装包;
发送模块,用于在判定所述目标安装包为非法安装包时,将所述配置描述文件发送至后台服务器,以供所述后台服务器将所述配置描述文件添加至黑名单,并通过黑名单屏蔽所述配置描述文件。
优选地,所述目标安装包包括可执行文件及所述配置描述文件;所述获取模块还包括:
查找单元,用于在可执行文件中查找对应的目标文件;
第一获取单元,用于基于所述目标文件获取所述配置描述文件对应的路径文件;
第二获取单元,用于基于所述路径文件获取所述配置描述文件。
优选地,所述配置描述文件包括目标企业证书;所述判断模块包括:
第三获取单元,用于获取所述目标文件对应的合法企业证书;
比较单元,用于比较所述合法企业证书及目标企业证书;
第一判定单元,用于若所述目标企业证书与所述合法企业证书一致,则判定所述目标安装包为合法安装包;
第二判定单元,用于若所述目标企业证书与所述合法企业证书不一致,则判定所述目标安装包为非法安装包。
优选地,,所述比较单元还用于:
对所述合法企业证书进行哈希运算得到第一哈希值;
对所述目标企业证书进行哈希运算得到第二哈希值;
比较所述第一哈希值及第二哈希值。
此外,为实现上述目的,本发明还提供一种非法安装包的检测拦截***,所述非法安装包的检测拦截***包括非法安装包的检测拦截装置及后台服务器,所述非法安装包的检测拦截装置包括如上述中任一项所述的装置;
所述后台服务器,用于接收所述装置的配置描述文件,且将所述配置描述文件存入存储列表中后,基于所述存储列表获取所述黑名单,并在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器将所述配置描述文件添加入所述黑名单中。
优选地,所述后台服务器还用于:
在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器基于所述配置描述文件获取第二哈希值,并基于所述第二哈希值查找所述存储列表,若所述存储列表中不存在所述第二哈希值对应的黑名单记录,则所述后台服务器将所述配置描述文件添加入所述黑名单中。
此外,为实现上述目的,本发明还提供一种非法安装包的检测拦截设备,所述非法安装包的检测拦截设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的非法安装包的检测拦截程序,所述非法安装包的检测拦截程序被所述处理器执行时实现如上所述的非法安装包的检测拦截方法的步骤。
此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有非法安装包的检测拦截程序,所述非法安装包的检测拦截程序被处理器执行时实现如上所述的非法安装包的检测拦截方法的步骤。
本发明提出的非法安装包的检测拦截方法、装置、***、设备及可读存储介质,通过对目标安装包中的配置描述文件的获取及判断,实现对目标安装包是否为非法安装包的检测;若判定目标安装包为非法安装包,则将该非法安装包对应的配置描述文件发送至后台服务器,并通过后台服务器将该非法安装包对应的配置描述文件添加至黑名单中,实现黑名单对该非法安装包的屏蔽,从而实现对非法安装包的拦截,可以保留法律追溯权利,要求下发配置描述文件的企业吊销配置描述文件对应的企业证书,从而确保安装包的安全。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明非法安装包的检测拦截方法第一实施例的流程示意图;
图3为本发明实施例中软件安装包的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例终端可以是PC机或服务器设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及非法安装包的检测拦截程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的非法安装包的检测拦截程序,并执行下述非法安装包的检测拦截方法各个实施例中的操作。
基于上述硬件结构,提出本发明非法安装包的检测拦截方法实施例。
参照图2,图2为本发明非法安装包的检测拦截方法第一实施例的流程示意图,所述方法包括:
步骤S10,获取目标安装包对应的配置描述文件;
本实施例非法安装包的检测拦截方法应用于ios***上的APP软件安装包,其中ios***的APP软件安装包主要是通过在AppStore下载,软件服务提供商通过App里的会员和订阅模式提供服务进行盈利,非AppStore下载的软件安装包主要是使用企业证书进行签名分发,即软件开发者开发出来的软件包,不通过AppStore发行,需要使用ios***运营商颁发的证书签名之后,才可以安装到ios***中,签名打包依赖于配置描述文件(ProvisionProfile),这个配置描述文件(Provision Profile)最终会成为软件安装包的一部分,存在于ios***中。
在本发明实施例中,如图3所示,软件安装包包括可执行文件、签名信息及配置描述文件,其中,配置描述文件(Provision Profile)是一种PKCS7数字签名文件,这类文件是由ios***运营商进行签发的。此配置描述文件里包含了开发者的企业证书,App的BundleID,App权限信息,还有ios***运营商对此配置文件的签名。
现有技术中,黑色产业通过破解软件,改变原有的APP行为,对破解后的安装包使用企业证书重新进行签名分发,使得使用者可以绕过软件开发者原先的设计思路,非法获取到付费服务,甚至使用这些破解的软件对后台服务器进行攻击,破解方通过向ios***运营商申请企业证书来进行重新签名,但是,ios***运营商并不知道颁发的这份企业证书用于何处,因此,会产生极大的信息安全问题。
通过获取破解方使用的配置描述文件,一来可以对破解软件进行屏蔽,二来配置描述文件中包含了破解方申请证书的信息,可以保留法律追溯权利,要求ios***运营商吊销对应的分发证书,确保应用的安全。
步骤S20,基于所述配置描述文件判断所述目标安装包是否为非法安装包;
该步骤中,在获取目标安装包即破解方软件包对应的配置描述文件后,通过对配置描述文件进行判断,则可判断该目标安装包是否为非法安装包。由于配置描述文件包含了开发者的企业证书,App的可执行文件ID(BundleID),App权限信息,还有ios***运营商对此配置文件的签名,在破解方破解企业证书后,由于破解方最终采用企业证书进行私下分发,如果是被篡改了的安装包,则能够拿到配置描述文件mobileProvision文件,文件中包含了发布者向ios***运营商申请的企业证书,通过判定企业证书是否为开发者自己申请的,若该企业证书是别人的企业证书,就意味着这是一个被篡改的安装包。
因此,通过配置描述文件,可判断该目标安装包是否为非法安装包。
步骤S30,若是,则将所述配置描述文件发送至后台服务器,以供所述后台服务器将所述配置描述文件添加至黑名单中,并通过所述黑名单屏蔽所述配置描述文件。
该步骤中,在判定目标安装包为非法安装包后,将该非法安装包对应的配置描述文件发送至后台服务器。配置描述文件包含了开发者的企业证书,且通过企业证书进行是否为非法安装包的判断,具体为:获取合法企业证书,基于当前配置描述文件获取目标企业证书,通过比较合法企业证书及目标企业证书,当发现合法企业证书及目标企业证书不一致时,则认为该目标安装包为非法安装包。
此时,通过所述后台服务器提供的上传接口,请求将该目标安装包对应的配置描述文件通过网络发送至后台服务器,后台服务器将所述配置描述文件存入存储列表中。
该步骤中,后台服务器通过部署http/https服务,提供对应的上传接口,终端以http/https请求的形式将获取到存在于内存中的配置描述文件发送到后台服务器。后台服务器接收到请求后,从请求中获取到对应的配置描述文件,并将配置描述文件存入数据库指定的存储列表中,存储列表中的主键为“设备ID”,“描述配置文件MD5”,另外其他几个字段为“描述配置文件”,“是否进入黑名单”。管理人员可以通过web控制台,发起http/https请求浏览访问捕获到的数据。对某些有针对性的描述配置文件,管理人员可以进行黑名单勾选,一旦管理人员勾选并提交,web控制台会发起一个请求,设置“是否进入黑名单”,使得这个描述配置文件被标识为进入黑名单,以便实现该配置描述文件的屏蔽功能。
本实施例提出的非法安装包的检测拦截方法,通过对目标安装包中的配置描述文件的获取及判断,实现对目标安装包是否为非法安装包的检测;若判定目标安装包为非法安装包,则将该非法安装包对应的配置描述文件发送至后台服务器,并通过后台服务器将该非法安装包对应的配置描述文件添加至黑名单中,实现黑名单对该非法安装包的屏蔽,从而实现对非法安装包的拦截,可以保留法律追溯权利,要求下发配置描述文件的企业吊销配置描述文件对应的企业证书,从而确保安装包的安全。
进一步地,基于本发明非法安装包的检测拦截方法第一实施例,提出本发明非法安装包的检测拦截方法第二实施例。
在本实施例中,所述目标安装包包括可执行文件及所述配置描述文件;上述步骤S10可以包括:
在可执行文件中查找对应的目标文件;
基于所述目标文件获取所述配置描述文件对应的路径文件;
基于所述路径文件获取所述配置描述文件。
具体地,可执行文件mainBundle程序是一个bundle,该可执行文件包含了nib文件、编译代码以及其它资源的目录,因此,这个目录叫做程序的mainBundle,即可执行文件。
在可执行文件mainBundle中使用第一函数查找目标文件,第一函数可选为CFBundleCopyResourceURL,目标文件可选为embedded.Mobileprovision文件,从而获得对应目标文件的路径。由于破解方最终采用企业证书进行私下分发,如果是被篡改了的安装包,则能够拿到embedded.Mobileprovision文件的路径,相当于拿到配置描述文件,配置描述文件中包含了发布者向ios***运营商申请的企业证书,一旦此企业证书不是开发者自己申请的,而是别人的企业证书,就意味着这是一个篡改的安装包。
在查找对应的目标文件之后,基于所述目标文件获取所述配置描述文件对应的路径文件,具体地,获取路径文件的方式有两种,第一种方式为将所述目标文件的路径转换为预设格式字符串;将所述预设格式字符串传递给第一预设函数,通过所述第一预设函数基于所述预设格式字符串打开目标文件以获得目标文件的文件句柄;获取所述文件句柄对应的文件大小,并申请所述文件大小对应的内存空间;读取所述文件句柄指向的文件,以获得所述文件大小的内容,以获得所述路径文件。
第一种方式具体为:通过使用第二函数和第三函数将目标文件的路径转换为预设格式字符串(所述预设格式的字符串为存在于字符数组中,并以空字符串结束的字符串,即字符串最后一个字符后面跟着一个空字符(‘\0’,ascii码0),其中,第二函数可选为CFStringGetCStringPtr函数,第三函数可选为c_str函数,然后将预设格式字符串传递给第四函数以打开对应的文件,其中,第四函数即上述的第一预设函数,第四函数可选为fopen函数;获得操作文件的文件句柄fileHandler,通过第五函数获得文件句柄fileHandler对应的文件大小fileSize,第五函数可选为ftell函数。接下来使用第六函数申请对应文件大小fileSize的内存空间,其中,第六函数可选为malloc函数。然后用第七函数读取此句柄fileHandler指向的文件,将fileSize大小的内容读取到申请的内存空间中,其中,第七函数可选为fread函数,该内存空间存储的内容即为路径文件。其中,文件句柄是指,在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作***函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄fileHandler,该文件句柄对于打开的文件是唯一的识别依据。
通过上述方式获取路径文件,通过文件句柄唯一识别依据的特性,安全牢固,不易于被发现和篡改,安全性高。
获取路径文件的第二种方式为:使用资源对象提供的第二预设函数获取所述目标文件对应的内存对象;将文件名和文件类型传递至所述内存对象中,并基于所述内存对象进行文件查找,以获得所述路径文件。
第二种方式具体包括:对目标文件进行读取,首先获取对应存放资源的bundle,由于配置描述文件是存放在可执行文件mainBundle中,因此,通过使用资源对象NSBundle提供的第八函数即可获得mainBundle的内存对象,该第八函数即为上述的第二预设函数,第二预设函数可选为NSBundle中类方法mainBundle,然后在mainBundle对象中使用第九函数传递进文件名和文件类型进行文件查找,即可获得文件的路径,可选地,第九函数为pathForResource;而且,使用NSData类,针对获得的文件路径,调用第十函数即可加载对应的文件数据到内存对象中,第十函数可选为initWithContentsOfFile函数。这种方式是基于ios***运营商Objective-C接口,通过接口获取路径文件。
本实施例可采用上述两种方式获取路径文件,对路径文件的获取更加多样化和灵活,并且,采用上述第一种方式获取路径文件,通过文件句柄唯一识别依据的特性,安全牢固,不易于被篡改,安全性更高。
进一步地,基于本发明非法安装包的检测拦截方法第二实施例,提出本发明非法安装包的检测拦截方法第三实施例。
在本实施例中,所述配置描述文件包括目标企业证书;上述步骤S20可以包括:获取所述目标文件对应的合法企业证书;
比较所述合法企业证书及目标企业证书;
若所述目标企业证书与所述合法企业证书一致,则判定所述目标安装包为合法安装包;
若所述目标企业证书与所述合法企业证书不一致,则判定所述目标安装包为非法安装包。
在本实施例中,考虑到获取到配置描述文件以后,并不能意味着配置描述文件对应的安装包被篡改,因此,需要对配置描述文件对应的合法企业证书及目标企业证书二者进行比较。
首先,获取目标文件对应的合法企业证书,再对合法企业证书及目标企业证书进行比较,判断二者是否一致,若一致,则判定目标安装包为合法安装包;若不一致,则判定目标安装包为非法安装包。
请参阅图3,配置描述文件是由ios***运营商进行签发的,此配置描述文件里包含了开发者的企业证书,App的BundleID,App权限信息,还有ios***运营商对此配置文件的签名,当企业证书发生改变,即目标企业证书与合法企业证书不一致时,判定该配置描述文件对应的软件安装包为非法安装包。
进一步地,比较所述合法企业证书及目标企业证书的方式可以包括:对所述合法企业证书进行哈希运算得到第一哈希值;
对所述目标企业证书进行哈希运算得到第二哈希值;
比较所述第一哈希值及第二哈希值。
在本实施例中,比较合法企业证书及目标企业证书的方式可以是:对合法企业证书进行哈希运算得到第一哈希值,对目标企业证书进行哈希运算得到第二哈希值,通过比较第一哈希值及第二哈希值,实现对目标企业证书是否合法的判断。
在本实施例中,哈希运算,即MD5,MD5是一种哈希算法,MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。MD5可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
通常,在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于用户可以在下载该软件后,对下载回来的文件用专门的软件(如Windows MD5Check等)做一次MD5校验,以确保用户获得的文件与该站点提供的文件为同一文件。
具体来说,文件的MD5值就像是这个文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,算法重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。
因此,通过对合法企业证书进行哈希运算得到第一哈希值,且通过对目标企业证书进行哈希运算得到第二哈希值,再对第一哈希值和第二哈希值进行比较,即可判断配置描述文件是否被篡改。通过哈希运算进行验证,提高了判断配置描述文件是否被篡改的准确性。
进一步地,上述步骤S30可以包括:通过所述后台服务器提供的上传接口,将所述配置描述文件发送至所述后台服务器。以供所述后台服务器将所述配置描述文件存入存储列表中。
在本实施例中,后台服务器通过部署http/https服务,提供对应的上传接口,终端以http/https请求的形式将获取到存在于内存中的配置描述文件发送到后台服务器。后台服务器接收到请求后,从请求中获取到对应的配置描述文件,并将配置描述文件存入数据库指定的存储列表中,以便于后续添加黑名单,进而屏蔽该非法安装包。
通过上传接口,实现非法安装包对应的配置描述文件上传至后台服务器,以供后台服务器进行黑名单处理,从而实现对非法安装包的屏蔽。
在所述配置描述文件发送至后台服务器后,所述后台服务器将所述配置描述文件存入存储列表中后,基于所述存储列表获取所述黑名单,并在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器将所述配置描述文件添加入所述黑名单中。
具体为:后台服务器将所述配置描述文件存入存储列表中,且存储列表中的主键为“设备ID”,“描述配置文件MD5”,另外其他几个字段为“描述配置文件”,“是否进入黑名单”。管理人员可以通过web控制台,发起http/https请求浏览访问捕获到的数据。对某些有针对性的描述配置文件,管理人员可以进行黑名单勾选,一旦管理人员勾选并提交,web控制台会发起一个请求,设置“是否进入黑名单”,使得这个描述配置文件被标识为进入黑名单,以便实现该配置描述文件的屏蔽功能。
进一步地,在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器基于所述配置描述文件获取第二哈希值,并基于所述第二哈希值查找所述存储列表,若所述存储列表中不存在所述第二哈希值对应的黑名单记录,则所述后台服务器将所述配置描述文件添加入所述黑名单中。
具体为:基于非法安装包对应的配置描述文件添加入黑名单中。终端上的软件在发送请求的时候,带上之前计算出来“配置描述文件”的MD5值即第二哈希值发送到后台服务器,后台服务器在执行正常业务操作之前,先将请求中的第二哈希值到数据库的存储表进行查找,一旦查找到对应的记录,后台服务器查看本条记录的“是否进入黑名单”字段对应存储的值。如果此字段对应的值为YES,则表示此第二哈希值存在于黑名单中,后台服务器对这个请求不再响应,直接丢弃,或者返回错误,异常的软件安装包也就无法获得正常的数据服务;如果此字段对应的值为NO,则表示此第二哈希值未存在于黑名单中,后台服务器则将第二哈希值添加到黑名单中,以实现对非法安装包的拦截。
本发明还提供一种非法安装包的检测拦截装置。本发明所述非法安装包的检测拦截装置包括:
获取模块,用于获取目标安装包对应的配置描述文件;
判断模块,用于基于所述配置描述文件判断所述目标安装包是否为非法安装包;
发送模块,用于在判定所述目标安装包为非法安装包时,将所述配置描述文件发送至后台服务器,以供所述后台服务器将所述配置描述文件添加至黑名单,并通过黑名单屏蔽所述配置描述文件。
进一步地,所述目标安装包包括可执行文件及所述配置描述文件;所述获取模块还包括:
查找单元,用于在可执行文件中查找对应的目标文件;
第一获取单元,用于基于所述目标文件获取所述配置描述文件对应的路径文件;
第二获取单元,用于基于所述路径文件获取所述配置描述文件。
进一步地,所述配置描述文件包括目标企业证书;所述判断模块包括:
第三获取单元,用于获取所述目标文件对应的合法企业证书;
比较单元,用于比较所述合法企业证书及目标企业证书;
第一判定单元,用于若所述目标企业证书与所述合法企业证书一致,则判定所述目标安装包为合法安装包;
第二判定单元,用于若所述目标企业证书与所述合法企业证书不一致,则判定所述目标安装包为非法安装包。
进一步地,所述比较单元还用于:
对所述合法企业证书进行哈希运算得到第一哈希值;
对所述目标企业证书进行哈希运算得到第二哈希值;
比较所述第一哈希值及第二哈希值。
本发明还提供一种非法安装包的检测拦截***,所述非法安装包的检测拦截***包括非法安装包的检测拦截装置及后台服务器,所述非法安装包的检测拦截装置如上述任一项所述的装置;
所述后台服务器,用于接收所述装置的配置描述文件,且将所述配置描述文件存入存储列表中后,基于所述存储列表获取所述黑名单,并在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器将所述配置描述文件添加入所述黑名单中。
进一步地,所述后台服务器还用于:
在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器基于所述配置描述文件获取第二哈希值,并基于所述第二哈希值查找所述存储列表,若所述存储列表中不存在所述第二哈希值对应的黑名单记录,则所述后台服务器将所述配置描述文件添加入所述黑名单中。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有非法安装包的检测拦截程序,所述非法安装包的检测拦截程序被处理器执行时实现如上所述的非法安装包的检测拦截方法的步骤。
其中,在所述处理器上运行的非法安装包的检测拦截程序被执行时所实现的方法可参照本发明非法安装包的检测拦截方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (15)
1.一种非法安装包的检测拦截方法,其特征在于,所述非法安装包的检测拦截方法包括如下步骤:
获取目标安装包对应的配置描述文件;
基于所述配置描述文件判断所述目标安装包是否为非法安装包;
若是,则将所述配置描述文件发送至后台服务器,以供所述后台服务器将所述配置描述文件添加至黑名单中,并通过所述黑名单屏蔽所述配置描述文件。
2.如权利要求1所述的非法安装包的检测拦截方法,其特征在于,所述目标安装包包括可执行文件及所述配置描述文件;所述获取目标安装包对应的配置描述文件的步骤包括:
在可执行文件中查找对应的目标文件;
基于所述目标文件获取所述配置描述文件对应的路径文件;
基于所述路径文件获取所述配置描述文件。
3.如权利要求2所述的非法安装包的检测拦截方法,其特征在于,所述基于所述目标文件获取所述配置描述文件对应的路径文件的步骤包括:
将所述目标文件的路径转换为预设格式字符串;
将所述预设格式字符串传递给第一预设函数,通过所述第一预设函数基于所述预设格式字符串打开目标文件以获得目标文件的文件句柄;
获取所述文件句柄对应的文件大小,并申请所述文件大小对应的内存空间;
读取所述文件句柄指向的文件,以获得所述文件大小的内容,以获得所述路径文件。
4.如权利要求2所述的非法安装包的检测拦截方法,其特征在于,所述基于所述目标文件获取所述配置描述文件对应的路径文件的步骤包括:
使用资源对象提供的第二预设函数获取所述目标文件对应的内存对象;
将文件名和文件类型传递至所述内存对象中,并基于所述内存对象进行文件查找,以获得所述路径文件。
5.如权利要求2所述的非法安装包的检测拦截方法,其特征在于,所述配置描述文件包括目标企业证书;所述基于所述配置描述文件判断所述目标安装包是否为非法安装包的步骤包括:
获取所述目标文件对应的合法企业证书;
比较所述合法企业证书及目标企业证书;
若所述目标企业证书与所述合法企业证书一致,则判定所述目标安装包为合法安装包;
若所述目标企业证书与所述合法企业证书不一致,则判定所述目标安装包为非法安装包。
6.如权利要求5所述的非法安装包的检测拦截方法,其特征在于,所述比较所述合法企业证书及目标企业证书的步骤包括:
对所述合法企业证书进行哈希运算得到第一哈希值;
对所述目标企业证书进行哈希运算得到第二哈希值;
比较所述第一哈希值及第二哈希值。
7.如权利要求1至6中任一项所述的非法安装包的检测拦截方法,其特征在于,所述将所述配置描述文件发送至后台服务器的步骤包括:
通过所述后台服务器提供的上传接口,将所述配置描述文件发送至所述后台服务器。
8.一种非法安装包的检测拦截装置,其特征在于,所述非法安装包的检测拦截装置包括:
获取模块,用于获取目标安装包对应的配置描述文件;
判断模块,用于基于所述配置描述文件判断所述目标安装包是否为非法安装包;
发送模块,用于在判定所述目标安装包为非法安装包时,将所述配置描述文件发送至后台服务器,以供所述后台服务器将所述配置描述文件添加至黑名单,并通过黑名单屏蔽所述配置描述文件。
9.如权利要求8所述的非法安装包的检测拦截装置,其特征在于,所述目标安装包包括可执行文件及所述配置描述文件;所述获取模块还包括:
查找单元,用于在可执行文件中查找对应的目标文件;
第一获取单元,用于基于所述目标文件获取所述配置描述文件对应的路径文件;
第二获取单元,用于基于所述路径文件获取所述配置描述文件。
10.如权利要求8所述的非法安装包的检测拦截装置,其特征在于,所述配置描述文件包括目标企业证书;所述判断模块包括:
第三获取单元,用于获取所述目标文件对应的合法企业证书;
比较单元,用于比较所述合法企业证书及目标企业证书;
第一判定单元,用于若所述目标企业证书与所述合法企业证书一致,则判定所述目标安装包为合法安装包;
第二判定单元,用于若所述目标企业证书与所述合法企业证书不一致,则判定所述目标安装包为非法安装包。
11.如权利要求10所述的非法安装包的检测拦截装置,其特征在于,所述比较单元还用于:
对所述合法企业证书进行哈希运算得到第一哈希值;
对所述目标企业证书进行哈希运算得到第二哈希值;
比较所述第一哈希值及第二哈希值。
12.一种非法安装包的检测拦截***,其特征在于,所述非法安装包的检测拦截***包括非法安装包的检测拦截装置及后台服务器,所述非法安装包的检测拦截装置包括如权利要求8至11中任一项所述的装置;
所述后台服务器,用于接收所述装置的配置描述文件,且将所述配置描述文件存入存储列表中后,基于所述存储列表获取所述黑名单,并在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器将所述配置描述文件添加入所述黑名单中。
13.如权利要求12所述的非法安装包的检测拦截***,其特征在于,所述后台服务器还用于:
在接收到基于所述黑名单触发的所述配置描述文件对应的请求指令时,所述后台服务器基于所述配置描述文件获取第二哈希值,并基于所述第二哈希值查找所述存储列表,若所述存储列表中不存在所述第二哈希值对应的黑名单记录,则所述后台服务器将所述配置描述文件添加入所述黑名单中。
14.一种非法安装包的检测拦截设备,其特征在于,所述非法安装包的检测拦截设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的非法安装包的检测拦截程序,所述非法安装包的检测拦截程序被所述处理器执行时实现如权利要求1至7中任一项所述的非法安装包的检测拦截方法的步骤。
15.一种介质,其特征在于,所述介质上存储有非法安装包的检测拦截程序,所述非法安装包的检测拦截程序被处理器执行时实现如权利要求1至7中任一项所述的非法安装包的检测拦截方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291459.4A CN109992955A (zh) | 2019-04-11 | 2019-04-11 | 非法安装包的检测拦截方法、装置、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291459.4A CN109992955A (zh) | 2019-04-11 | 2019-04-11 | 非法安装包的检测拦截方法、装置、***、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992955A true CN109992955A (zh) | 2019-07-09 |
Family
ID=67133335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910291459.4A Pending CN109992955A (zh) | 2019-04-11 | 2019-04-11 | 非法安装包的检测拦截方法、装置、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992955A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027029A (zh) * | 2019-10-21 | 2020-04-17 | 厦门天锐科技股份有限公司 | 一种判断文件是否是安装包并限制打开的方法 |
CN113127860A (zh) * | 2019-12-30 | 2021-07-16 | Oppo广东移动通信有限公司 | 可执行文件的检测方法、装置、终端及存储介质 |
CN113591079A (zh) * | 2020-04-30 | 2021-11-02 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123491A (zh) * | 2014-07-18 | 2014-10-29 | 广州金山网络科技有限公司 | 一种检测应用程序安装包是否被篡改的方法及装置 |
CN107045530A (zh) * | 2017-01-20 | 2017-08-15 | 华中科技大学 | 一种将对象存储***实现为本地文件***的方法 |
CN109409034A (zh) * | 2018-09-17 | 2019-03-01 | 东软集团股份有限公司 | 应用程序的验证方法、平台、终端、***、介质和设备 |
-
2019
- 2019-04-11 CN CN201910291459.4A patent/CN109992955A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123491A (zh) * | 2014-07-18 | 2014-10-29 | 广州金山网络科技有限公司 | 一种检测应用程序安装包是否被篡改的方法及装置 |
CN107045530A (zh) * | 2017-01-20 | 2017-08-15 | 华中科技大学 | 一种将对象存储***实现为本地文件***的方法 |
CN109409034A (zh) * | 2018-09-17 | 2019-03-01 | 东软集团股份有限公司 | 应用程序的验证方法、平台、终端、***、介质和设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027029A (zh) * | 2019-10-21 | 2020-04-17 | 厦门天锐科技股份有限公司 | 一种判断文件是否是安装包并限制打开的方法 |
CN111027029B (zh) * | 2019-10-21 | 2022-02-08 | 厦门天锐科技股份有限公司 | 一种判断文件是否是安装包并限制打开的方法 |
CN113127860A (zh) * | 2019-12-30 | 2021-07-16 | Oppo广东移动通信有限公司 | 可执行文件的检测方法、装置、终端及存储介质 |
CN113127860B (zh) * | 2019-12-30 | 2023-10-20 | Oppo广东移动通信有限公司 | 可执行文件的检测方法、装置、终端及存储介质 |
CN113591079A (zh) * | 2020-04-30 | 2021-11-02 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
CN113591079B (zh) * | 2020-04-30 | 2023-08-15 | 中移互联网有限公司 | 获取异常应用安装包的方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9860263B2 (en) | System and method for assessing data objects on mobile communications devices | |
Dini et al. | Risk analysis of Android applications: A user-centric solution | |
JP6019484B2 (ja) | サーバで結合されたマルウェア防止のためのシステムと方法 | |
US9563749B2 (en) | Comparing applications and assessing differences | |
US9294500B2 (en) | System and method for creating and applying categorization-based policy to secure a mobile communications device from access to certain data objects | |
US9740852B2 (en) | System and method for assessing an application to be installed on a mobile communications device | |
US9100389B2 (en) | Assessing an application based on application data associated with the application | |
CN103279706B (zh) | 拦截在移动终端中安装安卓应用程序的方法和装置 | |
RU2446459C1 (ru) | Система и способ проверки веб-ресурсов на наличие вредоносных компонент | |
CN108768960B (zh) | 病毒检测方法、装置、存储介质及计算机设备 | |
WO2016178816A1 (en) | Determining source of side-loaded software | |
CN109992955A (zh) | 非法安装包的检测拦截方法、装置、***、设备及介质 | |
Mansfield-Devine | Android architecture: attacking the weak points | |
KR20110124342A (ko) | 모델을 사용하여 실행가능 프로그램을 조사하는 방법 및 장치 | |
KR101498820B1 (ko) | 안드로이드 환경에서의 어플리케이션 리패키징 탐지 방법 | |
CN113168420A (zh) | 用于使用嵌入式浏览器在远程应用内呈现Web链接的***和方法 | |
CN110084064A (zh) | 基于终端的大数据分析处理方法及*** | |
JP2012008732A (ja) | インストール制御装置およびプログラム | |
CN107911335A (zh) | 校验统一资源标识符uri的方法、装置和*** | |
JP2007122745A (ja) | ネットワークを介して通信端末に提供されるプログラムに対する伝送経路上でのセキュリティの確保 | |
CN113039769A (zh) | 用于经由嵌入式浏览器深度链接saas应用的***和方法 | |
Dehling et al. | Rotten cellar: Security and privacy of the browser cache revisited | |
CN113032042A (zh) | 目标文件的处理方法、装置和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |