CN113609478A - 一种ios平台应用程序篡改检测方法及装置 - Google Patents

一种ios平台应用程序篡改检测方法及装置 Download PDF

Info

Publication number
CN113609478A
CN113609478A CN202110805456.5A CN202110805456A CN113609478A CN 113609478 A CN113609478 A CN 113609478A CN 202110805456 A CN202110805456 A CN 202110805456A CN 113609478 A CN113609478 A CN 113609478A
Authority
CN
China
Prior art keywords
plug
application program
target application
tampering
ios platform
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.)
Granted
Application number
CN202110805456.5A
Other languages
English (en)
Other versions
CN113609478B (zh
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.)
Zhejiang Geely Holding Group Co Ltd
Hangzhou Youxing Technology Co Ltd
Original Assignee
Zhejiang Geely Holding Group Co Ltd
Hangzhou Youxing 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 Zhejiang Geely Holding Group Co Ltd, Hangzhou Youxing Technology Co Ltd filed Critical Zhejiang Geely Holding Group Co Ltd
Priority to CN202110805456.5A priority Critical patent/CN113609478B/zh
Publication of CN113609478A publication Critical patent/CN113609478A/zh
Application granted granted Critical
Publication of CN113609478B publication Critical patent/CN113609478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种IOS平台应用程序篡改检测方法及装置,所述方法包括:基于篡改检测指令动态获取目标应用程序对应的终端中运行的全部当前执行插件;依次比对所述当前执行插件是否存在于系统插件库和插件黑名单中,所述系统插件库为目标应用程序启动时调用的系统插件,所述插件黑名单为已经确定的能够实现目标应用程序篡改的插件;当所述当前执行插件不存在所述系统插件库中或存在于所述插件黑名单中,则判定所述目标应用程序被篡改。本发明的实施能够有效识别司机是否通过破坏app工作流程来达到作弊目的,并对接风险评估模型,有效降低了作弊识别难度,提升了识别准确度,同时提高了派单公平性,提升了运营的效率。

Description

