CN103632089A - 应用安装包的安全检测方法、装置和*** - Google Patents

应用安装包的安全检测方法、装置和*** Download PDF

Info

Publication number
CN103632089A
CN103632089A CN201310689652.6A CN201310689652A CN103632089A CN 103632089 A CN103632089 A CN 103632089A CN 201310689652 A CN201310689652 A CN 201310689652A CN 103632089 A CN103632089 A CN 103632089A
Authority
CN
China
Prior art keywords
application
installation kit
safety
critical information
cloud 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
Application number
CN201310689652.6A
Other languages
English (en)
Inventor
陈继
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Netqin Technology Co Ltd
Original Assignee
Beijing Netqin Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Netqin Technology Co Ltd filed Critical Beijing Netqin Technology Co Ltd
Priority to CN201310689652.6A priority Critical patent/CN103632089A/zh
Publication of CN103632089A publication Critical patent/CN103632089A/zh
Priority to US14/785,078 priority patent/US20160092190A1/en
Priority to PCT/CN2014/093585 priority patent/WO2015090153A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本发明提供了一种在应用安装包运行时的安全检测方法、装置和对应的***。所述方法可以包括:检测终端中应用安装包的运行请求;响应于检测到所述运行请求,分析所述应用安装包以获取安全关键信息;比较所获取的安全关键信息与所述应用对应的原生安全关键信息;以及在比较结果为差异超过安全阈值的情况下,终止所述应用安装包的运行。根据本发明的实施例可以有效地识别和防范被恶意篡改的应用。

Description

