CN111666567A - 恶意修改应用程序的检测方法、装置、计算机程序和介质 - Google Patents
恶意修改应用程序的检测方法、装置、计算机程序和介质 Download PDFInfo
- Publication number
- CN111666567A CN111666567A CN202010611635.0A CN202010611635A CN111666567A CN 111666567 A CN111666567 A CN 111666567A CN 202010611635 A CN202010611635 A CN 202010611635A CN 111666567 A CN111666567 A CN 111666567A
- Authority
- CN
- China
- Prior art keywords
- application program
- detection result
- safety protection
- indication information
- server
- 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
Images
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种恶意修改应用程序的检测方法、装置、计算机程序和介质。所述方法包括:获取当前运行的应用程序;向所述应用程序所对应的服务器发起恶意修改检测请求;其中,所述恶意修改检测请求携带与所述应用程序对应的校验信息、且用于指示所述服务器根据所述校验信息对所述应用程序进行恶意修改检测得到检测结果;接收所述服务器返回的检测结果;当所述检测结果表示所述应用程序被恶意修改时,则获取与所述检测结果相匹配的安全防护指示信息;执行所述安全防护指示信息所指定的目标操作。采用本方法能够提高使用应用程序的安全性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种恶意修改应用程序的检测方法、装置、计算机程序和介质。
背景技术
随着终端技术的发展,用户可以在终端上安装各种应用程序,如拍照应用程序、社交应用程序或者邮件应用程序等。但是,应用程序的安装包容易被恶意修改,被恶意修改的应用程序在终端上运行时可能会恶意获取用户隐私信息、发起非法服务请求或者恶意植入信息等,使得应用程序在使用时安全性较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高使用应用程序的安全性的恶意修改应用程序的检测方法、装置、计算机程序和介质。
一种恶意修改应用程序的检测方法,所述方法包括:
获取当前运行的应用程序;
向所述应用程序所对应的服务器发起恶意修改检测请求;其中,所述恶意修改检测请求携带与所述应用程序对应的校验信息、且用于指示所述服务器根据所述校验信息对所述应用程序进行恶意修改检测得到检测结果;
接收所述服务器返回的检测结果;
当所述检测结果表示所述应用程序被恶意修改时,则获取与所述检测结果相匹配的安全防护指示信息;
执行所述安全防护指示信息所指定的目标操作。
一种恶意修改应用程序的检测装置,所述装置包括:
获取模块,用于获取当前运行的应用程序;
请求模块,用于向所述应用程序所对应的服务器发起恶意修改检测请求;其中,所述恶意修改检测请求携带与所述应用程序对应的校验信息、且用于指示所述服务器根据所述校验信息对所述应用程序进行恶意修改检测得到检测结果;
接收模块,用于接收所述服务器返回的检测结果;
所述获取模块还用于当所述检测结果表示所述应用程序被恶意修改时,则获取与所述检测结果相匹配的安全防护指示信息;
执行模块,用于执行所述安全防护指示信息所指定的目标操作。
一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,使得所述计算机设备上述恶意修改应用程序的检测方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述恶意修改应用程序的检测方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述恶意修改应用程序的检测方法的步骤。
上述恶意修改应用程序的检测方法、装置、计算机程序、计算机设备和存储介质,本地在运行某应用程序时,自动向该应用程序所对应的服务器发起恶意修改检测请求;由于恶意修改检测请求携带有与该应用程序对应的校验信息,可以使得服务器根据该校验信息对该应用程序进行恶意修改检测得到检测结果并返回,通过在线的方式能够有效识别该应用程序是否被恶意修改。而且,在服务器返回的检测结果表示当前运行的应用程序被恶意修改时,立即获取与该检测结果相匹配的安全防护指示信息,并执行该安全防护指示信息所指定的目标操作,以有效阻止被恶意修改的应用程序在本地的恶意行为,提高用户使用应用程序时的安全性。
一种恶意修改应用程序的检测方法,所述方法包括:
获取终端发起的恶意修改检测请求;所述恶意修改检测请求携带与所述终端当前运行的应用程序对应的校验信息;
根据所述校验信息对所述应用程序进行恶意修改检测,得到检测结果;
查询与所述应用程序对应、且与所述检测结果相匹配的安全防护指示信息;
将所述检测结果和所述安全防护指示信息返回给所述终端;返回的所述检测结果和所述安全防护指示信息用于指示所述终端在所述检测结果表示所述应用程序被恶意修改时,执行所述安全防护指示信息所指定的目标操作。
一种恶意修改应用程序的检测装置,所述装置包括:
获取模块,用于获取终端发起的恶意修改检测请求;所述恶意修改检测请求携带与所述终端当前运行的应用程序对应的校验信息;
检测模块,用于根据所述校验信息对所述应用程序进行恶意修改检测,得到检测结果;
查询模块,用于查询与所述应用程序对应、且与所述检测结果相匹配的安全防护指示信息;
反馈模块,用于将所述检测结果和所述安全防护指示信息返回给所述终端;返回的所述检测结果和所述安全防护指示信息用于指示所述终端在所述检测结果表示所述应用程序被恶意修改时,执行所述安全防护指示信息所指定的目标操作。
一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,使得所述计算机设备上述恶意修改应用程序的检测方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述恶意修改应用程序的检测方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述恶意修改应用程序的检测方法的步骤。
上述恶意修改应用程序的检测方法、装置、计算机程序、计算机设备和存储介质,在获取终端发起的恶意修改检测请求后,根据通信请求携带的校验信息对终端当前运行的应用程序进行恶意修改检测,得到检测结果,并查询与该应用程序对应、且与检测结果相匹配的安全防护指示信息,再将检测结果和安全防护指示信息返回给终端。这样,一方面通过在线的方式能够有效识别应用程序是否被恶意修改;另一方面,终端在检测结果表示当前运行的应用程序被恶意修改时,立即执行安全防护指示信息所指定的目标操作,以有效阻止被恶意修改的应用程序在本地的恶意行为,提高用户使用应用程序时的安全性。
附图说明
图1为一个实施例中恶意修改应用程序的检测方法的应用环境图;
图2为一个实施例中恶意修改应用程序的检测方法的流程示意图;
图3为一个实施例中终端的处理步骤的流程示意图;
图4为一个实施例中显示提示窗口的界面示意图;
图5为另一个实施例中恶意修改应用程序的检测方法的流程示意图;
图6为一个实施例中服务器的处理步骤的流程示意图;
图7为一个实施例中管理员上传安装包和配置安全防护指示信息的界面示意图;
图8为一个实施例中存储数据至数据库的流程示意图;
图9为一个实施例中恶意修改应用程序的检测系统的架构示意图;
图10为一个实施例中在恶意修改应用程序的检测系统中进行恶意修改应用程序的检测的时序图;
图11为一个实施例中恶意修改应用程序的检测装置的结构框图;
图12为另一个实施例中恶意修改应用程序的检测装置的结构框图;
图13为一个实施例中计算机设备的内部结构图;
图14为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
本申请提供的恶意修改应用程序的检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。具体地,在一个实施例中,终端102可向当前运行的应用程序所对应的服务器104发起恶意修改检测请求;该恶意修改检测请求携带与应用程序对应的校验信息;且该恶意修改检测请求用于指示服务器104根据校验信息对应用程序进行恶意修改检测得到检测结果。终端102接收服务器104返回的检测结果;当检测结果表示应用程序被恶意修改时,则获取与检测结果相匹配的安全防护指示信息;执行安全防护指示信息所指定的目标操作。在另一个实施例中,服务器104获取终端102发起的恶意修改检测请求;该恶意修改检测请求携带与终端当前运行的应用程序对应的校验信息。服务器104根据校验信息对应用程序进行校验,得到检测结果;并查询与应用程序对应、且与检测结果相匹配的安全防护指示信息;再向终端102返回检测结果和安全防护指示信息;返回的检测结果和安全防护指示信息用于指示终端在检测结果表示应用程序被恶意修改时,执行安全防护指示信息所指定的目标操作。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在另外的实施例中,终端102也可通过其上运行的应用程序执行本申请提供的恶意修改应用程序的检测方法的步骤。具体地,终端102上当前运行的应用程序可向该应用程序所对应的服务器104发起恶意修改检测请求;该恶意修改检测请求携带与应用程序对应的校验信息;且该恶意修改检测请求用于指示服务器104根据校验信息对应用程序进行恶意修改检测得到检测结果。终端102上当前运行的应用程序接收服务器104返回的检测结果;当检测结果表示应用程序被恶意修改时,则获取与检测结果想匹配的安全防护指示信息;执行安全防护指示信息所指定的目标操作。其中,终端102上当前运行的应用程序具体可以是拍照应用程序、社交应用程序、支付应用程序、购物应用程序、资讯应用程序或者邮件应用程序等。在另外的实施例中,终端102也可通过其上运行的专门的应用程序执行本申请提供的恶意修改应用程序的检测方法的步骤,该专门的应用程序可以是安全防护应用程序,可在终端102上后台运行。
在一个实施例中,如图2所示,提供了一种恶意修改应用程序的检测方法,以该恶意修改应用程序的检测方法应用于图1中的终端(或终端上运行的应用程序)为例进行说明,该恶意修改应用程序的检测方法包括以下步骤:
步骤202,获取当前运行的应用程序。
其中,应用程序是为了得到某种结果而可以由计算机等具有信息处理能力的终端执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。目前,用户可以在终端上安装各种应用程序,如拍照应用程序、社交应用程序或者邮件应用程序等,从而通过终端上安装的这些应用可以实现各种功能,如拍照功能、社交功能或者电子邮件管理功能等。
当前运行的应用程序,具体可以是当前正在终端上前台运行的应用程序,也可以是当前准备在终端上前台运行的应用程序。当前正在终端上前台运行的应用程序包括终端当前显示的页面所属的应用程序。当前准备在终端上前台运行的应用程序包括当前根据计算机指令启动的应用程序。
在一个实施例中,获取当前运行的应用程序,包括:接收应用程序启动指令;获取并运行应用程序启动指令所指定的应用程序。
其中,应用程序启动指令是用于启动应用程序的计算机指令。应用程序启动指令可通过用户操作触发。比如,用户点击终端界面上显示的应用程序图标。
具体地,终端可检测预设的用户操作,在检测到预设的用户操作后,触发应用程序启动指令。其中,用户操作所作用的应用程序,即为应用程序启动指令所指定的应用程序。比如用户点击的应用程序图标所对应的应用程序。终端在触发应用程序启动指令后,即获取并运行用户指定启动的应用程序。这样可以在应用程序启动时,即自动触发向服务器请求进行恶意修改检测,可以尽早避免应用程序被恶意修改后在终端上运行所带来的不安全性。
在一个实施例中,终端还可获取当前显示的页面所属的应用程序,以获取到当前运行的应用程序。终端还可在应用程序与该应用程序对应的服务器请求服务时,获取该应用程序作为当前运行的应用程序。这样可以在每次应用程序意图向服务器请求服务时,即自动触发向服务器请求进行恶意修改检测,可以避免服务器向被恶意修改的应用程序提供服务所带来的不安全性。
步骤204,向应用程序所对应的服务器发起恶意修改检测请求;其中,恶意修改检测请求携带与应用程序对应的校验信息、且用于指示服务器根据校验信息对应用程序进行恶意修改检测得到检测结果。
其中,恶意修改检测请求用于请求服务器对指定的应用程序进行恶意修改检测。恶意修改检测请求中携带有与应用程序对应的校验信息,这样,服务器即可根据校验信息对指定的应用程序进行恶意修改检测。
在一个具体的实施例中,应用程序被恶意修改具体可以是应用程序的安装包被修改。应用程序的安装包被修改比如应用程序的安装包中的客户端代码、资源或者配置文件被修改。可以通俗地理解为终端上安装的应用程序实际使用的安装包,与该应用程序所对应的服务器发布的安装包不一致。应用程序的安装包被修改也可以是应用程序的安装包被重打包。检测结果包括校验通过和校验未通过,相应地包括应用程序未被恶意修改和应用程序被恶意修改。
在一个实施例中,向应用程序所对应的服务器发起恶意修改检测请求,包括:获取与应用程序对应的校验信息;向应用程序所对应的服务器,发起携带校验信息的恶意修改检测请求。
其中,校验信息是对指定的应用程序进行恶意修改检测的依据。具体地,终端在获取当前运行的应用程序后,即获取该应用程序对应的校验信息,将该校验信息携带在恶意修改检测请求中发送给服务器。这样服务器在接收到恶意修改检测请求后,即提取恶意修改检测请求携带的校验信息进行指定应用程序的恶意修改检测。
举例说明,假设用户从应用程序市场下载了应用程序A的APK安装包,并通过该APK安装包在终端上安装了应用程序A。此后,用户点击终端上应用程序A的桌面图标,启动应用程序A。终端获取应用程序A为当前运行的应用程序,即获取应用程序A的校验信息,向应用程序A所对应的服务器发送携带校验信息的恶意修改检测请求。应用程序A所对应的服务器在接收到恶意修改检测请求后,即从恶意修改检测请求中提取检验信息,检测应用程序A的APK安装包是否被恶意修改。
在本实施例中,在应用程序启动时,即自动触发向服务器请求进行恶意修改检测,可以尽早避免应用程序被恶意修改后在终端上运行所带来的不安全性。
在一个实施例中,校验信息比如应用程序的签名信息、摘要信息或者可执行文件版本标识等。服务器通过比较恶意修改检测请求中的检验信息,和应用程序服务方(官方)提供的标准信息,来校验终端安装的应用程序是否被恶意修改。比如恶意修改检测请求中的签名信息是否与官方提供的签名信息一致,或者,恶意修改检测请求中的摘要信息是否与官方提供的摘要信息一致等。
步骤206,接收服务器返回的检测结果。
具体地,服务器在接收到恶意修改检测请求时,会先提取恶意修改检测请求中携带的校验信息,并对该校验信息所对应的应用程序进行恶意修改检测;再将恶意修改检测后得到的检测结果返回至终端,这样终端即接收到服务器返回的检测结果。
步骤208,当检测结果表示应用程序被恶意修改时,则获取与检测结果相匹配的安全防护指示信息。
其中,安全防护指示信息是用于指示终端或应用程序进行安全防护的数据。该安全防护指示信息可以事先设置并存储在终端本地,需要时直接读取使用;也可以由服务器实时跟随当前的检测结果下发。
在一个实施例中,终端获取到检测结果时,判断该检测结果是否表示应用程序被恶意修改。若检测结果表示应用程序被恶意修改,则从本地查找与该检测结果相匹配的安全防护指示信息。与应用程序被恶意修改的检测结果相匹配的安全防护指示信息可以直接是预设的校验未通过时的安全防护指示信息。若检测结果表示应用程序未被恶意修改,则从本地查找与该检测结果相匹配的安全防护指示信息。与应用程序未被恶意修改的检测结果相匹配的安全防护指示信息可以直接是预设的校验通过时的安全防护指示信息。
其中,校验未通过时的安全防护指示信息可以是弹窗提醒、弹窗提醒选择退出以及弹窗提醒强制退出等。校验通过时的安全防护指示信息可以是静默处理,即不作额外的处理,允许后续的全部数据交互或者部分数据交互。
在一个实施例中,若检测结果表示应用程序未被恶意修改,终端可直接与服务器建立通信连接,以通过该通信连接传输业务数据。
在一个实施例中,终端还接收服务器返回的、与检测结果相匹配的安全防护指示信息,根据接收到的检测结果判断应用程序是否被恶意修改,若检测结果表示应用程序被恶意修改,则获取服务器返回的、与该检测结果相匹配的安全防护指示信息,以在后续执行该安全防护指示信息所指定的目标操作。若检测结果表示应用程序未被恶意修改,与该检测结果相匹配的安全防护指示信息可以为空,即直接与服务器建立通信连接,以通过该通信连接传输业务数据。其中,服务器同时返回检测结果和安全防护指示信息,该同时返回的检测结果和安全防护指示信息可以看作是相互匹配的关系。
步骤210,执行安全防护指示信息所指定的目标操作。
其中,应用程序提供方或者用户可根据应用程序的安全等级设置不同的安全防护指示信息。应用程序提供方设置的安全防护指示信息上传至服务器,再由服务器下发至终端,用户设置的安全防护指示信息则可直接存储在终端。
在一个具体的实施例中,不同的安全防护指示信息对应用程序运行的阻断程度不一致。比如,安全级别较高的应用程序,如支付应用程序等,可设置阻断程度较高的安全防护指示信息,如提醒退出或者强制退出等;安全级别较低的应用程序,如资讯应用程序等,可设置阻断程度较弱的安全防护指示信息,如忽略风险或者允许部分业务操作等。
具体地,终端可在获取与检测结果相匹配的安全防护指示信息后,执行该安全防护指示信息所指定的目标操作。
举例说明,终端(或者终端上运行的应用程序A)在接收到其对应的服务器1返回的对A进行校验得到的检测结果后,可确定A的安全等级,在本地查询查询与该安全等级匹配、且与检测结果匹配的安全防护指示信息,执行该安全防护指示信息所指定的目标操作。
再举例说明,终端(或者终端上运行的应用程序A)在接收到其对应的服务器1返回的对A进行校验得到的检测结果以及与该检测结果匹配的安全防护指示信息后,执行该安全防护指示信息所指定的目标操作。
上述恶意修改应用程序的检测方法、装置、计算机程序、计算机设备和存储介质,本地在运行某应用程序时,自动向该应用程序所对应的服务器发起恶意修改检测通信请求;由于恶意修改检测通信请求携带有与该应用程序对应的校验信息,可以使得服务器根据该校验信息对该应用程序进行恶意修改检测得到检测结果并返回,通过在线的方式能够有效识别该应用程序是否被恶意修改。而且,在服务器返回的检测结果表示当前运行的应用程序被恶意修改时,立即获取与该检测结果相匹配的安全防护指示信息,并执行该安全防护指示信息所指定的目标操作,可以有效阻止被恶意修改的应用程序在本地的恶意行为,提高用户使用应用程序时的安全性。
可以理解,应用程序的安装包被修改后安装到终端上,比如安装包被黑客或者其他不法人员增加恶意代码、植入广告或者不经许可获取用户信息,会对用户隐私、用户正常的应用程序使用、及应用程序提供方的权益造成极大影响。这样,通过本申请提供的恶意修改应用程序的检测方法,如果用户安装了恶意修改过的安装包,可以对安装的应用程序在运行过程中进行有效的防护。
在一个实施例中,终端还可在应用程序向其相应的服务器请求服务的通信请求中添加校验信息。这样,终端上运行的应用程序在向服务器请求提供服务,服务器在向该应用程序提供服务时,都先根据应用程序发起的通信请求中携带的校验信息对应用程序进行恶意修改检测,在检测通过后才向应用程序提供其所请求的服务。其中,通信请求包括恶意修改检测请求。
可以理解,终端上运行的应用程序进在需要进行相应的业务操作时,均需要向相应的服务器请求提供相应的业务服务。比如,用户在通过社交应用程序聊天时,社交应用程序需要向该社交应用程序对应的服务器请求提供社交会话消息的传输服务;再比如,用户在通过资讯应用程序浏览资讯时,资讯应用程序需要向该资讯应用程序对应的服务器请求提供资讯内容的下载服务等。
具体地,终端或者终端上当前运行的应用程序,在向该应用程序对应的服务器发起通信请求时,即可在该通信请求上携带校验信息,以使服务器在接收到通信请求后,根据该校验信息对应用程序进行恶意修改检测,并在恶意修改检测通过后再提供相应的服务。
举例说明,假设终端当前运行了应用程序A,则可由应用程序A发起通信请求,该通信请求的对象为应用程序A对应的服务器1,且该通信请求携带了用于对应用程序A进行校验的校验信息a。假设终端当前运行了应用程序B,则可由应用程序B发起通信请求,该通信请求的对象为应用程序B对应的服务器2,且该通信请求携带了用于对应用程序B进行校验的校验信息b。
在一个实施例中,校验信息包括应用程序的安装包名和客户端签名信息。向应用程序所对应的服务器发起恶意修改检测请求,包括:获取应用程序的安装包名和客户端签名信息;将安装包名和客户端签名信息携带在恶意修改检测请求中,通过网络通信协议发送至应用程序所对应的服务器。
其中,应用程序的安装包名用于唯一标识一个应用程序。安装包名(PackageName)可以是应用程序的安装包的名称,也可以是应用程序的名称。客户端签名信息是终端上安装该应用程序实际使用的安装包的应用程序签名信息,用于反映终端上安装的应用程序所源自的安装包。服务器可根据应用程序的安装包名查找服务器上标准的安装包信息,验证终端上安装的应用程序所源自的安装包是否被修改,以在终端上安装的应用程序所源自的安装包被修改时,通知终端进行安全防护处理,提高应用程序使用时的安全性。
网络通信协议是计算机设备之间进行安全通信需要遵循的协议。比如https协议等。计算机设备之间按照网络通信协议发送请求,可以有效避免请求传输过程被修改,导致检测结果可靠性降低的问题。
具体地,参考图3,终端在根据用户操作启动应用程序,或者根据用户操作通过正在运行的应用程序向服务器请求服务时,可以获取当前运行的应用程序的安装包名和客户端签名信息。比如安装包名PackageName和客户端签名信息Sign1。终端再将获取的安装包名和客户端签名信息携带在恶意修改检测请求中,按照网络通信协议,将恶意修改检测请求发送至服务器。其中,网络通信协议是终端与服务器之间的通信所遵循的协议,比如https协议等。
在本实施例中,以客户端签名信息作为校验应用程序的安装包是否被修改的依据,由于签名信息是应用程序和开发者建立可信任的关联,安装包被修改签名信息也会随之改变,基于签名信息的比较即可进行校验,这样通过对少量的数据进行处理即可得到可靠的检测结果,提高了检测的效率。
在另外的实施例中,校验信息也可以是其他信息,比如校验信息包括应用程序的安装包名和客户端可执行文件的摘要信息。此时,检测结果由服务器在查找到与安装包名对应的标准可执行文件的摘要信息后,根据标准可执行文件的摘要信息对客户端可执行文件的摘要信息进行校验得到。其中,可执行文件比如dex文件等,可执行文件的摘要信息比如dex文件的MD5值等。
在一个实施例中,该恶意修改应用程序的检测方法还包括:接收服务器反馈的与校验检测结果相匹配的安全防护指示信息;其中,检测结果由服务器在查找到与安装包名对应的标准签名信息后,根据标准签名信息对客户端签名信息进行校验得到;所述安全防护指示信息通过权限角色为管理员的管理员账号上传至服务器。
具体地,服务器在得到检测结果下发给终端时,可一并下发相应的安全防护指示信息。此时,检测结果与安全防护指示信息一起下发,可以认为一起下发的检测结果与安全防护指示信息之间是相互匹配的关系。
其中,安全防护指示信息可以是通过权限角色为管理员的管理员账号上传至服务器。具体地,权限角色为管理员的管理员账号登录的终端可根据管理员操作得到安全防护指示信息,再将得到的安全防护指示信息上传至服务器。管理员操作比如输入操作或者选择操作等。
在本实施例中,让应用程序提供方的管理员灵活配置相应的防护策略,实现并不只是恶意修改应用程序的检测,还有检测出恶意修改之后的防护处理,从而达到更加全面的检测和防护效果,全面保护服务方和用户的利益。
在一个实施例中,步骤206,包括:接收服务器返回的检测结果字段和安全防护字段;其中,检测结果字段用于表征检测结果。步骤208,包括:当检测结果字段中的标识表示应用程序被恶意修改时,则获取安全防护字段中的安全防护指示信息。
其中,检测结果字段是用于存储表征检测结果的数据的记录。检测结果字段中不同的标识表征不同的检测结果。比如,采用第一标识表征应用程序未被恶意修改的检测结果,采用第二标识表征应用程序被恶意修改的检测结果。具体地,第一标识可以采用字符串false,第二标识可以采用字符串true。再比如,采用空数据表征应用程序未被恶意修改的检测结果,采用目标标识表征应用程序被恶意修改的检测结果。具体地,目标标识可以采用字符串true。再比如,采用空数据表征应用程序被恶意修改的检测结果,采用目标标识表征应用程序未被恶意修改的检测结果。具体地,目标标识也可以采用字符串true。
安全防护字段是用于存储表征安全防护指示信息的数据的记录。安全防护字段中不同的字符表征不同的安全防护指示信息。不同的安全防护指示信息所指定的目标操作各不相同。
具体地,继续参考图3,服务器可通过字段形式返回检测结果和安全防护信息,比如检测结果字段isRepackaged和安全防护字段protectStrategy。终端在接收到检测结果字段和安全防护字段后,可先查看检测结果字段,根据检测结果字段中的标识,判断当前运行的应用程序实际安装所依据的安装包是否被恶意修改。在检测结果字段中的标识表示当前运行的应用程序实际安装所依据的安装包未被恶意修改,则允许当前运行的应用程序进行其他操作,比如与服务器进行业务数据的交互。在检测结果字段中的标识表示当前运行的应用程序实际安装所依据的安装包被恶意修改,则需要根据安全防护字段进行防护处理。其中,在检测结果字段中的标识表示当前运行的应用程序实际安装所依据的安装包未被恶意修改时,可以直接判定安全防护字段所指示的目标操作为静默处理,允许当前运行的应用程序进行其他操作。
举例说明,终端可根据isRepackaged是否为true,来判断当前的应用程序安装所依据的安装包是否为被恶意修改过。如果isRepackaged不为true,则认为当前的应用程序是依据官方发布的安装包安装得到的,允许当前运行的应用程序进行其他操作,比如与服务器进行业务数据的交互。如果isRepackaged为true,则代表当前的应用程序为依据被恶意修改过的安装包安装的,需要根据protectStrategy进行相应的防护处理。
在本实施例中,通过事先约定的特定字段来表征检测结果以及安全防护信息,可以方便直接地从字段中读取标识得到检测结果以及安全防护信息,实现检测结果在通信双方之间的便捷传递。
在一个实施例中,步骤206,包括:接收服务器返回的检测结果字段;其中,检测结果字段用于表征检测结果。步骤208,包括:当检测结果字段中的标识表示应用程序被恶意修改时,则获取本地的安全防护字段中的安全防护指示信息。
在本实施例中,终端事先存储了各种检测结果相应的安全防护字段。这样,终端通过在线的方式获取检测结果后,可以在本地查询相应的安全防护字段,获取本地的安全防护字段中的安全防护指示信息。
上述实施例中,将检测结果和防护策略写入字段,通过字段传输信息,简洁明了方便快捷,终端可也快速读取字段内容进行响应,尽早避免应用程序被恶意修改后在终端上运行所带来的不安全性。
在一个实施例中,执行安全防护指示信息所指定的目标操作,包括:当安全防护指示信息为第一字符时,则显示提示窗口,并在提示窗口中显示提示信息;提示信息用于提示应用程序被恶意修改;当安全防护指示信息为第二字符时,则强制退出应用程序;当安全防护指示信息为第三字符时,则与服务器建立通信连接。
进一步地,继续参考图3,终端在判定当前运行的应用程序实际安装所依据的安装包被恶意修改时,则继续查看安全防护字段,获得安全防护字段中的字符,即得到安全防护指示信息;然后执行该安全防护指示信息所指定的目标操作,实现适当的安全防护。具体地,终端可先判断该安全防护指示信息是否为第一字符,当安全防护指示信息为第一字符时,则认为当前的应用程序虽然不是依据官方发布的安装包安装得到的,但风险较小,显示提示窗口,用于提醒用户存在风险。当安全防护指示信息不为第一字符时,则继续判断该安全防护指示信息是否为第二字符。当安全防护指示信息为第二字符时,则认为当前的应用程序虽然不是依据官方发布的安装包安装得到的,但风险较大,强制退出应用程序;当安全防护指示信息为第三字符时,则认为当前的应用程序虽然不是依据官方发布的安装包安装得到的,但风险可忽略,与服务器建立通信连接,允许终端与服务器之间的数据交互。
其中,终端在显示提示窗口时,可以在提示窗口中提供退出入口,退出入口用于向用户提供退出应用程序的快捷操作入口,供用户选择是否退出应用程序。终端在强制退出应用程序时,也可先显示提示窗口提示用户,再强制退出应用程序。终端在显示提示窗口时,可在提示窗口中显示提示信息,提示信息用于提示用户应用程序被恶意修改。参考图4,该图示出了一个实施例中显示提示窗口的界面示意图。当安全防护指示信息为第二字符时,可先显示提示窗口,并在提示窗口中显示提示信息,再强制退出应用程序。
举例说明,安全防护字段protectStrategy中的字段可以是具有指代意义的字符,比如0、1或者2等。如果protectStrategy为1(表示弹窗处理),则显示提示窗口,并在提示窗口中显示提示信息;其中,提示窗口中显示提示信息可以是提醒用户当前的应用程序不是官方的应用程序,阻止用户进行其他的业务操作同时引导用户去下载官方的应用程序。如果protectStrategy=2,则应用程序强制退出,阻止用户进行其他的业务操作。如果protectStrategy=0,则忽略被恶意修改的风险,允许用户进行其他的业务操作。
在一个实施例中,执行安全防护指示信息所指定的目标操作,包括:当安全防护指示信息为第一字符时,则显示提示窗口,并在提示窗口中显示提示信息;提示信息用于提示应用程序被恶意修改;当安全防护指示信息为第二字符时,则强制退出应用程序;当安全防护指示信息不为第一字符且不为第二字符时,则与服务器建立通信连接。
举例说明,安全防护字段protectStrategy中的字段可以是带有语义的字符,比如弹窗或者crash等。终端可继续查看安全防护字段protectStrategy中的字符,获取安全防护指示信息。终端可先判断protectStrategy是否为弹窗,如果protectStrategy为弹窗,则显示弹窗以提示用户。如果protectStrategy不为弹窗,则判断protectStrategy是否为crash。如果protectStrategy为crash,则当前运行的应用程序直接crash以阻止当前运行的应用程序进行其他操作。如果protectStrategy不为crash,则认为当前的应用程序虽然不是依据官方发布的安装包安装得到的,但可忽略风险,允许当前运行的应用程序进行其他操作。
上述实施例中,根据不同的安全防护指示信息执行不同的防护操作,可以实现在应用程序被恶意修改时,根据实际场景的安全需要采取适当的防护操作,在用户正常使用应用程序的同时提高安全防护的实用性、适宜度和用户友好度。
在一个实施例中,如图5所示,提供了一种恶意修改应用程序的检测方法,以该恶意修改应用程序的检测方法应用于图1中的服务器为例进行说明,该恶意修改应用程序的检测方法包括以下步骤:
步骤502,获取终端发起的恶意修改检测请求;恶意修改检测请求携带与终端当前运行的应用程序对应的校验信息。
步骤504,根据校验信息对应用程序进行恶意修改检测,得到检测结果。
步骤506,查询与应用程序对应、且与检测结果相匹配的安全防护指示信息。
步骤508,将检测结果和安全防护指示信息返回给终端;返回的检测结果和安全防护指示信息用于指示终端在检测结果表示应用程序被恶意修改时,执行安全防护指示信息所指定的目标操作。
可以理解,本实施例中步骤502至步骤508是与前述是实施例中步骤202至步骤208相应的步骤。在对应用程序进行恶意修改检测时,终端与服务器之间的交互中终端执行步骤202至步骤208,服务器执行步骤502至步骤508,实现对应用程序的恶意修改检测和相应的安全防护处理,具体内容可类比前述实施例中的描述。
上述恶意修改应用程序的检测方法,在获取终端发起的恶意修改检测请求后,根据通信请求携带的校验信息对终端当前运行的应用程序进行恶意修改检测,得到检测结果,并查询与该应用程序对应、且与检测结果相匹配的安全防护指示信息,再将检测结果和安全防护指示信息返回给终端。这样,一方面通过在线的方式能够有效识别应用程序是否被恶意修改;另一方面,终端在检测结果表示当前运行的应用程序被恶意修改时,立即执行安全防护指示信息所指定的目标操作,以有效阻止被恶意修改的应用程序在本地的恶意行为,提高用户使用应用程序时的安全性。
在一个实施例中,校验信息包括应用程序的安装包名和客户端签名信息;根据校验信息对应用程序进行恶意修改检测,得到检测结果,包括:在数据库中查找与安装包名对应的标准签名信息;当客户端签名信息与标准签名信息一致时,则将第一标识写入检测结果字段;第一标识表示应用程序未被恶意修改的检测结果;当客户端签名信息与标准签名信息不一致时,则将第二标识写入检测结果字段;第二标识表示应用程序被恶意修改的检测结果。
其中,标准签名信息是应用程序提供方所提供的安装包的签名信息,也可以称为官方签名信息。客户端签名信息是终端安装应用程序实际使用的安装包的签名信息。服务器以服务器的数据库上存储的标准签名信息为准,通过对比标准签名信息和客户端签名信息,来检测应用程序是否被恶意修改。
具体地,参考图6,服务器接收到终端发送的恶意修改检测请求后,获取该恶意修改检测请求中携带的校验信息:安装包名和客户端签名信息。服务器再根据安装包名从数据库中查询相应的标准签名信息,然后比较客户端签名信息与标准签名信息是否一致。在客户端签名信息与标准签名信息一致时,判定终端安装应用程序实际使用的安装包为官方提供的安装包,将表示应用程序未被恶意修改的检测结果的第一标识写入检测结果字段。在客户端签名信息与标准签名信息不一致时,判定终端安装应用程序实际使用的安装包不是官方提供的安装包,将表示应用程序被恶意修改的检测结果的第二标识写入检测结果字段。
举例说明,服务器接收到终端发送的恶意修改检测请求后,获取该恶意修改检测请求中携带的安装包名PackageName和客户端签名信息Sign1。服务器然后根据PackageName从数据库中查询相应的标准签名信息Sign2,比较客户端签名信息Sign1与标准签名信息Sign2是否一致;如果Sign1与Sign2一致,则判定终端安装应用程序实际使用的安装包为官方提供的安装包,将isRepackaged字段设置为false,并直接将protectStrategy设置为0。其中,0表示静默处理,安全防护指示信息所指向的目标操作为空,即无操作。如果Sign1与Sign2不一致,则判定终端安装应用程序实际使用的安装包不是官方提供的安装包,将isRepackaged字段设置为true。
本实施例中,在对终端当前运行的应用程序进行校验后,将不同的检测结果以不同的标识表示,使得终端可直接读取以快速响应,尽早避免应用程序被恶意修改后在终端上运行所带来的不安全性。
在一个实施例中,查询与应用程序对应、且与检测结果相匹配的安全防护指示信息,包括:当得到应用程序被恶意修改的检测结果时,则在数据库中查找与安装包名对应的安全防护指示信息;将安全防护指示信息写入安全防护字段。将检测结果和安全防护指示信息返回给终端,包括:将检测结果字段和安全防护字段返回给终端。
具体地,继续参考图6,服务器在客户端签名信息与标准签名信息不一致时,判定终端安装应用程序实际使用的安装包不是官方提供的安装包后,可继续根据安装包名从数据库中查询相应的安全防护指示信息。服务器然后将安全防护指示信息写入安全防护字段,再将检测结果字段和安全防护字段返回给终端。
其中,服务器从根据安装包名从数据库中查询相应的安全防护指示信息时,可以根据当前得到的检测结果和应用程序或者应用程序请求服务的安全等级,查询相应的安全防护指示信息。比如,在检测结果相同,但应用程序或者应用程序请求服务的安全等级不同时,得到不同的安全防护指示信息。
举例说明,服务器在判定终端安装应用程序实际使用的安装包不是官方提供的安装包后,即得到应用程序被恶意修改的检测结果后,可继续根据PackageName从数据库中查询相应的protectStrategy,然后将isRepackaged字段和protectStrategy字段反馈至终端。
在本实施例中,将检测结果和防护策略写入字段,通过字段传输信息,简洁明了方便快捷,终端可直接读取字段内容快速进行响应,尽早避免应用程序被恶意修改后在终端上运行所带来的不安全性。
在一个实施例中,该恶意修改应用程序的检测方法还包括:获取通过管理员账号上传的、且与应用程序对应的安装包,以及通过管理员账号配置的、且与应用程序对应的安全防护指示信息;解析安装包得到与应用程序对应的安装包名和标准签名信息;将安装包名、标准签名信息和安全防护指示信息对应写入数据库。
具体地,服务器可提供运行于终端的前端(如网页、应用或者平台等),管理员角色的用户可通过前端与服务器交互,比如上传应用程序的安装包以及设置与应用程序对应的安全防护指示信息等。
进一步地,终端可通过管理员账号配置不同的安全等级各自对应的安全防护指示信息。安全等级可以是指应用程序的安全等级,比如支付类应用程序安全等级高,资讯类应用程序安全等级低。安全等级也可以是指应用程序当前的业务操作的安全等级,比如会话操作的安全等级低,支付操作的安全等级高。这样,后续服务器在查询安全防护指示信息时,可先判定通信请求所对应的安全等级或者应用程序的安全等级,再查找该安全等级下的安全防护指示信息。
举例说明,图7示出了一个实施例中管理员上传安装包和配置安全防护指示信息的界面示意图。参考图7上图,管理员可通过上传入口上传官方的APK安装包;再参考图7下图,管理员可在安全防护设置页面配置与应用程序对应的安全防护指示信息。比如在服务器提供的应对策略选项中挑选。管理员还可以批量上传应用程序的安装包,分别为各应用程序分别设置安全等级,再配置各安全等级下的安全防护指示信息。比如,对强安全要求的应用程序设置的防护策略为弹窗提醒强制退出,即高安全等级下的安全防护指示信息为弹窗提醒强制退出;对中安全要求的应用程序的防护策略为弹窗提醒选择退出,即中安全等级下的安全防护指示信息为弹窗提醒选择退出;对弱安全要求的应用程序的防护策略为弹窗提醒,即低安全等级下的安全防护指示信息为弹窗提醒。
在本实施例中,管理员事先提供正确的安装包和出现安全问题时的应对策略,可以在实际校验过程中,直接获取正确的数据为依据进行校验,并在校验不通过时,能够立即下发应对策略及时止损。
在一个实施例中,解析安装包得到与应用程序对应的安装包名和标准签名信息,包括:解压缩安装包得到安装包文件;从安装包文件的第一文件中读取包字段中的安装包名;从安装包文件的第二文件中读取公钥作为标准签名信息。
具体地,参考图8,服务器获取通过管理员账号上传的安装包后,可以对安装包进行解压缩得到安装包文件。比如,对于apk安装包,由于apk安装包格式是一种zip压缩包的格式,可以使用unzip解压工具,对apk安装包进行解压。服务器再根据对安装包进行打包的约定,在从安装包文件的第一文件中读取包字段中的安装包名。比如,应用程序的安装包名PackageName通常存放在AndroidManifest.xml文件的package字段中,服务器可以解析该xml文件,读取package字段中的安装包名。服务器再按照安装包的格式,从安装包文件的第二文件中读取公钥作为标准签名信息。比如,根据apk安装包的格式,签名证书信息放在META-INF目录下的CERT.RSA中,服务器可读取该文件中的pubkey信息,作为标准签名信息Sign2。服务器再将安装包名PackageName和标准签名信息Sign2对应保存在服务器的数据库中。
在一个实施例中提供了一种恶意修改应用程序的检测系统,包括终端和服务器,其中,服务器是待进行恶意修改检测的应用程序所对应的服务器。
终端用于获取当前运行的应用程序,向该应用程序对应的服务器发起恶意修改检测请求;恶意修改检测请求携带与该应用程序对应的校验信息、且用于指示服务器根据校验信息对应用程序进行恶意修改检测得到检测结果;
服务器用于获取恶意修改检测请求;根据恶意修改检测请求中携带的校验信息对应用程序进行恶意修改检测得到检测结果;查询与应用程序对应、且与检测结果相匹配的安全防护指示信息;将检测结果和安全防护指示信息返回给终端;
终端还用于接收检测结果和安全防护指示信息;当检测结果表示应用程序被恶意修改时,执行安全防护指示信息所指定的目标操作。
可以理解,该终端还可执行前述实施例提供的恶意修改应用程序的检测方法中由终端执行的步骤,该服务器还可以执行前述实施例提供的恶意修改应用程序的检测方法中由服务器执行的步骤。
举例说明,参考图9,该图示出了一个实施例中恶意修改应用程序的检测系统的架构示意图。该恶意修改应用程序的检测系统包括终端和服务器,终端包括管理员对应的第一终端和用户对应的第二终端,服务器上包括数据库,并对外提供web管理平台和应用程序校验服务。具体地,第二终端上运行有应用程序,该应用程序所对应的官方安装包由第一终端根据管理员操作通过web管理平台上传至服务器,第一终端还可以根据管理员操作将应用程序对应的安全防护指示信息通过web管理平台上传至服务器。服务器可从第一终端上传的官方安装包中提取安装包名和标准签名信息,再将安装包名、标准签名信息和安全防护指示信息对应存储在数据库中。第二终端上运行的应用程序,可向服务器发起通信请求,并在请求中携带安装包名和客户端签名信息。服务器提供在线的应用程序校验服务,具体根据数据库中存储数据校验当前应用程序安装所使用的安装包是否为官方安装包,即校验当前应用程序安装所使用的安装包是否被恶意修改,并在判定被恶意修改时获取相应的安全防护指示信息。
参考图10,该图示出了一个实施例中在恶意修改应用程序的检测系统中进行恶意修改应用程序的检测的时序图。具体地,终端根据用户操作启动应用程序,该应用程序获取应用程序的安装包名和客户端签名信息,比如安装包名PackageName和客户端签名信息Sign1。终端再向应用程序对应的服务器发送恶意修改检测请求,恶意修改检测请求中携带安装包名和客户端签名信息作为校验信息,以检测该应用程序是否被恶意修改。服务器接收到恶意修改检测请求后,提取恶意修改检测请求中携带的安装包名,从数据库中查询该安装包名对应的标准签名信息,比如标准签名信息Sign2。服务器再比较客户端签名信息是否与标准签名信息一致,在客户端签名信息与标准签名信息不一致时,从数据库中查询该安装包名对应的安全防护指示信息,将检测结果和安全防护指示信息返回给应用程序,应用程序再根据安全防护指示信息执行安全防护操作。
其中,应用程序可以是适用于安卓Android系统或者iOS系统的APP(Application)。应用程序所对应的服务器可以是官方App后台服务器,数据库可以是官方后台数据库。这样,通过客户端和服务端两端进行配合,实现了服务端在线完成对客户端的安装包是否为被恶意修改的校验,相较于离线校验,避免了通过hook等技术手段影响校验的问题;客户端则实现了对被恶意修改的应用程序的安全防护以及对用户的提示,从而达到更加全面的检测和防护效果,全面保护服务方和用户的利益。
应该理解的是,虽然上述实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种恶意修改应用程序的检测装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块1101、请求模块1102、接收模块1103和执行模块1104,其中,
获取模块1101,用于获取当前运行的应用程序;
请求模块1102,用于向应用程序所对应的服务器发起恶意修改检测请求;其中,恶意修改检测请求携带与应用程序对应的校验信息、且用于指示服务器根据校验信息对应用程序进行恶意修改检测得到检测结果;
接收模块1103,用于接收服务器返回的检测结果;
获取模块1101还用于当检测结果表示应用程序被恶意修改时,则获取与检测结果相匹配的安全防护指示信息;
执行模块1104,用于执行安全防护指示信息所指定的目标操作。
在一个实施例中,获取模块1101还接收应用程序启动指令;获取并运行应用程序启动指令所指定的应用程序。请求模块1102还用于获取与应用程序对应的校验信息;向应用程序所对应的服务器,发起携带校验信息的恶意修改检测请求。
在一个实施例中,校验信息包括应用程序的安装包名和客户端签名信息。请求模块1102还用于获取应用程序的安装包名和客户端签名信息;将安装包名和客户端签名信息携带在恶意修改检测请求中,通过网络通信协议发送至应用程序所对应的服务器。
在一个实施例中,接收模块1103还用于接收服务器反馈的与检测结果相匹配的安全防护指示信息;其中,检测结果由服务器在查找到与安装包名对应的标准签名信息后,根据标准签名信息对客户端签名信息进行校验得到;安全防护指示信息通过权限角色为管理员的管理员账号上传至服务器。
在一个实施例中,接收模块1103还用于接收服务器返回的检测结果字段和安全防护字段;其中,检测结果字段用于表征检测结果。获取模块1101还用于当检测结果字段中的标识表示应用程序被恶意修改时,则获取安全防护字段中的安全防护指示信息。
在一个实施例中,执行模块1104还用于当安全防护指示信息为第一字符时,则显示提示窗口,并在提示窗口中显示提示信息;提示信息用于提示应用程序被恶意修改;当安全防护指示信息为第二字符时,则强制退出应用程序;当安全防护指示信息为第三字符时,则与服务器建立通信连接。
在一个实施例中,执行模块1104还用于当检测结果表示应用程序未被恶意修改时,则与服务器建立通信连接,并通过通信连接进行业务数据传输。
上述恶意修改应用程序的检测方法,本地在运行某应用程序时,自动向该应用程序所对应的服务器发起恶意修改检测请求;由于恶意修改检测请求携带有与该应用程序对应的校验信息,可以使得服务器根据该校验信息对该应用程序进行恶意修改检测得到检测结果并返回,通过在线的方式能够有效识别该应用程序是否被恶意修改。而且,在服务器返回的检测结果表示当前运行的应用程序被恶意修改时,立即获取与该检测结果相匹配的安全防护指示信息,并执行该安全防护指示信息所指定的目标操作,以有效阻止被恶意修改的应用程序在本地的恶意行为,提高用户使用应用程序时的安全性。
在一个实施例中,如图12所示,提供了一种恶意修改应用程序的检测装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块1201、检测模块1202、查询模块1203和反馈模块1204,其中,
获取模块1201,用于获取终端发起的恶意修改检测请求;恶意修改检测请求携带与终端当前运行的应用程序对应的校验信息;
检测模块1202,用于根据校验信息对应用程序进行恶意修改检测,得到检测结果;
查询模块1203,用于查询与应用程序对应、且与检测结果相匹配的安全防护指示信息;
反馈模块1204,用于将检测结果和安全防护指示信息返回给终端;返回的检测结果和安全防护指示信息用于指示终端在检测结果表示应用程序被恶意修改时,执行安全防护指示信息所指定的目标操作。
在一个实施例中,校验信息包括应用程序的安装包名和客户端签名信息。检测模块1202还用于在数据库中查找与安装包名对应的标准签名信息;当标准签名信息与客户端签名信息一致时,则将第一标识写入检测结果字段;第一标识表示应用程序未被恶意修改的检测结果;当标准签名信息与客户端签名信息不一致时,则将第二标识写入检测结果字段;第二标识表示应用程序被恶意修改的检测结果。
在一个实施例中,查询模块1203还用于当得到应用程序被恶意修改的检测结果时,则在数据库中查找与安装包名对应的安全防护指示信息;将安全防护指示信息写入安全防护字段。反馈模块1204还用于将检测结果字段和安全防护字段返回给终端。
在一个实施例中,获取模块1201还用于获取通过管理员账号上传的、且与应用程序对应的安装包,以及通过管理员账号配置的、且与应用程序对应的安全防护指示信息;解析安装包得到与应用程序对应的安装包名和标准签名信息;将安装包名、标准签名信息和安全防护指示信息对应写入数据库。
上述恶意修改应用程序的检测装置,在获取终端发起的恶意修改检测请求后,根据通信请求携带的校验信息对终端当前运行的应用程序进行恶意修改检测,得到检测结果,并查询与该应用程序对应、且与检测结果相匹配的安全防护指示信息,再将检测结果和安全防护指示信息返回给终端。这样,一方面通过在线的方式能够有效识别应用程序是否被恶意修改;另一方面,终端在检测结果表示当前运行的应用程序被恶意修改时,立即执行安全防护指示信息所指定的目标操作,以有效阻止被恶意修改的应用程序在本地的恶意行为,提高用户使用应用程序时的安全性。
关于恶意修改应用程序的检测装置的具体限定可以参见上文中对于恶意修改应用程序的检测方法的限定,在此不再赘述。上述恶意修改应用程序的检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于应用程序的安装包名、标准签名信息以及安全防护指示信息等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种由服务器执行的恶意修改应用程序的检测方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种由终端执行的恶意修改应用程序的检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13和图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种恶意修改应用程序的检测方法,其特征在于,所述方法包括:
获取当前运行的应用程序;
向所述应用程序所对应的服务器发起恶意修改检测请求;其中,所述恶意修改检测请求携带与所述应用程序对应的校验信息、且用于指示所述服务器根据所述校验信息对所述应用程序进行恶意修改检测得到检测结果;
接收所述服务器返回的检测结果;
当所述检测结果表示所述应用程序被恶意修改时,则获取与所述检测结果相匹配的安全防护指示信息;
执行所述安全防护指示信息所指定的目标操作。
2.根据权利要求1所述的方法,其特征在于,所述获取当前运行的应用程序,包括:
接收应用程序启动指令;
获取并运行所述应用程序启动指令所指定的应用程序;
所述向所述应用程序所对应的服务器发起恶意修改检测请求,包括:
获取与所述应用程序对应的校验信息;
向所述应用程序所对应的服务器,发起携带所述校验信息的恶意修改检测请求。
3.根据权利要求1所述的方法,其特征在于,所述校验信息包括所述应用程序的安装包名和客户端签名信息;
所述向所述应用程序所对应的服务器发起恶意修改检测请求,包括:
获取所述应用程序的安装包名和客户端签名信息;
将所述安装包名和所述客户端签名信息携带在恶意修改检测请求中,通过网络通信协议发送至所述应用程序所对应的服务器。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述服务器反馈的与所述检测结果相匹配的安全防护指示信息;
其中,所述检测结果由所述服务器在查找到与所述安装包名对应的标准签名信息后,根据所述标准签名信息对所述客户端签名信息进行校验得到;所述安全防护指示信息通过权限角色为管理员的管理员账号上传至所述服务器。
5.根据权利要求1所述的方法,其特征在于,所述接收所述服务器返回的检测结果,包括:
接收所述服务器返回的检测结果字段和安全防护字段;其中,所述检测结果字段用于表征检测结果;
所述当所述检测结果表示所述应用程序被恶意修改时,则获取与所述检测结果相匹配的安全防护指示信息,包括:
当所述检测结果字段中的标识表示所述应用程序被恶意修改时,则获取所述安全防护字段中的安全防护指示信息。
6.根据权利要求5所述的方法,其特征在于,所述执行所述安全防护指示信息所指定的目标操作,包括:
当所述安全防护指示信息为第一字符时,则显示提示窗口,并在所述提示窗口中显示提示信息;所述提示信息用于提示所述应用程序被恶意修改;
当所述安全防护指示信息为第二字符时,则强制退出所述应用程序;
当所述安全防护指示信息为第三字符时,则与所述服务器建立通信连接。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述检测结果表示所述应用程序未被恶意修改时,则
与所述服务器建立通信连接,并通过所述通信连接进行业务数据传输。
8.一种恶意修改应用程序的检测方法,其特征在于,所述方法包括:
获取终端发起的恶意修改检测请求;所述恶意修改检测请求携带与所述终端当前运行的应用程序对应的校验信息;
根据所述校验信息对所述应用程序进行恶意修改检测,得到检测结果;
查询与所述应用程序对应、且与所述检测结果相匹配的安全防护指示信息;
将所述检测结果和所述安全防护指示信息返回给所述终端;返回的所述检测结果和所述安全防护指示信息用于指示所述终端在所述检测结果表示所述应用程序被恶意修改时,执行所述安全防护指示信息所指定的目标操作。
9.根据权利要求8所述的方法,其特征在于,所述校验信息包括所述应用程序的安装包名和客户端签名信息;所述根据所述校验信息对所述应用程序进行恶意修改检测,得到检测结果,包括:
在数据库中查找与所述安装包名对应的标准签名信息;
当所述标准签名信息与所述客户端签名信息一致时,则将第一标识写入检测结果字段;所述第一标识表示所述应用程序未被恶意修改的检测结果;
当所述标准签名信息与所述客户端签名信息不一致时,则将第二标识写入检测结果字段;所述第二标识表示所述应用程序被恶意修改的检测结果。
10.根据权利要求9所述的方法,其特征在于,所述查询与所述应用程序对应、且与所述检测结果相匹配的安全防护指示信息,包括:
当得到所述应用程序被恶意修改的检测结果时,则
在所述数据库中查找与所述安装包名对应的安全防护指示信息;
将所述安全防护指示信息写入安全防护字段;
所述将所述检测结果和所述安全防护指示信息返回给所述终端,包括:
将所述检测结果字段和所述安全防护字段返回给所述终端。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取通过管理员账号上传的、且与所述应用程序对应的安装包,以及通过管理员账号配置的、且与所述应用程序对应的安全防护指示信息;
解析所述安装包得到与所述应用程序对应的安装包名和标准签名信息;
将安装包名、标准签名信息和安全防护指示信息对应写入数据库。
12.一种恶意修改应用程序的检测装置,其特征在于,所述装置包括:
获取模块,用于获取当前运行的应用程序;
请求模块,用于向所述应用程序所对应的服务器发起恶意修改检测请求;其中,所述恶意修改检测请求携带与所述应用程序对应的校验信息、且用于指示所述服务器根据所述校验信息对所述应用程序进行恶意修改检测得到检测结果;
接收模块,用于接收所述服务器返回的检测结果;
所述获取模块还用于当所述检测结果表示所述应用程序被恶意修改时,则获取与所述检测结果相匹配的安全防护指示信息;
执行模块,用于执行所述安全防护指示信息所指定的目标操作。
13.一种恶意修改应用程序的检测装置,其特征在于,所述装置包括:
获取模块,用于获取终端发起的恶意修改检测请求;所述恶意修改检测请求携带与所述终端当前运行的应用程序对应的校验信息;
检测模块,用于根据所述校验信息对所述应用程序进行恶意修改检测,得到检测结果;
查询模块,用于查询与所述应用程序对应、且与所述检测结果相匹配的安全防护指示信息;
反馈模块,用于将所述检测结果和所述安全防护指示信息返回给所述终端;返回的所述检测结果和所述安全防护指示信息用于指示所述终端在所述检测结果表示所述应用程序被恶意修改时,执行所述安全防护指示信息所指定的目标操作。
14.一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,使得所述计算机设备执行权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611635.0A CN111666567A (zh) | 2020-06-30 | 2020-06-30 | 恶意修改应用程序的检测方法、装置、计算机程序和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010611635.0A CN111666567A (zh) | 2020-06-30 | 2020-06-30 | 恶意修改应用程序的检测方法、装置、计算机程序和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111666567A true CN111666567A (zh) | 2020-09-15 |
Family
ID=72390555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010611635.0A Pending CN111666567A (zh) | 2020-06-30 | 2020-06-30 | 恶意修改应用程序的检测方法、装置、计算机程序和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666567A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291788A (zh) * | 2020-11-13 | 2021-01-29 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质、终端及网络接入点设备 |
CN113282921A (zh) * | 2021-06-11 | 2021-08-20 | 深信服科技股份有限公司 | 一种文件检测方法、装置、设备及存储介质 |
-
2020
- 2020-06-30 CN CN202010611635.0A patent/CN111666567A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291788A (zh) * | 2020-11-13 | 2021-01-29 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质、终端及网络接入点设备 |
CN113282921A (zh) * | 2021-06-11 | 2021-08-20 | 深信服科技股份有限公司 | 一种文件检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11570211B1 (en) | Detection of phishing attacks using similarity analysis | |
US10127057B2 (en) | Method and apparatus for dynamically implementing application function | |
US10073916B2 (en) | Method and system for facilitating terminal identifiers | |
US11068583B2 (en) | Management of login information affected by a data breach | |
US8578174B2 (en) | Event log authentication using secure components | |
EP3176719B1 (en) | Methods and devices for acquiring certification document | |
CN111163095B (zh) | 网络攻击分析方法、网络攻击分析装置、计算设备和介质 | |
US11727101B2 (en) | Methods and systems for verifying applications | |
CN111163094B (zh) | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 | |
US11846972B2 (en) | Method and apparatus for generating software test reports | |
CN114650154B (zh) | 网页权限行为控制方法、装置、计算机设备和存储介质 | |
CN111666567A (zh) | 恶意修改应用程序的检测方法、装置、计算机程序和介质 | |
CN111966422A (zh) | 一种本地化插件服务方法、装置、电子设备及存储介质 | |
US10474810B2 (en) | Controlling access to web resources | |
US20170149777A1 (en) | Systems and method for cross-channel device binding | |
US9397995B2 (en) | Information processing apparatus and user authentication method | |
CN111222153B (zh) | 应用程序权限管理方法、装置和存储介质 | |
US20210064756A1 (en) | Methods and systems for verifying applications | |
CN113709136B (zh) | 一种访问请求验证方法和装置 | |
US20240031166A1 (en) | Web-side data signature method and apparatus and computer device | |
CN113190812A (zh) | 一种登录方法、系统、电子设备及存储介质 | |
CN114971662A (zh) | 一种数据追踪方法、装置、设备及存储介质 | |
US20230394151A1 (en) | Protected qr code scanner using operational system override | |
KR102261789B1 (ko) | 스미싱 메시지 모니터링 방법 및 스미싱 위험도 판정 방법 | |
CN112948727B (zh) | 基于WebView的数据注入方法、装置、设备及存储介质 |
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 |