CN105493470A - 动态应用安全验证 - Google Patents
动态应用安全验证 Download PDFInfo
- Publication number
- CN105493470A CN105493470A CN201480047329.1A CN201480047329A CN105493470A CN 105493470 A CN105493470 A CN 105493470A CN 201480047329 A CN201480047329 A CN 201480047329A CN 105493470 A CN105493470 A CN 105493470A
- Authority
- CN
- China
- Prior art keywords
- application
- code
- security
- logic
- dynamic load
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
- G06F21/53—Monitoring 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 by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/128—Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Storage Device Security (AREA)
Abstract
公开了用于对动态应用执行安全验证的各种实施方案。执行应用的实例。在运行时间期间,确定所述应用是否从网络站点访问动态加载的代码。在一个实施方案中,可经由特定应用编程接口(API)的使用来检测所述访问。在另一个实施方案中,可经由将下载数据加载到存储器的可执行部分中来检测所述访问。对所述动态加载的代码执行安全评估,并且响应于所述安全评估发起动作。
Description
背景技术
移动应用通常通过特征为多个开发商的出售品的应用市场来获得。顾客可出于各种原因而利用应用市场。例如,顾客的移动装置可被预配置来利用特定的应用市场,从而经由特定的应用市场作出获得应用的最简单的选择。在一些情况下,顾客的移动装置可被预配置成使得应用仅仅经由特定的应用市场才可获得。最终,由于察觉到经由市场获得的应用相对更安全,顾客可能更喜欢利用应用市场。换句话说,顾客可能认为应用市场的所有者是值得信任的,并且因此经由应用市场提供的应用是值得信任的。
附图说明
可参考以下附图来更好地理解本公开的许多方面。附图中的组件不必按比例绘制,而是将重点放在清楚地说明本公开的原理。此外,在附图中,相同参考标号贯穿若干视图指示对应部分。
图1是根据本公开的一个实施方案的在显示器上呈现用户界面的客户端装置的一个实例的图。
图2是根据本公开的各种实施方案的网络化环境的图。
图3是示出根据本公开的各种实施方案的功能的一个实例的流程图,所述功能被实现为在图2的网络化环境中的计算环境中执行的应用市场系统的多个部分。
图4是示出根据本公开的各种实施方案的功能的一个实例的流程图,所述功能被实现为在图2的网络化环境中的计算环境中执行的安全验证服务的多个部分。
图5是根据本公开的各种实施方案的示意性框图,所述框图提供在图2的网络化环境中采用的计算环境的一个示例性图示。
图6是根据本公开的各种实施方案的示意性框图,所述框图提供在图2的网络化环境中采用的客户端装置的一个示例性图示。
具体实施方式
本公开涉及用于移动应用的安全验证。顾客可能察觉到经由应用市场提供的应用是安全的,并且应用市场的所有者已对所提供的应用的安全作出了保证。因此,所有者关注的是在提供应用时执行安全验证。然而,一些应用的安全评估可能成为了有挑战性的命题。虽然一些应用是单片式的,因而在顾客使用之前允许整体评估其代码,但是其他应用可能是动态的,其中代码的多个部分在应用被安装到顾客的装置之后才会被下载。换句话说,应用市场的所有者从来没有机会来评估随后下载的代码的安全风险。
作为一个非限制性实例,可提供看上去是涉及搅拌器中的蝾螈的游戏的应用。所述应用看起来可能是在顾客的装置上无害地请求各种安全许可。然而,一旦所述应用在顾客的装置上被执行,所述应用就可以在后台下载和执行恶意代码,所述恶意代码将收集和传输密码、信用卡号以及不为顾客所知的其他私人信息。这个问题的一个简单的解决方案是阻止任何具有动态代码的应用被应用市场提供。虽然避开了安全风险,但是这种解决方案忽略了通过使用动态代码提供给开发商的许多益处。例如,使用动态代码可为开发商提供更为灵活的且更快速的发行时间。另外,对于每次代码微调,开发商都将被要求提交应用的新版本以供应用市场考虑。
本公开的各种实施方案提供用于对动态应用执行安全验证的方法。识别了由动态应用获得的代码。在一个实施方案中,使用将获得代码与获得数据区分开来的应用编程接口(API)编写应用。在另一个实施方案中,应用是沙箱化的,并且沙箱的执行环境追踪获得数据是存储在系统存储器的可执行代码区域还是存储在系统存储器的数据区域中。一旦确定获得代码,可评估所述代码的安全风险或者将其与先前已经评估的代码进行比较。在一些情况下,可自动地修复检测到的安全问题,或者可从应用市场禁用和/或去除所述应用。
参考图1,示出了根据一个实施方案的在显示器104上呈现用户界面103的客户端装置100的一个实例。用户界面103由前述实例中论述的涉及搅拌器中的蝾螈的游戏应用生成。根据本公开的原理,安全验证服务已检测到游戏应用已加载可执行代码,所述可执行代码致力于不当地记录来自客户端装置100的私人信息。因此,安全验证服务修改了应用以清除安全风险。在用户界面103上呈现的用户界面组件105通知用户应用已被修改来解决安全风险。随后,在恶意软件部分被清除之后,用户可能能够继续使用所述应用。虽然图1的实例中示出了用户界面组件105,但是在其他实例中,在未提供用户通知的情况下,应用可被修改、阻止、终止等。在以下论述中,提供了所述系统及其组件的概述,接着是所述系统及其组件的操作的论述。
现在转到图2,示出了根据各种实施方案的网络化环境110。网络化环境110包括经由网络119进行数据通信的计算环境113、计算环境116和一个或多个客户端装置100。网络119包括(例如)因特网、内联网、外联网、广域网(WAN)、局域网(LAN)、有线网、无线网、电缆网、卫星网或其他合适的网络等,或者两个或更多个这类网络的任何组合。
计算环境113可包括(例如)服务器计算机或提供计算能力的任何其他系统。可替代地,计算环境113可采用多个计算装置,所述多个计算装置被布置成(例如)一个或多个服务器组或计算机组或其他布置。这类计算装置可定位在单个设施中或者可分布在许多不同的地理位置当中。例如,计算环境113可包括多个计算装置,所述多个计算装置一起可包括托管计算资源、网格计算资源和/或任何其他分布式计算布置。在一些情况下,计算环境113可对应于弹性计算资源,其中处理、网络、存储或其他计算相关资源的分派容量可随着时间而改变。
根据各种实施方案,可在计算环境113中执行各种应用和/或其他功能。另外,在可由计算环境113访问的数据存储区122中存储各种数据。正如可了解的,数据存储区122可代表多个数据存储区122。存储于数据存储区122中的数据(例如)与下文所描述的各种应用和/或功能实体的操作相关联。
在计算环境113上执行的组件(例如)包括应用市场系统125、安全验证服务128、沙箱环境129以及本文未详细论述的其他应用、服务、进程、系统、引擎或功能。执行应用市场系统125以促进来自多个开发商的应用131的分布。在一个实施方案中,应用市场系统125由单个实体管理,本文称为所有者。应用市场系统125可采用安全验证服务128对应用131执行安全评估。当安全验证服务128确认应用131不包括安全风险时,应用131可由应用市场系统125提供。
安全验证服务128可被执行来执行这些评估。为此,安全验证服务128可采用各种工具来确定应用131是否包含安全风险。例如,安全验证服务128可检测应用131是否与已知恶意服务器通信,安全验证服务128可能在应用131中检测已知恶意代码的签名,或者安全验证服务128可能从应用131检测恶意的已知行为或者行为模式。在一些实施方案中,安全验证服务128可采用执行其他类型内容或代码检查的第三方工具。在一些实施方案中,安全验证服务128可被配置来修复或以其他方式修改应用131以消除或以其他方式清除所检测的安全风险。
当应用131是单片式的或自含式的时,安全评估可能是相对直截了当的。在提交于2013年6月25号并且标题为“ANALYZINGSECURITYOFAPPLICATIONS”的美国专利申请号13/926,211中公开了安全评估的各种实例,所述专利申请以引用的方式整体并入本文。然而,在应用131是加载从外部站点获得的代码的动态应用的情况下,安全评估可能更具挑战性,因为应用131的代码在应用131被下载到客户端装置100之后可能会改变。
在一个实施方案中,作为应用引入过程的一部分的安全验证服务128可在沙箱环境129内执行应用实例134。在这种情况下,沙箱环境129可对应于对客户端装置100仿真的虚拟化环境。可替代地,沙箱环境129可对应于监控代码执行并且限制应用访问数据和/或系统服务的执行环境。沙箱环境129可包括可执行代码存储器137和数据存储器140。当在沙箱环境129内执行应用实例134时,安全验证服务128可检测动态加载的代码143,所述动态加载的代码143由应用实例134从外部网络站点147获得。因此,安全验证服务128可对动态加载的代码143执行安全评估。虽然已描述了驻存在计算环境113中的安全验证服务128,但是应当理解的是,也可在客户端装置100中执行安全验证服务128的多个部分。另外,可在网络119内的网络装置(例如,防火墙、负载均衡器、路由器等)中替代地实现安全验证服务128的至少一部分。
存储在数据存储区122中的数据包括:例如应用市场数据150、应用131、动态加载的代码数据153、先前安全评估157、安全评估配置数据160以及潜在的其他数据。应用市场数据150包括支持应用市场系统125的功能的数据,所述数据包括应用131的多种出售品163。出售品163各自可与标题、描述、价格、装置兼容性信息、屏幕截图、顾客评论、顾客评分、下载统计、应用131所请求的装置特权和/或其他信息相关联。出售品163还可与应用131的安全验证等级的指示相关联。经由安全评估不能充分验证的应用131可与同充分评估的应用131比较相对较低的安全验证等级相关联。
应用131对应于实现经由应用市场系统125提供的应用131的包或代码。应用131可以是移动应用,例如,用于智能手机、平板电脑、电子书阅读器等;或者桌面应用,例如用于台式计算机、膝上型计算机等,这视情况而定。应用131可与签名、指纹、校验和、版本信息和/或可用于验证应用131的来源、完整性和/或版本的其他信息相关联。应用131可对应于本地或单片式应用、动态应用的应用市场供应的容器、动态应用的顾客供应的容器和/或其他类型的应用。
动态加载的代码数据153可包括已经由安全验证服务128处理的动态加载的代码143的版本或包。在一些实施方案中,动态加载的代码数据153可包括签名、指纹、校验和、版本信息和/或可用于验证动态加载的代码143的来源、完整性和/或版本的其他信息。先前安全评估157对应于由安全验证服务128对各种版本的动态加载的代码143执行的先前安全评估的结果。安全评估配置数据160可包括配置恶意代码的检测、恶意代码的修复和/或由安全验证服务128执行或发起的其他动作的数据。
计算环境116可包括(例如)服务器计算机或提供计算能力的任何其他系统。可替代地,计算环境116可采用多个计算装置,所述多个计算装置被布置成(例如)一个或多个服务器组或计算机组或其他布置。这类计算装置可定位在单个设施中或者可分布在许多不同的地理位置当中。例如,计算环境116可包括多个计算装置,所述多个计算装置一起可包括托管计算资源、网格计算资源和/或任何其他分布式计算布置。在一些情况下,计算环境116可对应于弹性计算资源,其中处理、网络、存储或其他计算相关资源的分派容量可随着时间而改变。
根据各种实施方案,可在计算环境116中执行各种应用和/或其他功能。另外,可以在可由计算环境116访问的数据存储区中存储各种数据。在计算环境116上执行的组件(例如)包括外部网络站点147以及未在本文中详细论述的其他应用、服务、进程、系统、引擎或功能。外部网络站点147由不同于应用市场系统125的所有者的实体运营,并且被配置来将动态加载的代码143服务于应用131的实例,所述应用131的实例是在客户端装置100和/或计算环境113中执行。外部网络站点147可由应用131的开发商或第三方运营。在一些情况下,外部网络站点147可由致力于经由动态加载的代码143部署恶意软件的恶意用户运营或受到所述恶意用户的损害。
客户端装置100代表可以耦接到网络119的多个客户端装置100。客户端装置100可包括(例如)基于处理器的系统,诸如计算机系统。这类计算机系统可以体现为如下形式:台式计算机、膝上型计算机、个人数字助理、蜂窝电话、智能手机、机顶盒、音乐播放器、连网板(webpad)、平板计算机系统、游戏操纵台、电子书阅读器或具有类似能力的其他装置。客户端装置100可包括显示器104。显示器104可包括(例如)一个或多个装置,诸如液晶显示(LCD)显示器、基于气体等离子体的平板显示器、有机发光二极管(OLED)显示器、电泳墨水(EInk)显示器、LCD投影仪或其他类型的显示装置等。
客户端装置100可被配置来执行各种应用,诸如市场客户端应用166、沙箱环境129、应用实例134、安全验证客户端服务169和/或其他应用。可在客户端装置100中执行市场客户端应用166,例如,以访问由计算环境113、116和/或其他服务器供应的网络内容,从而在显示器104上呈现用户界面103。具体地,用户在客户端装置100处采用市场客户端应用166以与应用市场系统125交互。市场客户端应用166可有助于搜索应用131、购买应用131、下载应用131、安装应用131和/或相对于应用市场系统125和客户端装置100进行其他动作。在一些情况下,市场客户端应用166可例如对应于浏览器、移动应用等,并且用户界面103可对应于网络页面、移动应用屏幕等。
在各种实施方案中,应用实例134可单独地在客户端装置100中或者在沙箱环境129内执行。沙箱环境129被采用来监控由应用实例134下载并加载到存储器中的动态加载的代码143。如同计算环境113的沙箱环境129一样,客户端装置100的沙箱环境129也可包括可执行代码存储器137和数据存储器140。客户端装置100的沙箱环境129可并入或可不并入仿真和/或虚拟化;如果不并入,那么沙箱环境129仅可能是可防止应用实例134直接访问客户端装置100的资源的层。
安全验证客户端服务169对应于安全验证服务128的客户端执行的部分。由于应用实例134的动态加载的代码143在运行时会改变,可能有益的是,在客户端装置100中执行动态加载的代码143的安全评估的至少一部分。例如,安全验证客户端服务169可验证动态加载的代码143的版本以确保先前安全评估157已被执行。安全验证客户端服务169还可包括修复功能以尝试修复针对动态加载的代码143检测到的任何安全风险。在一些实例中,可由网络119内的网络装置(例如,防火墙、负载均衡器、路由器和/或其他装置)实现安全验证客户端服务169的至少一部分。
客户端装置100可被配置来执行除市场客户端应用166、沙箱环境129、应用实例134以及安全验证客户端服务169之外的应用,例如像浏览器、移动应用、电子邮件应用、社交网络应用和/或其他应用。
接下来,提供了对网络化环境110的各种组件的操作的一般描述。首先,开发商或其他用户将应用131提供给应用市场系统125。应用市场系统125可确定提交以供考虑的应用131的类型。在应用131是本地的或单片式的情况下,安全验证服务128可对应用131执行安全评估,并且响应于检测的安全风险,可拒绝、修复、标记等包括检测的安全风险的应用131。
在应用131是动态应用的情况下,安全验证服务128可采取各种方法来进行安全评估。在第一组方法中,在沙箱环境129内执行作为应用实例134的应用131,并且安全验证服务128监控应用实例134是否请求或尝试访问来自外部网络站点147的动态加载的代码143。当应用实例134请求或尝试访问动态加载的代码143时,安全验证服务128可分析动态加载的代码143的安全风险。
如果可能,安全验证服务128可尝试修改或修复对应于检测的安全风险的问题。此外,安全验证服务128可响应于检测到安全风险而修改、标记或暂停应用市场系统125中的应用131的出售品163。安全验证服务128可将动态加载的代码143的校验和、签名、指纹、配置文件等存储在动态加载的代码数据153中,以允许将来用于识别。另外,安全验证服务128可将安全评估的结果存储在先前安全评估157中。
在第二组方法中,可下载动态应用131并且将其安装在客户端装置100中。应用131可作为应用实例134单独地或在客户端装置100的沙箱环境129内执行。当应用实例134请求或尝试访问动态加载的代码143时,安全验证客户端服务169可分析动态加载的代码143的安全风险。安全验证客户端服务169可将安全评估的结果报告给安全验证服务128。
在客户端装置100中执行安全评估就处理器使用、存储器使用和/或电池消耗方面而言可能是相对昂贵的。在一些实施方案中,代替客户端装置100中执行安全评估,安全验证客户端服务169可将动态加载的代码143,或者对应于动态加载的代码143的来源的统一资源定位符(URL)传输到安全验证服务128,以用于在计算环境113内进行评估。可替代地,安全验证客户端服务169可确定动态加载的代码143的校验和、指纹、签名或其他版本标识符,并且如果可用,那么查询安全验证服务128以确定先前安全评估157的结果。在一个实施方案中,可利用证书绑定(certificatepinning)来验证从外部网络站点147获得的数据的签名。如果先前安全评估157是不可用的,那么安全验证服务128和/或安全验证客户端服务169可对新获得的动态加载的代码143执行安全评估,并且然后可将结果存储为先前安全评估157。
安全验证客户端服务169可被配置来执行修复功能以解决由安全验证客户端服务169和/或安全验证服务128发现的安全问题。安全验证客户端服务169可修复、替换或删除恶意的动态加载的代码143以便于消除安全风险。这可能会导致应用实例134的操作的中断,但是可能更加希望应用实例134被中断而不是在存在检测的安全风险的情况下继续操作。在一些情况下,安全验证客户端服务169可选择终止应用实例134。当检测到和/或消除了安全风险时,可将结果通知给客户端装置100处的用户。
作为安全风险的检测和消除的一个非限制性实例,安全验证客户端服务169可检测到应用实例134致力于将数据传输到对应于已知与恶意用户相关联的站点的“www.malicioususers.site”。为了修复应用实例134,安全验证客户端服务169可将应用实例134的域名解析改为“NXDOMAIN”,从而防止域名被解析成恶意站点的实际网络地址。可替代地,客户端装置100的防火墙规则可被配置来阻止同与域名相关联的网络主机通信。阻止与恶意的网络主机通信可能影响或可能不影响应用实例134的终端用户功能,但是清除了安全风险。
可以多种方式进行确定应用实例134是否致力于访问动态加载的代码143。例如,应用市场系统125可能要求获得远程数据的应用131使用某些应用编程接口(API)调用作为由应用市场系统125提供的条件。为了强制执行这种条件,安全验证服务128可在未使用特定的API调用的情况下检测应用131是否被配置来联系外部网络站点147,并且如果是,那么拒绝考虑应用131。API调用可将获得单纯的数据与获得包括动态加载的代码143的数据区分开来。当应用实例134在运行时针对代码进行API调用时,安全验证客户端服务169和/或安全验证服务128然后可被配置来对获得的动态加载的代码143执行安全评估。
另外,安全验证服务128和/或安全验证客户端服务169可被配置来检测数据何时被加载到与数据存储器140相对的可执行代码存储器137中。例如,安全验证服务128和/或安全验证客户端服务169可通过使用沙箱环境129经由网络119追踪并标记由应用131下载的数据。可将加载到数据存储器140中的数据限制为不可执行的,但是加载到可执行代码存储器137中的数据可被执行。可通过使用沙箱环境129进行检测,所述沙箱环境129可被配置来追踪下载数据被加载到存储器的哪些区域中。响应于正由应用实例134加载到可执行代码存储器137中的数据,安全验证服务128和/或安全验证客户端服务169可对所述数据执行安全评估。在一个实施方案中,除了通过特定API调用之外,应用131还可通过沙箱环境129限制可执行代码加载到存储器中。
在一些情况下,可经由下载数据的分析来检测代码。然而,大多数技术是体系结构特定的。例如,特定分析可被执行来检测x86代码、ARM代码、超文本标记语言(HTML)5代码等等。
在另一个实施方案中,客户端装置100的沙箱环境129可被配置来路由所有外部数据请求,或者识别为针对动态加载的代码143的请求的外部数据请求,这是由应用实例134经由安全验证服务128提供的代理服务作出的。因此,安全评估可在服务器侧(在计算环境113中而不是客户端装置100中)通过安全验证服务128执行。代理数据请求可具有各种优点,包括在动态加载的代码数据153中高速缓存动态加载的代码143和潜在下载速度的提升。
安全评估的结果可指示由安全验证服务128和/或安全验证客户端服务169发起的动作。在一些情况下,可改变所检测的安全风险的严重性。对于低等级风险,应用市场系统125可简单地标记应用131的出售品163而不是将其整体去除。在一些情况下,可基于对应用131执行的安全评估的等级和/或在应用131中检测到的安全风险的等级来指定应用131的特权等级。特权等级可配置将什么特权提供给客户端装置100中的应用实例134。
在一些情况下,应用市场系统125的所有者可选择将某些应用131或者应用131的供应商列入白名单,以使得安全评估被避免。此类应用131或其供应商可被所有者信任,以使得在应用市场系统125的赞助下的另外的安全评估被认为是不必要的。这类应用131可签署有证书,并且可验证签名以确定来源。
接下来参考图3,示出了提供根据各种实施方案的应用市场系统125的一部分的操作的一个实例的流程图。应当理解,图3的流程图提供可以用来实现如本文所述的应用市场系统125的所述部分的操作的许多不同类型功能布置的仅一个实例。作为一个替代方案,图3的流程图可被看作是描绘根据一个或多个实施方案的在计算环境113(图2)中实现的方法的步骤的实例。
从框303开始,应用市场系统125接收应用131(图2)。应用131可由开发商或其他用户上传。可替代地,应用131可由应用市场系统125的所有者下载到数据存储区122(图2)。在框306中,应用市场系统125确定应用131的类型,确定应用131是本地/独立式应用131还是动态应用131。例如,应用市场系统125可采用安全验证服务128(图2)来确定应用131是否进行与下载动态加载的代码143(图2)相关联的API调用。
在框309中,应用市场系统125确定应用131是否是动态应用131。动态应用131可诸如通过开发商自解释,或者应用131可通过来自客户端装置100的应用运行时间行为的报告、通过API分析、通过在沙箱环境129(图2)中运行应用或者通过另一种方法被确定为是动态的。如果应用131是动态应用131,那么应用市场系统125继续到框312并且采用动态应用安全评估方法。
这种方法可涉及在应用131被接受到应用市场系统125中之后继续验证程序,因为所述应用的行为会随着代码的更新而变化。应当理解,动态应用安全评估方法还可包括根据本地应用安全评估方法执行的安全评估,因为动态应用131通常包括可以评估其安全风险的一些本地代码诸如容器。此后,应用市场系统125继续到框315。如果应用131不是动态应用131,那么应用市场系统125从框309继续到框318并且采用本地应用安全评估方法。应用市场系统125随后继续到框315。
在框315中,应用市场系统125至少部分基于安全评估结果来创建、修改或去除应用的出售品163(图2)。例如,可将经验证不具有安全风险的应用131添加到应用市场。可替代地,可修改经确定包括安全风险的应用131以去除安全风险(如果可能的话),或者可从应用市场完全去除所述应用131。在一些情况下,出售品163可与指示潜在安全问题的标记相关联。在一个实施方案中,可标记出售品163以指示所述出售品163是动态应用131,要经受进一步验证程序。这类标记可包括文本警告、图标和/或其他标识。出售品163可指示至少部分基于已被执行的安全验证的等级而授予给应用131的特权等级。此后,应用市场系统125的所述部分结束。
继续到图4,示出了提供根据各种实施方案的安全验证服务128的一部分的操作的一个实例的流程图。应当理解,图4的流程图提供可以用来实现如本文所述的安全验证服务128的所述部分的操作的许多不同类型的功能布置的仅一个实例。作为一个替代方案,图4的流程图可被看作是描绘根据一个或多个实施方案的在计算环境113(图2)中实现的方法的步骤的实例。在图4中所示的一些或所有任务可替代地或另外地由客户端装置100(图1)中的安全验证客户端服务169(图2)来执行。
从框403开始,安全验证服务128执行作为应用实例134(图2)的应用131(图2)。在框406处,安全验证服务128确定应用131在运行时访问动态加载的代码143(图2)。例如,应用131可进行对应于动态代码使用的API调用,应用131可将下载数据加载到可执行代码存储器137,应用131可下载包括可识别可执行代码的数据等。
在框409中,安全验证服务128获得从外部网络站点147(图2)请求的动态加载的代码143。在一个实施方案中,安全验证服务128可代表客户端装置100代理针对动态加载的代码143的请求。在另一个实施方案中,安全验证服务128可从外部网络站点147发起其自身对动态加载的代码143的请求。在又一个实施方案中,安全验证客户端服务169可实际上从外部网络站点147获得动态加载的代码143,但是之后将版本标识符传输到安全验证服务128。
在框412中,安全验证服务128确定动态加载的代码143的版本。例如,安全验证服务128可确定与动态加载的代码143相关联的指纹、代码签名、校验和等。在框415中,安全验证服务128确定对于动态加载的代码143的版本是否存在先前安全评估157(图2)。例如,安全验证服务128可将动态加载的代码143的指纹与同先前分析的代码相关联的动态加载的代码数据153(图2)中的指纹库进行比较。如果先前安全评估157存在,那么安全验证服务128从框415移动到框418并且从数据存储区122(图2)获得先前安全评估157的结果。安全验证服务128然后继续到框421。如果针对特定版本不存在先前安全评估157,那么安全验证服务128替代地从框415移动到框424并且对动态加载的代码143执行安全评估。在一些实施方案中,安全验证服务128可从客户端装置100接收安全评估的结果。安全验证服务128继续到框421。
在框421中,安全验证服务128确定针对动态加载的代码143的版本是否检测到安全风险。如果未检测到安全风险,那么应用131被验证并且可继续执行。此后,安全验证服务128结束。如果检测到安全风险,那么安全验证服务128从框421进行到框427并且响应于安全风险而发起一个或多个动作。可将安全评估的结果传送到与应用市场相关联的实体。例如,安全验证服务128可修改、标记或者去除应用市场中的应用131的出售品163(图2)。
安全验证服务128可修复或修改应用131以消除安全风险。安全验证服务128可使得客户端装置100终止执行应用131和/或卸载应用131。在一些情况下,安全验证服务128可改变沙箱环境129的配置以消除安全风险。例如,可更新网络过滤规则以阻止在沙箱环境129中到恶意软件网络站点的通信量,或者可经由沙箱环境129应用131可访问的触点可用虚拟触点替换。此后,安全验证服务128的所述部分结束。
参考图5,示出了根据本公开的一个实施方案的计算环境113的示意性框图。计算环境113包括一个或多个计算装置500。每个计算装置500包括(例如)具有处理器503和存储器506的至少一个处理器电路,所述处理器503与存储器506两者均耦接到本地接口509。为此,每个计算装置500可包括(例如)至少一个服务器计算机或类似装置。如可了解,本地接口509可包括(例如)数据总线与伴随的地址/控制总线或其他总线结构。
存储于存储器506中的是可由处理器503执行的数据与若干组件两者。具体地说,存储于存储器506中并且可由处理器503执行的是安全验证服务128、应用市场系统125、沙箱环境129以及潜在的其他应用。也存储于存储器506中的可以是数据存储区122和其他数据。此外,操作系统可存储在存储器506中,并且可由处理器503执行。
参考图6,示出了根据本公开的一个实施方案的客户端装置100的示意性框图。客户端装置100包括例如具有处理器603和存储器606的至少一个处理器电路,所述处理器603与存储器606均耦接到本地接口609。如可了解,本地接口609可包括(例如)数据总线与伴随的地址/控制总线或其他总线结构。显示器104还可耦接到本地接口609。
存储于存储器606中的是可由处理器603执行的数据与若干组件两者。具体地说,存储于存储器606并且可由处理器603执行的是市场客户端应用166、沙箱环境129、应用实例134、安全验证客户端服务169以及潜在的其他应用。也存储于存储器606中的可以是数据存储区和其他数据。此外,操作系统可存储在存储器606中,并且可由处理器603执行。
现参考图5和图6,应当理解,可能存在存储在存储器506、606中并且可由相应的处理器503、603执行的其他应用,如可了解的。在本文所论述的任何组件是以软件的形式来实现的情况下,可以采用多种编程语言中的任何一种,例如像C、C++、C#、ObjectiveC、Java?、JavaScript?、Perl、PHP、VisualBasic?、Python?、Ruby、Flash?或其他编程语言。
许多软件组件存储在存储器506、606中并且可由相应的处理器503、603执行。在这方面,术语“可执行的”意指呈最终可由处理器503、603运行的形式的程序文件。可执行程序的实例可为(例如):可转译成相应格式的机器代码的经编译程序,所述格式的机器代码可加载到存储器506、606的随机存取部分中,并且可由处理器503、603运行;可用恰当格式表达的源代码,诸如能够加载到存储器506、606的随机存取部分中并且可由处理器503、603执行的目标代码;或者,可由另一可执行程序解译以在存储器506、606的随机存取部分中生成将由处理器503、603执行的指令的源代码等。可执行程序可存储在存储器506、606的任何部分或组件中,包括(例如)随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、存储卡、光盘(诸如压缩光盘(CD)或数字多功能光盘(DVD))、软盘、磁带或其他存储器组件。
存储器506、606在本文中被定义为包括易失性和非易失性存储器与数据存储组件。易失性组件为在失电之后不会保持数据值的那些组件。非易失性组件为在失电之后保持数据的那些组件。因此,存储器506、606可包括(例如)随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、经由存储卡读取器访问的存储卡、经由相关联软盘驱动器访问的软盘、经由光盘驱动器访问的光盘、经由适当的磁带驱动器访问的磁带和/或其他存储器组件,或这些存储器组件中的任何两个或更多个的组合。此外,RAM可包括(例如)静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)以及其他这类装置。ROM可包括(例如)可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其他类似存储器装置。
另外,处理器503、603可各自代表多个处理器503、603和/或多个处理器核心,并且存储器506、606可各自代表分别在处理电路中并行操作的多个存储器506、606。在这种情况下,本地接口509、609可以是促进多个处理器503、603中的任意两个之间、任意处理器503、603与任意存储器506、606之间或者存储器506、606中的任意两个之间等的通信的合适网络。本地接口509、609可包括被设计来协调(包括例如执行负载均衡)这种通信的另外的系统。处理器503、603可具有电气构造或某一其他可用构造。
尽管安全验证服务128、应用市场系统125、沙箱环境129、市场客户端应用166、应用实例134、安全验证客户端服务169以及本文所描述的其他各种系统可以如以上所论述体现为可由通用硬件执行的软件或代码,但是作为一个替代方案,以上系统还可以体现为专用硬件或软件/通用硬件与专用硬件的组合。如果体现为专用硬件,那么每个专用硬件均可实现为采用许多项技术中的任何一项或组合的电路或状态机。这些技术可包括但不限于离散逻辑电路(其具有用于在施加一个或多个数据信号后实现各种逻辑功能的逻辑门)、具有适当逻辑门的专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他组件等。此类技术通常是本领域技术人员熟知的,并且因此在本文中不进行详细描述。
图3和图4的流程图示出应用市场系统125以及安全验证服务128的多个部分的实现方式的功能和操作。如果体现为软件,那么每个框可表示包括用来实现指定逻辑功能的程序指令的代码的模块、区段或部分。程序指令可体现为以下形式:源代码,其包括以编程语言编写的人类可读语句;或机器代码,其包括可由合适的执行系统(诸如计算机系统或其他系统中的处理器503、603)识别的数字指令。机器代码可从源代码等转换。如果体现为硬件,那么每个框可表示用来实现指定逻辑功能的电路或许多互连电路。
尽管图3和图4的流程图描绘了特定执行顺序,但是应当理解,执行顺序可不同于所描绘的顺序。例如,两个或更多个框的执行顺序可相对于所示的顺序而打乱。另外,可同时或部分同时地执行在图3和图4中连续示出的两个或更多个框。此外,在一些实施方案中,可以跳过或省略图3和图4所示的框中的一个或多个。另外,为了增强的效用、记帐、性能测量或提供疑难解答帮助等,可能会将任何数目的计数器、状态变量、警报信号量或消息添加到本文所描述的逻辑流。应当理解,所有这类变化都在本公开的范围中。
另外,本文所描述的包括软件或代码的任何逻辑或应用,包括安全验证服务128、应用市场系统125、沙箱环境129、市场客户端应用166、应用实例134以及安全验证客户端服务169,均可以体现为由例如像计算机系统或其他系统中的处理器503、603的指令执行系统使用或与所述指令执行系统相结合使用的任何非暂时计算机可读介质。在这个意义上,所述逻辑可包括(例如)语句,所述语句包括可从计算机可读介质提取并且由指令执行系统执行的指令和声明。在本公开的上下文中,“计算机可读介质”可为可含有、存储或维持本文所描述的供指令执行系统使用或与所述指令执行系统相结合使用的逻辑或应用的任何介质。
计算机可读介质可包括许多种物理介质中的任何一种,例如像磁性介质、光学介质或半导体介质。合适的计算机可读介质的更多具体实例将包括但不限于磁带、磁性软盘、磁性硬盘驱动器、存储卡、固态驱动器、USB闪存驱动器或光盘。另外,计算机可读介质可以是随机存取存储器(RAM),包括(例如)静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)或磁性随机存取存储器(MRAM)。此外,计算机可读介质可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其他类型的存储器装置。
本公开的实施方案可鉴于以下条款来描述:
1.一种非暂时计算机可读介质,其体现可在至少一个计算装置中执行的程序,所述程序包括:
在沙箱环境中执行应用的实例的代码,所述应用是从应用市场接收;
在所述应用的所述实例的运行时间期间确定所述应用的所述实例是否尝试访问动态加载的代码的代码,所述代码包括以下至少一种:
确定所述应用的所述实例是否进行特定应用编程接口(API)调用来从网络站点获得可执行代码的代码,其中除了通过所述特定API调用之外,所述应用的所述实例还被限制获得所述可执行代码;
确定所述应用的所述实例在所述沙箱环境中是否正将下载数据加载到存储器的可执行区域中的代码;或者
确定所述应用的所述实例是否已经下载包括可识别可执行代码的数据的代码;
响应于确定所述应用的所述实例尝试访问所述动态加载的代码而对所述动态加载的代码执行安全评估的代码;
将所述安全评估的结果传送到与所述应用市场相关联的实体的代码;以及
发起动作以消除通过所述安全评估检测到的安全风险的代码。
2.如条款1所述的非暂时计算机可读介质,其中所述动作包括修改所述应用市场中的所述应用的出售品。
3.如条款1或2所述的非暂时计算机可读介质,其中所述至少一个计算装置对应于客户端装置。
4.如条款1-3所述的非暂时计算机可读介质,其中执行所述安全评估的所述代码还包括从所述应用市场接收对所述动态加载的代码的先前安全评估的结果的代码。
5.一种系统,其包括:
至少一个计算装置;以及
安全验证服务,所述安全验证服务可在至少一个计算装置中执行,所述安全验证服务包括:
执行应用的实例的逻辑,所述应用被提供在应用市场中;
在所述应用的所述实例的运行时间期间确定所述应用的所述实例尝试从网络站点访问动态加载的代码的逻辑;
响应于确定所述应用的所述实例尝试访问所述动态加载的代码而对所述动态加载的代码执行安全评估的逻辑;以及
将所述安全评估的结果传送到所述应用市场的逻辑。
6.如条款5所述的系统,其中在所述应用的所述实例的运行时间期间确定所述应用的所述实例尝试从所述网络站点访问所述动态加载的代码的所述逻辑还包括:
确定所述应用的所述实例进行特定应用编程接口(API)调用的逻辑,其中除了通过所述特定API调用之外,所述应用的所述实例还被限制获得所述动态加载的代码。
7.如条款5或6所述的系统,其中在所述应用的所述实例的运行时间期间确定所述应用的所述实例尝试从所述网络站点访问所述动态加载的代码的所述逻辑还包括:
追踪由所述应用的所述实例从所述网络站点下载的数据并且确定所述数据包括可执行代码的逻辑。
8.如条款5-7所述的系统,其中执行所述安全评估的所述逻辑被配置来:
确定是否已对所述动态加载的代码执行先前安全评估;以及
当所述先前安全评估已被执行时,利用所述先前安全评估作为所述安全评估。
9.如条款4所述的系统,其中确定是否已执行所述先前安全评估还包括:
确定所述动态加载的代码的指纹;以及
将所述指纹与同动态加载的代码的多个先前安全评估相关联的指纹库进行比较。
10.如条款5-9所述的系统,其中所述安全验证服务还包括响应于通过所述安全评估识别的安全风险而终止所述应用的所述实例或者防止所述应用的所述实例加载所述动态加载的代码的逻辑。
11.如条款5-10所述的系统,其中所述安全验证服务还包括修改所述动态加载的代码以消除通过所述安全评估识别的安全风险的逻辑。
12.如条款5-11所述的系统,其中所述安全验证服务还包括当所述安全评估没有识别到安全风险时允许所述应用的所述实例执行所述动态加载的代码的逻辑。
13.如条款5-12所述的系统,其中所述安全验证服务还包括禁用或标记所述应用市场中的所述应用的出售品的逻辑。
14.如条款5-13所述的系统,其中所述应用的所述实例通过执行的所述逻辑而在移动装置中执行。
15.如条款5-14所述的系统,其中所述应用的所述实例通过执行的所述逻辑而在服务器环境中执行,所述服务器环境代表所述应用市场进行操作。
16.一种方法,其包括:
在沙箱环境中由至少一个计算装置执行应用的实例,所述应用是从所述应用的提供商接收;
由所述至少一个计算装置确定所述应用的所述实例已从网络站点下载数据;
由所述至少一个计算装置确定所述下载数据是否包括可执行代码,所述确定包括:
确定所述应用的所述实例在所述沙箱环境中是否已将所述下载数据的至少一部分加载到存储器的可执行区域中;或者
确定所述应用的所述实例是否已经进行特定应用编程接口(API)调用以获得所述下载数据,其中除了通过所述特定API调用之外,所述应用的所述实例还被限制获得所述可执行代码;
响应于确定所述下载数据包括所述可执行代码而由所述至少一个计算装置对所述下载数据的所述至少一部分执行安全评估;以及
由所述至少一个计算装置将所述安全评估的结果传送到所述应用的所述提供商。
17.如条款11所述的方法,其还包括:
由所述至少一个计算装置确定与所述下载数据的所述至少一部分相关联的代码签名;以及
由所述至少一个计算装置接收对应于所述代码签名的先前安全评估的结果。
18.如条款16或17所述的方法,其中所述应用的所述提供商是应用市场,并且所述应用市场和所述网络站点由不同的实体控制。
19.如条款16-18所述的方法,其还包括:
响应于所述安全评估而由所述至少一个计算装置修改所述下载数据的所述至少一部分以消除安全风险;或者
响应于所述安全评估而由所述至少一个计算装置改变所述沙箱环境的配置以消除所述安全风险。
20.如条款16-19所述的方法,其中所述应用的所述实例响应于动态应用指示而在所述沙箱环境中执行,所述动态应用指示是从所述应用的所述提供商接收并且与所述应用相关联。
应该强调的是,本公开的上述实施方案仅是为了清楚理解本公开的原理而陈述的实现形式的可能实例。在实质上不脱离本公开的精神和原理的情况下,可以对上述实施方案做出许多变化和修改。在本文中,所有这类修改和变化意图被包括在本公开的范围内,并且受所附权利要求书保护。
Claims (15)
1.一种系统,其包括:
至少一个计算装置;以及
安全验证服务,所述安全验证服务可在所述至少一个计算装置中执行,所述安全验证服务包括:
执行应用的实例的逻辑,所述应用被提供在应用市场中;
在所述应用的所述实例的运行时间期间确定所述应用的所述实例尝试从网络站点访问动态加载的代码的逻辑;
响应于确定所述应用的所述实例尝试访问所述动态加载的代码而对所述动态加载的代码执行安全评估的逻辑;以及
将所述安全评估的结果传送到所述应用市场的逻辑。
2.如权利要求1所述的系统,其中在所述应用的所述实例的运行时间期间确定所述应用的所述实例尝试从所述网络站点访问所述动态加载的代码的所述逻辑还包括以下至少一种:
确定所述应用的所述实例进行特定应用编程接口(API)调用的逻辑,其中除了通过所述特定API调用之外,所述应用的所述实例还被限制获得所述动态加载的代码;
确定所述应用的所述实例在沙箱环境中是否正将下载数据加载到存储器的可执行区域中的逻辑;或者
确定所述应用的所述实例是否已经下载包括可识别可执行代码的数据的逻辑。
3.如权利要求1所述的系统,其中在所述应用的所述实例的运行时间期间确定所述应用的所述实例尝试从所述网络站点访问所述动态加载的代码的所述逻辑还包括:
追踪由所述应用的所述实例从所述网络站点下载的数据并且确定所述数据包括可执行代码的逻辑。
4.如权利要求1所述的系统,其中执行所述安全评估的所述逻辑被配置来:
确定是否已对所述动态加载的代码执行先前安全评估;以及
当所述先前安全评估已被执行时,利用所述先前安全评估作为所述安全评估。
5.如权利要求4所述的系统,其中确定是否已执行所述先前安全评估还包括:
确定所述动态加载的代码的指纹;以及
将所述指纹与同动态加载的代码的多个先前安全评估相关联的指纹库进行比较。
6.如权利要求1所述的系统,其中所述安全验证服务还包括:
响应于通过所述安全评估识别的安全风险而终止所述应用的所述实例或者防止所述应用的所述实例加载所述动态加载的代码的逻辑;以及
当所述安全评估没有识别到安全风险时允许所述应用的所述实例执行所述动态加载的代码的逻辑。
7.如权利要求1所述的系统,其中所述安全验证服务还包括修改所述动态加载的代码以消除通过所述安全评估识别的安全风险的逻辑。
8.如权利要求1所述的系统,其中所述安全验证服务还包括禁用或标记所述应用市场中的所述应用的出售品的逻辑。
9.如权利要求1所述的系统,其中所述应用的所述实例通过执行的所述逻辑而在移动装置中执行。
10.如权利要求1所述的系统,其中所述应用的所述实例通过执行的所述逻辑而在服务器环境中执行,所述服务器环境代表所述应用市场进行操作。
11.一种方法,其包括:
在沙箱环境中由至少一个计算装置执行应用的实例,所述应用从所述应用的提供商接收;
由所述至少一个计算装置确定所述应用的所述实例已从网络站点下载数据;
由所述至少一个计算装置确定所述下载数据是否包括可执行代码,所述确定包括:
确定所述应用的所述实例在所述沙箱环境中是否已将所述下载数据的至少一部分加载到存储器的可执行区域中;或者
确定所述应用的所述实例是否已经进行特定应用编程接口(API)调用以获得所述下载数据,其中除了通过所述特定API调用之外,所述应用的所述实例还被限制获得所述可执行代码;
响应于确定所述下载数据包括所述可执行代码而由所述至少一个计算装置对所述下载数据的所述至少一部分执行安全评估;以及
由所述至少一个计算装置将所述安全评估的结果传送到所述应用的所述提供商。
12.如权利要求11所述的方法,其还包括:
由所述至少一个计算装置确定与所述下载数据的所述至少一部分相关联的代码签名;以及
由所述至少一个计算装置接收对应于所述代码签名的先前安全评估的结果。
13.如权利要求11所述的方法,其中所述应用的所述提供商是应用市场,并且所述应用市场和所述网络站点由不同的实体控制。
14.如权利要求11所述的方法,其还包括:
响应于所述安全评估而由所述至少一个计算装置修改所述下载数据的所述至少一部分以消除安全风险;或者
响应于所述安全评估而由所述至少一个计算装置改变所述沙箱环境的配置以消除所述安全风险。
15.如权利要求11所述的方法,其中所述应用的所述实例响应于动态应用指示而在所述沙箱环境中执行,所述动态应用指示从所述应用的所述提供商接收并且与所述应用相关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/012,520 US9591003B2 (en) | 2013-08-28 | 2013-08-28 | Dynamic application security verification |
US14/012,520 | 2013-08-28 | ||
PCT/US2014/052932 WO2015031488A1 (en) | 2013-08-28 | 2014-08-27 | Dynamic application security verification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105493470A true CN105493470A (zh) | 2016-04-13 |
CN105493470B CN105493470B (zh) | 2019-08-06 |
Family
ID=52585234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480047329.1A Active CN105493470B (zh) | 2013-08-28 | 2014-08-27 | 动态应用安全验证的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9591003B2 (zh) |
EP (1) | EP3039841A4 (zh) |
JP (1) | JP6326497B2 (zh) |
CN (1) | CN105493470B (zh) |
CA (1) | CA2919727C (zh) |
WO (1) | WO2015031488A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622200A (zh) * | 2016-07-14 | 2018-01-23 | 腾讯科技(深圳)有限公司 | 应用程序的安全性检测方法及装置 |
CN108710801A (zh) * | 2018-05-29 | 2018-10-26 | 北京迪诺益佳信息科技有限公司 | 一种移动应用动态加载代码的行为管控方法 |
CN111433775A (zh) * | 2017-12-07 | 2020-07-17 | 三星电子株式会社 | 安全性增强方法及其电子设备 |
CN112926049A (zh) * | 2021-03-25 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 一种信息的风险防控方法、装置及设备 |
CN113646761A (zh) * | 2019-01-24 | 2021-11-12 | 思杰系统有限公司 | 向应用提供应用安全、验证和特征分析 |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555388B1 (en) | 2011-05-24 | 2013-10-08 | Palo Alto Networks, Inc. | Heuristic botnet detection |
US9589129B2 (en) | 2012-06-05 | 2017-03-07 | Lookout, Inc. | Determining source of side-loaded software |
US9407443B2 (en) | 2012-06-05 | 2016-08-02 | Lookout, Inc. | Component analysis of software applications on computing devices |
US9104870B1 (en) * | 2012-09-28 | 2015-08-11 | Palo Alto Networks, Inc. | Detecting malware |
US9215239B1 (en) * | 2012-09-28 | 2015-12-15 | Palo Alto Networks, Inc. | Malware detection based on traffic analysis |
US9208215B2 (en) | 2012-12-27 | 2015-12-08 | Lookout, Inc. | User classification based on data gathered from a computing device |
US9811665B1 (en) | 2013-07-30 | 2017-11-07 | Palo Alto Networks, Inc. | Static and dynamic security analysis of apps for mobile devices |
US10019575B1 (en) | 2013-07-30 | 2018-07-10 | Palo Alto Networks, Inc. | Evaluating malware in a virtual machine using copy-on-write |
US9613210B1 (en) | 2013-07-30 | 2017-04-04 | Palo Alto Networks, Inc. | Evaluating malware in a virtual machine using dynamic patching |
US10866711B1 (en) | 2013-12-16 | 2020-12-15 | Amazon Technologies, Inc. | Providing account information to applications |
US9473491B1 (en) | 2014-12-16 | 2016-10-18 | Amazon Technologies, Inc. | Computing device with integrated authentication token |
US10841297B2 (en) | 2013-12-16 | 2020-11-17 | Amazon Technologies, Inc. | Providing multi-factor authentication credentials via device notifications |
US10362026B2 (en) | 2013-12-16 | 2019-07-23 | Amazon Technologies, Inc. | Providing multi-factor authentication credentials via device notifications |
US9489516B1 (en) | 2014-07-14 | 2016-11-08 | Palo Alto Networks, Inc. | Detection of malware using an instrumented virtual machine environment |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
US9805193B1 (en) | 2014-12-18 | 2017-10-31 | Palo Alto Networks, Inc. | Collecting algorithmically generated domains |
US9542554B1 (en) | 2014-12-18 | 2017-01-10 | Palo Alto Networks, Inc. | Deduplicating malware |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
EP3270319B1 (en) * | 2015-03-13 | 2022-02-16 | Everspin Corp. | Method and apparatus for generating dynamic security module |
CN104766006B (zh) * | 2015-03-18 | 2019-03-12 | 百度在线网络技术(北京)有限公司 | 一种确定危险文件所对应的行为信息的方法和装置 |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
WO2016178816A1 (en) * | 2015-05-01 | 2016-11-10 | Lookout, Inc. | Determining source of side-loaded software |
JP6668390B2 (ja) * | 2015-06-27 | 2020-03-18 | マカフィー, エルエルシー | マルウェアの軽減 |
US9864852B2 (en) | 2015-07-27 | 2018-01-09 | Amazon Technologies, Inc. | Approaches for providing multi-factor authentication credentials |
KR102431266B1 (ko) | 2015-09-24 | 2022-08-11 | 삼성전자주식회사 | 통신 시스템에서 정보 보호 장치 및 방법 |
US10296737B2 (en) | 2015-12-09 | 2019-05-21 | International Business Machines Corporation | Security enforcement in the presence of dynamic code loading |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10366213B2 (en) | 2016-02-09 | 2019-07-30 | International Business Machines Corporation | Protecting an application via an intra-application firewall |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10084781B2 (en) * | 2016-04-26 | 2018-09-25 | International Business Machines Corporation | Bypassing certificate pinning |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US10169576B2 (en) | 2016-11-15 | 2019-01-01 | International Business Machines Corporation | Malware collusion detection |
US11704589B1 (en) * | 2017-03-20 | 2023-07-18 | Amazon Technologies, Inc. | Automatically identifying dynamic applications |
US10218697B2 (en) | 2017-06-09 | 2019-02-26 | Lookout, Inc. | Use of device risk evaluation to manage access to services |
GB2563618B (en) * | 2017-06-20 | 2020-09-16 | Arm Ip Ltd | Electronic system vulnerability assessment |
US11409886B2 (en) | 2017-07-31 | 2022-08-09 | Nec Corporation | Program verification system, method, and program |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10831898B1 (en) * | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US10956573B2 (en) | 2018-06-29 | 2021-03-23 | Palo Alto Networks, Inc. | Dynamic analysis techniques for applications |
US11010474B2 (en) | 2018-06-29 | 2021-05-18 | Palo Alto Networks, Inc. | Dynamic analysis techniques for applications |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US10885200B2 (en) * | 2018-11-15 | 2021-01-05 | International Business Machines Corporation | Detecting security risks related to a software component |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11228910B2 (en) * | 2019-01-25 | 2022-01-18 | V440 Spó£Ka Akcyjna | Mobile communication device and method of determining security status thereof |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11196765B2 (en) | 2019-09-13 | 2021-12-07 | Palo Alto Networks, Inc. | Simulating user interactions for malware analysis |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US12112321B2 (en) * | 2019-11-28 | 2024-10-08 | Qualcomm Incorporated | Systems and methods for implementing a secure user interface |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11392707B2 (en) | 2020-04-15 | 2022-07-19 | Capital One Services, Llc | Systems and methods for mediating permissions |
US11070982B1 (en) | 2020-04-15 | 2021-07-20 | T-Mobile Usa, Inc. | Self-cleaning function for a network access node of a network |
US11444980B2 (en) | 2020-04-15 | 2022-09-13 | T-Mobile Usa, Inc. | On-demand wireless device centric security for a 5G wireless network |
US11799878B2 (en) | 2020-04-15 | 2023-10-24 | T-Mobile Usa, Inc. | On-demand software-defined security service orchestration for a 5G wireless network |
US11824881B2 (en) | 2020-04-15 | 2023-11-21 | T-Mobile Usa, Inc. | On-demand security layer for a 5G wireless network |
US11115824B1 (en) | 2020-05-14 | 2021-09-07 | T-Mobile Usa, Inc. | 5G cybersecurity protection system |
US11206542B2 (en) | 2020-05-14 | 2021-12-21 | T-Mobile Usa, Inc. | 5G cybersecurity protection system using personalized signatures |
US11057774B1 (en) | 2020-05-14 | 2021-07-06 | T-Mobile Usa, Inc. | Intelligent GNODEB cybersecurity protection system |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
CN102081722A (zh) * | 2011-01-04 | 2011-06-01 | 奇智软件(北京)有限公司 | 一种保护指定应用程序的方法及装置 |
US20110145435A1 (en) * | 2009-12-14 | 2011-06-16 | Microsoft Corporation | Reputation Based Redirection Service |
US20120117651A1 (en) * | 1997-01-29 | 2012-05-10 | Yigal Mordechai Edery | Malicious Mobile Code Runtime Monitoring System and Methods |
CN102736978A (zh) * | 2012-06-26 | 2012-10-17 | 奇智软件(北京)有限公司 | 一种检测应用程序的安装状态的方法及装置 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230380A (ja) * | 1994-02-15 | 1995-08-29 | Internatl Business Mach Corp <Ibm> | 適用業務プログラムの利用管理方法およびシステム |
US5974549A (en) * | 1997-03-27 | 1999-10-26 | Soliton Ltd. | Security monitor |
US7488092B2 (en) * | 2005-08-05 | 2009-02-10 | Genlyte Thomas Group Llc | Track fixture with hinged accessory ring |
US7836500B2 (en) * | 2005-12-16 | 2010-11-16 | Eacceleration Corporation | Computer virus and malware cleaner |
US20080127114A1 (en) * | 2006-11-28 | 2008-05-29 | Amit Vasudevan | Framework for stealth dynamic coarse and fine-grained malware analysis |
US9779235B2 (en) | 2007-10-17 | 2017-10-03 | Sukamo Mertoguno | Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity |
US8341384B2 (en) * | 2008-06-06 | 2012-12-25 | Apple Inc. | Installation of software onto a computer |
US8397215B2 (en) * | 2009-05-18 | 2013-03-12 | National Instruments Corporation | Executing a physical model with multiple physical domains in a web browser |
US8205257B1 (en) * | 2009-07-28 | 2012-06-19 | Symantec Corporation | Systems and methods for preventing threats originating from a non-process based component hosted by a trusted process |
JP2010040051A (ja) * | 2009-09-15 | 2010-02-18 | Spicysoft Kk | コンテンツ配信システム及びコンテンツ配信方法、並びにコンテンツ配信装置 |
US8479286B2 (en) * | 2009-12-15 | 2013-07-02 | Mcafee, Inc. | Systems and methods for behavioral sandboxing |
US8719939B2 (en) * | 2009-12-31 | 2014-05-06 | Mcafee, Inc. | Malware detection via reputation system |
US9135443B2 (en) * | 2010-05-06 | 2015-09-15 | Mcafee, Inc. | Identifying malicious threads |
WO2012027588A1 (en) * | 2010-08-25 | 2012-03-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
US8799005B2 (en) * | 2011-04-01 | 2014-08-05 | Votini, Llc | Systems and methods for capturing event feedback |
US20120272320A1 (en) * | 2011-04-25 | 2012-10-25 | Verizon Patent And Licensing Inc. | Method and system for providing mobile device scanning |
JP5654944B2 (ja) * | 2011-05-02 | 2015-01-14 | Kddi株式会社 | アプリケーション解析装置およびプログラム |
WO2012154838A2 (en) | 2011-05-09 | 2012-11-15 | Google Inc. | Generating application recommendations based on user installed applications |
US8819638B2 (en) * | 2011-09-20 | 2014-08-26 | Alcatel Lucent | Application protoyping suite |
US8578499B1 (en) * | 2011-10-24 | 2013-11-05 | Trend Micro Incorporated | Script-based scan engine embedded in a webpage for protecting computers against web threats |
US8181254B1 (en) * | 2011-10-28 | 2012-05-15 | Google Inc. | Setting default security features for use with web applications and extensions |
US9235706B2 (en) * | 2011-12-02 | 2016-01-12 | Mcafee, Inc. | Preventing execution of task scheduled malware |
US9081959B2 (en) * | 2011-12-02 | 2015-07-14 | Invincea, Inc. | Methods and apparatus for control and detection of malicious content using a sandbox environment |
US9063964B2 (en) * | 2012-01-04 | 2015-06-23 | Trustgo Mobile, Inc. | Detecting application harmful behavior and grading application risks for mobile devices |
US8918881B2 (en) * | 2012-02-24 | 2014-12-23 | Appthority, Inc. | Off-device anti-malware protection for mobile devices |
US20130304677A1 (en) * | 2012-05-14 | 2013-11-14 | Qualcomm Incorporated | Architecture for Client-Cloud Behavior Analyzer |
US9324034B2 (en) * | 2012-05-14 | 2016-04-26 | Qualcomm Incorporated | On-device real-time behavior analyzer |
US9298494B2 (en) * | 2012-05-14 | 2016-03-29 | Qualcomm Incorporated | Collaborative learning for efficient behavioral analysis in networked mobile device |
US9747440B2 (en) * | 2012-08-15 | 2017-08-29 | Qualcomm Incorporated | On-line behavioral analysis engine in mobile device with multiple analyzer model providers |
US9344762B2 (en) * | 2012-10-18 | 2016-05-17 | Broadcom Corporation | Integration of untrusted applications and frameworks with a secure operating system environment |
US9665465B1 (en) * | 2012-11-19 | 2017-05-30 | Amazon Technologies, Inc. | Automated determination of application permissions |
US20140215614A1 (en) * | 2013-01-30 | 2014-07-31 | Samsung Electronics Co., Ltd. | System and method for a security assessment of an application uploaded to an appstore |
US9639693B2 (en) * | 2013-06-28 | 2017-05-02 | Symantec Corporation | Techniques for detecting a security vulnerability |
-
2013
- 2013-08-28 US US14/012,520 patent/US9591003B2/en active Active
-
2014
- 2014-08-27 EP EP14840839.6A patent/EP3039841A4/en active Pending
- 2014-08-27 CN CN201480047329.1A patent/CN105493470B/zh active Active
- 2014-08-27 CA CA2919727A patent/CA2919727C/en active Active
- 2014-08-27 JP JP2016537815A patent/JP6326497B2/ja active Active
- 2014-08-27 WO PCT/US2014/052932 patent/WO2015031488A1/en active Application Filing
-
2017
- 2017-01-24 US US15/413,941 patent/US20170132414A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117651A1 (en) * | 1997-01-29 | 2012-05-10 | Yigal Mordechai Edery | Malicious Mobile Code Runtime Monitoring System and Methods |
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
US20110145435A1 (en) * | 2009-12-14 | 2011-06-16 | Microsoft Corporation | Reputation Based Redirection Service |
CN102081722A (zh) * | 2011-01-04 | 2011-06-01 | 奇智软件(北京)有限公司 | 一种保护指定应用程序的方法及装置 |
CN102736978A (zh) * | 2012-06-26 | 2012-10-17 | 奇智软件(北京)有限公司 | 一种检测应用程序的安装状态的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622200A (zh) * | 2016-07-14 | 2018-01-23 | 腾讯科技(深圳)有限公司 | 应用程序的安全性检测方法及装置 |
CN111433775A (zh) * | 2017-12-07 | 2020-07-17 | 三星电子株式会社 | 安全性增强方法及其电子设备 |
CN108710801A (zh) * | 2018-05-29 | 2018-10-26 | 北京迪诺益佳信息科技有限公司 | 一种移动应用动态加载代码的行为管控方法 |
CN108710801B (zh) * | 2018-05-29 | 2019-03-22 | 北京迪诺益佳信息科技有限公司 | 一种移动应用动态加载代码的行为管控方法 |
CN113646761A (zh) * | 2019-01-24 | 2021-11-12 | 思杰系统有限公司 | 向应用提供应用安全、验证和特征分析 |
CN112926049A (zh) * | 2021-03-25 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 一种信息的风险防控方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
US9591003B2 (en) | 2017-03-07 |
CA2919727A1 (en) | 2015-03-05 |
US20170132414A1 (en) | 2017-05-11 |
CN105493470B (zh) | 2019-08-06 |
EP3039841A4 (en) | 2017-03-15 |
EP3039841A1 (en) | 2016-07-06 |
WO2015031488A1 (en) | 2015-03-05 |
JP6326497B2 (ja) | 2018-05-16 |
CA2919727C (en) | 2019-05-07 |
US20150067830A1 (en) | 2015-03-05 |
JP2016534460A (ja) | 2016-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105493470A (zh) | 动态应用安全验证 | |
KR102071160B1 (ko) | 애플리케이션 정보 위험 관리를 위한 방법 및 장치 | |
CN107852412B (zh) | 用于网络钓鱼和品牌保护的系统和方法、计算机可读介质 | |
CN105940654B (zh) | 特权静态被托管的web应用 | |
US10432662B2 (en) | Method and system for blocking malicious third party site tagging | |
US9032520B2 (en) | Remote security self-assessment framework | |
CN111416811B (zh) | 越权漏洞检测方法、系统、设备及存储介质 | |
US20170243182A1 (en) | Method of Visiting Online Banking Website and Browser | |
US9219719B1 (en) | Automatic dynamic vetting of browser extensions and web applications | |
EP3709592A1 (en) | Detecting web application vulnerabilities | |
US9973525B1 (en) | Systems and methods for determining the risk of information leaks from cloud-based services | |
US9680823B2 (en) | Convenient login method, apparatus and system for automatically detecting and filling in login field within web environment or application | |
US11637839B2 (en) | Automated and adaptive validation of a user interface | |
US20220217140A1 (en) | Automatic event migration | |
Vinayaga-Sureshkanth et al. | An investigative study on the privacy implications of mobile e-scooter rental apps | |
Demissie et al. | Anflo: Detecting anomalous sensitive information flows in android apps | |
Rajput et al. | Patient’s data privacy and security in mHealth applications: a Charles proxy-based recommendation | |
CN111488580A (zh) | 安全隐患检测方法、装置、电子设备及计算机可读介质 | |
Dennis et al. | Cybersecurity vulnerabilities in mobile fare payment applications: a case study | |
Jiang et al. | A security sandbox approach of android based on hook mechanism | |
US9965744B1 (en) | Automatic dynamic vetting of browser extensions and web applications | |
CN107623695A (zh) | Https网页资源安全评估方法和设备 | |
Franken | Security and Privacy Policy Bugs in Browser Engines | |
CN103200246A (zh) | 一种基于可信计算的网络访问控制方法及系统 | |
WO2014130045A1 (en) | Remote security self-assessment framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |