CN112052447A - 针对软件开发工具包的隔离方法、装置、终端及存储介质 - Google Patents

针对软件开发工具包的隔离方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN112052447A
CN112052447A CN202010783225.4A CN202010783225A CN112052447A CN 112052447 A CN112052447 A CN 112052447A CN 202010783225 A CN202010783225 A CN 202010783225A CN 112052447 A CN112052447 A CN 112052447A
Authority
CN
China
Prior art keywords
application program
preset
program interface
software development
preset application
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
CN202010783225.4A
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 Zhiyou Wang'an Technology Co ltd
Original Assignee
Beijing Zhiyou Wang'an 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 Zhiyou Wang'an Technology Co ltd filed Critical Beijing Zhiyou Wang'an Technology Co ltd
Priority to CN202010783225.4A priority Critical patent/CN112052447A/zh
Publication of CN112052447A publication Critical patent/CN112052447A/zh
Pending legal-status Critical Current

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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Landscapes

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

Abstract

本发明公开了针对软件开发工具包的隔离方法、装置、终端及存储介质,所述方法包括:获取系统加载类的数据,根据所述系统加载类的数据,获取预设应用程序接口的调用数据,根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。通过本发明提供的一种针对软件开发工具包的隔离方法,可以及时阻止第三方软件开发工具包对应用程序接口的恶意调用,从而有效维护用户的隐私安全以及财产安全。

Description