应用安装包的安全检测方法、装置和***
技术领域
本发明涉及移动通信领域,更具体地,涉及一种检测应用安装包的安全性的方法、装置和对应的***。
背景技术
近些年,移动终端的使用越来越普及。如本文所使用的,术语“移动终端”可以指代诸如智能电话、无线PDA、膝上型计算机、平板计算机等各种具有无线通信功能的设备。在这些移动终端上可以安装各种应用以使用众多功能,例如收发电子邮件、访问社交网络、电子购物、游戏,等等。这些应用丰富了用户对终端的使用体验。但是用户很难分辨其从网络上获得的应用(特别地,指代其应用安装包)是否由第三方出于各种目的嵌入了非法应用。这使得用户在使用各种应用时存在极大的安全风险。
目前,针对市场上应用二次打包嵌入非法应用的恶意行为,针对性的提出了通过对应用本身进行处理的方式来对应用进行加固的安全方法。这通常通过逆向分析或源代码加固等典型方式实现,以减小应用被恶意篡改的风险。例如,可以通过代码混淆、关键API加密等方式来防止应用的源代码信息被apktool等工具读取。
尽管上述对应用本身进行加固的防范方法可以在很大程度上对应用进行安全保障,但是这种方法也存在弊端。例如,一旦应用本身发生更新,如版本升级等,则需要针对应用的新版本重新对该应用或其源代码进行加固处理。这种现有方式是繁琐而费时的。而且,由于无法保证对应用的加固处理能够实时跟进诸如应用的版本升级等应用更新操作,这种现有方式会存在安全空缺期。
发明内容
为了克服上述现有技术的部分或全部弊端,有效防范应用二次打包嵌入非法应用的恶意行为,本发明提出了一种基于云端的、在安装应用时检测应用的安全性的方法、装置和对应的***。根据本发明实施例,能够在应用安装时检测应用是否被非法窜改过。而且,基于检测结果,对已被非法篡改(或恶意二次打包)的应用,可以终止其运行,并对用户发出提醒。
根据本发明的一个方面,提供了一种在应用安装包运行时的安全检测方法。该方法可以包括:检测终端中应用安装包的运行请求;响应于检测到所述运行请求,分析所述应用安装包以获取安全关键信息;比较所获取的安全关键信息与所述应用对应的原生安全关键信息;以及在比较结果为差异超过安全阈值的情况下,终止所述应用安装包的运行。
在本发明的一些实施例中,所述方法还包括:在终止所述应用安装包的运行时,提示用户是否使用所述应用对应的原生应用安装包替代所述应用安装包;以及响应于接收到用户的肯定确认,从云端服务器获取所述原生应用安装包。
在本发明的一些实施例中,所述安全关键信息包括文件属性和版本信息。并且所述安全关键信息还可以包括下述信息中的至少一个:文件HASH摘要、内容特征指纹、和/或关键API信息。
在本发明的一些实施例中,所述方法还可以包括:在终端本地存储的原生状态安全身份信息库中查询所述应用对应的原生安全关键信息;以及在终端本地查询失败的情况下,向云端服务器查询所述应用对应的原生安全关键信息。
在本发明的一些实施例中,所述方法还可以包括:在向云端服务器查询失败的情况下,请求云端服务器实时生成所述应用对应的原生安全关键信息,并且接收云端服务器返回的原生安全关键信息。其中,服务器可以响应于所述请求获取所述应用对应的官方合法应用安装包,分析所述官方合法应用安装包以生成所述原生安全关键信息,以及向终端返回所述原生安全关键信息。
根据本发明的另一方面,提供了一种执行在应用安装包运行时的安全检测的装置。所述装置可以包括:监控模块、分析模块、查询模块、比较模块、以及处理模块。监控模块可以配置为:检测终端中应用安装包的运行请求。分析模块可以配置为:响应于检测到所述运行请求,分析所述应用安装包以获取安全关键信息。查询模块可以配置为查询所述应用对应的原生安全关键信息。比较模块可以配置为:比较所获取的安全关键信息与所述应用对应的原生安全关键信息。处理模块可以配置为:在比较结果为差异超过安全阈值的情况下,终止所述应用安装包的运行。
在本发明的一些实施例中,所述安全关键信息包括文件属性和版本信息。并且所述安全关键信息还可以包括下述信息中的至少一个:文件HASH摘要、内容特征指纹、和/或关键API信息。
在本发明的一些实施例中,所述装置还可以包括提示模块,其配置为提示用户是否使用所述应用对应的原生应用安装包替代所述应用安装包。所述装置还可以包括通信模块,其配置为:响应于接收到用户的肯定确认,从云端服务器获取所述原生应用安装包。
在本发明的一些实施例中,所述查询模块可以进一步包括:本地查询模块,配置为:在终端本地存储的原生状态安全身份信息库中查询所述应用对应的原生安全关键信息;以及远程查询模块,配置为:在终端本地查询失败的情况下,向云端服务器查询所述应用对应的原生安全关键信息。
在本发明的一些实施例中,,所述查询模块还可以包括补充模块。该补充模块可以配置为:在向云端服务器查询失败的情况下,请求云端服务器实时生成所述应用对应的原生安全关键信息,并且接收云端服务器返回的原生安全关键信息。其中,服务器可以配置为响应于所述请求获取所述应用对应的官方合法应用安装包,分析所述官方合法应用安装包以生成所述原生安全关键信息,以及向终端返回所述原生安全关键信息。
根据本发明的又一方面,提供了一种执行在应用安装包运行时的安全检测的***。该移动包括移动终端和云端服务器,其中所述移动终端包括如上所述的执行在应用安装包运行时的安全检测的装置,所述云端服务器包括包含多个应用的原生安全关键信息的原生状态安全身份信息库。
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
图1示意性地示出了根据本发明的移动通信***的应用场景的示意图;
图2示意性地示出了根据本发明实施例的在应用安装包运行时的安全检测方法的流程图;
图3示意性示出了根据本发明实施例的执行在应用安装包运行时的安全检测的装置的框图;以及
图4示出了根据本发明实施例的一个示例的在应用安装包运行时的安全检测的过程的示意图。
在本发明的所有附图中,相同或相似的结构均以相同或相似的附图标记进行标识。
具体实施方式
现在将参考附图来详细描述本发明,附图中示出了本发明的说明性实施例,以使得本领域技术人员能够实现本发明。应该注意:以下附图和示例不意味着将本发明的范围限制为单一实施例,相反通过互换和组合不同实施例的一些或全部所述或所示元素形成其他实施例也是可能的。此外,在可以使用已知组件来部分或完全实现本发明的特定元素的情况下,将仅描述这些已知组件中为了理解本发明所必需的那部分组件,且将省略对这些已知组件中其他部分的详细描述,以使得本发明更突出。除非本文中另行指出,否则本领域技术人员应该理解:尽管本发明的一些实施例描述为用软件实形式现,但是本发明不受限于此,而是也可以用硬件、软件和硬件的组合来实现,且反之亦然。除非本文中另行明确声明,否则在本说明书中,不应将示出了单一组件的实施例视为是限制性的,而是本发明意在包含包括多个相同组件在内的其他实施例,且反之亦然。此外,本发明包含本文中作为示意所引用的已知组件的当前和将来开发的等价物。
如上文提到的,为了有效防范应用二次打包嵌入非法应用的恶意行为,本发明提出了一种基于云端的、在安装应用时检测应用的安全性的机制。该安全性检测机制通过核对该应用的安全关键信息与原生信息来判断该应用是否被非法篡改过。在本文中,术语“原生应用”指的是从开发者或开发商发布应用后、经过官方和第三方机构检测并认定为安全的、同时在市场官方指定渠道正式发布的终端应用。“原生信息”指的是与这种原生应用关联的信息。简言之,“原生”的含义是指市场官方指定渠道正式发布的终端应用(或称非二次打包的应用)原本拥有的属性。
图1是示出了在其中可以实现本发明实施例的通信***100的示意图。如图1所示,***100可以包括服务器110和终端120。
服务器110通常是安全的云端服务器。服务器110可以从官方指定站点获取官方发布时安全状态下的应用的样本。服务器110还可以分析应用样本,获取该应用样本的基础安全关键信息(Basic Security KeyInfo,简称BSKI),形成应用的原生状态安全身份信息库(SecureIdentification Database,简称SID)。该基础安全关键信息可以包括文件属性、版本信息、文件哈希(HASH)摘要、内容特征指纹、关键API信息等等。该SID可以用于以后在应用被安装时进行应用完整性检测的安全判定标准。
该SID可以通过例如MySQL来存放应用的BSKI信息和其他相关信息,对安全关键信息采用加密方式(如DES等)进行存储。对于存在多个版本的应用,该SID可以维护该应用的多个版本各自的BSKI信息。在一个实施例中,一个应用的BSKI信息可以包括多个表格,这些表以所属版本进行分类,如表BSKI_23、表BSKI_40等等。该表BSKI_23代表2.3版本对应的BSKI,表BSKI_40代表4.0版本对应的BSKI。该SID包含的其他相关信息可以例如包括:合法应用官方发布站点信息(Legal Application Market,简称LAM)、版本历史信息(Version History,简称VH)等等。应该理解,上述MySQL和DES仅是作为示例,本发明在这些方面不受限制,在其他实施例中也可以使用其他合适的数据库管理***、其他合适的加密方式(如3DES、AES或RSA等加密方式)对信息进行安全存储。
该SID可以定期更新。具体地,服务器110可以定期查询SID中存放的所有应用的官方更新信息,并且对更新的应用的BSKI信息进行更新。相应地,可以对该应用的生命周期内的不同版本建立和维护相应的BSKI信息。
尽管图中仅示出一个服务器110,但是应该理解可以存在两个或更多的服务器110。还应该理解,服务器110可以是单独的物理实体,也可以分布在两个或更多个物理实体上。
终端120可以是诸如移动电话、平板计算机、膝上型计算机、个人数字助理(PDA)等具有无线通信能力的移动终端。可选地,终端120也可以是诸如台式计算机之类的具有有线联网能力的且不便移动的设备。根据本发明实施例的执行在应用安装包运行时的安全检测的装置可以以客户端的形式安装在终端120上。该客户端可以软件的形式自行安装在终端120中,或者可以由终端生产厂商以硬件或固件的形式安装在终端120中。
终端120上可以存放本地SID。该本地SID中的信息来源于安全云端服务器,可以包括安全云端服务器的SID中的部分或全部信息。优选地,针对终端120上的有限的存储容量,在终端本地可以维护最近最常用的应用的SID信息(Often-Used SID,简称OSID)。该OSID是由从远端服务器的完整的SID库中抽取的信息形成的。该OSID例如可以以XML文件形式,通过DES加密方式,在终端本地的指定位置进行安全存储。例如,可以存储为/sdcard/appSafeCheck/osid.xml。
应该理解,与服务器上的SID类似,终端本地的SID可以定期更新。
应该理解,尽管图中仅示出一个终端120,但是可以存在两个或更多的终端120。尽管下文中主要以Android移动电话作为终端120的示例来描述本发明实施例,但是本发明不限于此。在本发明实施例中,终端120的操作***可以包括但不限于Android、iOS、Windows Mobile、Symbian、Windows Phone、Blackberry OS等。
如图所示,终端120经由网络130与服务器110通信。该网络130可以是无线网络,也可以是有线网络,例如但不限于:2G、3G、4G、5G(如WCDMA、CDMA1100、TD-SCDMA、LTE等)移动通信网络、互联网、有线局域网、或者无线局域网等等。
图2示意性地示出了根据本发明实施例的在应用安装包运行时的安全检测方法的流程图的方法200的流程图。方法200可以由终端120上安装的根据本发明实施例的客户端来执行。该客户端可以在终端120开启时自动启动,或者可以由用户主动启动。当客户端运行时,其将持续监控终端120上的应用安装事件。
在步骤S210中,检测终端中应用安装包的运行请求。该应用的安装包例如可以是从互联网上的移动应用商场中下载的,或者可以通过其他方式获取以可用于终端120。
如果在终端中检测到应用安装包的运行请求,该方法前进到步骤S220。在步骤S220中分析该应用安装包以获取安全关键信息。该安全关键信息包括文件属性和版本信息,并且可以包括下述信息中的至少一个:文件HASH摘要、内容特征指纹、和/或关键API信息。应该理解,此处分析获取的安全关键信息包括的信息项可以与原生状态安全身份信息库中存储的信息项相同,或者仅是其中的一部分信息项。
在步骤S230中,将在步骤S220中获取的安全关键信息与该应用对应的原生安全关键信息进行比较。
应用的原生安全关键信息可以从本地的安全身份信息库获得,或者从云端服务器110获得。
在本发明的一个优选实施例中,在安全云端服务器(例如服务器110)上维护完备的应用的原生状态安全身份信息库(简称全库),而在终端本地仅维护不完全的应用的原生状态安全身份信息库以便适应终端处有限容量的存储器。优选地,在终端本地维护最近最常用的应用的SID信息(Often-Used SID,简称OSID)。该本地OSID例如可以以文件方式加密存放在终端存储器上的指定位置。在该优选实施例中,可以通过下述方式获取应用的原生安全关键信息。首先,在终端本地存储的原生状态安全身份信息库(例如OSID)中查询在步骤S210中检测到的要安装的应用对应的原生安全关键信息。如果在OSID中没有找到与该应用对应的原生安全关键信息,则终端可以向云端服务器110查询该原生安全关键信息。
在另一实施例中,终端120本地不存储应用的原生状态安全身份信息库。于是,可以直接向服务器110查询应用的原生安全关键信息。
应该理解,在本发明的另一些实施例中,如果终端120上的存储容量足够,可以在终端120上维护原生状态安全身份信息库的全库,并且可以定期与服务器110上的原生状态安全身份信息库进行同步。在该情况下,可以仅查询终端的本地库来确定该应用的原生安全关键信息。如果在本地没有查询到与该应用匹配的原生安全关键信息,则认为查询失败,不再向服务器进行查询。
在上述任一实施例中,如果向云端服务器110查询应用的原生安全关键信息失败(即,在云端服务器的SID全库中没有找到与该应用对应的原生安全关键信息),则可以向用户提示无法获取应用的原生安全信息,是否继续进行该应用的安装,然后结束方法200。备选地,如果向云端服务器110查询应用的原生安全关键信息失败,终端还可以向云端服务器发送针对生成该应用的原生安全关键信息的请求,该请求包含该应用的标识信息(如应用ID)。响应于接收到来自终端的请求,云端服务器可以从官方位置获取该应用对应的官方合法应用安装包,分析该官方合法应用安装包以生成原生安全关键信息。然后云端服务器可以将生成的原生安全关键信息返回给终端。
在步骤S230中,将获取的安全关键信息与原生安全关键信息进行比较可以通过对二者包括的匹配信息项逐个进行对比来执行。如果二者的差异超过安全阈值,则可以认为该应用已经被非法篡改,否则认为该应用是合法的。作为判断标准的示例,二者的差异超过安全阈值可以包括:HASH摘要发生变化,内容特征指纹差异超过40%,或者关键API信息修改违反安全要求,等等。
如果步骤S230中的比较结果是超出安全阈值范围,则方法前进到步骤S240,终止该应用安装包的运行。同时,还可以通知用户该应用已被非法篡改。该通知例如可以通过在显示器上显示文本消息或者通过扬声器播放语言消息来实现。
如果步骤S230中的比较结果是在安全阀值范围内,则判定该应用是合法的,于是可以继续运行该应用安装包,然后方法200结束。
可选地,方法200还可以在步骤S240后包括获取原生应用的步骤。具体地,可以提示用户是否使用该应用对应的原生应用安装包替换当前应用安装包。如果用户确定需要替换,则终端可以从云端服务器下载该原生应用安装包。然后,安装该原生应用安装包。如果用户选择不替换当前应用安装包,则直接结束方法200。
图3示意性地示出了根据本发明实施例的在应用安装包运行时的安全检测装置300的框图。如图所示,装置300可以包括:监控模块310、分析模块320、查询模块330、比较模块340、处理模块350以及存储单元360。
监控模块310用于检测终端中应用安装包的运行请求。分析模块320用于响应于检测到应用安装包的运行请求,分析该应用安装包以获取安全关键信息。查询模块330用于获取该应用对应的原生安全关键信息。比较模块340用于比较所获取的安全关键信息与该应用对应的原生安全关键信息。处理模块350用于:在比较结果为超过安全阈值的情况下,终止当前应用安装包的运行。
可选地,处理模块350还配置为:在终止当前应用安装包的运行的同时,还通知用户该应用安装包已经被非法篡改。该通知例如可以通过在显示器上显示文本消息或者通过扬声器播放语言通知等方式来通知用户。
可选地,装置300还可以包括提示模块和通信模块。该提示模块可以配置为:提示用户是否使用所述应用对应的原生应用安装包替代所述应用安装包。该通信模块用于与云端服务器进行通信,可以配置为:响应于接收到用户确定需要替换的肯定确认,从云端服务器获取该原生应用安装包。
监控模块310、分析模块320、查询模块330和比较模块340、处理模块350可以分别实现上述方法200中的步骤S210、S220、S230、S240。提示模块和通信模块可以实现上述方法200中的获取原生应用的步骤。在此不再赘述。
存储单元360可以存储本地的应用的原生状态安全身份信息库(如OSID)。可选地,存储单元360还可以存储其他数据,例如应用安装过程日志等等。存储单元360可以由一个或多个存储器来实现,其可以位于单个物理设备上或者分布在不同的物理设备上。可以用本领域技术人员已知的各种存储技术来实现存储单元。本发明在这点上不受限制。存储单元360例如可以包括磁盘、磁光盘、光盘、或者半导体存储技术等等。
如前文已经提到的,装置300可以作为客户端或该客户端的组件安装在终端120上。该客户端可以软件的形式自行安装在终端120中,或者可以由终端生产厂商以硬件或固件的形式安装在终端120中。该客户端可以在终端120开启时自动启动,或者可以由用户主动启动。当客户端运行时,其可以执行方法200。
下文参考图4以本发明应用于使用安卓操作***的移动电话为例介绍本发明的一个具体实现示例。但是应该理解本发明并不局限于此。
图4示出了根据本发明实施例的一个示例的在安卓移动电话上的执行在应用安装包运行时的安全检测的过程400的示意图。
在该实施例中,安全检测功能诸如通过应用层配置模块(SecurityApplication Module,简称SAM)和安全查询检测模块(Security QueryModule,简称SQM)这两个主要功能模块组成。SAM应用可以使用Java语言结合Android SDK来设计实现。SAM的主要功能是负责SID更新设置,以及负责SQM安全查询状态监控和安全查询过程的日志数据管理。SAM可以以服务(Service)方式运行在终端***的应用层。配置信息可以例如通过明文方式存储在指定位置,如/sdcard/appSafeCheck/samConfig。
SQM模块可以使用C++语言结合Android NDK来设计实现。SQM可以负责运行应用分析和信息摘取、安全状态查询和应用运行状态控制。SQM模块通常以内核模块的方式工作在终端***的内核层。
SAM和SQM工作过程中产生的所有日志信息可以通过加密方式(如DES加密)存放在指定位置,如/sdcard/appSafeCheck/checkLog。通常,只有云端服务器或SAM本身才能通过预先设定的密钥解密这些日志以便查看。
该过程400开始于***启动(即移动电话开机)时。当***加载了关键服务后,在步骤S402中,SQM模块被加载并且被初始化。具体地,从约定的指定位置文件(如samConfig)中读取SID文件的最新配置信息,并加载至内存中。该配置信息例如包括与SID的数据库相关的信息,如数据库地址、数据库访问账号、访问密码、存储所使用的编码方式等。然后,根据该配置信息,读取SID文件(如osdi.xml),通过解密从中获取最常用应用的SID信息,并将这些信息例如通过KEY-VALUE(关键字-值)的形式加载至内存中。其中,KEY可以是应用的名称或标识ID,VALUE可以由数据结构来实现,包含应用对应的多项安全关键信息。在完成SQM的加载和初始化之后,SQM模块将监控应用安装事件,并且对要安装的应用安装包进行安全查询检测工作。
在步骤S404中,启用SAM。
在步骤S406中,当SQM检测到应用安装事件(例如应用安装包A的运行请求)时,SQM接管A的启动过程。
在步骤S408中,SQM对A进行分析,获取需要的文件属性、版本信息、文件HASH摘要、内容特征指纹和关键API信息等关键应用要素A_BSKI。
在步骤S410中,SAM在本地SID中查询与A匹配的原生关键应用要素O_BSKI。具体地,SQM以A的应用名称或ID为关键字,对内存中保存的OSID信息进行查询,寻找匹配项。
如果在步骤S412中确定查找到和A匹配的原生BSKI(O_BSKI),则SQM将前进到执行步骤S426,继续后续的安全查询检测工作。如果在步骤S412中确定在OSID中没有查找到匹配信息,则前进到步骤S414。
在步骤S414中,SQM向云端服务器110发出查询请求。服务器响应于该查询请求,在服务器上的SID全库中查找与A匹配的安全关键信息。
如果查找到和A匹配的安全关键信息,云端服务器可以通过加密方式将查询到的结果返回给SQM(步骤S412中的“是”分支),于是过程400前进到步骤S426,继续后面的安全查询检测工作。
如果在云端服务器的SID全库中,无法查询到和A匹配的安全关键信息,云端将向SQM返回查找失败结果(步骤S416中的“否”分支),SQM收到该消息后,将前进到步骤S418,请求云端服务器生成A对应的原生BSKI(O_BSKI)。具体地,SQM与云端服务器之间通过约定的传输方式,将A的关键标识信息(KID)通过加密方式从终端传递到云端服务器。然后,在步骤S420中,云端服务器根据该KID从指定的官方位置获取和A匹配的官方发布的应用安装包。然后,在步骤S422中,服务器对该官方发布的应用安装包进行分析,并且获取原生关键应用要素(O_BSKI)。同时,服务器可以根据新获取的O_BSKI,更新SID全库和/或osid.xml文件。然后,在步骤S424中,服务器将该新获取的F_BSKI信息和/或更新后的osid.xml文件通过加密方式返回给SQM。
SQM在获取了A对应的原生关键应用要素(O_BSKI)之后,在步骤S426中,对A_BSKI和O_BSKI进行安全性比较。具体地,通过对二者的文件属性、版本信息、文件HASH摘要、内容特征指纹、关键API信息等信息项分辨进行安全比对。
如果在步骤S428中发现A_BSKI和O_BSKI的差异超过安全阀值范围,如HASH摘要发生变化、内容特征指纹差异超过40%、关键API信息修改违反安全要求等,则过程前进到步骤S432。
在S432中,SQM认为A已被恶意篡改,于是SQM将发出***消息,通知***进程启动和控制模块终止A的启动过程,同时可以向用户发出通知。
如果在步骤S428中发现A_BSKI和O_BSKI的差异在安全阀值范围内,则前进到步骤S430。在S430中,SQM允许A继续运行,将对A的启动控制权交还给***进程管理模块。于是,完成了对A启动时的应用安全性查询检测。
在S432中的对用户的通知,可以询问用户是否需要使用原生应用安装包代替被认为是非法的应用安装包A。
如果在步骤S434中,接收到用户确定需要替换当前非法应用的确认,过程将前进到步骤S436。在步骤S436中,SQM从云端服务器下载原生应用安装包。然后,在步骤S438中,SQM将卸载当前的非法应用安装包,并且安装从服务器下载的原生应用安装包。然后,过程返回步骤S406,继续监控下一个应用安装事件。
如果在步骤S434中,用户选择不替换当前应用,则SQM在终止A的启动运行行为之后,返回步骤S406,继续监控下一个应用安装事件。
在过程400中,SAM将对安全查询检测整个过程中产生的日志进行管理,可以将所产生的日志以预设的加密方式存储在指定位置,如/sdcard/appSafeCheck/checkLog。
上面已经参考附图4介绍了在安卓移动电话上的执行在应用安装包运行时的安全检测的过程400。在该示例中,SQM可以由参考图3所述的装置300来执行。在此不再赘述。
应该理解,过程400示出了在执行在应用安装包运行时的安全检测方面的众多细节,但是可以在没有这些细节的情况下实现本发明实施例。
上文已经结合优选实施例对本发明进行了描述。本领域技术人员可以理解,上面示出的方法和装置仅是示例性的。本发明的方法并不局限于上面示出的步骤和顺序。本发明的装置可以包括比示出的部件更多或更少的部件。本领域技术人员根据所示实施例的教导可以进行许多变化和修改。
本发明的装置及其部件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。
本发明可以实现诸多优点。本发明实施例提出的基于云端的、在安装应用时检测应用的安全性的机制能够在应用安装包被启动加载的时候判断该应用是否被非法篡改过。然后基于这种安全检测结果,对已被非法篡改、恶意二次打包的应用,采取相应的安全控制动作,如终止其运行,和对用户发出提醒消息等等。
本领域技术人员应该理解,尽管通过具体实施例描述了本发明,但是本发明的范围不限于这些具体实施例。本发明的范围由所附权利要求及其任何等同含义限定。

