CN110362967A - 应用程序防篡改的检测方法、装置、终端设备及存储介质 - Google Patents

应用程序防篡改的检测方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN110362967A
CN110362967A CN201910639905.6A CN201910639905A CN110362967A CN 110362967 A CN110362967 A CN 110362967A CN 201910639905 A CN201910639905 A CN 201910639905A CN 110362967 A CN110362967 A CN 110362967A
Authority
CN
China
Prior art keywords
application program
identity information
target
stored
information
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
CN201910639905.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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910639905.6A priority Critical patent/CN110362967A/zh
Publication of CN110362967A publication Critical patent/CN110362967A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例涉及一种应用程序防篡改的检测方法、装置、终端设备及存储介质,所述方法包括:接收由所述应用程序发送的验证请求;查询存储于共享钥匙串组内与所述应用程序目标开发者对应的目标身份信息;对所述当前身份信息与所述目标身份信息执行一致性比对;基于一致性比对结果,确认所述应用程序的篡改结果,通过验证应用程序开发者的当前身份信息,判断应用程序是否被二次发布,避免用户使用的应用程序被篡改,较少用户损失,保证用户使用应用程序的安全性,提升用户体验。

Description

应用程序防篡改的检测方法、装置、终端设备及存储介质
技术领域
本发明实施例涉及计算机网络安全领域,尤其涉及一种应用程序防篡改的检测方法、装置、终端设备及存储介质。
背景技术
随着互联网的发展,终端设备上应用的类型越来越多,与此同时应用开发者的数量也在增加,一些不法分子采用对原应用进行代码注入,并通过重签名方式进行二次发布的方式,盗取用户隐私或监控用户行为等。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种应用程序防篡改的检测方法、装置、终端设备及存储介质。
第一方面,本发明实施例提供一种应用程序防篡改的检测方法,包括:
接收由所述应用程序发送的验证请求,所述验证请求中包含所述应用程序开发者的当前身份信息;
查询存储于共享服务器内与所述应用程序目标开发者对应的目标身份信息;
对所述当前身份信息与所述目标身份信息执行一致性比对;
基于一致性比对结果,确认所述应用程序的篡改结果。
在一个可能的实施方式中,所述方法,还包括:
当确定所述前身份信息与所述目标身份信息一致时,向所述应用程序返回所述目标身份信息,以指示所述应用程序未被篡改。
在一个可能的实施方式中,所述方法,还包括:
当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送所述应用程序已被篡改的消息。
在一个可能的实施方式中,所述方法,还包括:
当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送限制指令,通过所述限制指令限制所述应用程序的部分操作或全部操作。
在一个可能的实施方式中,所述方法,还包括:
在所述应用程序首次发布时,将所述应用程序标注的目标身份信息存储于所述共享服务器内。
在一个可能的实施方式中,所述将所述应用程序标注的目标身份信息存储于所述共享服务器内,包括:
确定所述目标身份信息对应的目标数据信息;
将所述目标数据信息存储于共享钥匙串组内的任一钥匙串的预留字段;
将所述预留字段中储存有所述目标数据信息的所述钥匙串设置所述应用程序的标识。
在一个可能的实施方式中,所述查询存储于共享服务器内与所述应用程序目标开发者对应的目标身份信息,包括:
根据所述标识查询存储于所述钥匙串预留字段的所述目标数据信息。
在一个可能的实施方式中,所述对所述当前身份信息与所述目标身份信息执行一致性比对,包括:
对所述当前身份信息对应的当前数据信息与所述目标身份信息对应的所述目标数据信息执行一致性比对。
第二方面,本发明实施例提供一种应用程序防篡改的检测装置,包括:
接收模块,用于接收由所述应用程序发送的验证请求,所述验证请求中包含所述应用程序开发者的当前身份信息;
查询模块,用于查询存储于共享钥匙串组内与所述应用程序目标开发者对应的目标身份信息;
判断模块,用于判断所述前身份信息与所述目标身份信息是否一致;
返回模块,用于当确定所述前身份信息与所述目标身份信息一致时,向所述应用程序返回所述目标身份信息,以指示所述应用程序未被篡改。
第三方面,本发明实施例提供一种终端设备,所述终端设备包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的应用程序防篡改的检测程序,以实现上述第一方面任一所述应用程序防篡改的检测方法。
第四方面,本发明实施例提供一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面任一所述应用程序防篡改的检测方法。
本发明实施例提供的应用程序防篡改的检测方案,通过接收由所述应用程序发送的验证请求;查询存储于共享钥匙串组内与所述应用程序目标开发者对应的目标身份信息;对所述当前身份信息与所述目标身份信息执行一致性比对;基于一致性比对结果,确认所述应用程序的篡改结果,通过验证应用程序开发者的当前身份信息,判断应用程序是否被二次发布,避免用户使用的应用程序被篡改,较少用户损失,保证用户使用应用程序的安全性,提升用户体验。
附图说明
图1为本发明实施例提供的一种应用程序防篡改的检测方法的应用场景图;
图2为本发明实施例提供的一种应用程序防篡改的检测方法的流程示意图;
图3为本发明实施例提供的一种应用程序防篡改的检测方法的信令交互示意图;
图4为本发明实施例提供的一种应用程序防篡改的检测装置的结构示意图;
图5是本发明实施例提供的一种的终端设备的结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
终端设备可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端设备。
后续描述中将以终端设备为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端设备。
图1为本发明实施例提供的一种应用程序防篡改的检测方法的应用场景图,如图1所示具体包括:
本实施例涉及的应用程序防篡改的检测方法应用于终端设备,终端设备上安装有多个应用程序(如,APP),在应用程序首次安装到终端设备,或者在应用程序需要更新后,由于应用程序的下载路径用户无法直接获知,因此,可能会出现首次安装的应用程序,或更新后的应用程序存在被篡改的情况,即,第三方开发者对该应用程序进行代码注入,并通过重签名的方式进行二次发布;用户在下载或更新后的应用程序为二次发布的应用程序时,通过注入的代码获取用户信息,误导用户操作等,给用户带来损失。
为解决上述技术问题,本发明实施例采用验证应用程序开发者身份信息的方式来判断用户下载或更新后的应用程序是否为二次发布的应用程序,具体地,本申请采用应用程序与共享服务器进行交互验证的形式判断下载或更新后的应用程序是否为二次发布的应用程序。
进一步地,在开发者进行开发时,通过设置开发的应用程序的服务器共享选项,如图2所示,可以将应用程序的服务器共享选项开启、在应用程序内设置访问共享服务器的访问程序,以及设置在该应用程序第一次启动(可以是首次下载应用程序的第一启动,或者应用程序更新完后的第一次启动)时通过该访问程序对共享服务器进行访问(即身份验证),根据访问结果对应用程序进行判断。
需要说明的是:本实施例涉及的共享服务器可以是三方服务器,例如,共享钥匙串组keychain group,本实施例将以共享服务器为共享钥匙串组进行介绍。
应用程序开发者在对应用程序开发时,需要使用开发者自己持有的开发者证书进行签名,同时产生一开发者团队标识(Team ID,Team Identifier),其中,Team ID用于表示该应用程序开发者的身份信息,可以是,但不限于:数字编号、字母编号等,在进行应用程序发布时,将该应用程序的Team ID上传至共享钥匙串组,并存储于共享钥匙串组内任一钥匙串的预留字段,并将预留字段储存有Team ID的钥匙串设置该应用程序的标识。
以下将以共享钥匙串组为执行主体进行对应用程序防篡改的检测方法进行具体介绍。
图2为本发明实施例提供的一种应用程序防篡改的检测方法的流程示意图,如图2所示,该方法具体包括:
S21、共享钥匙串组接收由所述应用程序发送的验证请求。
在本实施例中,应用程序首次安装到终端设备,或者在应用程序需要更新后,且应用程序第一次启动时,为确保应用程序的安全性,对该应用程序进行身份验证(应用程序可以是:爱奇艺APP、网易APP、今日头条APP等),此时,应用程序生成验证请求,该请求用于验证应用程序的身份信息,其中,验证请求中包含应用程序开发者的当前身份信息。
S22、查询存储于共享钥匙串组内与所述应用程序目标开发者对应的目标身份信息。
共享钥匙串组根据发送验证请求的应用程序查询存储于共享钥匙串组内与应用程序目标开发者对应的目标身份信息,查询方式可以是:根据应用程序的属性信息进行查询,其中,属性信息可以包括,但不局限于:应用程序的名称、应用程序的标识、应用程序的类别。
具体地,应用程序的目标开发者为应用程序在首次发布时标注的开发者,目标身份信息为目标开发者的信息,例如,存储于共享钥匙串组内的应用程序目标开发者为A,目标身份信息为a。
S23、对所述当前身份信息与所述目标身份信息执行一致性比对。
共享钥匙串组对接收到的验证请求进行解析,确定验证请求中的应用程序开发者的当前身份信息,并将当前身份信息与共享钥匙串组内的目标身份信息进行一致性比对,判断前身份信息与目标身份信息是否一致。
S24、基于一致性比对结果,确认所述应用程序的篡改结果。
当确定前身份信息与目标身份信息一致时(例如,验证请求中包含应用程序开发者的当前身份信息为a),则确认应用程序的篡改结果为未被篡改;当确定前身份信息与目标身份信息不一致时,则确认应用程序的篡改结果为已被篡改。
本发明实施例提供的应用程序防篡改的检测方法,通过接收由所述应用程序发送的验证请求;查询存储于共享钥匙串组内与所述应用程序目标开发者对应的目标身份信息;对所述当前身份信息与所述目标身份信息执行一致性比对;基于一致性比对结果,确认所述应用程序的篡改结果,通过验证应用程序开发者的当前身份信息,判断应用程序是否被二次发布,避免用户使用的应用程序被篡改,较少用户损失,保证用户使用应用程序的安全性,提升用户体验。
图3为本发明实施例提供的一种应用程序防篡改的检测方法的信令交互示意图,如图3所示,该方法,具体包括:
S31、应用程序在首次发布时确定Team ID对应的目标数据信息。
在本实施例中,开发者在进行应用程序开发时,使用开发者持有的开发者证书进行签名,并确定对应的Team ID,Team ID为开发者的身份信息,可以表明开发者的身份,Team ID可以是,但不限于:数字编号、字母编号等。
应用程序在首次发布时,确定Team ID对应的目标数据信息,该目标数据信息可以是一具体值、一组数字或一字符串等。
S32、应用程序将目标数据信息发给共享钥匙串组。
S33、共享钥匙串组将目标数据信息存储于共享钥匙串组内的任一钥匙串的预留字段。
S34、共享钥匙串组将预留字段储存目标数据信息的钥匙串设置应用程序的标识。
应用程序在上线发布时,应用程序将目标数据信息发送给共享钥匙串组,共享钥匙串组将目标数据信息存储于共享钥匙串组内的任一钥匙串的预留字段,例如,共享钥匙串组keychain group存储有10个钥匙串keychain,从10个钥匙串keychain确定任一个钥匙串keychain(确定的钥匙串keychain需保证存在预留字段,如确定钥匙串keychain8存储目标数据信息),再将目标数据信息存储于钥匙串keychain8中的预留字段,并确定具体存储的预留字段的位置信息(如,006),以此确定目标数据信息存储于钥匙串keychain8内的预留字段006。
在完成目标数据信息存储后,将存储有目标数据信息的钥匙串设置该应用程序的标识(该标识可以是:应用程序的图标、名称等),以使通过查询应用程序的标识确定查询到的存储于共享钥匙串组内的目标数据信息。
S35、共享钥匙串组接收由应用程序发送的验证请求。
验证请求中包含所述应用程序开发者的当前身份信息,当前身份信息可以是TeamID,其中,Team ID对应为当前数据信息,当前数据信息可以是一具体值、一组数字或一字符串等。
S35与S21类似,为简洁描述,可参照如图2所示中S21的相关描述,在此,不作赘述。
S36、根据标识查询存储于钥匙串预留字段的目标数据信息。
解析验证请求,确定发送该验证请求的应用程序的标识,以及确定验证请求中的应用程序开发者的当前身份信息。
根据应用程序的标识对共享钥匙串组进行查询,匹配出与应用程序标识相对应的钥匙串,并根据该钥匙串内存储目标数据信息的位置信息读取储存于该钥匙串预留字段的目标数据信息,例如,应用程序X,对应的标识为x,根据标识查询确定存储于钥匙串keychain8,根据位置信息006,从钥匙串keychain8中读取目标数据信息。
S37、对所述当前身份信息与所述目标身份信息执行一致性比对。
当确定当前数据信息与目标数据信息一致时,执行S38,当确定当前数据信息与目标数据信息不一致时,执行S39。
S38、当确定当前数据信息与目标数据信息一致时,向应用程序返回目标数据信息,以指示应用程序未被篡改。
当确定前数据信息与目标数据信息一致时,则向应用程序返回目标数据信息,表示该应用程序读取共享钥匙串组中的身份信息成功,以指示应用程序未被篡改,也即该应用程序不存在二次发布的情况,用户可放心使用。
S39、当确定当前数据信息与目标数据信息不一致时,向应用程序发送应用程序已被篡改的消息,以及向所述应用程序发送限制指令,通过所述限制指令限制应用程序的部分操作或全部操作。
当确定前数据信息与目标数据信息不一致时,该应用程序读取共享钥匙串组中的身份信息未成功,也即该应用程序当前的开发者的身份信息与该应用程序首次发布时的开发者的身份信息不一致,表示该应用程序已被篡改(属于二次发布的应用程序,存在一定风险),向应用程序发送应用程序已被篡改的消息,以及限制应用程序的部分操作或全部操作。
进一步地,终端设备向该应用程序发出限制操作指令,根据限制操作指令限制应用程序的部分操作或全部操作,如,限制该应用程序的访问权限、支付操作、查询操作等,对一些支付类的应用程序(如,支付宝)可限制应用程序的全部操作,对于一些新闻类的应用程序(如,今日头条)可限制应用程序的部分操作。
本发明实施例提供的应用程序防篡改的检测方法,通过接收由所述应用程序发送的验证请求;查询存储于共享钥匙串组内与所述应用程序目标开发者对应的目标身份信息;判断所述前身份信息与所述目标身份信息是否一致;当确定所述前身份信息与所述目标身份信息一致时,向所述应用程序返回所述目标身份信息,以指示所述应用程序未被篡改,通过验证应用程序开发者的当前身份信息,判断应用程序是否被二次发布,避免用户使用的应用程序被篡改,较少用户损失,保证用户使用应用程序的安全性,提升用户体验。
图4为本发明实施例提供的一种应用程序防篡改的检测装置的结构示意图,如图4所示,该装置具体包括:
接收模块401,用于接收由所述应用程序发送的验证请求,所述验证请求中包含所述应用程序开发者的当前身份信息;
查询模块402,用于查询存储于共享钥匙串组内与所述应用程序目标开发者对应的目标身份信息;
比对模块403,用于对所述前身份信息与所述目标身份信息执行一致性比对;
确定模块404,用于基于一致性比对结果,确认所述应用程序的篡改结果。
可选地,所述装置,还包括:发送模块405,用于当确定所述前身份信息与所述目标身份信息一致时,向所述应用程序返回所述目标身份信息,以指示所述应用程序未被篡改。
可选地,所述发送模块405,还用于当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送所述应用程序已被篡改的消息。
可选地,所述发送模块405,还用于向所述应用程序发送限制指令,通过所述限制指令限制所述应用程序的部分操作或全部操作。
可选地,
所述装置,还包括:
存储模块406,用于在所述应用程序首次发布时,将所述应用程序标注的目标身份信息存储于所述共享服务器内。
可选地,确定模块404,还用于确定所述Team ID对应的目标数据信息;
存储模块406,具体用于将所述目标数据信息存储于所述共享钥匙串组内的任一钥匙串的预留字段;
所述装置,还包括:
设置模块407,用于将所述预留字段储存所述目标数据信息的所述钥匙串设置所述应用程序的标识。
可选地,所述查询模块402,具体用于根据所述标识查询存储于所述钥匙串预留字段的所述目标数据信息。
可选地,所述比对模块403,具体用于对所述当前身份信息对应的当前数据信息与所述目标身份信息对应的所述目标数据信息执行一致性比对。
本实施例提供的应用程序防篡改的检测装置可以是如图4中所示的应用程序防篡改的检测装置,可执行如图2-3中应用程序防篡改的检测方法的所有步骤,进而实现图2-3所示应用程序防篡改的检测方法的技术效果,具体请参照图2-3相关描述,为简洁描述,在此不作赘述。
图5是本发明实施例提供的一种的终端设备的结构示意图,图5所示的终端设备500包括:至少一个处理器501、存储器502、至少一个网络接口505和其他用户接口503。移动终端500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统505。
其中,用户接口503可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5021和应用程序5022。
其中,操作系统5021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序5022中。
在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是应用程序5022中存储的程序或指令,处理器501用于执行各方法实施例所提供的方法步骤,例如包括:
接收由所述应用程序发送的验证请求,所述验证请求中包含所述应用程序开发者的当前身份信息;查询存储于共享服务器内与所述应用程序目标开发者对应的目标身份信息;对所述当前身份信息与所述目标身份信息执行一致性比对;基于一致性比对结果,确认所述应用程序的篡改结果。
可选地,当确定所述前身份信息与所述目标身份信息一致时,向所述应用程序返回所述目标身份信息,以指示所述应用程序未被篡改。
可选地,当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送所述应用程序已被篡改的消息。
可选地,当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送限制指令,通过所述限制指令限制所述应用程序的部分操作或全部操作。
可选地,在所述应用程序首次发布时,将所述应用程序标注的目标身份信息存储于所述共享服务器内。
可选地,确定所述目标身份信息对应的目标数据信息;将所述目标数据信息存储于共享钥匙串组内的任一钥匙串的预留字段;将所述预留字段中储存有所述目标数据信息的所述钥匙串设置所述应用程序的标识。
可选地,根据所述标识查询存储于所述钥匙串预留字段的所述目标数据信息。
可选地,对所述当前身份信息对应的当前数据信息与所述目标身份信息对应的所述目标数据信息执行一致性比对。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的终端设备可以是如图5中所示的终端设备,可执行如图2-3中应用程序防篡改的检测方法的所有步骤,进而实现图2-3所示应用程序防篡改的检测方法的技术效果,具体请参照图2-3相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在应用程序防篡改的检测设备侧执行的应用程序防篡改的检测方法。
所述处理器用于执行存储器中存储的应用程序防篡改的检测程序,以实现以下在应用程序防篡改的检测设备侧执行的应用程序防篡改的检测方法的步骤:
接收由所述应用程序发送的验证请求,所述验证请求中包含所述应用程序开发者的当前身份信息;查询存储于共享服务器内与所述应用程序目标开发者对应的目标身份信息;对所述当前身份信息与所述目标身份信息执行一致性比对;基于一致性比对结果,确认所述应用程序的篡改结果。
可选地,当确定所述前身份信息与所述目标身份信息一致时,向所述应用程序返回所述目标身份信息,以指示所述应用程序未被篡改。
可选地,当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送所述应用程序已被篡改的消息。
可选地,当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送限制指令,通过所述限制指令限制所述应用程序的部分操作或全部操作。
可选地,在所述应用程序首次发布时,将所述应用程序标注的目标身份信息存储于所述共享服务器内。
可选地,确定所述目标身份信息对应的目标数据信息;将所述目标数据信息存储于共享钥匙串组内的任一钥匙串的预留字段;将所述预留字段中储存有所述目标数据信息的所述钥匙串设置所述应用程序的标识。
可选地,根据所述标识查询存储于所述钥匙串预留字段的所述目标数据信息。
可选地,对所述当前身份信息对应的当前数据信息与所述目标身份信息对应的所述目标数据信息执行一致性比对。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (11)

1.一种应用程序防篡改的检测方法,其特征在于,包括:
接收由所述应用程序发送的验证请求,所述验证请求中包含所述应用程序开发者的当前身份信息;
查询存储于共享服务器内与所述应用程序目标开发者对应的目标身份信息;
对所述当前身份信息与所述目标身份信息执行一致性比对;
基于一致性比对结果,确认所述应用程序的篡改结果。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
当确定所述前身份信息与所述目标身份信息一致时,向所述应用程序返回所述目标身份信息,以指示所述应用程序未被篡改。
3.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送所述应用程序已被篡改的消息。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:
当确定所述前身份信息与所述目标身份信息不一致时,向所述应用程序发送限制指令,通过所述限制指令限制所述应用程序的部分操作或全部操作。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
在所述应用程序首次发布时,将所述应用程序标注的目标身份信息存储于所述共享服务器内。
6.根据权利要求5所述的方法,其特征在于,所述将所述应用程序标注的目标身份信息存储于所述共享服务器内,包括:
确定所述目标身份信息对应的目标数据信息;
将所述目标数据信息存储于共享钥匙串组内的任一钥匙串的预留字段;
将所述预留字段中储存有所述目标数据信息的所述钥匙串设置所述应用程序的标识。
7.根据权利要求6所述的方法,其特征在于,所述查询存储于共享服务器内与所述应用程序目标开发者对应的目标身份信息,包括:
根据所述标识查询存储于所述钥匙串预留字段的所述目标数据信息。
8.根据权利要求7所述的方法,其特征在于,所述对所述当前身份信息与所述目标身份信息执行一致性比对,包括:
对所述当前身份信息对应的当前数据信息与所述目标身份信息对应的所述目标数据信息执行一致性比对。
9.一种应用程序防篡改的检测装置,其特征在于,包括:
接收模块,用于接收由所述应用程序发送的验证请求,所述验证请求中包含所述应用程序开发者的当前身份信息;
查询模块,用于查询存储于共享服务器内与所述应用程序目标开发者对应的目标身份信息;
比对模块,用于对所述前身份信息与所述目标身份信息执行一致性比对;
确定模块,用于基于一致性比对结果,确认所述应用程序的篡改结果。
10.一种终端设备,其特征在于,所述终端设备包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的应用程序防篡改的检测程序,以实现权利要求1~8中任一所述应用程序防篡改的检测方法。
11.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~8中任一所述应用程序防篡改的检测方法。
CN201910639905.6A 2019-07-15 2019-07-15 应用程序防篡改的检测方法、装置、终端设备及存储介质 Pending CN110362967A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910639905.6A CN110362967A (zh) 2019-07-15 2019-07-15 应用程序防篡改的检测方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910639905.6A CN110362967A (zh) 2019-07-15 2019-07-15 应用程序防篡改的检测方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN110362967A true CN110362967A (zh) 2019-10-22