针对软件开发工具包的隔离方法、装置、终端及存储介质
技术领域
本发明涉及计算机领域,尤其涉及的是一种针对软件开发工具包的隔离方法、装置、终端及存储介质。
背景技术
开发人员在开发APP的过程中,会大量使用第三方软件开发工具包,以便使用软件开发工具包提供的便捷服务和功能。然而一些恶意的软件开发工具包本身会存在着安全威胁,除了众所周知的获取用户隐私信息,如收集设备id(IMEI,IMSI等)、获取用户位置信息外,还存在着更严重的安全问题。比如某些软件开发工具包具有主动接收服务器指令的功能,它会根据需要收集短信、通话记录和联系人等敏感信息。另外,它还会执行如动态下载代码等危险操作。
由于这些恶意行为,非常隐蔽,开发人员无法在第一时间发现这些行为,另外即使发现这些行为,线上已经发布运行的APP也无法对这种行为进行阻断,降低风险和损失。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种针对软件开发工具包的隔离方法、装置、终端及存储介质,旨在解决现有技术中无法及时阻止第三方软件开发工具包对应用程序接口的恶意调用的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种针对软件开发工具包的隔离方法,其中,所述方法包括:
获取系统加载类的数据;
根据所述系统加载类的数据,获取预设应用程序接口的调用数据;
根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
在一种实施方式中,所述获取系统加载类的数据包括:
获取类加载器接口的调用方法,根据第一回调方法对所述类加载器接口的调用方法进行修改;
当检测到所述类加载器接口的数据接收状态为接收状态时,通过所述第一回调方法获取所述类加载器接口的调用数据;
根据所述类加载器接口的调用数据获取系统加载类的数据。
在一种实施方式中,所述根据所述系统加载类的数据,获取预设应用程序接口的调用数据包括:
根据所述系统加载类的数据判断所述预设应用程序接口对应的类的加载状态;
当所述预设应用程序接口对应的类的处于加载状态时,获取所述预设应用程序接口的调用数据。
在一种实施方式中,所述当所述预设应用程序接口对应的类的处于加载状态时,获取所述预设应用程序接口的调用数据包括:
获取所述预设应用程序接口的调用方法;
根据第二回调方法对所述预设应用程序接口的调用方法进行修改;
当所述预设应用程序接口对应的类的处于加载状态时,根据所述第二回调方法获取所述预设应用程序接口的调用数据。
在一种实施方式中,所述当所述预设应用程序接口对应的类的处于加载状态时,根据所述第二回调方法获取所述预设应用程序接口的调用数据包括:
当所述预设应用程序接口对应的类的处于加载状态时,通过方法调用栈获取所述第二回调方法的调用数据;
根据所述第二回调方法的调用数据,得到所述预设应用程序接口的调用数据。
在一种实施方式中,根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离包括:
获取配置文件,所述配置文件中包含所述预设应用程序接口的名称,以及禁止调用所述预设应用程序接口的所述预设软件开发工具包的名称;
根据所述配置文件以及所述预设应用程序接口的调用数据,判断所述预设应用程序接口的调用对象是否为所述预设软件开发工具包;
当所述预设应用接口的调用对象为所述预设软件开发工具包时,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
在一种实施方式中,根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离还包括:
当所述预设应用接口的调用对象不是所述预设软件开发工具包时,保持所述预设应用程序接口与所述预设应用接口的调用对象之间的调用关系。
第二方面,本发明实施例提供一种针对软件开发工具包的隔离装置,其中,所述装置包括:
第一获取模块,用于获取系统加载类的数据;
第二获取模块,还用于获取预设应用程序接口的调用数据;
中断模块,用于将所述预设应用程序接口与预设软件开发工具包进行隔离。
第三方面,本发明实施例提供一种终端,所述终端包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的方法。
第四方面,本发明实施例提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任意一项所述的方法。
本发明的有益效果:本发明公开了一种针对软件开发工具包的隔离方法,所述方法包括:获取系统加载类的数据,根据所述系统加载类的数据,获取预设应用程序接口的调用数据,根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。通过本发明提供的一种针对软件开发工具包的隔离方法,可以及时阻止第三方软件开发工具包对应用程序接口的恶意调用,从而有效维护用户的隐私安全以及财产安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的针对软件开发工具包的隔离方法的流程示意图。
图2是本发明实施例提供的针对软件开发工具包的隔离方法中获取系统类加载数据的流程示意图。
图3是本发明实施例提供的针对软件开发工具包的隔离方法中获取预设应用程序接口的调用数据的第一流程示意图。
图4是本发明实施例提供的针对软件开发工具包的隔离方法中获取预设应用程序接口的调用数据的第二流程示意图。
图5是本发明实施例提供的针对软件开发工具包的隔离方法中获取预设应用程序接口的调用数据的第三流程示意图。
图6是本发明实施例提供的针对软件开发工具包的隔离方法中处理预设应用程序接口与所述预设软件开发工具包的调用关系的流程示意图。
图7是本发明实施例提供的针对软件开发工具包的隔离装置的模块连接关系图。
图8是本发明实施例提供的终端的原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
随着移动互联网行业技术的快速发展和用户的移动需求的增加,应用程序的数量持续增加。为了提高应用程序的开发效率和性能,开发人员在开发应用程序的过程中,通常会大量使用第三方软件开发工具包,以便使用第三方软件开发工具包提供的便捷服务和功能(软件开发工具包是辅助开发应用程序的相关文档、范例和工具的集合)。然而在在享受这些便捷的同时,也会带来一些安全风险。例如,一些恶意的软件开发工具包本身会存在着安全威胁,除了众所周知的获取用户隐私信息,如收集设备id(IMEI,IMSI等)、获取用户位置信息外,还存在着更严重的安全问题。比如某些软件开发工具包具有主动接收服务器指令的功能,它会根据需要收集短信、通话记录和联系人等敏感信息。另外,它还会执行如动态下载代码等危险操作。当这些恶意的软件开发工具包嵌入到应用程序后,就能在用户运行该应用程序时隐蔽地进行恶意操作,从而造成用户隐私泄露或者财产损失等情况发生。
为了避免上述情况的发生,本发明提供一种针对软件开发工具包的隔离方法,可将第三方软件开发工具包本身的行为与应用程序进行隔离,使第三方软件开发工具包运行在隔离的沙箱中,同时动态监控第三方软件开发工具包的调用和传输数据的行为,及时阻断第三方软件开发工具包的恶意操作。
简单地解释本发明的技术方案,对于系统的应用程序而言,其运行过程中需要涉及诸多相应功能的类,因此在应用程序的运行过程中必然存在与其对应的类的加载过程。通过监控系统的类的加载情况即可得知系统内的应用程序的运行情况,当监控到系统加载了用户需要监控的应用程序相关的类,即表示用户需要监控的应用程序正在被运行,进而监控该应用程序的接口,即可实现及时发现并阻断第三方软件开发工具包的调用和传输数据的恶意行为。
如图1所示,本实施例提供的一种针对软件开发工具包的隔离方法包括如下步骤:
步骤S100、获取系统加载类的数据。
具体地,系统运行应用程序时,需要先把该应用程序相关的类加载到内存里,才能执行该应用程序的功能。因此通过获取系统加载类的数据,即可知道系统加载的类的名称、加载的具体时间等信息,从而获取系统中各个应用程序的运行状态。
在一种实现方式中,如图2所示,所述步骤S100具体包括如下步骤:
步骤S110、获取类加载器接口的调用方法,根据第一回调方法对所述类加载器接口的调用方法进行修改。
步骤S120、当检测到所述类加载器接口的数据接收状态为接收状态时,通过所述第一回调方法获取所述类加载器接口的调用数据。
步骤S130、根据所述类加载器接口的调用数据获取系统加载类的数据。
简言之,系统启动应用程序时,会首先根据应用程序的java文件获取与该应用程序相关的类文件,然后通过系统类加载器将类文件中的数据存储进入内存中,即完成类的加载。具体地,系统获取到类文件后,根据类文件中的数据生成类加载请求并发送到类加载器接口,因此当检测到类加载器接口的数据接收状态为接收状态时,即表示系统当前有类加载任务。
为了判断系统当前加载了何种类,因此需要获取所述类加载器接口的调用数据,通过调用数据确定调用对象,从而判断系统当前加载了何种类。为了实现获取所述类加载器接口的调用数据,在一种实现方式中,当检测到类加载器接口的数据接收状态为接收状态时,对所述类加载器接口进行挂钩(hook),以实现获取所述类加载器接口的调用数据。具体地,根据预设代码修改所述类加载器接口的调用方法,得到第一回调方法。所述第一回调方法不仅能实现所述类加载器接口的调用功能,还可以直接获取所述类加载器接口的调用对象和传输数据。换言之,将所述类加载器接口的调用方法修改为所述第一回调方法以后,每当所述类加载器接口被调用时,所述类加载器接口即运行所述第一回调方法。由于所述第一回调方法中的参数包含调用对象的名称参数,因此通过所述第一回调方法,即可直接获取所述类加载器接口的调用对象的类名以及传输的数据。根据所述类名以及传输的数据,即可获取所述系统加载类的数据,例如系统加载了何种类以及向所述类加载器接口传递的具体数据。
获取所述系统加载类的数以后,如图1所示,所述方法还包括如下步骤:
步骤S200、根据所述系统加载类的数据,获取预设应用程序接口的调用数据。
简言之,获取所述系统加载类的数据后,通过类与应用程序之间的对应关系,即可根据系统加载类的数据判断预设应用程序是否被启动或者运行,当预设应用程序被启动时,则需要及时监控预设应用程序接口是否有被恶意调用,以防止第三方软件开发工具包恶意窃取用户隐私信息或者传输数据。当所述预设应用程序被启动或者运行,则需要对所述预设应用程序接口进行监控,并获取所述预设应用程序接口的调用数据。通过所述预设应用程序接口的调用数据,即可对所述预设应用程序接口的调用情况进行分析,以及时监控预设应用程序接口是否有被恶意调用,防止第三方软件开发工具包恶意窃取用户隐私信息或者传输数据。在实际操作时,所述预设应用程序接口可以为需要监控的应用程序接口。例如,用户可以选择监控一些存储有重要个人隐私信息的应用程序设置为预设应用程序接口,例如通讯录的接口,或者将与金钱密切相关的支付类的应用程序设置为预设应用程序,例如支付宝的接口。
在一种实现方式中,如图3所示,所述步骤S200具体包括如下步骤:
步骤S210、根据所述系统加载类的数据判断所述预设应用程序接口对应的类的加载状态。
步骤S220、当所述预设应用程序接口对应的类的处于加载状态时,获取所述预设应用程序接口的调用数据。
具体地,为了确定是否需要对所述预设应用程序接口执行监控操作,可以根据系统加载类的数据中是否包含所述预设应用程序相关的类,判断预设应用程序相关的类的加载状态,进而判断所述预设应用程序的运行状态。当系统加载类的数据中没有包含预设应用程序相关的类,则表示预设应用程序相关的类没有进行加载,所述预设应用程序的运行状态为未运行;当系统加载类的数据中包含预设应用程序相关的类,则表示所述预设应用程序相关的类正在进行加载,所述预设应用程序的运行状态为正在运行。当所述预设应用程序的运行状态为正在运行时,需要对所述预设应用程序接口进行监控,以及时发现预设应用程序的恶意操作。通过获取所述预设应用程序接口的调用数据,即可对所述预设应用程序接口的调用情况进行分析,及时发现预设软件开发工具包的恶意操作。
为了实现获取所述预设应用程序接口的调用数据,在一种实现方式中,如图4所示所述步骤S220还包括如下步骤:
步骤S221、获取所述预设应用程序接口的调用方法。
步骤S222、根据第二回调方法对所述预设应用程序接口的调用方法进行修改。
步骤S223、当所述预设应用程序接口对应的类的处于加载状态时,根据所述第二回调方法获取所述预设应用程序接口的调用数据。
简言之,本实施例是采用对所述预设应用程序接口进行挂钩(hook)的方法,来实现获取所述预设应用程序接口的调用数据,所述挂钩用于在源代码之间钩取(窃听)一些信息,因此对所述预设应用程序接口进行挂钩(hook)以后,即可对所述预设应用程序接口的传输数据进行拦截,从而实现获取所述预设应用程序接口的调用数据。具体地,当所述预设应用程序接口对应的类的处于加载状态时,根据第二回调方法修改所述预设应用程序接口的调用方法,以实现对所述预设应用程序接口进行挂钩(hook)。所述第二回调方法不仅可以实现所述预设应用程序接口的调用功能,还可以用于获取所述预设应用程序接口的调用对象和传输数据。换言之,将所述预设应用程序接口的调用方法修改为所述第二回调方法以后,每当所述预设应用程序接口被调用时,所述预设应用程序接口即运行所述第二回调方法。根据所述第二回调方法即可获取所述预设应用程序接口的调用对象和传输数据,从而监控所述预设应用程序接口的是否有被恶意调用。
由于所述第二回调方法的参数中并不包含调用对象的名称参数,因此为了实现获取所述预设应用程序接口的调用数据,在一种实现方式中,如图5所示,所述步骤S223包括以下步骤:
步骤S2231、当所述预设应用程序接口对应的类的处于加载状态时,通过方法调用栈获取所述第二回调方法的调用数据。
步骤S2232、根据所述第二回调方法的调用数据,得到所述预设应用程序接口的调用数据。
简单来说,应用程序在实际运行时,系统内存中存在预设数据区域,用来实现应用程序的方法调用机制,所述预设数据区域即为方法调用栈。每个被运行的方法都会在方法调用栈中拥有一块数据区,所述数据区即为栈帧。方法调用栈的栈帧中,保存了相应的调用方法的重要信息,例如调用方法的详细调用过程,调用对象以及调用方式等信息。
由于所述第二回调方法的参数中并不包含调用对象的名称参数,因此需要通过方法调用栈获取所述预设应用程序接口的调用数据。当所述预设应用程序接口运行所述第二回调方法时,通过方法调用栈,获取所述第二回调方法的调用数据,实现该过程的代码如下:
Thread.currentThread().getStackTrace()
根据所述第二回调方法的调用数据,得到调用所述第二回调方法的类的类名以及调用方式,由于所述第二回调方法为所述预设应用程序接口的调用方法,因此根据调用所述第二回调方法的类的类名以及调用方式即可间接得到所述预设应用程序接口的调用数据。
获取所述预设应用程序接口的调用数据以后,需要对所述预设应用程序接口的调用数据进行分析,因此如图1所示,所述方法还包括如下步骤:
S300、根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
具体地,通过所述预设应用程序接口的调用数据,可以明确所述预设应用接口的调用对象,当述预设应用接口的调用对象为预设软件开发工具包时,需要及时对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
在一种实现方式中,如图6所示,所述步骤S300还包括如下步骤:
步骤S310、获取配置文件,所述配置文件中包含所述预设应用程序接口的名称,以及禁止调用所述预设应用程序接口的所述预设软件开发工具包的名称。
步骤S320、根据所述配置文件以及所述预设应用程序接口的调用数据,判断所述预设应用程序接口的调用对象是否为所述预设软件开发工具包。
步骤S330、当所述预设应用接口的调用对象为所述预设软件开发工具包时,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
简言之,本实施例提供的一种针对软件开发工具包的隔离方法在首次使用时,首先需要用户自行输入配置信息,所述配置信息可以包括但不限于所述预设应用程序接口的名称,以及禁止调用所述预设应用程序接口的所述预设软件开发工具包的名称。当系统获取所述配置信息后,根据所述配置信息生成配置文件并存储。在实际运行过程中,所述系统根据所述配置文件即可判断需要对何种应用程序接口进行监控,以及该应用程序接口是否被违规调用。其中,所述预设应用程序接口可以为用户需要监控的应用程序的接口名称,所述预设软件开发工具包可以为不信任的第三方软件开发工具包,并将预设应用程序接口与预设软件开发工具包之间的调用规则设定为不可调用,以此将预设软件开发工具包本身的行为与预设应用程序进行隔离,使预设软件开发工具包运行在隔离的沙箱中。
因此,当获取所述预设应用程序接口的调用数据后,即可确定所述预设应用程序接口的调用对象,通过将所述预设应用程序接口的调用对象的名称与所述配置文件中的预设软件开发工具包的名称进行匹配,即可判断所述预设应用程序接口的调用对象是否为所述预设软件开发工具包。当所述预设应用程序接口的调用对象为所述预设软件开发工具包时,即表示所述预设软件开发工具包在违规调用所述预设应用程序接口,因此对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
在一种实现方式中,如图6所示,所述步骤S300还包括步骤S340、当所述预设应用接口的调用对象不是所述预设软件开发工具包时,保持所述预设应用程序接口与所述预设应用接口的调用对象之间的调用关系。
具体地,当所述预设应用程序接口的调用对象不是所述预设软件开发工具包时,即表示所述预设应用程序接口的调用对象的该次调用行为属于常规调用,不存在安全威胁,因此保持所述预设应用程序接口与所述预设应用接口的调用对象之间的调用关系。
基于上述实施例,本发明还提供了一种针对软件开发工具包的隔离装置,如图7所示,所述装置包括:第一获取模块1,用于获取系统加载类的数据;第二获取模块2,用于获取预设应用程序接口的调用数据;中断模块3,用于将所述预设应用程序接口与预设软件开发工具包进行隔离;所述第一获取模块、第二获取模块、中断模块均与处理器连接。
基于上述实施例,本发明还提供了一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质上存储有数据存储程序,所述数据存储程序被处理器执行时实现如上所述的针对软件开发工具包的隔离方法的各个步骤。需要说明的是,非临时性计算机可读存储介质可设置在数据存储设备中。本发明非临时性计算机可读存储介质具体实施方式与上述针对软件开发工具包的隔离方法各实施例基本相同,在此不再赘述。
本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
基于上述实施例,本发明还提供了一种终端,所述终端包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的针对软件开发工具包的隔离方法。所述终端的原理框图可以如图8所示。该终端包括通过系统总线连接的处理器、存储器、网络接口。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种针对软件开发工具包的隔离方法。
本领域技术人员可以理解,图8中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。此外,实现上述任意一项所述的针对软件开发工具包的隔离方法,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种针对软件开发工具包的隔离方法,其特征在于,所述方法包括:
获取系统加载类的数据;
根据所述系统加载类的数据,获取预设应用程序接口的调用数据;
根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
2.根据权利要求1所述的针对软件开发工具包的隔离方法,其特征在于,所述获取系统加载类的数据包括:
获取类加载器接口的调用方法,根据第一回调方法对所述类加载器接口的调用方法进行修改;
当检测到所述类加载器接口的数据接收状态为接收状态时,通过所述第一回调方法获取所述类加载器接口的调用数据;
根据所述类加载器接口的调用数据获取系统加载类的数据。
3.根据权利要求1所述的针对软件开发工具包的隔离方法,其特征在于,所述根据所述系统加载类的数据,获取预设应用程序接口的调用数据包括:
根据所述系统加载类的数据判断所述预设应用程序接口对应的类的加载状态;
当所述预设应用程序接口对应的类的处于加载状态时,获取所述预设应用程序接口的调用数据。
4.根据权利要求3所述的针对软件开发工具包的隔离方法,其特征在于,所述当所述预设应用程序接口对应的类的处于加载状态时,获取所述预设应用程序接口的调用数据包括:
获取所述预设应用程序接口的调用方法;
根据第二回调方法对所述预设应用程序接口的调用方法进行修改;
当所述预设应用程序接口对应的类的处于加载状态时,根据所述第二回调方法获取所述预设应用程序接口的调用数据。
5.根据权利要求4所述的针对软件开发工具包的隔离方法,其特征在于,所述当所述预设应用程序接口对应的类的处于加载状态时,根据所述第二回调方法获取所述预设应用程序接口的调用数据包括:
当所述预设应用程序接口对应的类的处于加载状态时,通过方法调用栈获取所述第二回调方法的调用数据;
根据所述第二回调方法的调用数据,得到所述预设应用程序接口的调用数据。
6.根据权利要求1所述的针对软件开发工具包的隔离方法,其特征在于,根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离包括:
获取配置文件,所述配置文件中包含所述预设应用程序接口的名称,以及禁止调用所述预设应用程序接口的所述预设软件开发工具包的名称;
根据所述配置文件以及所述预设应用程序接口的调用数据,判断所述预设应用程序接口的调用对象是否为所述预设软件开发工具包;
当所述预设应用接口的调用对象为所述预设软件开发工具包时,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离。
7.根据权利要求6所述的针对软件开发工具包的隔离方法,其特征在于,根据所述预设应用程序接口的调用数据,对所述预设应用程序接口与所述预设软件开发工具包之间的调用进行中断,以实现所述预设应用程序接口与所述预设软件开发工具包之间的隔离还包括:
当所述预设应用接口的调用对象不是所述预设软件开发工具包时,保持所述预设应用程序接口与所述预设应用接口的调用对象之间的调用关系。
8.一种针对软件开发工具包的隔离装置,其特征在于,所述装置包括:
第一获取模块,用于获取系统加载类的数据;
第二获取模块,还用于获取预设应用程序接口的调用数据;
中断模块,用于将所述预设应用程序接口与预设软件开发工具包进行隔离。
9.一种终端,其特征在于,所述终端包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-7中任意一项所述的方法。
10.一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-7中任意一项所述的方法。
CN202010783225.4A 2020-08-06 2020-08-06 针对软件开发工具包的隔离方法、装置、终端及存储介质 Pending CN112052447A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010783225.4A CN112052447A (zh) 2020-08-06 2020-08-06 针对软件开发工具包的隔离方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010783225.4A CN112052447A (zh) 2020-08-06 2020-08-06 针对软件开发工具包的隔离方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN112052447A true CN112052447A (zh) 2020-12-08