一种IOS平台应用程序篡改检测方法及装置
技术领域
本发明涉及网络安全技术领域,特别涉及一种IOS平台应用程序篡改检测方法及装置。
背景技术
目前市场上出行软件给司机派单方式普遍是根据司机手机实时定位位置作为派单依据。司机把手机系统越狱,然后通过修改手机系统定位模块的回调数据来达到修改手机实时定位位置功能,以此欺骗应用程序和派单服务系统达到作弊目的,如特殊区域通过修改实时位置参与排队插队,或者修改实时位置到无订单区域来实现挂在线时长应对时长考核。
现有出行类应用程序中,主要是通过检测手机系统是否越狱是通过系统定位Framework或其他三方定位Framework的定位回调获取实时定位信息的,然后把定位信息上报给派单服务,来等待订单指派。应用程序无法对获取到的定位信息的准确性做校验。
因此,如何提出一种可以通过检查应用程序是否完整、应用程序是否被加载作弊插件、应用程序核心API是否被修改、运行应用程序的终端系统是否被破解,以解决识别司机是否有作弊行为。
发明内容
为了解决上述技术问题,本发明提供一种IOS平台应用程序篡改检测方法,所述方法包括:
基于篡改检测指令动态获取目标应用程序对应的终端中运行的全部当前执行插件;
依次比对所述当前执行插件是否存在于系统插件库和插件黑名单中,所述系统插件库为目标应用程序启动时调用的系统插件,所述插件黑名单为已经确定的能够实现目标应用程序篡改的插件;
当所述当前执行插件不存在所述系统插件库中或存在于所述插件黑名单中,则判定所述目标应用程序被篡改。
进一步地,所述方法还包括:
获取所述目标应用程序的版本标识和所述目标应用程序对应的可执行文件,结合MD5算法计算目标应用程序的当前盐值;
当所述当前盐值与固定盐值不相同时,则判定所述目标应用程序被篡改,所述固定盐值是根据多组与所述目标应用程序的版本标识相同的应用程序的版本标识和对应的可执行文件,结合MD5算法计算出的。
进一步地,所述方法还包括:
当判定所述目标应用程序被篡改后,控制所述目标应用程序停止运行。
进一步地,所述方法还包括:
读取所述目标应用程序所在的终端的系统特征和应用程序编程接口特征;
将所述系统特征和所述应用程序编程接口特征输入到预设的风险评估模型中,得到风险评估结果;
判断所述风险评估结果是否大于预设风险阈值;
当所述风险评估结果大于预设风险阈值时,判定所述目标应用程序被篡改并根据预设使用规则限制所述终端中目标应用程序的使用。
进一步地,所述系统特征包括应用程序可读取系统文件、回调插件可用、包含越狱框架、系统启动次数、所述目标应用程序的安装次数和目标应用程序的网络代理配置。
进一步地,所述应用程序编程接口特征包括:stat指令被勾住、systemcall指令被勾住、sysctl指令被勾住、getenv指令被勾住。
另一方面,本发明提供一种IOS平台应用程序篡改检测装置,所述装置包括:
插件获取模块,被配置为执行基于篡改检测指令动态获取目标应用程序对应的终端中运行的全部当前执行插件;
比对模块,被配置为执行依次比对所述当前执行插件是否存在于系统插件库和插件黑名单中,所述系统插件库为目标应用程序启动时调用的系统插件,所述插件黑名单为已经确定的能够实现目标应用程序篡改的插件;
篡改判定模块,被配置为执行当所述当前执行插件不存在所述系统插件库中或存在于所述插件黑名单中,则判定所述目标应用程序被篡改。
进一步地,所述装置还包括:
盐值计算模块,被配置为执行获取所述目标应用程序的版本标识和所述目标应用程序对应的可执行文件,结合MD5算法计算目标应用程序的当前盐值;
篡改判定模块,还被配置为执行当所述当前盐值与固定盐值不相同时,则判定所述目标应用程序被篡改,所述固定盐值是根据多组与所述目标应用程序的版本标识相同的应用程序的版本标识和对应的可执行文件,结合MD5算法计算出的。
另一方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上述所述IOS平台应用程序篡改检测方法。
另一方面,本发明提供一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如上述所述IOS平台应用程序篡改检测方法。
本发明提供的一种IOS平台应用程序篡改检测方法及装置,具有如下有益效果:能够有效识别司机是否通过破坏app工作流程来达到作弊目的,并对接风险评估模型,有效降低了作弊识别难度,提升了识别准确度,同时提高了派单公平性,提升了运营的效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是根据本申请实施例示出的一种IOS平台应用程序篡改检测方法的实施环境架构图;
图2是本申请实施例提供的一种IOS平台应用程序篡改检测方法的流程示意图;
图3是本申请实施例提供的另一种IOS平台应用程序篡改检测方法的流程示意图;
图4是本发明实施例提供的一种IOS平台应用程序篡改检测装置的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是根据本申请实施例示出的一种IOS平台应用程序篡改检测方法的实施环境架构图。如图1所示,该实施环境架构包括:终端100和服务器200。
其中,IOS平台应用程序篡改检测装置既可以是终端100,也可以是服务器200。终端100或服务器200获取目标应用程序和终端100的运行数据,并基于运行数据判别目标应用程序是否被篡改。
其中,判别目标应用程序是否被篡改的过程既可以在终端100执行,也可以在服务器200执行。终端100获取运行数据,进一步地,当判别目标应用程序是否被篡改在终端100执行时,终端100直接基于运行数据判别目标应用程序是否被篡改。当判别目标应用程序是否被篡改在服务器200执行时,终端100将获取的运行数据发送给服务器200,服务器200将接收运行数据,并基于运行数据判别目标应用程序是否被篡改。
终端100的类型包括但不限于智能手机、平板电脑、电视机、笔记本电脑、台式电脑等,本申请实施例对此不进行具体限定。
需要说明的是上述终端100中搭载有IOS系统。
进一步地,服务器200可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
如图2所示,图2是本申请实施例提供的一种IOS平台应用程序篡改检测方法的流程示意图,本说明书实施例提供一种IOS平台应用程序篡改检测方法,本方法的执行主体可以是上述的终端或服务器,所述方法包括:
S102、基于篡改检测指令动态获取目标应用程序对应的终端中运行的全部当前执行插件。
在具体的实施过程中,篡改检测指令可以是目标应用程序启动时生成的、或目标应用程序对应的服务器定期发送的,篡改检测指令可以用于启动IOS平台应用程序篡改检测方法。
基于篡改检测指令发起IOS平台应用程序篡改检测方法后,可以在目标应用程序运气期间动态获取目标应用程序对应的终端中运行的全部当前执行插件。当前执行插件中包括目标应用程序执行时的全部插件。
当前执行插件中配置有对应的应用程序和系统的标签,标签可以用于判别对应的插件所属的应用程序或系统。
作弊开发工具为了提高代码复用性,都会把作弊功能制作成动态插件,方便批量打包进应用程序,动态插件类似于系统插件,随应用程序启动同时启动,应用程序维护一份系统插件库和插件黑名单。检测时可以通过底层API_dyld_get_image_name读取当前进程加载的所有插件名称,与已知的作弊插件对比,即可得到可疑插件。
其中,系统插件库中存在有系统正常运行时的全部插件和应用程序正常运行时的全部插件,插件黑名单是已知的目标应用程序篡改产生的插件,插件黑名单是随着目标应用程序的维护进行更新的。更新的方式可以是直接添加。
需要说明的是,当前执行插件是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。因为插件需要调用系统提供的函数库或者数据。
可以理解的是,上述所述的系统和平台均是指在终端中让应用程序运行的系统环境,包括硬件环境和软件环境。
S103、依次比对所述当前执行插件是否存在于系统插件库和插件黑名单中,所述系统插件库为目标应用程序启动时调用的系统插件,所述插件黑名单为已经确定的能够实现目标应用程序篡改的插件。
在具体的实施过程中,可以将当前执行插件中的各个表征是目标应用程序运行和系统运行的插件分别与系统插件库和插件黑名单一一比对。具体的比对方式可以是按照插件名称、插件的用途(插件所调用的函数库或数据)等进行比对。
S105、当所述当前执行插件不存在所述系统插件库中或存在于所述插件黑名单中,则判定所述目标应用程序被篡改。
在具体的实施过程中,如比对后的当前执行插件中不存在于系统插件库中或存在于插件黑名单中,则可以认定目标应用程序被篡改。
在上述实施例基础上,本说明书一个实施例中,图3是本申请实施例提供的另一种IOS平台应用程序篡改检测方法的流程示意图,如图3所示,所述方法还包括:
S202、获取所述目标应用程序的版本标识和所述目标应用程序对应的可执行文件,结合MD5算法计算目标应用程序的当前盐值。
在具体的实施过程中,版本标识用于表征目标应用程序的版本序号,同一个版本标识对应的应用程序的盐值是相同的,因此,可以利用目标应用程序的版本标识和应的可执行文件计算出目标应用程序的当前盐值。
在计算当前盐值时,可以以版本标识作为加盐因子,结合MD5算法计算出目标应用程序可执行文件的当前盐值。
其中,MD5算法的英文全称是Message Digest Algorithm MD5,中文名为消息摘要算法第五版,MD5算法为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
需要说明的是,可执行文件为应用程序的底层代码,用于支持应用程序的运行,如应用程序被篡改,其可执行文件也将会被篡改。
S204、当所述当前盐值与固定盐值不相同时,则判定所述目标应用程序被篡改,所述固定盐值是根据多组与所述目标应用程序的版本标识相同的应用程序的版本标识和对应的可执行文件,结合MD5算法计算出的。
在具体的实施过程中,如当前盐值与固定盐值不同时,可以判定所述目标应用程序被篡改。固定盐值是大量相同的版本标识的应用程序计算出的,可以理解的是,如果目标应用程序上报的当前盐值与其他用户的上报的当前盐值都不一致,可以认为目标应用程序的可执行文件被篡改,则可以认定目标应用程序被篡改。
在上述实施例基础上,本说明书一个实施例中,所述方法还包括:
当判定所述目标应用程序被篡改后,控制所述目标应用程序停止运行。
在具体的实施过程中,如果认定目标应用程序被篡改时,为了保证不同用户使用的公平性,可以控制目标应用程序在所在终端中停止运行。
在上述实施例基础上,本说明书一个实施例中,所述方法还包括:
读取所述目标应用程序所在的终端的系统特征和应用程序编程接口特征。
具体的,所述系统特征可以包括应用程序可读取系统文件、回调插件可用、包含越狱框架、系统启动次数、所述目标应用程序的安装次数和目标应用程序的网络代理配置。
所述应用程序编程接口特征可以包括:stat指令被勾住、systemcall指令被勾住、sysctl指令被勾住、getenv指令被勾住。
其中,系统特征用于判断所在终端是否越狱,应用程序编程接口特征用于判断目标应用程序的代码是否被更改。
将所述系统特征和所述应用程序编程接口特征输入到预设的风险评估模型中,得到风险评估结果。
在具体的实施过程中,IOS系统的越狱采用通过用户态的应用程序利用内核漏洞获取到内核权限,patch内核代码实现,即应用程序拥有了系统级别的权限,并且越狱过程会产生和越狱行为相关的文件到磁盘。综上所述,IOS系统的越狱状态会对系统造成比较大的变化,可以利用这一特性检测系统是否被越狱。与越狱用户相比,非越狱用户的文件权限仅限于APP沙盒内,沙盒外的文件及文件夹无权访问;越狱用户都需要安装越狱框架,越狱框架带有固定的URL SCHEME;越狱框架会在应用程序进程加载mobile substrate基板模块。
其中,回调插件可以是URL Scheme是IOS SDK提供给开发者的通过URL打开系统或第三方应用的方式,IOS开发中常见的几种需求,比如分享到微信微博,或调用支付宝支付之类的调用其他应用,以及调用完后,第三方应用对自己的回调都需要用到URL Scheme。
为了达到作弊目的,需要修改APP代码,而修改代码肯定需要用系统底层API修改,因此可以监控系统底层关键API是否有可疑调用,系统底层关键API有以下几个:1、stat:判断文件夹是否有读写权限,用来判断是否有权限读取系统文件夹,2、systemcall:检测当前APP是否有权限进行内核调用,3、sysctl:检测当前APP是否处于DEBUG调试状态,标记APP是否处于调试模式,4、getenv:检测当前APP运行的环境变量,标记APP是否处于调试模式,5、_dyld_get_image_name:读取动态插件列表,制作插件的开发者可能通过修改改API返回值屏蔽自己的插件。
其中,stat指令主要用于显示文件或文件系统的详细信息。systemcall指令可以API和系统调用:
系统调用是操作系统提供的有效服务界面,一般使用高级语言编写,如c和c++,对于特定的较为底层的任务,则使用汇编语言指令。
API,应用程序接口,提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力。
使用API而不直接调用系统调用的原因主要由以下两点:1)由于API隐藏了绝大多数细节,所以程序员无需理解内部工作机制的细节,更加的user-friendly。2)因为API跟内核没有必然的联系,所以具有很好的可移植性。
此外,系统启动次数的作用:通常情况下手机不会被频繁重启,启动时间可以作为系统稳定性参考。目标应用程序的安装次数的作用:通常一个版本只会有一次安装时间,安装时间可以作为APP稳定性参考。目标应用程序的网络代理配置的作用:一个用户频繁使用网络代理,存在调试抓包可疑参考。
基于上述原理,构建风险评估模型,风险评估模型中可以依次判断终端和目标应用程序是否存在上述接口或代码的更改,上述每一项均具备一个权重,风险评估模型对上述每一项进行评判后可以输出对应的风险评估结果。
示例地,当应用程序可以读取系统文件、回调插件可用、终端中包括包含越狱框架、系统启动次数大于预设启动次数、目标应用程序的安装次数大于预设安装次数、目标应用程序的网络代理配置存在频繁使用网络代理的情况中的3种以上时,可以认定终端已经越狱,进而判定目标应用程序被篡改。
判断所述风险评估结果是否大于预设风险阈值。
可以理解的是,预设风险阈值在本说明书实施例中不做具体限定,可以根据实际需要进行设置。
当所述风险评估结果大于预设风险阈值时,判定所述目标应用程序被篡改并根据预设使用规则限制所述终端中目标应用程序的使用。
在具体的实施过程中,预设使用规则可以是限制服务器对已经篡改的目标应用程序发放福利。
本说明书实施例提供的IOS平台应用程序篡改检测方法通过预先建立的系统插件库和插件黑名单能够实现动态检测目标应用程序是否被篡改,并且利用目标应用程序的当前盐值仍可以判定目标应用程序是否被篡改,在篡改后限定目标应用程序的使用。提升目标应用程序使用用户的公平性和合理性,避免由于应用程序的篡改造成用户流失。
另一方面,图4是本发明实施例提供的一种IOS平台应用程序篡改检测装置的结构示意图,如图4所示,本发明提供种一种IOS平台应用程序篡改检测装置,其特征在于,所述装置包括:
插件获取模块710,被配置为执行基于篡改检测指令动态获取目标应用程序对应的终端中运行的全部当前执行插件;
比对模块720,被配置为执行依次比对所述当前执行插件是否存在于系统插件库和插件黑名单中,所述系统插件库为目标应用程序启动时调用的系统插件,所述插件黑名单为已经确定的能够实现目标应用程序篡改的插件;
篡改判定模块730,被配置为执行当所述当前执行插件不存在所述系统插件库中或存在于所述插件黑名单中,则判定所述目标应用程序被篡改。
在上述实施例基础上,本说明书一个实施例中,所述装置还包括:
盐值计算模块,被配置为执行获取所述目标应用程序的版本标识和所述目标应用程序对应的可执行文件,结合MD5算法计算目标应用程序的当前盐值;
篡改判定模块,还被配置为执行当所述当前盐值与固定盐值不相同时,则判定所述目标应用程序被篡改,所述固定盐值是根据多组与所述目标应用程序的版本标识相同的应用程序的版本标识和对应的可执行文件,结合MD5算法计算出的。
由于本说明书实施例提供的IOS平台应用程序篡改检测装置与上述所述的IOS平台应用程序篡改检测方法具有相同的技术方案和技术效果,不在赘述。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
另一方面,图5是本发明实施例提供的一种电子设备的结构示意图,如图5所示,本发明提供一种IOS平台应用程序篡改检测设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者至少一段程序由所述处理器加载并执行以实现如上述所述的IOS平台应用程序篡改检测方法。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
本发明实施例还提供了一种存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、该至少一段程序、该代码集或指令集可由电子设备的处理器执行以完成上述所述的IOS平台应用程序篡改检测方法。
可选地,在本发明实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本发明实施例所提供测试方法,其实现原理及产生的技术效果和前述系统实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述系统实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以上述权利要求的保护范围为准。

Claims (10)

1.一种IOS平台应用程序篡改检测方法,其特征在于,所述方法包括:
基于篡改检测指令动态获取目标应用程序对应的终端中运行的全部当前执行插件;
依次比对所述当前执行插件是否存在于系统插件库和插件黑名单中,所述系统插件库为目标应用程序启动时调用的系统插件,所述插件黑名单为已经确定的能够实现目标应用程序篡改的插件;
当所述当前执行插件不存在所述系统插件库中或存在于所述插件黑名单中,则判定所述目标应用程序被篡改。
2.根据权利要求1所述IOS平台应用程序篡改检测方法,其特征在于,所述方法还包括:
获取所述目标应用程序的版本标识和所述目标应用程序对应的可执行文件,结合MD5算法计算目标应用程序的当前盐值;
当所述当前盐值与固定盐值不相同时,则判定所述目标应用程序被篡改,所述固定盐值是根据多组与所述目标应用程序的版本标识相同的应用程序的版本标识和对应的可执行文件,结合MD5算法计算出的。
3.根据权利要求1所述IOS平台应用程序篡改检测方法,其特征在于,所述方法还包括:
当判定所述目标应用程序被篡改后,控制所述目标应用程序停止运行。
4.根据权利要求1所述IOS平台应用程序篡改检测方法,其特征在于,所述方法还包括:
读取所述目标应用程序所在的终端的系统特征和应用程序编程接口特征;
将所述系统特征和所述应用程序编程接口特征输入到预设的风险评估模型中,得到风险评估结果;
判断所述风险评估结果是否大于预设风险阈值;
当所述风险评估结果大于预设风险阈值时,判定所述目标应用程序被篡改并根据预设使用规则限制所述终端中目标应用程序的使用。
5.根据权利要求4所述IOS平台应用程序篡改检测方法,其特征在于,所述系统特征包括应用程序可读取系统文件、回调插件可用、包含越狱框架、系统启动次数、所述目标应用程序的安装次数和目标应用程序的网络代理配置。
6.根据权利要求4所述IOS平台应用程序篡改检测方法,其特征在于,所述应用程序编程接口特征包括:stat指令被勾住、systemcall指令被勾住、sysctl指令被勾住、getenv指令被勾住。
7.一种IOS平台应用程序篡改检测装置,其特征在于,所述装置包括:
插件获取模块,被配置为执行基于篡改检测指令动态获取目标应用程序对应的终端中运行的全部当前执行插件;
比对模块,被配置为执行依次比对所述当前执行插件是否存在于系统插件库和插件黑名单中,所述系统插件库为目标应用程序启动时调用的系统插件,所述插件黑名单为已经确定的能够实现目标应用程序篡改的插件;
篡改判定模块,被配置为执行当所述当前执行插件不存在所述系统插件库中或存在于所述插件黑名单中,则判定所述目标应用程序被篡改。
8.根据权利要求7所述IOS平台应用程序篡改检测装置,其特征在于,所述装置还包括:
盐值计算模块,被配置为执行获取所述目标应用程序的版本标识和所述目标应用程序对应的可执行文件,结合MD5算法计算目标应用程序的当前盐值;
篡改判定模块,还被配置为执行当所述当前盐值与固定盐值不相同时,则判定所述目标应用程序被篡改,所述固定盐值是根据多组与所述目标应用程序的版本标识相同的应用程序的版本标识和对应的可执行文件,结合MD5算法计算出的。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-6中任一项所述IOS平台应用程序篡改检测方法。
10.一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-6中任一项所述IOS平台应用程序篡改检测方法。
CN202110805456.5A 2021-07-16 2021-07-16 一种ios平台应用程序篡改检测方法及装置 Active CN113609478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110805456.5A CN113609478B (zh) 2021-07-16 2021-07-16 一种ios平台应用程序篡改检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110805456.5A CN113609478B (zh) 2021-07-16 2021-07-16 一种ios平台应用程序篡改检测方法及装置