Claims (10)

1.一种在应用安装包运行时的安全检测方法,包括:
检测终端中应用安装包的运行请求;
响应于检测到所述运行请求,分析所述应用安装包以获取安全关键信息;
比较所获取的安全关键信息与所述应用对应的原生安全关键信息;以及
在比较结果为差异超过安全阈值的情况下,终止所述应用安装包的运行。
2.根据权利要求1所述的方法,还包括:
提示用户是否使用所述应用对应的原生应用安装包替代所述应用安装包;以及
响应于接收到用户的肯定确认,从云端服务器获取所述原生应用安装包。
3.根据权利要求1所述的方法,其中所述安全关键信息包括文件属性和版本信息,以及下述信息中的至少一个:文件HASH摘要、内容特征指纹、和/或关键API信息。
4.根据权利要求1-3中任一项所述的方法,还包括:
在终端本地存储的原生状态安全身份信息库中查询所述应用对应的原生安全关键信息;以及
在终端本地查询失败的情况下,向云端服务器查询所述应用对应的原生安全关键信息。
5.根据权利要求4所述的方法,还包括:
在向云端服务器查询失败的情况下,请求云端服务器实时生成所述应用对应的原生安全关键信息,并且接收云端服务器返回的原生安全关键信息,
其中,服务器响应于所述请求获取所述应用对应的官方合法应用安装包,分析所述官方合法应用安装包以生成所述原生安全关键信息,以及向终端返回所述原生安全关键信息。
6.一种执行在应用安装包运行时的安全检测的装置,包括:
监控模块,配置为:检测终端中应用安装包的运行请求;
分析模块,配置为:响应于检测到所述运行请求,分析所述应用安装包以获取安全关键信息;
查询模块,配置为查询所述应用对应的原生安全关键信息;
比较模块,配置为:比较所获取的安全关键信息与所述应用对应的原生安全关键信息;以及
处理模块,配置为:在比较结果为差异超过安全阈值的情况下,终止所述应用安装包的运行。
7.根据权利要求6所述的装置,还包括:
提示模块,配置为:提示用户是否使用所述应用对应的原生应用安装包替代所述应用安装包;以及
通信模块,配置为:响应于接收到用户的肯定确认,从云端服务器获取所述原生应用安装包。
8.根据权利要求6-7中任一项所述的装置,其中所述查询模块进一步包括:
本地查询模块,配置为:在终端本地存储的原生状态安全身份信息库中查询所述应用对应的原生安全关键信息;以及
远程查询模块,配置为:在终端本地查询失败的情况下,向云端服务器查询所述应用对应的原生安全关键信息。
9.根据权利要求8所述的装置,所述查询模块还包括:
补充模块,配置为:在向云端服务器查询失败的情况下,请求云端服务器实时生成所述应用对应的原生安全关键信息,并且接收云端服务器返回的原生安全关键信息,
其中,服务器响应于所述请求获取所述应用对应的官方合法应用安装包,分析所述官方合法应用安装包以生成所述原生安全关键信息,以及向终端返回所述原生安全关键信息。
10.一种执行在应用安装包运行时的安全检测的***,包括:
移动终端,包括根据权利要求6-9中任一项所述的装置;以及
云端服务器,包括包含多个应用的原生安全关键信息的原生状态安全身份信息库。
CN201310689652.6A 2013-12-16 2013-12-16 应用安装包的安全检测方法、装置和*** Pending CN103632089A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310689652.6A CN103632089A (zh) 2013-12-16 2013-12-16 应用安装包的安全检测方法、装置和***
US14/785,078 US20160092190A1 (en) 2013-12-16 2014-12-11 Method, apparatus and system for inspecting safety of an application installation package
PCT/CN2014/093585 WO2015090153A1 (zh) 2013-12-16 2014-12-11 应用安装包的安全检测方法、装置和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310689652.6A CN103632089A (zh) 2013-12-16 2013-12-16 应用安装包的安全检测方法、装置和***

