用于应用安全性的方法和系统技术方案

技术编号:38618284 阅读:24 留言:0更新日期:2023-08-26 23:45
用于应用安全性的方法和系统。本发明专利技术的方法和系统提高了应用安全性,并且可以用于保护主机应用和操作系统免受恶意快速应用的影响。访问计算设备的资源的请求是从在计算设备上的主机应用内操作的快速应用的应用适配器接收的。响应于确定请求与包括在快速应用的许可列表中的资源相关联,操作系统将应用适配器的唯一用户标识符(UID)转换为主机应用的UID,操作系统基于主机应用的UID来确定是否允许请求。否则,操作系统基于应用适配器的UID来确定是否允许请求。是否允许请求。是否允许请求。

【技术实现步骤摘要】
【国外来华专利技术】用于应用安全性的方法和系统
[0001]相关申请的交叉引用
[0002]本申请要求对2020年12月18日提交的专利技术名称为“用于应用安全性的方法和系统(METHOD AND SYSTEM FOR APPLICATION SECURITY)”的第17/127,793号美国非临时申请的优先权,其内容在司法管辖区通过引用并入本申请中。


[0003]本专利技术涉及应用安全性,更具体地,涉及用于应用安全性的方法和系统。

技术介绍

[0004]应用安全性是现代计算的重要方面。计算设备上的应用面临黑客攻击、病毒、恶意软件等安全性风险。快速应用(也被称为迷你应用、迷你程序和Web应用)是可以在智能电话等计算设备上运行的一种应用。快速应用通常是设计成在被称为主机应用的另一应用中运行的基于JavaScript的轻量级应用。主机应用可以是任何合适类型的应用,包括社交应用、消息传递应用、Web浏览器、游戏或计算设备的操作系统的启动器应用。除了原生应用生态系统外,快速应用还为主机计算设备提供备选应用生态系统。应用生态系统是共享应用代码的应用的集合。应用生态系统中的应用通常具有基于共享应用代码与主机应用和可能的其它快速应用的继承或依赖的分层关系。
[0005]快速应用提供了快速开发、快速部署和易用性的好处,近年来在电子商务、社交媒体、娱乐等领域越来越受欢迎。快速应用通常用作迷你游戏、应用内购买和应用内数字奖励(通常与应用内广告相关)的手段。但是,由于缺乏监管并且大多数JavaScript引擎中持续存在巨大攻击面,快速应用会带来关键的安全威胁。允许恶意快速应用在用户计算设备上自由操作而没有限制或不受检查,用户可能会遭受重大损失。至少出于这些原因,需要提高应用安全性的方法和系统。

技术实现思路