Publications (2)

Publication Number Publication Date
CN113609478A true CN113609478A (zh) 2021-11-05
CN113609478B CN113609478B (zh) 2024-06-18

Family

ID=78304751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110805456.5A Active CN113609478B (zh) 2021-07-16 2021-07-16 一种ios平台应用程序篡改检测方法及装置

Country Status (1)

Country Link
CN (1) CN113609478B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023159768A1 (zh) * 2022-02-22 2023-08-31 平安科技(深圳)有限公司 移动设备的异常检测方法、系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160154960A1 (en) * 2014-10-02 2016-06-02 Massachusetts Institute Of Technology Systems and methods for risk rating framework for mobile applications
CN107506642A (zh) * 2017-08-10 2017-12-22 四川长虹电器股份有限公司 防止文件被恶意操作行为损坏的方法与系统
CN111767537A (zh) * 2020-06-23 2020-10-13 平安普惠企业管理有限公司 基于ios操作系统的应用程序的篡改校验方法及相关设备
CN112948898A (zh) * 2021-03-31 2021-06-11 北京众享比特科技有限公司 一种区块链中防止应用数据被篡改的方法和安全模块

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160154960A1 (en) * 2014-10-02 2016-06-02 Massachusetts Institute Of Technology Systems and methods for risk rating framework for mobile applications
CN107506642A (zh) * 2017-08-10 2017-12-22 四川长虹电器股份有限公司 防止文件被恶意操作行为损坏的方法与系统
CN111767537A (zh) * 2020-06-23 2020-10-13 平安普惠企业管理有限公司 基于ios操作系统的应用程序的篡改校验方法及相关设备
CN112948898A (zh) * 2021-03-31 2021-06-11 北京众享比特科技有限公司 一种区块链中防止应用数据被篡改的方法和安全模块

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023159768A1 (zh) * 2022-02-22 2023-08-31 平安科技(深圳)有限公司 移动设备的异常检测方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN113609478B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
US10534915B2 (en) System for virtual patching security vulnerabilities in software containers
CN105302711B (zh) 一种应用修复方法、装置及终端
CN111835756B (zh) App隐私合规检测方法、装置、计算机设备及存储介质
CN109189496B (zh) 应用程序的动态库信息获取方法及装置
CN109145590B (zh) 一种函数hook检测方法、检测设备及计算机可读介质
CN110442502B (zh) 一种埋点的方法、装置、设备及存储介质
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN113177001A (zh) 一种开源组件的漏洞检测方法及装置
CN113886835A (zh) 容器逃逸的防护方法、装置、计算机设备和存储介质
CN111062032A (zh) 异常检测方法和系统及计算机可读存储介质
CN113672273B (zh) 数据处理方法、系统及设备
CN113609478B (zh) 一种ios平台应用程序篡改检测方法及装置
CN104767876A (zh) 基于软件的安全处理方法和用户终端
CN110764745B (zh) 变量的传输和收集方法、装置及计算机可读存储介质
CN111259374B (zh) 权限异常检测方法、装置、计算机设备和存储介质
CN113641987B (zh) 应用静默安装的拦截方法、装置和计算机设备
CN109684846A (zh) 一种文件提取方法及装置
CN115455414A (zh) 一种安全检测方法和装置
CN115048645A (zh) 超范围采集隐私信息的检测方法、装置、设备及介质
CN113902458A (zh) 一种恶意用户的识别方法、装置及计算机设备
CN114090055A (zh) 应用程序更新方法、装置、终端及存储介质
CN109783156B (zh) 一种应用的启动控制方法及装置
CN116775147B (zh) 一种可执行文件处理方法、装置、设备及存储介质
CN112559085B (zh) 物联网设备的插件加载方法、设备、存储介质及装置
CN110046055B (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
GR01 Patent grant
GR01 Patent grant