Family

ID=68219367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910639905.6A Pending CN110362967A (zh) 2019-07-15 2019-07-15 应用程序防篡改的检测方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN110362967A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111328051A (zh) * 2020-02-25 2020-06-23 上海银基信息安全技术股份有限公司 数字钥匙分享方法、装置、电子设备及存储介质
CN111950035A (zh) * 2020-06-18 2020-11-17 中国电力科学研究院有限公司 对apk文件完整性保护的方法、系统、设备及存储介质
CN113360905A (zh) * 2021-05-26 2021-09-07 上海蛮犀科技有限公司 一种移动应用自动化安全检测的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298915A (zh) * 2014-10-16 2015-01-21 厦门美图之家科技有限公司 一种防止安装包被篡改的方法
CN104751049A (zh) * 2015-03-09 2015-07-01 广东欧珀移动通信有限公司 一种应用程序安装方法及移动终端
CN107135077A (zh) * 2017-05-05 2017-09-05 中国联合网络通信集团有限公司 软件防护方法及装置
CN107463806A (zh) * 2017-06-20 2017-12-12 国家计算机网络与信息安全管理中心 一种Android应用程序安装包的签名和验签方法
CN108595989A (zh) * 2018-03-15 2018-09-28 杭州电子科技大学 一种iOS下移动APP安全防护系统及方法
US20190173745A1 (en) * 2013-05-20 2019-06-06 Citrix Systems, Inc. Proximity and Context Aware Mobile Workspaces in Enterprise Systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190173745A1 (en) * 2013-05-20 2019-06-06 Citrix Systems, Inc. Proximity and Context Aware Mobile Workspaces in Enterprise Systems
CN104298915A (zh) * 2014-10-16 2015-01-21 厦门美图之家科技有限公司 一种防止安装包被篡改的方法
CN104751049A (zh) * 2015-03-09 2015-07-01 广东欧珀移动通信有限公司 一种应用程序安装方法及移动终端
CN107135077A (zh) * 2017-05-05 2017-09-05 中国联合网络通信集团有限公司 软件防护方法及装置
CN107463806A (zh) * 2017-06-20 2017-12-12 国家计算机网络与信息安全管理中心 一种Android应用程序安装包的签名和验签方法
CN108595989A (zh) * 2018-03-15 2018-09-28 杭州电子科技大学 一种iOS下移动APP安全防护系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
奚海蛟 等: "《ARM嵌入式项目实战开发》", 30 June 2012 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111328051A (zh) * 2020-02-25 2020-06-23 上海银基信息安全技术股份有限公司 数字钥匙分享方法、装置、电子设备及存储介质
CN111328051B (zh) * 2020-02-25 2023-08-29 上海银基信息安全技术股份有限公司 数字钥匙分享方法、装置、电子设备及存储介质
CN111950035A (zh) * 2020-06-18 2020-11-17 中国电力科学研究院有限公司 对apk文件完整性保护的方法、系统、设备及存储介质
CN113360905A (zh) * 2021-05-26 2021-09-07 上海蛮犀科技有限公司 一种移动应用自动化安全检测的方法