Publications (1)

Publication Number Publication Date
CN103632089A true CN103632089A (zh) 2014-03-12

Family

ID=50213126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310689652.6A Pending CN103632089A (zh) 2013-12-16 2013-12-16 应用安装包的安全检测方法、装置和***

Country Status (3)

Country Link
US (1) US20160092190A1 (zh)
CN (1) CN103632089A (zh)
WO (1) WO2015090153A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984730A (zh) * 2014-05-19 2014-08-13 联想(北京)有限公司 一种信息处理方法及电子设备
CN103995774A (zh) * 2014-05-16 2014-08-20 北京金山网络科技有限公司 软件安装包检测方法及装置
CN104036157A (zh) * 2014-06-05 2014-09-10 蓝盾信息安全技术有限公司 一种基于综合特征值检测文件被篡改的方法
CN104050054A (zh) * 2014-06-27 2014-09-17 广州金山网络科技有限公司 安装包安装失败的处理方法及原因确定方法及装置
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
CN104166557A (zh) * 2014-08-29 2014-11-26 北京网秦天下科技有限公司 应用程序的运行方法和装置
WO2015090153A1 (zh) * 2013-12-16 2015-06-25 北京网秦天下科技有限公司 应用安装包的安全检测方法、装置和***
CN104850779A (zh) * 2015-06-04 2015-08-19 北京奇虎科技有限公司 应用程序安全安装方法及其装置
CN105335151A (zh) * 2014-08-14 2016-02-17 优视科技有限公司 安装文件的保护方法及装置
CN105354488A (zh) * 2015-10-26 2016-02-24 宇龙计算机通信科技(深圳)有限公司 一种应用安装方法、相关装置及应用安装***
CN105426761A (zh) * 2015-11-18 2016-03-23 广东欧珀移动通信有限公司 一种非法应用的识别方法及移动终端
CN105592444A (zh) * 2014-10-24 2016-05-18 阿里巴巴集团控股有限公司 一种终端信息上传的方法、装置及客户端设备
WO2017185574A1 (zh) * 2016-04-28 2017-11-02 北京小米移动软件有限公司 合法安装包获取方法、装置及***
CN107798236A (zh) * 2017-11-30 2018-03-13 广州优视网络科技有限公司 一种对应用程序安装包实现安全安装的方法和装置
CN107992742A (zh) * 2017-10-27 2018-05-04 维沃移动通信有限公司 一种安装包识别的方法和装置
CN108460273A (zh) * 2017-12-27 2018-08-28 ***股份有限公司 一种终端的应用管理方法、应用服务器及终端
CN111177704A (zh) * 2019-08-14 2020-05-19 腾讯科技(深圳)有限公司 一种捆绑识别方法、装置、设备及介质
CN111338832A (zh) * 2020-02-17 2020-06-26 中国农业银行股份有限公司 一种数据处理方法及装置
CN113591079A (zh) * 2020-04-30 2021-11-02 中移互联网有限公司 获取异常应用安装包的方法、装置及电子设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445505B2 (en) * 2014-09-22 2019-10-15 Mcafee, Llc Process vulnerability assessment
JP6651895B2 (ja) * 2016-02-23 2020-02-19 株式会社リコー 機器、制御方法及びプログラム
CN106648679B (zh) * 2016-12-29 2020-04-07 南威软件股份有限公司 一种结构化数据的版本管理方法
CN109089187B (zh) * 2018-07-04 2020-06-09 福来宝电子(深圳)有限公司 智能音箱及其快递查询方法、计算机可读存储介质
US10929153B2 (en) 2018-10-26 2021-02-23 International Business Machines Corporation Bidirectional protection of application package
CN110134412B (zh) * 2019-03-25 2024-04-12 北京车和家信息技术有限公司 软件更新方法、装置、车辆及计算机可读存储介质
CN112347466A (zh) * 2019-08-08 2021-02-09 中国电信股份有限公司 安全检测方法、装置、***以及客户端
CN112199644A (zh) * 2020-10-09 2021-01-08 平安科技(深圳)有限公司 移动终端应用程序安全检测方法、***、终端及存储介质
CN112540929B (zh) * 2020-12-25 2024-03-12 北京百度网讯科技有限公司 检测方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1581088A (zh) * 2003-08-06 2005-02-16 华为技术有限公司 一种防止计算机病毒的方法及装置
CN1866870A (zh) * 2006-02-23 2006-11-22 华为技术有限公司 基于设备管理协议的软件合法性验证***及验证方法
CN102222183A (zh) * 2011-04-28 2011-10-19 奇智软件(北京)有限公司 移动终端软件包安全检测方法及***
CN103246846A (zh) * 2013-04-24 2013-08-14 北京网秦天下科技有限公司 检测定制rom的安全性的方法和装置
US20130254892A1 (en) * 2012-03-22 2013-09-26 International Business Machines Corporation Detecting malicious computer code in an executing program module

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103369520B (zh) * 2012-03-27 2016-12-14 百度在线网络技术(北京)有限公司 移动终端的应用程序可疑行为的意图预判***及方法
CN102831338B (zh) * 2012-06-28 2015-09-30 北京奇虎科技有限公司 一种Android应用程序的安全检测方法及***
TWI461953B (zh) * 2012-07-12 2014-11-21 Ind Tech Res Inst 運算環境安全方法和電子運算系統
US9015832B1 (en) * 2012-10-19 2015-04-21 Google Inc. Application auditing through object level code inspection
CN103632089A (zh) * 2013-12-16 2014-03-12 北京网秦天下科技有限公司 应用安装包的安全检测方法、装置和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1581088A (zh) * 2003-08-06 2005-02-16 华为技术有限公司 一种防止计算机病毒的方法及装置
CN1866870A (zh) * 2006-02-23 2006-11-22 华为技术有限公司 基于设备管理协议的软件合法性验证***及验证方法
CN102222183A (zh) * 2011-04-28 2011-10-19 奇智软件(北京)有限公司 移动终端软件包安全检测方法及***
US20130254892A1 (en) * 2012-03-22 2013-09-26 International Business Machines Corporation Detecting malicious computer code in an executing program module
CN103246846A (zh) * 2013-04-24 2013-08-14 北京网秦天下科技有限公司 检测定制rom的安全性的方法和装置

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015090153A1 (zh) * 2013-12-16 2015-06-25 北京网秦天下科技有限公司 应用安装包的安全检测方法、装置和***
CN103995774B (zh) * 2014-05-16 2017-04-26 北京猎豹网络科技有限公司 软件安装包检测方法及装置
CN103995774A (zh) * 2014-05-16 2014-08-20 北京金山网络科技有限公司 软件安装包检测方法及装置
CN103984730A (zh) * 2014-05-19 2014-08-13 联想(北京)有限公司 一种信息处理方法及电子设备
CN103984730B (zh) * 2014-05-19 2020-01-31 联想(北京)有限公司 一种信息处理方法及电子设备
CN104036157A (zh) * 2014-06-05 2014-09-10 蓝盾信息安全技术有限公司 一种基于综合特征值检测文件被篡改的方法
CN104050054A (zh) * 2014-06-27 2014-09-17 广州金山网络科技有限公司 安装包安装失败的处理方法及原因确定方法及装置
CN104050054B (zh) * 2014-06-27 2017-05-10 广州金山网络科技有限公司 安装包安装失败的处理方法及原因确定方法及装置
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
CN105335151A (zh) * 2014-08-14 2016-02-17 优视科技有限公司 安装文件的保护方法及装置
CN104166557A (zh) * 2014-08-29 2014-11-26 北京网秦天下科技有限公司 应用程序的运行方法和装置
CN105592444A (zh) * 2014-10-24 2016-05-18 阿里巴巴集团控股有限公司 一种终端信息上传的方法、装置及客户端设备
CN104850779A (zh) * 2015-06-04 2015-08-19 北京奇虎科技有限公司 应用程序安全安装方法及其装置
CN105354488B (zh) * 2015-10-26 2018-06-15 宇龙计算机通信科技(深圳)有限公司 一种应用安装方法、相关装置及应用安装***
CN105354488A (zh) * 2015-10-26 2016-02-24 宇龙计算机通信科技(深圳)有限公司 一种应用安装方法、相关装置及应用安装***
CN105426761B (zh) * 2015-11-18 2018-06-29 广东欧珀移动通信有限公司 一种非法应用的识别方法及移动终端
CN105426761A (zh) * 2015-11-18 2016-03-23 广东欧珀移动通信有限公司 一种非法应用的识别方法及移动终端
WO2017185574A1 (zh) * 2016-04-28 2017-11-02 北京小米移动软件有限公司 合法安装包获取方法、装置及***
US10091236B2 (en) 2016-04-28 2018-10-02 Beijing Xiaomi Mobile Software Co., Ltd. Methods apparatuses, and storage mediums for acquiring legitimate installation packages
CN107992742A (zh) * 2017-10-27 2018-05-04 维沃移动通信有限公司 一种安装包识别的方法和装置
CN107798236B (zh) * 2017-11-30 2021-05-04 阿里巴巴(中国)有限公司 一种对应用程序安装包实现安全安装的方法和装置
CN107798236A (zh) * 2017-11-30 2018-03-13 广州优视网络科技有限公司 一种对应用程序安装包实现安全安装的方法和装置
CN108460273A (zh) * 2017-12-27 2018-08-28 ***股份有限公司 一种终端的应用管理方法、应用服务器及终端
US11449616B2 (en) 2017-12-27 2022-09-20 China Unionpay Co., Ltd. Application management method for terminal, application server, and terminal
CN111177704A (zh) * 2019-08-14 2020-05-19 腾讯科技(深圳)有限公司 一种捆绑识别方法、装置、设备及介质
CN111338832A (zh) * 2020-02-17 2020-06-26 中国农业银行股份有限公司 一种数据处理方法及装置
CN113591079A (zh) * 2020-04-30 2021-11-02 中移互联网有限公司 获取异常应用安装包的方法、装置及电子设备
CN113591079B (zh) * 2020-04-30 2023-08-15 中移互联网有限公司 获取异常应用安装包的方法、装置及电子设备

