代码运行方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:38238337 阅读:28 留言:0更新日期:2023-07-25 18:02
本公开涉及一种代码运行方法、装置、设备及计算机可读存储介质,该方法包括:第一进程调用系统接口将预设代码加载至第二进程中,所述第一进程与所述第二进程相互隔离;第二进程基于所述预设代码加载并运行软件开发工具包。本公开通过创建与当前进程相互隔离的第二进程,并将软件开发工具包加载至第二进程中进行运行,使得软件开发工具包作为独立运行的进程,并且与当前进程相互隔离,能够对软件开发工具包运行时的行为进行彻底管控,降低软件开发工具包的风险,保证用户设备及数据的安全。保证用户设备及数据的安全。保证用户设备及数据的安全。

【技术实现步骤摘要】
代码运行方法、装置、设备及计算机可读存储介质


[0001]本公开涉及计算机
,尤其涉及一种代码运行方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]软件开发工具包(Software Development Kit,SDK)是软件供应链中重要的部分,SDK的安全也是软件供应链安全中重要的一环。
[0003]SDK一般与宿主APP运行在同一个进程中,共享内存与权限,且大部分SDK是以jar,aar和so等格式以黑盒的形式存在,代码高度封装,对于测试和安全分析造成了一定的困难。
[0004]目前对于SDK安全检测常用的方法一般是在发布前进行静态分析和动态分析,静态分析是分析SDK的权限,特征等,动态分析是指在特定的固件或环境(沙箱)或利用特定的工具对SDK进行动态检测,确定其是否调用敏感权限、敏感接口、个人信息等,但这些检测方法难以发现SDK在实际用户环境中的风险。

技术实现思路

[0005]为了解决上述技术问题,本公开提供了一种代码运行方法、装置、设备及计算机可读存储介质,以实现对于软件开发工具包的管控,保障用户设备安全。
[0006]第一方面,本公开实施例提供一种代码运行方法,包括:
[0007]第一进程调用系统接口将预设代码加载至第二进程中,所述第一进程与所述第二进程相互隔离;
[0008]第二进程基于所述预设代码加载并运行软件开发工具包。
[0009]在一些实施例中,所述第二进程基于所述预设代码加载并运行软件开发工具包,包括:
>[0010]第二进程基于所述预设代码加载软件开发工具包;
[0011]响应于所述软件开发工具包的目标请求,基于所述预设代码通过调用所述软件开发工具包的预设接口实现所述目标请求对应的功能。
[0012]在一些实施例中,响应于所述软件开发工具包的目标请求,基于所述预设代码通过调用所述软件开发工具包的预设接口实现所述目标请求对应的功能,包括:
[0013]确定所述软件开发工具包具有所述目标请求对应的目标权限,则所述第二进程基于所述预设代码通过调用所述软件开发工具包的预设接口实现所述目标请求对应的功能。
[0014]在一些实施例中,所述方法还包括:
[0015]确定所述第一进程不具有目标权限,则确定所述软件开发工具包不具有所述目标权限;或者
[0016]确定所述第一进程具有目标权限,则根据预设权限管理信息查找所述目标权限的信息。
[0017]在一些实施例中,所述方法还包括:
[0018]确定所述软件开发工具包具有目标权限,则对所述软件开发工具包进行授权,使得所述软件开发工具包能够实现所述目标请求对应的功能。
[0019]在一些实施例中,在基于所述预设代码通过调用所述软件开发工具包的预设接口实现所述目标请求对应的功能之后,所述方法还包括:
[0020]撤销所述软件开发工具包的目标权限。
[0021]第二方面,本公开实施例提供一种代码运行装置,包括:
[0022]加载模块,用于由第一进程调用系统接口将预设代码加载至第二进程中,所述第一进程与所述第二进程相互隔离;
[0023]运行模块,用于由第二进程基于所述预设代码加载并运行软件开发工具包。
[0024]第三方面,本公开实施例提供一种电子设备,包括:
[0025]存储器;
[0026]处理器;以及
[0027]计算机程序;
[0028]其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
[0029]第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
[0030]第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的代码运行方法。
[0031]本公开实施例提供的代码运行方法、装置、设备及计算机可读存储介质,通过创建与当前进程相互隔离的第二进程,并将软件开发工具包加载至第二进程中进行运行,使得软件开发工具包作为独立运行的进程,并且与当前进程相互隔离,能够对软件开发工具包运行时的行为进行彻底管控,降低软件开发工具包的风险,保证用户设备及数据的安全。
附图说明
[0032]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0033]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本公开实施例提供的代码运行方法流程图;
[0035]图2为本公开实施例提供的一种应用场景的示意图;
[0036]图3为本公开另一实施例提供的代码运行方法流程图;
[0037]图4为本公开另一实施例提供的代码运行方法流程图;
[0038]图5为本公开实施例提供的第一进程与第二进程的调用关系示意图;
[0039]图6为本公开实施例提供的第二进程调用权限的流程图;
[0040]图7为本公开实施例提供的代码运行装置的结构示意图;
[0041]图8为本公开实施例提供的电子设备的结构示意图。
具体实施方式
[0042]为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0043]在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0044]接入SDK是常见的应用软件(APP)开发模式,同一个APP可以接入多个第三方SDK,且SDK与宿主APP运行在同一个进程中,共享内存与权限,因此SDK的安全性就显得尤为重要。对于第三方SDK的安全检测一般包括隐私合规检测、漏洞检测、恶意行为检测等。
[0045]常见的安全检测方法有静态分析和动态分析,但这两种方法仅适合在SDK发布前对其风险进行检测和管控,由于SDK中接口数据是动态的,虽然能够通过常规的检测,但在运行过程中仍可能被漏洞利用,这些动态数据便可以被替换为恶意行为的相关数据,导致SDK发生恶意行为,例如本应正常的页面跳转流程被跳转到异常页面,本应正常的数据访问被篡改为恶意链接等。或者,还可以网络操控已经通过静态检测的SDK,下发异常指令或任务控制SDK执行异常的操作,导致用户的设备安全受到威胁。
[0046]针对该问题,本公开实施例提供了一种代码运行方法,下面结合具体的实施例对该方法进行介绍。
[0047]图1为本公本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种代码运行方法,其特征在于,所述方法包括:第一进程调用系统接口将预设代码加载至第二进程中,所述第一进程与所述第二进程相互隔离;第二进程基于所述预设代码加载并运行软件开发工具包。2.根据权利要求1所述的方法,其特征在于,所述第二进程基于所述预设代码加载并运行软件开发工具包,包括:第二进程基于所述预设代码加载软件开发工具包;响应于所述软件开发工具包的目标请求,基于所述预设代码通过调用所述软件开发工具包的预设接口实现所述目标请求对应的功能。3.根据权利要求2所述的方法,其特征在于,响应于所述软件开发工具包的目标请求,基于所述预设代码通过调用所述软件开发工具包的预设接口实现所述目标请求对应的功能,包括:确定所述软件开发工具包具有所述目标请求对应的目标权限,则所述第二进程基于所述预设代码通过调用所述软件开发工具包的预设接口实现所述目标请求对应的功能。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:确定所述第一进程不具有目标权限,则确定所述软件开发工具包不具有所述目标权限;或者确定所述第一进程具有目标权限,则根据预设权限管理信息确查找所述...

【专利技术属性】
技术研发人员:黄超华
申请(专利权)人:珠海市魅族科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1