Similar Documents

Publication Publication Date Title
CN109981679B (zh) 在区块链网络中执行事务的方法和装置
Mellado et al. Applying a security requirements engineering process
CN110362967A (zh) 应用程序防篡改的检测方法、装置、终端设备及存储介质
CN108989263A (zh) 短信验证码攻击防护方法、服务器和计算机可读存储介质
CN109951489A (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
CN108810894A (zh) 终端授权方法、装置、计算机设备和存储介质
US9235840B2 (en) Electronic transaction notification system and method
CN112818328A (zh) 一种多系统权限管理方法、装置、设备以及存储介质
CN110263545A (zh) 一种基于Android系统的启动过程完整性度量检测方法
EP1789873A2 (en) Non-intrusive trusted user interface
JP2006517313A (ja) デバイスにおいてテストを行う方法とシステム、およびデバイス
CN106096418A (zh) 基于SELinux的开机安全等级选择方法、装置及终端设备
EP1561301B1 (en) Software integrity test in a mobile telephone
CN113221191A (zh) 基于区块链的数据存证方法、装置、设备和存储介质
CN108229210A (zh) 一种保护数据的方法、终端及计算机可读存储介质
CN109544131A (zh) 一种游戏商品管理方法及装置
CN109861979A (zh) 程序处理方法、电子设备及计算机可读存储介质
CN103559430B (zh) 基于安卓系统的应用账号管理方法和装置
CN116017462A (zh) 一种sim卡授权管理方法、装置以及系统
CN112583606B (zh) 安全校验方法及服务器、终端、存储介质
CN102130907B (zh) 开发者电话注册
CN109710692A (zh) 一种区块链网络中用户信息处理方法、装置及存储介质
CN102187345A (zh) MIDlet签名和撤销
CN106027639A (zh) 一种paas平台的广域网访问方法及装置
Dragoni et al. Security-by-Contract (S x C) for Software and Services of Mobile Systems

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191022

RJ01 Rejection of invention patent application after publication