动态应用安全验证的制作方法

文档序号:9732425阅读:206来源:国知局
动态应用安全验证的制作方法
【专利说明】
【背景技术】
[0001]移动应用通常通过特征为多个开发商的出售品的应用市场来获得。顾客可出于各种原因而利用应用市场。例如,顾客的移动装置可被预配置来利用特定的应用市场,从而经由特定的应用市场作出获得应用的最简单的选择。在一些情况下,顾客的移动装置可被预配置成使得应用仅仅经由特定的应用市场才可获得。最终,由于察觉到经由市场获得的应用相对更安全,顾客可能更喜欢利用应用市场。换句话说,顾客可能认为应用市场的所有者是值得信任的,并且因此经由应用市场提供的应用是值得信任的。
【附图说明】
[0002]可参考以下附图来更好地理解本公开的许多方面。附图中的组件不必按比例绘制,而是将重点放在清楚地说明本公开的原理。此外,在附图中,相同参考标号贯穿若干视图指示对应部分。
[0003]图1是根据本公开的一个实施方案的在显示器上呈现用户界面的客户端装置的一个实例的图。
[0004]图2是根据本公开的各种实施方案的网络化环境的图。
[0005]图3是示出根据本公开的各种实施方案的功能的一个实例的流程图,所述功能被实现为在图2的网络化环境中的计算环境中执行的应用市场系统的多个部分。
[0006]图4是示出根据本公开的各种实施方案的功能的一个实例的流程图,所述功能被实现为在图2的网络化环境中的计算环境中执行的安全验证服务的多个部分。
[0007]图5是根据本公开的各种实施方案的示意性框图,所述框图提供在图2的网络化环境中采用的计算环境的一个示例性图示。
[0008]图6是根据本公开的各种实施方案的示意性框图,所述框图提供在图2的网络化环境中采用的客户端装置的一个示例性图示。
【具体实施方式】
[0009]本公开涉及用于移动应用的安全验证。顾客可能察觉到经由应用市场提供的应用是安全的,并且应用市场的所有者已对所提供的应用的安全作出了保证。因此,所有者关注的是在提供应用时执行安全验证。然而,一些应用的安全评估可能成为了有挑战性的命题。虽然一些应用是单片式的,因而在顾客使用之前允许整体评估其代码,但是其他应用可能是动态的,其中代码的多个部分在应用被安装到顾客的装置之后才会被下载。换句话说,应用市场的所有者从来没有机会来评估随后下载的代码的安全风险。
[0010]作为一个非限制性实例,可提供看上去是涉及搅拌器中的蝾螈的游戏的应用。所述应用看起来可能是在顾客的装置上无害地请求各种安全许可。然而,一旦所述应用在顾客的装置上被执行,所述应用就可以在后台下载和执行恶意代码,所述恶意代码将收集和传输密码、信用卡号以及不为顾客所知的其他私人信息。这个问题的一个简单的解决方案是阻止任何具有动态代码的应用被应用市场提供。虽然避开了安全风险,但是这种解决方案忽略了通过使用动态代码提供给开发商的许多益处。例如,使用动态代码可为开发商提供更为灵活的且更快速的发行时间。另外,对于每次代码微调,开发商都将被要求提交应用的新版本以供应用市场考虑。
[0011]本公开的各种实施方案提供用于对动态应用执行安全验证的方法。识别了由动态应用获得的代码。在一个实施方案中,使用将获得代码与获得数据区分开来的应用编程接口(API)编写应用。在另一个实施方案中,应用是沙箱化的,并且沙箱的执行环境追踪获得数据是存储在系统存储器的可执行代码区域还是存储在系统存储器的数据区域中。一旦确定获得代码,可评估所述代码的安全风险或者将其与先前已经评估的代码进行比较。在一些情况下,可自动地修复检测到的安全问题,或者可从应用市场禁用和/或去除所述应用。
[0012]参考图1,示出了根据一个实施方案的在显示器104上呈现用户界面103的客户端装置100的一个实例。用户界面103由前述实例中论述的涉及搅拌器中的蝾螈的游戏应用生成。根据本公开的原理,安全验证服务已检测到游戏应用已加载可执行代码,所述可执行代码致力于不当地记录来自客户端装置100的私人信息。因此,安全验证服务修改了应用以清除安全风险。在用户界面103上呈现的用户界面组件105通知用户应用已被修改来解决安全风险。随后,在恶意软件部分被清除之后,用户可能能够继续使用所述应用。虽然图1的实例中示出了用户界面组件105,但是在其他实例中,在未提供用户通知的情况下,应用可被修改、阻止、终止等。在以下论述中,提供了所述系统及其组件的概述,接着是所述系统及其组件的操作的论述。
[0013]现在转到图2,示出了根据各种实施方案的网络化环境110。网络化环境110包括经由网络119进行数据通信的计算环境113、计算环境116和一个或多个客户端装置100。网络119包括(例如)因特网、内联网、外联网、广域网(WAN)、局域网(LAN)、有线网、无线网、电缆网、卫星网或其他合适的网络等,或者两个或更多个这类网络的任何组合。
[0014]计算环境113可包括(例如)服务器计算机或提供计算能力的任何其他系统。可替代地,计算环境113可采用多个计算装置,所述多个计算装置被布置成(例如)一个或多个服务器组或计算机组或其他布置。这类计算装置可定位在单个设施中或者可分布在许多不同的地理位置当中。例如,计算环境113可包括多个计算装置,所述多个计算装置一起可包括托管计算资源、网格计算资源和/或任何其他分布式计算布置。在一些情况下,计算环境113可对应于弹性计算资源,其中处理、网络、存储或其他计算相关资源的分派容量可随着时间而改变。
[0015]根据各种实施方案,可在计算环境113中执行各种应用和/或其他功能。另外,在可由计算环境113访问的数据存储区122中存储各种数据。正如可了解的,数据存储区122可代表多个数据存储区122。存储于数据存储区122中的数据(例如)与下文所描述的各种应用和/或功能实体的操作相关联。
[0016]在计算环境113上执行的组件(例如)包括应用市场系统125、安全验证服务128、沙箱环境129以及本文未详细论述的其他应用、服务、进程、系统、引擎或功能。执行应用市场系统125以促进来自多个开发商的应用131的分布。在一个实施方案中,应用市场系统125由单个实体管理,本文称为所有者。应用市场系统125可采用安全验证服务128对应用131执行安全评估。当安全验证服务128确认应用131不包括安全风险时,应用131可由应用市场系统125提供。
[0017]安全验证服务128可被执行来执行这些评估。为此,安全验证服务128可采用各种工具来确定应用131是否包含安全风险。例如,安全验证服务128可检测应用131是否与已知恶意服务器通信,安全验证服务128可能在应用131中检测已知恶意代码的签名,或者安全验证服务128可能从应用131检测恶意的已知行为或者行为模式。在一些实施方案中,安全验证服务128可采用执行其他类型内容或代码检查的第三方工具。在一些实施方案中,安全验证服务128可被配置来修复或以其他方式修改应用131以消除或以其他方式清除所检测的安全风险。
[0018]当应用131是单片式的或自含式的时,安全评估可能是相对直截了当的。在提交于2013年6月25号并且标题为“ANALYZING SECURITY OF APPLICAT1NS”的美国专利申请号13/926,211中公开了安全评估的各种实例,所述专利申请以引用的方式整体并入本文。然而,在应用131是加载从外部站点获得的代码的动态应用的情况下,安全评估可能更具挑战性,因为应用131的代码在应用131被下载到客户端装置100之后可能会改变。
[0019]在一个实施方案中,作为应用引入过程的一部分的安全验证服务128可在沙箱环境129内执行应用实例134。在这种情况下,沙箱环境129可对应于对客户端装置100仿真的虚拟化环境。可替代地,沙箱环境129可对应于监控代码执行并且限制应用访问数据和/或系统服务的执行环境。沙箱环境129可包括可执行代码存储器137和数据存储器140。当在沙箱环境129内执行应用实例134时,安全验证服务128可检测动态加载的代码143,所述动态加载的代码143由应用实例134从外部网络站点147获得。因此,安全验证服务128可对动态加载的代码143执行安全评估。虽然已描述了驻存在计算环境113中的安全验证服务128,但是应当理解的是,也可在客户端装置100中执行安全验证服务128的多个部分。另外,可在网络119内的网络装置(例如,防火墙、负载均衡器、路由器等)中替代地实现安全验证服务128的至少一部分。
[0020]存储在数据存储区122中的数据包括:例如应用市场数据150、应用131、动态加载的代码数据153、先前安全评估157、安全评估配置数据160以及潜在的其他数据。应用市场数据150包括支持应用市场系统125的功能的数据,所述数据包括应用131的多种出售品163。出售品163各自可与标题、描述、价格、装置兼容性信息、屏幕截图、顾客评论、顾客评分、下载统计、应用131所请求的装置特权和/或其他信息相关联。出售品163还可与应用131的安全验证等级的指示相关联。经由安全评估不能充分验证的应用131可与同充分评估的应用131比较相对较低的安全验证等级相关联。
[0021]应用131对应于实现经由应用市场系统125提供的应用131的包或代码。应用131可以是移动应用,例如,用于智能手机、平板电脑、电子书阅读器等;或者桌面应用,例如用于台式计算机、膝上型计算机等,这视情况而定。应用131可与签名、指纹、校验和、版本信息和/或可用于验证应用131的来源、完整性和/或版本的其他信息相关联。应用131可对应于本地或单片式应用、动态应
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1