[0006]本专利技术提供用于应用安全性的方法和系统。本专利技术的所述方法和系统提高了应用安全性,并且可以用于保护主机应用和操作系统免受恶意快速应用的影响。本专利技术的方法和系统解决了与快速应用相关的至少两个安全问题:弱边界和缺乏事先检查。
[0007]本专利技术的方法和系统旨在通过引入附加的防御措施来提高快速应用运行时的安全性,以控制不可信的快速应用代码减轻遭遇攻击时的损害,并且在攻击之前检测恶意快速应用。本专利技术的方法和系统所呈现的方案使用三个特征的一个特征或其组合:用户标识符(user identifier,UID)隔离、低权限JavaScript引擎沙盒隔离和JavaScript完整性测量代理(JavaScript integrity measurement agent,JIMA)。UID隔离在快速应用的JavaScript引擎适配器与主机应用之间强制执行操作系统(operating system,OS)等级的分离。低权限应用沙盒进一步隔离了JavaScript引擎。这些功能共同创造了更强大的障碍,以防止恶意快速应用获得与主机应用相同的许可集。JIMA定期测量快速应用代码的完整
性,以确保自安装以来和整个执行过程中保持不变。
[0008]快速应用被配置为在主机应用中操作,并且访问主机应用可访问的资源,如用户数据、硬件、文件系统、密钥配置数据和加密材料等。快速应用对主机计算设备上资源的访问由JavaScript引擎和由底层JavaScript引擎适配器强制执行的基于角色的访问控制(role

based access control,RBAC)控制,该适配器支持JavaScript引擎的平台相关功能。JavaScript引擎适配器是应用编程接口(application programming interface,API),将一个接口(例如,对象的属性和方法)转换为另一接口,这样以对象为中心的API,以启用对象实时通信。每个快速应用都有一个对应的JavaScript引擎实例和一个JavaScript引擎适配器实例。
[0009]现在参考图1,图1是根据已有技术的软件架构的框图,以解释根据已有技术恶意快速应用62可以用于经由主机应用60对计算设备102实施攻击的方式。主机应用60具有逻辑边界,被称为应用边界20,该逻辑边界由将其与计算设备102的其它应用158分离的操作系统150强制执行。在应用边界20内驻留有主机应用60、JavaScript(JS)引擎54、JavaScript(JS)引擎适配器56、快速应用62。快速应用,诸如恶意快速应用62,通常在主机应用60的应用边界20内的弱逻辑边界30内操作。
[0010]JavaScript引擎具有巨大的攻击面,并且由于其设计复杂性而易受攻击,例如任意RAM读/写。因此,JavaScript引擎可以控制在弱边界内的不可信快速应用代码。JavaScript引擎适配器通常与JavaScript引擎和主机应用驻留在同一进程空间中。在恶意快速应用的恶意代码(例如,恶意脚本)脱离所述JavaScript引擎的控制后,恶意脚本可以操纵JavaScript引擎适配器,以脱离它强制执行的任何检查(例如,伪造用户未授权的许可)并且获得与主机应用相同的权限和许可集。主机应用可以被授权访问各种资源的权限和许可,以支持多种快速应用。因此,存在安全性风险,即主机应用的许多权限和许可以及对授权主机应用的资源的访问可能被恶意快速应用的恶意脚本获取。本专利技术的一个目的是在攻击的情况下减轻损害以阻止恶意代码到达主机应用。
[0011]常规上,快速应用启动和操作而没有任何事先检查。JavaScript很容易被篡改,因为它比二进制代码更可读,因此更容易被攻击者修改。此外,由于JavaScript语言的灵活性,可以构建在运行时自动更改自身的部分的自变形(self

morph)代码。这种动态行为无法由静态分析检测到。因此,攻击者可以创建自变形的快速应用,这些应用可能不会被部署在快速应用商店服务器上的恶意软件分析软件检测到,从而欺骗用户将其作为看似合法的应用下载。在运行时,攻击者可以远程触发应用变形、执行网络钓鱼攻击或通过许可提升攻击设备。本专利技术的目的中的一个目的是防止这种快速应用在代码的变化被检测到之后进一步运行。例如,这可以通过向用户通知攻击,使得可以安全地删除恶意快速应用来实现。
[0012]根据本专利技术的第一方面的第一实施例,提供了一种用于在计算设备上强制执行应用安全性的方法。方法包括:由计算设备的操作系统从在计算设备上的主机应用内操作的快速应用的应用适配器接收访问计算设备的资源的请求。主机应用和应用适配器各自与唯一用户标识符(user identifier,UID)相关联。响应于确定请求与包括在快速应用的许可列表中的资源相关联,由操作系统将应用适配器的UID转换为主机应用的UID,并且基于主机应用的UID来确定是否允许请求。响应于确定请求与未包括在快速应用的许可列表中的资源相关联,请求与密钥管理服务相关联,或者请求与文件系统相关联,操作系统不将应用
适配器的UID转换为主机应用的UID,并且基于应用适配器的UID来确定是否允许请求。
[0013]在第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种在计算设备上强制执行应用安全性的方法,其特征在于,包括:所述计算设备的操作系统从在所述计算设备上的主机应用内运行的快速应用的应用适配器接收访问所述计算设备的资源的请求,其中,所述主机应用和所述应用适配器各自与唯一用户标识符(UID)关联;响应于确定所述请求与包括在所述快速应用的权限列表中的资源关联:所述操作系统将所述应用适配器的所述UID转换为所述主机应用的所述UID;所述操作系统基于所述主机应用的所述UID确定是否允许所述请求;响应于确定所述请求与未包括在所述快速应用的所述权限列表中的资源关联,所述请求与密钥管理服务关联,或所述请求与文件系统关联:所述操作系统不将所述应用适配器的所述UID转换为所述主机应用的所述UID;所述操作系统基于所述应用适配器的所述UID确定是否允许所述请求。2.根据权利要求1所述的方法,其特征在于,还包括:响应于确定允许所述请求,执行所述请求。3.根据权利要求1或2所述的方法,其特征在于,所述快速应用和用于执行所述快速应用的脚本引擎在低权限应用沙盒内运行,其中,对所述计算设备的、在所述低权限应用沙盒外的资源的访问由所述应用适配器控制。4.根据权利要求3所述的方法,其特征在于,所述低权限应用沙盒提供运行时环境,在所述运行时环境中,对所述计算设备的、在所述低权限应用沙盒外的资源的访问由所述应用适配器通过双向通道进行控制。5.根据权利要求3所述的方法,其特征在于,所述快速应用是JavaScript应用,所述脚本引擎是JavaScript引擎,所述应用适配器是JavaScript引擎适配器。6.根据权利要求3所述的方法,其特征在于,还包括:在运行所述快速应用之前:在参考低权限应用沙盒内加载参考快速应用,并且获得所述参考快速应用的编译字节码;使用加密哈希函数生成所述参考快速应用的所述编译字节码中的字节码的每个可分割部分的加密签名;将所述加密签名存储在签名缓存中;在所述运行所述快速应用期间定期进行以下操作:生成运行时的所述快速应用的所述字节码的每个可分割部分的加密签名;确定运行时的所述快速应用的所述字节码的所述加密签名是否与存储在所述签名缓存中的所述参考快速应用的所述字节码的所述加密签名匹配;响应于确定运行时的所述快速应用的所述字节码的所述加密签名与存储在所述签名缓存中的所述参考快速应用的所述字节码的所述加密签名不匹配,执行安全性动作。7.根据权利要求6所述的方法,其特征在于,所述安全性动作包括:终止所述快速应用。8.根据权利要求6所述的方法,其特征在于,所述安全性动作包括:生成用户通知。9.根据权利要求8所述的方法,其特征在于,所述用户通知是显示在所述计算设备的显示器上的屏幕上通知。10.根据权利要求9所述的方法,其特征在于,所述屏幕上通知是运行有所述快速应用
的所述主机应用的可视界面屏幕的部分或覆盖所述可视界面屏幕。11.根据权利要求1至10中任一项所述的方法,其特征在于,每个UID与访问所述计算设备的资源的权限集关联,其中,所述主机应用的所述UID比所述应用适配器的所述UID被授权的更多的权限。12.一种计算设备,其特征在于,包括:处理器,用于:所述计算设备的操作系统从在所述计算设备上的主机应用内运行的快速应用的应用适配器接收访问来自在主机应用内运行的快速应用的资源的请求,其中,所述主机应用和所述应用适配器各自与唯一用户标识符(UID)关...

【专利技术属性】
技术研发人员:Z
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1