Family

ID=73602536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010783225.4A Pending CN112052447A (zh) 2020-08-06 2020-08-06 针对软件开发工具包的隔离方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112052447A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463128A (zh) * 2020-12-08 2021-03-09 北京指掌易科技有限公司 软件开发工具包行为控制方法及装置
CN112667481A (zh) * 2020-12-31 2021-04-16 中国建设银行股份有限公司 数据采集工具包、方法及设备
CN117473556A (zh) * 2023-12-15 2024-01-30 荣耀终端有限公司 Sdk的管理方法、设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463128A (zh) * 2020-12-08 2021-03-09 北京指掌易科技有限公司 软件开发工具包行为控制方法及装置
CN112667481A (zh) * 2020-12-31 2021-04-16 中国建设银行股份有限公司 数据采集工具包、方法及设备
CN112667481B (zh) * 2020-12-31 2024-05-10 中国建设银行股份有限公司 数据采集工具包、方法及设备
CN117473556A (zh) * 2023-12-15 2024-01-30 荣耀终端有限公司 Sdk的管理方法、设备及存储介质
CN117473556B (zh) * 2023-12-15 2024-05-24 荣耀终端有限公司 Sdk的管理方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112052447A (zh) 针对软件开发工具包的隔离方法、装置、终端及存储介质
US9158919B2 (en) Threat level assessment of applications
US20140013429A1 (en) Method for processing an operating application program and device for the same
KR100733387B1 (ko) 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법
EP3203406A1 (en) Sensitive information security protection method and device
US10623417B1 (en) Software development kit (SDK) fraud prevention and detection
CN105550584A (zh) 一种Android平台下基于RBAC的恶意程序拦截及处置方法
CN109831351B (zh) 链路跟踪方法、装置、终端及存储介质
KR20130094522A (ko) 보안 진단을 위한 휴대 단말기 및 보안 진단 방법
CN110704131B (zh) 一种html5应用调用原生应用的方法和装置
CN108958785B (zh) 一种应用程序升级方法及装置
CN106714181B (zh) 连入WiFi热点的方法及装置
CN111488576B (zh) 一种首页篡改的保护方法、系统、电子设备及存储介质
CN112395593B (zh) 指令执行序列的监测方法及装置、存储介质、计算机设备
KR101716690B1 (ko) 데이터 무단 엑세스 차단 방법 및 그 기능이 구비된 컴퓨팅 장치
CN110674508A (zh) Android组件检测处理方法、检测终端及存储介质
CN116340092A (zh) 软件开发工具包的安全监控方法、装置、设备及介质
CN115859274A (zh) 一种监控Windows进程清空系统事件日志行为的方法及系统
CN112632534A (zh) 一种恶意行为检测方法及装置
CN111049795B (zh) 分布式Web应用的敏感数据未加密漏洞的检测方法及装置
CN113486277A (zh) Web应用访问方法、装置、电子设备及存储介质
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
KR101946569B1 (ko) 모바일 운영체계 시스템의 발신 호 스푸핑 방지 방법, 이를 위한 장치, 컴퓨터 판독 가능 기록 매체 및 컴퓨터 프로그램
CN112417533A (zh) 防截屏方法、装置、计算机设备和存储介质
CN115244516A (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