Also Published As

Publication number Publication date
WO2015090153A1 (zh) 2015-06-25
US20160092190A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
CN103632089A (zh) 应用安装包的安全检测方法、装置和***
CN108900464B (zh) 电子装置、基于区块链的数据处理方法和计算机存储介质
US11237817B2 (en) Operating system update management for enrolled devices
US8413130B2 (en) System and method for self policing of authorized configuration by end points
WO2015101149A1 (zh) 基于应用证书来检测应用安装包的安全性的方法、终端以及辅助服务器
CN103329093A (zh) 更新软件
CN109657488B (zh) 一种资源文件加密处理方法、智能终端及存储介质
US10701061B2 (en) Methods for blocking unauthorized applications and apparatuses using the same
US20140245450A1 (en) System and method for patching a device through exploitation
US20140020096A1 (en) System to profile application software
US11960590B2 (en) Enforcing trusted application settings for shared code libraries
CN104573435A (zh) 用于终端权限管理的方法和终端
CN103632073A (zh) 用于控制终端应用权限的方法和装置
CN103544434A (zh) 用于确保应用程序安全运行的方法和终端
CN107292176A (zh) 用于访问计算设备的可信平台模块的方法和***
US9659171B2 (en) Systems and methods for detecting tampering of an information handling system
CN109863475A (zh) 一种安全元件中的应用的升级方法及相关设备
US20220253297A1 (en) Automated deployment of changes to applications on a cloud computing platform
US10019577B2 (en) Hardware hardened advanced threat protection
US9397995B2 (en) Information processing apparatus and user authentication method
US20210334380A1 (en) Trusted firmware verification
WO2015116204A1 (en) Encrypted in-place operating system migration
US9607135B2 (en) Asset protection based on redundantly associated trusted entitlement verification
US20200226300A1 (en) Identifier of a client device
US11128666B2 (en) Dynamically updating rules for detecting compromised devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140312

WD01 Invention patent application deemed withdrawn after publication