CN103875003A - 用于在移动网络环境中把应用列入白名单的系统和方法 - Google Patents

用于在移动网络环境中把应用列入白名单的系统和方法 Download PDF

Info

Publication number
CN103875003A
CN103875003A CN201280050860.5A CN201280050860A CN103875003A CN 103875003 A CN103875003 A CN 103875003A CN 201280050860 A CN201280050860 A CN 201280050860A CN 103875003 A CN103875003 A CN 103875003A
Authority
CN
China
Prior art keywords
application
white list
mobile device
reputation
identify
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
CN201280050860.5A
Other languages
English (en)
Inventor
S·达斯
J·迪瓦卡拉
A·丹戈
P·哈尔
A·舒克拉
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.)
McAfee LLC
Original Assignee
McAfee LLC
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 McAfee LLC filed Critical McAfee LLC
Publication of CN103875003A publication Critical patent/CN103875003A/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

标识多个应用中的一个应用的一种或多种属性。至少部分地基于已标识的属性确定该应用的声誉分数,以便判断该应用是否应当被包括在白名单中。针对在移动设备上下载该应用的请求,可以应用白名单。在一些方面中,通过对可由一个或多个网络中的一个或多个不同类型的移动设备下载的应用进行自动化采集和分析,可以生成白名单。在一些方面中,可以通过阻断对下载被判断为未被包括在白名单中的应用的尝试,应用白名单。

Description

用于在移动网络环境中把应用列入白名单的系统和方法
技术领域
本公开内容通常涉及计算机网络的领域,且尤其涉及用于在移动网络环境中把应用列入白名单的系统和方法。
背景
当今社会,计算机网络安全的领域已经变得日益重要和复杂。计算机网络环境被配置为用于几乎每个企业或组织,通常具有多个互连的计算机(例如,最终用户计算机、膝上型计算机、服务器、打印设备等等)。此外,现今的计算机和通信网络包含诸如智能电话、平板计算机等等的移动设备,它们允许用户在这些设备上块速地且以最小监督下载和安装应用。然而,如果没有受到合适的安全体系结构和网络预防措施的管理,则未知的或不可信任的来源的应用对移动资源和应用编程接口的不受限制的访问可以引起对用户、设备和网络的损害。因而,需要有创新性的工具辅助IT管理员在计算机和通信网络环境内有效控制和管理移动设备上的应用。
附图简述
为了提供对本公开内容和特征及其优点的更完整的理解,结合附图参考下列描述,其中类似的标号表示类似的部分,附图中:
图1是阐释根据一种示例实施例在移动网络环境中把应用列入白名单的系统的组件的简化框图;
图2是阐释根据至少一个示例实施例移动网络环境中的白名单的示例应用的简化图;
图3是阐释根据至少一个示例实施例移动网络环境中的白名单的另一示例应用的简图;
图4是阐释根据本公开内容的示例代码流向图的简图;
图5是阐释根据本公开内容的示例数据流向图的简图;
图6A-6C是阐释可以与本公开内容的各实施例相关联的示例操作的步骤的简化流程图;以及
图7是表示出针对根据本说明书的声誉分数的多种应用的示例场景的柱状图。
示例实施例的详细描述
概览
通常,本说明说中所描述的主题的一个方面的可以用包括以下动作的方法来实现:标识多个应用中的一个应用的一种或多种属性,至少部分地基于已标识的属性确定该应用的声誉分数,以及判断该应用是否应当被包括在第一白名单中。可以针对在移动设备上下载应用的请求应用白名单。
在本说明书中所描述的本主题的另一方面可以用包括以下的系统来实现:至少一个处理器设备、至少一个存储器元件和移动应用批准引擎。在由至少一个处理器设备执行时,移动应用批准引擎可以标识多个应用中的一个应用的一种或多种属性,至少部分地基于已标识的属性确定应用的声誉分数,判断该应用是否应当被包括在第一白名单中,并且针对在移动设备上下载应用的请求应用白名单。
这些和其他实施例均可选地包括下列特征中的一个或多个。至少一个第一策略可以与第一白名单相关联,且判断该应用是否应当被包括在第一白名单中可以基于该应用对至少一个第一策略的符合性。第一白名单可以与第一实体相关联,且把该应用包括在与第二实体相关联的第二白名单中可以至少部分地基于该应用对至少一个第二策略的符合性。第一策略可以是多个策略中的一个,所述多个策略中的每一策略与具体的移动设备生产商和/或具体的移动网络服务提供商相关联。判断该应用是否应当被包括在第一白名单中可以包括判断声誉分数是否指示高于第一白名单的阈值声誉分数的可信性水平的可信性水平。可以从至少一个应用源获得包括该应用的多个应用,且对于所述多个应用中的每一应用,可以判断各个应用是否应当被包括在第一白名单中。所述多个应用可以包括可在第一操作系统上操作的至少一个应用和可在不同的第二操作系统上操作的至少一个其他应用。可以判断从第一白名单略去该应用,且应用第一白名单包括阻断把该应用下载到移动设备。应用第一白名单可以包括在移动设备上下载第一白名单的至少一部分,以供由移动设备判断是否允许在移动设备上至少下载该应用。
进一步,这些和其他实施例也可以各自可选地包括下列特征中的一个或多个。标识应用的一种或多种属性可以包括在测试环境中执行应用并观察应用的功能性。至少部分地基于所标识的开发者的声誉,可以把应用的开发者与开发者的声誉、应用的声誉分数标识在一起。开发者的声誉可以基于与开发者相关联的其他应用的声誉分数。标识应用的一种或多种属性可以包括标识与把应用部署在一个或多个移动设备上相关的一个或多个事件。这些事件可以标识由一个或多个移动设备结合该应用在一个或多个移动设备上的操作检测到的至少一个负面安全事件。这些事件可以标识由应用做出的与具体的远程服务器设备的一个或多个网络连接。标识应用的一种或多种属性还可以包括标识具体的远程服务器设备的声誉。该应用可以适于在具体的操作系统的多个版本中的每一个上操作。可以标识该应用的一种或多种功能,以便判断该应用是否包括一组不期望的功能中所包括的一种或多种功能。标识该应用的函数可以包括反编译该应用以便获得经反编译的代码、解析经反编译的代码并且创建代码流向图和数据流向图。第一白名单可以包括经批准下载到一组具体的移动设备中的任何一个上的多个应用的列表。
各特征中的一些或全部可以是计算机实现的方法,或者还被包括在各个系统或用于执行所描述的这种功能性的其他设备中。在下面的附图和描述中陈述本公开内容的这些和其他特征、方面和实现的细节。从本描述和附图以及权利要求中将明显看出本公开内容的其他特征、对象和优点。
示例实施例
图1是阐释用于在移动网络环境中将应用列入白名单的系统10的示例实现的简化框图。示例性环境阐释把一个或多个移动设备14与移动应用网络16连接起来的网络12。移动应用网络16可以包括一个或多个计算设备,包括提供一个或多个移动应用18以供由一个或多个移动设备下载的设备。移动应用网络16可以进一步包括一个或多个网络、子网和连接,包括共享计算资源、基于因特网的服务器和网络元件、基于云的计算环境、数据中心、企业网络等等。为便于讨论和阐释,图1中仅示出一个移动设备。在本公开内容的宽泛教导内,任何数量的移动设备可以事实上连接在网络12上。移动设备(例如,移动设备14)包括移动电话、智能移动电话(智能电话)、电子书阅读器、平板、iPad、个人数字助理(PDA)、膝上型计算机或电子笔记本、便携式导航系统、多媒体设备(例如,照相机、视频和/或音频播放器等等)、游戏系统、其他手持式电子设备和能够在系统10内发起语音、音频、视频、媒体或数据交换的任何其他类似的设备、组件、元件或物体。
在一个示例实施例中,移动设备14可以与移动应用网络16通信并访问在移动应用网络16中或从其可获得的一个或多个应用18。例如,可以结合诸如
Figure BDA0000491879230000041
安卓市场(
Figure BDA0000491879230000042
Android Market)、
Figure BDA0000491879230000043
应用商店(
Figure BDA0000491879230000044
App Store)、
Figure BDA0000491879230000045
软件商店和应用目录(
Figure BDA0000491879230000046
Software Store and App Catalog)、
Figure BDA0000491879230000047
应用世界(
Figure BDA0000491879230000048
App World)等等的一个或多个应用软件分布平台以及其他来源来提供移动应用18。
在此所使用的,“应用”或“移动应用”包括在移动设备上运行(或能够在其上运行)并为移动设备的用户执行特定任务的应用软件。通常,应用包含含有在计算设备上可以理解和处理的指令的任何软件文件,诸如例如可执行文件、库模块、目标文件、脚本文件、解释器文件、可执行模块等等。通常,应用能够被反编译(反编译是这样的过程:把包含相对低的抽象层次的信息例如汇编语言的诸如可执行文件等的文件转换成人类可读的更高的抽象层次,诸如像C++的编程语言)。应用可以包括预先安装在移动设备上的原生应用,例如通信录、日历、计算器、游戏、地图和Web浏览器。也可以从移动应用网络16中的各种应用软件分发平台下载应用。根据本公开内容的各实施例,应用18包括任何新的应用和对原生的或可下载的应用的任何更新。这样的移动应用的示例可以包括视频游戏应用(或“app”)、地图应用、生产力应用、新闻应用、web浏览器应用、电子邮件应用、电子阅读器应用、社交网络应用以及潜在地无限的其他示例。
移动应用网络16可以包括评估应用声誉的声誉引擎20,声誉在此也称为“声誉分数”或“信任分数”(贯穿本说明书,可以可互换地使用这两个术语)。声誉分数是指示应用在从良好(例如,声誉好的)到恶意或不安全(例如,声誉不好的)的范围(例如,连续或离散的)上的可信性或安全性的相对水平的值(例如,数字、文本、图示等等)。声誉分数可以指示应用是恶意软件或在安装时以另外方式对移动设备或网络带来威胁的概率。例如,具有属于恶意的高概率的应用可以具有高的声誉分数。在一个示例场景中,自动地且在没有授权的情况下打开移动设备的照相机和话筒(或其他记录设备)的应用可以被视为不安全或恶意,这是由于违反了一个或多个策略。另一方面,仅仅访问移动设备的处理器和存储器以便促进游戏卡的应用可以被视为良好。
根据图1中所阐释的实施例,每一移动设备14可以配备有一个或多个白名单强制执行模块22,用于在移动设备14强制执行由一个或多个服务器(例如,17)维护的白名单。白名单服务器17可以配备有应用声誉数据库26和策略数据库28。策略数据库28中的策略可以由服务提供商、设备生产商、企业管理者或任何其他适当的实体定义、相关联、指派或应用。在一些实施例中,声誉引擎20可以计算声誉分数并将声誉分数以及标识应用的其他信息一起存储在适当位置中。例如,声誉引擎20可以把应用声誉推送给服务器17,且服务器17可以把声誉分数和应用标识信息存储在应用声誉数据库26中。服务器17也可以支持白名单30,白名单30可以被存储在应用声誉数据库26中。这样的白名单30可以基于策略数据库28中的策略,且指示被判断为符合相应实体的策略的应用和/或应用动作。在一些实施例中,声誉引擎20可以分析应用、把应用和应用函数和其他动作表征为可信任的或不可信任的,并把可信任的应用存储在合适的位置(例如,白名单30)中。
在一些实施例中,声誉引擎20可以爬寻移动应用网络16(例如,因特网)以便得到应用,并下载它们且存储在合适的位置(例如,服务器17)中,或存储在与声誉引擎20通信的存储设备。在其他实施例中,声誉引擎20可以从诸如移动设备14、应用软件分布平台、威胁智能来源32等等的多个源收集和聚合应用指纹的目录。在此所使用的“应用指纹”包括唯一地标识应用的一种或多种该应用的特性(例如,从应用清单获得的应用代码等等)和/或应用的行为(例如,应用请求或动作、网络活动等等)。
应用清单包括包含关于应用的细节的一个或多个文件,例如应用代码(包括应用函数和变量);应用代码流向图和数据流向图;唯一应用标识(ID)标签(例如,
Figure BDA0000491879230000051
应用ID号、安卓市场ID号或可以唯一地标识应用的其他系列字符);应用开发者身份;应用证书;应用名称;诸如照相机激活、网络连接性、电话激活、地理定位等等的应用能力;该应用可用的端口和协议;应用寿命;应用的地理源头;应用在移动设备上首次和/或最新出现日和/或时间;与应用相关联的文件和文件散列;移动设备当前所位于的国家/地区;以及应用随后出现的地理位置等等。应用的行为可以包括网络活动;攻击历史;实际上由应用使用的端口和协议;与其他已知的因特网协议(IP)地址的关联;对资源的应用请求;以及应用动作。应理解,在此出于示例目的陈述这些类型的细节,且不预期以任何方式限制。
威胁智能来源32包括来自网络12内部或外部的一个或多个源的威胁信息,例如web声誉引擎、文件声誉引擎、网络威胁信息、因特网协议(IP)和发送者声誉引擎、安全漏洞信息等等。威胁智能来源32可以被格式化为XML、CSV、简单文本文件等等,且可以提供关于各种潜在的威胁的实时的、动态的和最新的信息。威胁智能来源32可以由诸如安全服务提供商等的独立的第三方提供,或由企业(或网络)安全服务提供。威胁智能来源32可以被提供为更新声誉分数,和/或促进声誉引擎20对应用的分析。
在各示例实施例中,移动设备14可以配备有一个或多个应用34。应用34可以是预先安装在移动设备14上的原生应用。根据本公开内容的各实施例,声誉引擎20可以包括用于针对规则集40分析每一应用(例如,应用18)的处理器36和存储器38。移动设备14可以被配置为把信息发送给声誉引擎20,以及/或者准许声誉引擎20访问被存储在移动设备14上的信息。在示例实施例中,用户可以给声誉引擎20提供访问移动设备14的许可。在另一示例实施例中,例如,当用户签约因特网站点以便访问由声誉引擎20提供的服务时,移动设备14可以被配置为使用认证协议来与声誉引擎20通信。
图1中所阐释的网络环境可以是通常被配置或被安排为表示能够电子交换分组的任何通信体系结构。另外,网络也可以被配置为与诸如例如因特网或其他LAN等的其他网络交换分组。网络中也可以提供其他常见网络元件(例如,电子邮件网关、web网关、路由器、交换机、负载均衡器、防火墙等等)。
出于阐释系统10的技术的目的,重要的是应理解诸如图1中所示出的系统等的给定系统中可能出现活动和安全问题。下列基础信息可以被看作是从中可以适当地解释本公开内容的基础。实际上仅出于解释的目的提供这样的信息,因此不应以任何方式将其解释成限制本公开内容及其潜在应用的宽泛范围。
组织(例如,商业、学校、政府组织等等)和家庭中的典型网络环境都包括多个设备,例如终端用户台式计算机、膝上型计算机、服务器、网络设备等等,且每一设备具有已安装的一组可执行软件。组织和家庭中的用户也可以使用移动设备来连接到各种有线和/或无线网络。当在网络环境中管理用户的设备时,用户所面对的一个困难是确保仅可信任的和经批准的可执行软件文件出现在设备上。尽管网络中的设备可以最初配置有可信任的和经批准的可执行软件,但防御未知的和/或恶意软件通常需要持续的努力(电子和手动两者)。尤其,用户可以使用移动设备来连接到网络,该网络可能具有黑客可以用来窥探用户或危害被存储在服务器和相关的联网设备上的安全信息的独特安全漏洞。
对用户或网络来说,某些应用可能是不期望的或甚至是恶意的。恶意软件(恶意软件)包括敌意的、入侵的或烦人的编程(例如,代码、脚本、活动内容等等),这样的编程可能妨碍或拒绝操作、收集引起失去隐私或使用的信息、获得对系统资源的未经授权的访问并表现出其他滥用行为。例如,移动电话上的应用可能受到远程控制,且被配置为开启电话的照相机和话筒,准许窥探。在另一示例中,应用可以跟踪用户的位置并把该信息传输给未经授权的个人。在又一个示例中,恶意应用可以为对关键的和专有的信息的未经授权的访问、资源的不当使用、业务中断、欺诈和安全性漏洞提供通道。研究表明,流氓应用(例如,恶意软件和间谍软件)对移动安全空间来说是一个巨大的问题。
用于把图1略述的应用列入白名单的系统可以解决这些问题和其他问题。本公开内容的各实施例寻求改善现有技术的能力以便允许更稳健的解决方案。声誉信息的采集和分析可以在云(例如,移动应用网络16)中发生,以便得到规模、效率和普遍性。移动设备可以被配置为准许从云对它们的代理和应用进行访问以便计算声誉分数。根据本公开内容的各实施例,恶意软件防御可以基于更新器概念,且来自移动应用网络16的声誉分数充当更新规则。声誉引擎20可以被包括在移动应用网络16中的服务器中。例如,使用目录信任同步进程,管理控制台(例如,在服务器17中运行)可以聚合和存储来自声誉引擎20的应用声誉。管理控制台可以把适当的策略、白名单(例如,白名单30)、目录交换、企业应用声誉分数等等提供给移动设备(例如,移动设备14)上的合适的白名单强制执行模块22。
根据本公开内容的各实施例,系统10的组件可以在后端进程中确定由应用使用的函数,计算该应用的声誉分数,并针对规则集分析该应用。在前端,基于应用的声誉分数和分析,系统10的组件可以采取合适的保护动作。在一些其他实施例中,系统10的组件可以搜索标识值得信任的应用的白名单,以便判断在白名单中是否标识了移动设备中的应用。如果白名单中没有标识该应用,则该应用的信任状态可以被定义为不可信任。如果该应用的信任状态是不可信任,则移动设备中可以采取合适的动作。
在各示例实施例中,通过聚合和评估由一个或多个源上传到声誉引擎20的应用18的一个或多个应用指纹,声誉引擎20可以确定应用18的声誉分数。例如,可以作为32字节指纹把应用指纹发送给声誉引擎20。在另一示例实施例中,所聚合的应用指纹可以包括应用代码,包含函数和变量。在此所使用的,“函数”包括在较大的程序内的一部分代码,该部分代码执行特定的任务且相对独立于其他代码,例如子例程、过程、例程、方法、操作或子程序。函数的示例包括:(a)记录音频的函数(例如,Media.RecordAudio());(b)发送文本消息的函数(例如,SmaManager.SendTextMessage());(c)读取联系人列表的函数(例如,contacts.read());(d)联系因特网服务器的函数(例如,httpClient.postData());等等。在一些实例中,可以自己评估所标识的函数的声誉,且所生成的白名单包括符合一个或多个移动设备策略的所标识的函数。
在各示例实施例中,声誉引擎20可以反编译应用18,解析经反编译的代码,并创建一个或多个代码流向图和数据流向图。在各示例实施例中,可以从代码流向图和数据流向图确定由应用18使用的函数。代码流向图(也称为调用图)表示在应用(例如,应用18)中的子例程之间的调用关系。代码流向图显示在应用执行期间可以遍历应用的路径的图形表示。数据流向图表示在由应用(例如,应用18)使用的多种操作或函数之间的数据依赖性。任何合适的方法都可以被实现为创建代码流向图和数据流向图。例如,可商购的软件可以用来生成这些图。声誉引擎20可以把数据流和代码流向图存储在数据库(未示出)中以供稍后分析。声誉引擎20也可以把这些图与诸如应用ID(例如,包ID)和二进制DEX文件(安卓操作系统应用二进制文件被编译为DEX文件)的散列等的关于应用的唯一标识信息关联起来。
转到图2,根据各示例实施例,至少部分地在诸如网络服务提供商、设备生产商或企业等的一个或多个实体的控制下,声誉系统可以用来控制在移动设备上下载应用。举例来说,示例声誉系统可以防止终端用户把不符合控制实体的策略的应用(例如经批准的应用列表(即,白名单)中没有包括的应用等的)下载和/或安装到由声誉系统提供服务的具体的移动设备。例如,在终端用户尝试在移动设备(例如,移动设备14)上下载或安装具体应用(例如,在215)时,移动设备(例如,通过白名单强制执行模块22)可以查询白名单服务器17以便判断该应用是否被包括在相应的白名单(例如,30)中。在一些示例中,结合在移动设备14和白名单服务器17之间的查询/查询结果通信220,移动设备14可以把应用的标识信息(例如,应用清单)发送给服务器17。服务器17可以标识对应于移动设备、其用户、网络等等的具体白名单(即,从一组不同的白名单30中标识),并执行白名单查找以便判断该应用是否被包括在白名单中。相应地,则白名单服务器17可以把结果返回给移动设备14。如果给应用返回的查询结果指示该应用未被包括在白名单中,则移动设备14(例如,通过白名单强制执行模块22)可以终止和/或阻断应用的下载,终止和/或阻断应用的安装,删除与应用相关的数据,以及其他补救措施。
在一些实例中,检查应用的请求(例如,在220)可以得到还没有评估该应用以便例如形成应用的相应声誉分数或定性评估的判断。因此,在一些示例中,可以(举例来说,使用声誉引擎20)下载和评估所请求的应用的副本,以便根据与各个白名单30相关联的具体策略判断该应用是否应当被包括在一个或多个白名单30中。
在其他实现中,查询220可以包括判断应用是否符合一个或多个策略且可以在移动设备上下载和/或安装的备选技术。例如,除了一个或多个白名单30之外,或者代替一个或多个白名单30,可以使用黑名单。在其他实例中,声誉系统可以执行数据库查找,并返回声誉分数或该应用是可信任还是不可信任的定性评估(例如,基于策略数据库28中的策略导出)。在另一示例实施例中,声誉引擎20可以把信任分数和状态提供给移动设备14(例如,使用白名单强制执行模块22)。基于来自服务器17(或声誉引擎20)的信息,基于声誉分数和分析数据,白名单强制执行模块22可以采取适当的动作(例如,改变移动设备14上的应用的配置;从移动设备14删除恶意应用;在移动设备14的显示器上生成安全警报;在移动设备14的扬声器上生成安全警告声;防止恶意应用的安装或执行;防止对移动设备14中的资源的访问;不采取任何安全动作等等)。
转到图3,(例如,在30)白名单(或黑名单)可以被用来保护移动设备免受结合已经被安装在移动设备上的一个或多个应用34执行的活动、事务、函数和其他动作。尽管期望防止潜在有害的应用被安装在系统10的移动设备上,可以基于相应的应用动作是有害的、不安全的或恶意的判定防止现有应用的至少一些功能性和更新。举例来说,白名单30可以维护函数的列表、软件更新、对外部服务器的调用(例如,具有不值得信任的声誉或附加有已知恶意内容)和白名单服务器17所跟踪的应用的其他动作。确实,白名单30可以包括声誉引擎20例如已经将其标识为符合一个或多个策略的具体应用的具体动作(即,所标识的动作与所标识的应用成对)的列表。类似地,可以维护声誉引擎20已经将其标识为不安全的、潜在有害或恶意的或以另外方式违反一个或多个策略的具体应用的具体动作的黑名单。
因此,在图3的示例中,响应于由被安装在移动设备14上的具体应用34执行具体动作的尝试或者在该尝试之前,移动设备14可以查询(例如,在230)白名单服务器17,以便在一个或多个白名单30中标识该具体应用34的具体动作根据一个或多个相应的策略是否得到批准。作为响应,白名单服务器17可以提供查询的结果,指示具体的尝试动作225是否得到允许且可以进行。如果判断具体动作225未被包括在经批准的应用动作的相应白名单中,则例如在使用白名单强制执行模块22的移动设备14处可以阻断该动作。进一步,在一些实例中,可以标识还没有评估的具体应用动作,得到所完成或调度的具体应用动作的风险评估。
在一些实例中,应用动作可以涉及对诸如后端应用程序服务器(例如,130)等的外部计算资源的调用或与该外部计算资源通信。在一个说明性示例中,应用34可以尝试下载应用34的更新或以另外方式传输数据或接收来自应用程序服务器130的数据。在一个示例中,在下载更新之前,移动设备14(例如,通过白名单强制执行模块22)可以查询白名单30,以便判断该应用更新是否值得信任。举例来说,如果该更新是未被包括在相应的白名单中,则可以终止该更新的下载。在判断与应用程序服务器130进行的通信和数据交换是否应当被列入白名单(且是否最终阻断通信)时,也可以考虑应用程序服务器130或与应用程序服务器130相关联的实体的声誉。
在另一示例中,应用34可以具有辅助其主要函数的多个函数。这些函数中的一些可以是已经列入白名单的函数,而其他不是(例如,因为它们引起对用户隐私的威胁、使得通信网络负担过重、与把移动设备引入到具体的威胁或安全漏洞相关联等等)。因此,根据一个或多个相应的白名单30,所安装的应用34的一些部分可以得到批准,而其他被阻断。在进一步的其他示例中,可以标识,安装在设备上的具体应用34未被包括在经批准的应用的白名单中,且基于相应的白名单30把应用34排除在外,可以阻断应用34对加载到存储器中或以另外方式在移动设备14上启动和运行的尝试。
在图2或图3的示例中的任一个中,在一些实例中,不同于查询白名单服务器17以便针对白名单30检查动作或应用,白名单服务器17可以向移动设备14提供白名单30的至少一部分,以便存储或缓存在移动设备14上。这可以允许移动设备14即使在设备从诸如因特网等的网络断开时也能保护自身免遭潜在的策略违反。进一步,给定移动设备的存储器约束,可以标识对应于具体的移动设备或关联的用户的属性或使用模式的白名单30的所选择的部分。举例来说,移动设备可以向白名单服务器17标识安装在移动设备14上的一组应用,且白名单服务器17可以把描述安装在移动设备14上的一组应用的经批准的函数和动作的定制白名单提供给移动设备,以及其他示例。进一步,可以标识对移动设备的本地白名单副本的更新,并将其拉取或推送给移动设备,以便确保移动设备的白名单保持为当前。
根据一些本公开内容的一些实施例,应用的声誉和应用动作的声誉的分析可以是基于规则的,且可以取决于规则集40。根据本公开内容的各实施例,规则集40可以是基于软件开发工具包(SDK)或应用编程接口(API)函数调用(即,包含函数和由函数使用的变量或自变量的表达式)。通常,应用(例如,应用20)可以被编写为使用API来与特定的操作系统连接。API是一组具体的规则和规范,包括用于在各种软件程序之间进行通信的例程、数据结构、对象类和协议的规范。例如,API可以定义操作系统的资源请求约定(例如函数调用约定)。
SDK通常是允许创建用于某些软件包、软件框架、硬件平台、计算机系统、视频游戏控制台、操作系统或类似的平台的应用的一组开发工具。SDK可以包括API(例如,以与具体的编程语言的接口的文件的形式)和/或与特定嵌入式系统通信的复杂硬件。几乎所有API函数调用都可以在平台SDK函数调用中结束。在各示例实施例中,声誉引擎20可以用潜在的恶意用户可能使用的预先确定的SDK函数来填充列表。
规则集40中的规则可以标识数据元素(例如,用于处理的任何已命名的数据单元)可能将其用于恶意目的的路径。例如,如果数据元素按以下顺序使用Media.RecordAudio()(即,记录音频)、SmaManager.SendTextMessage()(即,发送SMS文本消息)、contacts.read()(即,读取联系人列表)和httpClient.postData()(即,联系因特网服务器),则该应用可能表现出可疑行为。然而,如果数据元素使用SmaManager.SendTextMessage()、contacts.read()和httpClient.postData(),但不使用Media.RecordAudio(),则该应用没有表现出可疑行为。在一个示例实施例中,各规则可以广泛地标识指示可疑行为的所有路径。
声誉引擎20可以通过遍历数据流向图中包括叶节点(不调用任何其他函数的函数)在内的节点来分析应用(例如,应用18)。规则可以包括规则元素,规则元素是指示可疑行为的函数。为阐释起见,假设SDK包含函数a()...z(),且规则集40包括下列规则,这些规则包括指定的规则元素:规则1:a()、b()、p()、q()、s()、t()和z();规则2:c()、m()、n()、b()和t();规则3:e()、o()和z()。声誉引擎20可以遍历应用18的代码流和数据流向图。应用18的图中的每一路径通常遍历由应用18调用的函数。对于给定规则,如果所有规则元素匹配图中的路径(且反之亦然),则该程序逻辑可以被视为可疑。这样的匹配可以触发合适动作的策略违反。示例策略可以包括把应用表征为高风险,或替代地,把信任状态设置为不可信任,并且如果检测到一次或多次规则违反,则从相应的白名单忽略该应用或应用函数。
转到计算声誉分数,应用(例如,应用18)使用的函数可基于它们的潜在恶意而进行加权。例如,可以给予记录音频的API函数(例如,潜在地违反用户的隐私)比读取联系人列表的API函数更高的权重。具有比预先确定的阈值更大的加权因子的函数可以被表示为红色标记的函数。可以具体地从应用动作白名单忽略这样的红色标记的函数(或替代地将其包括在应用活动黑名单中)。阈值可以是由用户或程序员视情况且基于合适的需要而选择的任何值。根据本公开内容的各实施例,在开始分析时,应用(例如,应用18)的声誉分数可以被设置为0。声誉引擎20可以遍历应用18的代码流向图和数据流向图。每当图路径遍历遭遇红色标记的函数时,应用的聚合声誉分数可以按红色标记的函数的加权因子来递增。在计算结束时,所得到的聚合分数可以指示函数调用序列或应用本身的潜在恶意。声誉引擎20或移动设备14可以访问策略数据库28,以便基于应用的声誉分数和/或应用分析信息标识可以对应用采取的合适动作。
声誉分数可以被用来构建白名单(和/或黑名单),白名单(和/或黑名单)被用来防御潜在地不值得信任的、不安全的或恶意的应用和应用动作。尽管众多服务器可以连接到移动应用网络16,但服务器17可以代表提供包含与对其评估风险的应用相关的信息的一个或多个数据库或白名单库的服务。例如,被评估和被判断为不值得信任的应用(例如,包含诸如病毒、蠕虫等等的恶意代码)可以被包括在所谓的“黑名单”(未示出)。被评估和被判断为值得信任的应用(例如,未受感染、没有恶意代码等等)可以被包括在所谓的“白名单”(例如,白名单30)中。尽管可以单独地实现白名单和黑名单,但把它们也可能组合在数据库或库中,且每一软件程序文件被标识为白名单文件或黑名单文件。实际上白名单和黑名单的库可以由中央声誉系统组合和管理,白名单适用于多个不同的移动设备、移动操作系统、移动设备生产商、网络服务提供商、企业和其他实体和群体。
可以使用校验和来实现白名单(和黑名单),其中存储每一应用的唯一校验和,可以容易地把该唯一校验和与寻求评估的应用的所计算的校验和进行比较。校验和可以是通过把算法应用到应用(例如,应用程序文件、应用清单等等)导出的数值或散列和(例如,数字的固定串)。如果该算法被应用到与第一应用相同的第二应用,那么,校验和应匹配。然而,如果第二应用不同(例如,它已经以某种方式发生改变、它是第一应用的不同版本、它是完全不同的软件类型等等),那么,校验和不太可能匹配。
在特定实施例中,如果应用被包括在白名单30中,则应用的信任状态(即可信任或不可信任)被定义为可信任,且如果应用未被包括在白名单30中,则应用的信任状态)被定义为不可信任。白名单30可以包括标识被分类为可信任的每一应用或应用动作的条目。在一个示例实施例中,白名单30可以包括应用的校验和或函数指纹。在一些实施例中,对于与移动设备14中的执行尝试相关联的应用,实时执行评估应用以判断它们各自的信任状态。本说明书中在此所使用的执行尝试(例如,215或225)预期包括具有执行请求的任何软件进程或指令和访问移动设备中的资源(例如,处理器、存储器、照相机、话筒等等)的任何尝试。在应用与执行尝试相关联时,如果应用的信任状态被判断为不可信任(例如,基于白名单或黑名单查询),则可以阻断执行。在各示例实施例中,可以使用可信任的软件目录(例如,白名单30)中的一个来确定信任状态,或者可以实时使用一个或多个信任评估技术(例如,使用声誉引擎20和其他组件)来确定信任状态。也可以记录和聚合不可信任的应用的任何执行尝试以便报告。
图1中的白名单30的数据库可以由独立的第三方提供,且可以是定期更新,以提供消费者可获得的值得信任的应用的全面列表。类似地,黑名单(未示出)可以由独立的第三方提供,且可以定期更新,以便提供不可信任的恶意应用的全面列表。白名单和黑名单可以在网络12外部,且可以通过诸如移动应用网络16等的其他网络或通过准许在网络12和白名单30之间的电子通信的任何其他合适的连接来访问。也可以把这样的白名单(或黑名单)的全部或部分的副本提供给相应的移动设备14自身以供例如白名单强制执行模块22使用。
根据本公开内容的各实施例,可以在应用声誉数据库26中提供(例如,作为本地副本)白名单30,或者,由应用声誉数据库26访问或通过应用声誉数据库26访问白名单30,或者,白名单30另外方式对在网络12(或其他网络)上的服务器17和/或移动设备14可用。白名单30也可以包含与对其进行风险评估的应用相关的信息,且可以使用校验和来标识这样的应用。白名单30中所标识的应用可以包括来自一个或多个外部的白名单的应用,以及/或者可以定制白名单30中所标识的应用,以提供关于所选择的应用的信息。尤其,可以在白名单30中标识在组织内部开发的但不一定对普通公众可用的应用。另外,也可以提供内部黑名单,以标识被评估和确定为不值得信任的具体应用。可以以任何合适的方式在白名单30中组织应用,例如,由发布者或由任何其他合适的团体进行分组。
在各示例实施例中,白名单强制执行模块22可以访问白名单30(或白名单30的本地副本)以判断应用34的信任状态。替代地,或另外,白名单强制执行模块22可以访问应用声誉数据库26以便获得应用34(已经被安装在移动设备14中)和应用18(还没有被安装在移动设备14中)的声誉分数。根据本公开内容的各实施例,白名单强制执行模块22可以把应用标识(例如,应用清单)发送给服务器17。在一个示例实施例中,代理24可以通过因特网连接到服务器17并通过数据连接获取响应。在另一示例实施例中,白名单强制执行模块22可以拨打预定义号码,并发送双音多频(DTMF)音以便传送应用标识信息。例如,可以计算应用的标识号(ID)的散列并将其转换成八进制表示。然后,可以传送该散列,将DTMF音用于数字0-7,以及用于8的音表示传送结束。然后,所拨打的号码可以用表示可由代理用来判断应用是可信任的还是不可信任的声誉分数的相应DTMF音来响应。
白名单强制执行模块22可以收集要下载(或已经下载)到移动设备14的应用的标识信息(例如,应用清单),并监视已经安装在移动设备14上的任何一个或多个应用的行为和活动。白名单强制执行模块22也可以访问可以存储在移动设备14上或服务器17的策略数据库28中的策略,以判断任何应用是否恶意或者易受具体威胁的攻击,并基于声誉分数或应用分析数据确定要采取的任何动作。白名单强制执行模块22也可以基于应用、它们的更新或动作的各自的声誉分数,例如,通过阻止一个或多个应用或应用更新的安装,或者阻止一个或多个应用或应用动作的执行来管理移动设备14上的应用的活动。在各示例实施例中,白名单强制执行模块22可以包括驻留在移动设备14的操作系统(未示出)中(或可由其操作)的内核模块。
在一个示例实施例中,白名单强制执行模块22可以包括事件检测能力、通信接口、策略管理器等等。在另一示例实施例中,白名单强制执行模块22可以包括能够与声誉引擎20和服务器17通信并执行来自策略管理器、事件检测组件等等的指令的软件。白名单强制执行模块22可以被配置为接收来自声誉引擎20和/或服务器17的查询或信息。例如,声誉引擎20可以查询白名单强制执行模块22以便得到安装在移动设备14上的一个或多个应用的状态。响应于该查询,白名单强制执行模块22可以把应用状态提供给声誉引擎20。在另一示例中,声誉引擎20可以给白名单强制执行模块22提供应用18的声誉分数。作为响应,白名单强制执行模块22可以查找策略并基于声誉分数采取合适的动作。
在另一示例实施例中,应用声誉数据库26可以包括值得信任的应用(例如,具有低的声誉分数或可信任的状态的应用)的白名单30。白名单强制执行模块22可以把应用(例如,应用34或应用18)与白名单30进行比较。如果白名单30中找不到该应用,则该应用可以被视为不可信任且不允许下载(如果还没有下载)或运行(如果已经下载了)。在一些实施例中,移动设备14可引导以启用在此描述的功能性。
在一些实施例中,所聚合的应用指纹可以包括所聚合的应用行为,也可以评估所聚合的应用行为以判断该应用的声誉分数。随着把关于应用或应用的动作的更多信息被报告给声誉引擎20或以另外方式使其对声誉引擎20可用,声誉分数的统计置信度水平较高。举例来说,操作系统中的移动设备14的白名单强制执行模块22可以检测到与具体应用和应用活动相关的安全事件,并把这样的事件报告给声誉引擎20或其他模块,以用于确定这样的应用和应用活动的可信性。实际上,可以聚合从监视任何一个移动设备上的应用活动得到的知识,并针对关于从其他移动设备获得的类似活动信息进行分析,且使其与来自其他载体(例如,文件、web、消息、网络连接和手动工作)的数据相关,以便得到关于该应用的充分全面的信息。在一个示例实施例中,可以从威胁智能来源32导出来自其他载体的数据。另外,本质上任何威胁或安全漏洞都可以暂时的(例如,如果应用正在与临时受危害的IP地址交互),且系统10的组件可以实时恰当地修改应用的声誉分数,以便向主机移动设备纠正该威胁。例如,声誉引擎20可以把声誉分数与每一附加的数据点合并起来并进行调整。
在一个示例场景中,如果新的应用突然出现在特定的地理位置(例如,中国),且它在若干小时内迅速传播(例如,在短的时间跨度内,应用被下载且被安装到非典型市场中的异乎寻常地大的用户群或多个用户群,举例来说,安装在例如美国、欧洲、澳大利亚、印度等等的地理位置的在几十万移动设备上),则这样的快速和非典型的分布可以被解释为恶意行为的指示器,且可以生成或更新该新的应用的声誉分数以便反映这种特性。声誉引擎20可以聚合这样的信息,分析它,并判断该应用的传播因子(即,该应用有多快传播到其他移动设备)很高,指示可能的恶意行为。
在另一示例场景中,具体的移动设备上的应用可以发起窥探或监听动作。白名单强制执行模块22可以识别监听动作,并把该监听动作传送给声誉引擎20。因此,声誉引擎20可以计算该应用的经更新的声誉分数。可以把经更新的声誉分数分发给其上安装有该应用的所有其他移动设备,允许各个代理采取合适的动作。
转到图1的基础设施,服务器17可以是管理具体企业的安全和策略的企业服务器。在另一实施例中,服务器17可以是例如通过第三方计算机安全服务销售商提供的一个或多个中间服务器。图1示出通过服务器17与移动应用网络16通信的移动设备14,这仅仅代表性的。一个或多个服务器可以用于一组关联的移动设备(例如,企业上的移动设备,或具有共同的本地通信载体等等);并且,多个企业或多组关联的移动设备可以通过它们自己的一个或多个服务器连接到云。
网络12表示网络,该网络可以是用于接收和传送通过系统10传播的信息的分组的互连通信路径的一系列点或节点。网络12提供在图1的组件中的任何之间的通信接口。网络12可以是任何局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、无线城域网(WMAN)、无线单跳网络或多跳网络、虚拟专用网(VPN)、内联网、外联网或促进网络环境中的通信的任何其他适当的体系结构或系统。网络12可以包括到声誉引擎20的任何合适的通信链路,例如无线技术(例如,IEEE802.11、802.16、WiFi、蓝牙、WiMax、DSRC、WiMAX等等)、卫星、蜂窝技术(例如,3G、4G等等)等等或其任何组合。在合适的情况下且基于具体的需要,网络12也可以包括启用传输控制协议/因特网协议(TCP/IP)通信、用户数据报协议/IP(UDP/IP)或任何其他合适的协议的配置。
图1的系统未示出的是可以以下列形式合适地耦合到声誉引擎20的硬件:控制台、用户接口、存储器管理单元(MMU)、附加的对称多处理(SMP)元件、外围组件互连(PCI)总线和相应的桥、小型计算机系统接口(SCSI)/集成驱动电子设备(IDE)元件等等。另外,也可以包括合适的调制解调器、路由器、基站、无线接入点和/或网络适配器,以便允许系统10的组件的网络接入。系统10的组件中也可以配置任何合适的操作系统,以便适当地管理其中的硬件组件的操作。系统10的组件可以包括促进其操作的任何其他合适的硬件、软件、组件、模块、接口或物体。这可以包括促进在此详尽的操作的适当的算法和通信协议。参考系统10示出和/或描述的这些元件预期是出于说明性目的,且并不意味着暗示体系结构限制。另外,在合适的情况下且基于具体的需要,包括声誉引擎20、代理24和移动设备14在内的每一元件可以包括更多或更少的组件。
转到图4,图4是在声誉引擎的一些实现中使用的示例代码流向图或调用图。调用图可以是表示在计算机程序的函数之间的调用关系的有向图。举例来说,调用图可以用来自动地解析、测试、仿真以及以另外方式检查应用函数,并标识不值得信任的、不安全的或其他不期望的应用特征。进一步,在应用内的不期望的功能性的标识可以充当应用或所标识的应用函数的较低总体声誉分数的基础。在一些实例中,调用图可以包括节点和边。具体地,每一节点表示过程,且每一边(f,g)指示过程f调用过程g。出于阐释的目的,假设按照下列顺序调用被命名为fA()、fB()、fC()等等的函数:fA(){fB();fC();}(即,fA()调用函数fB()和fC());fB(){fD();fC();}(即,fB()调用函数fD()和fC());fC(){计算}(即,fC()执行计算);以及fD(){fE(){(fC())}}(即,fD()调用函数fE(),fE()调用fC())。
所得到的调用图50可以如图5中所阐释。函数fA()52可以调用函数fB()54和fC()56。函数fB()54可以调用函数fC()56和fD()58。函数fD()58可以调用函数fE()60,fE()60又调用fC()56。代码流向图可以具有叶节点(不调用任何其他函数的函数,例如以上示例中的fC()56)。叶节点可以是(a)应用作者的执行某种计算的函数;或(b)系统调用/SDK函数,如安卓SDK中的那些系统调用/SDK函。SDK函数可以不调用在该应用的代码内的内部函数。在其中使用Java SDK编写用于安卓OS的应用的示例实施例中,例如在此阐释的示例中,分析时可以忽略系统调用。
转到图5,图5是根据本公开内容的各实施例的示例数据流向图70。数据流向图通常具有节点和边。节点接收数据或描述操作(例如,节点可以是程序语句),并通过边把值传送给其他节点。举例来说,边可以被认为是通信的通道。数据流向图中的圆通常表示进程(例如,一组程序集合)。指向圆的箭头表示数据输入(或一组输入),且起源于圆的箭头表示数据输出(或一组输出)。沿着输入边的数据输入被看作是令牌(token)。节点在输入边上使用令牌(例如,布尔、整数、实数或字符类型的令牌)且在输出边上产生令牌。数学上,可以采用下列表示:
G=<N,E>
其中G是数据流向图,N={n1,n2,...,nn}是一组节点,且E是一组边。
声誉引擎20可以解析要分析的应用(例如,应用18)。解析是分析计算机程序的源代码并创建某种形式的内部表示的过程。在各示例实施例中,声誉20可以解析应用18的经反编译的源代码并创建数据流向图70,一个节点表示遇到的每一变量,且一条边表示每一操作。在程序中可以操作变量以便得到某种其他变量。
例如,根据图6A,假设应用18包括代码,该代码包括对变量a72、b76、c80和d82进行操作的函数fA()(未示出)、fB()54、fC()56和fD()58,所有变量都是整数。给整数a72指派值100。可以通过对变量b'74操作另一函数fB(b')54获得整数b76。可以通过对变量c'78操作又一函数fC(c')56获得整数c80。可以通过对变量a82、b76和c80操作再一函数fD(a,b,c)58获得整数d82。函数fA()数学上表示为如下:
fA()
上面所描述的变量所定义的一组节点和边可以得到正如图5所阐释的数据流向图70。
转到图6A,图6A是阐释可以与本公开内容的各实施例相关联的示例操作步骤的流向图。在102,操作100开始,此时激活声誉引擎20。在104,声誉引擎20可以爬寻移动应用网络16以便得到应用(例如,应用18)。在一个示例实施例中,声誉引擎20可以爬寻因特网以便得到应用。在另一示例实施例中,声誉引擎20可以爬寻企业网络以便得到应用。在又一示例实施例中,声誉引擎20可以爬寻已知的网站或应用软件分发平台以便得到应用。
在106,声誉引擎20可以下载应用18,且在108,声誉引擎20可以存储应用18。声誉引擎20可以把应用18存储在文件服务器、应用程序服务器、网络驱动器或适于存储诸如应用18中所包含的那些程序文件等的程序文件的任何其他设备或网络元件中。在一个示例实施例中,声誉引擎20可以存储应用指纹的校验和而非整个应用。在又一示例实施例中,声誉引擎20可以存储应用清单,而非整个应用。
在110,声誉引擎20可以按任何已知的方法反编译应用18。反编译可以不重构应用18的原始源代码;然而,它可以提供关于应用18中足以执行在此描述的函数的操作和变量的信息。在112,声誉引擎20可以解析经反编译的代码并获得由应用18使用的函数。在114,声誉引擎20可以适当地创建应用18的代码流向图和数据流向图。
在116,可以计算应用18(或所标识的应用函数、操作或在反编译110和解析112期间所标识的其他动作)的声誉分数。举例来说,在一个示例中,声誉分数最初可以设置为0(或以任何合适的方式初始化)。在118,声誉引擎20遍历代码流向图和数据流向图,查寻红色标记的函数。如在120所确定的,每次图路径遍历遭遇红色标记的函数时,可以按红色标记的函数的加权因子递增声誉分数。例如,如果给Media.RecordAudio()函数指派了加权因子10,且给SmaManager.SendTextMessage()函数指派了加权因子8,并给contacts.read()函数指派了加权因子5,则包括所有三个函数的应用可以具有声誉分数23。另一方面,仅包括contacts.read()函数和SmaManager.SendTextMessage()函数的应用可以具有声誉分数13。在124,遇到流结束时,声誉引擎20可以例如通过聚合所遭遇的所有红色标记的函数的加权因子计算最终的声誉分数。
在128,声誉引擎20可以从规则集40调用(下一个)规则。在130,声誉引擎20可以遍历应用18的代码流向图和数据流向图。在132,应用18可以把规则元素与代码流和数据流向图进行比较。在134,如果遇到流结束,则在136,声誉引擎判断图(即,代码流向图和数据流向图)中的流是否匹配规则元素。操作继续进行到128,其中,调用下一规则。声誉引擎20可以仔细检查规则集40中的所有规则,直到已经针对规则集40中的所有规则分析了代码流向图和数据流向图。
如果发现匹配(指示恶意行为),则在138可以调用策略。在各示例实施例中,策略可以由移动设备14中的代理24调用。在另一示例实施例中,策略可以由声誉引擎20调用,声誉引擎20可以把策略应用在应用18上,并且,如果声誉分数低则将其放置在白名单30中。在140,可以采取任何合适的动作。例如,白名单强制执行模块22可以引起移动设备14卸载应用(如果已经安装了它)。在另一示例中,白名单强制执行模块22可以引起在移动设备14的屏幕上显示安全警报,指示该应用是恶意的。基于合适的需要可以采取任何适当的动作。在142,操作结束。
转到图6B,示出一个流程图,该流程图示出用来评估把具体应用下载到移动设备的尝试的示例技术。举例来说,例如结合被标识为可以与一个或多个移动设备一起操作的应用的库的爬寻,可以标识应用的属性(305),移动设备例如智能电话、平板计算机、PDA、电子阅读器和各种构造、模型和操作系统的其他移动设备。可以连同在爬寻期间发现的每一其他应用一起评估具体的应用,以便标识应用的属性,包括应用的开发者、应用的服务器的身份、应用的函数、应用所使用的后端计算资源、与应用相关的所报告的事件,以及在各个应用的爬寻和分析期间可发现的其他属性。在一个说明性示例中,举例来说通过应用的仿真、测试、反编译和/或解析,可以标识诸如应用函数和应用的动作等的属性。当首次可获得应用时,可以结合应用的发现标识应用的附加属性,例如服务器的标识或应用的来源、应用的开发者,以及其他属性。举例来说,可以标识应用销售商、服务商或开发者的身份。进一步,可以标识应用的来源或开发者的声誉,并在确定应用的可信性或与网络或系统中所强制执行的一个或多个移动应用策略的符合性时与其他属性一起考虑。
进一步,基于已标识的属性,可以为具体应用(和所有其他已标识的应用)确定声誉分数(310)。可以根据各种规则和策略(包括对应于诸如网络服务提供商、设备生产商、企业系统管理器等等的不同实体的规则和策略集)为具体应用确定多个声誉分数(310)。已确定的声誉分数可以用来判断该应用是否应当被包括在一个或多个白名单中(315),从而标识例如应用是否符合一组具体的策略或规则。举例来说,是否把应用添加到白名单可以取决于已确定的声誉分数是否满足某种可信性阈值、满足各种策略或规则以及其他示例。白名单可以用来保护移动设备免受潜在地不值得信任的应用和威胁以及潜在地通过这样的应用引入的安全漏洞。在其他实例中,白名单可以用来强制执行具体的移动设备应用策略,例如具体的服务提供商或其他实体的策略或规则。
作为示例,白名单可以用来评估对把应用下载到具体的移动设备的尝试(320)。举例来说,如果应用被包括在白名单中,则可以不受禁止地进行把该应用下载到具体的移动设备。替代地,如果应用未被包括在白名单中,例如在移动设备、移动设备所使用的网络网关或某种其他计算组件处阻断该应用的下载。可以开发和维护多个白名单,且在一些实例中,例如基于管理把应用包括在相应的白名单中的具体策略,可以把单个应用包括在一些白名单上但却在其他白名单上忽略它。
示出另一流程图的图6C阐释用于评估安装在一个或多个移动设备上的应用的一个或多个动作的可信性或策略符合性的示例技术。可以在移动设备上标识所安装的应用(325)。举例来说,结合使用移动设备执行动作的尝试,可以标识涉及移动设备的应用动作(330)。举例来说使用白名单或黑名单,可以做出所标识的应用动作是否符合具体策略的判断(335)。该策略可以被包括在具体实体的一组策略或规则中。基于该判断(335),可以允许或阻断应用动作(340)。举例来说,这样的应用动作可以包括下载具体的更新的尝试、(例如,以其自己各自的声誉)访问具体的外部计算资源或服务器的尝试、执行具体的函数、函数串或操作的尝试、或甚至是开始运行应用的尝试以及其他示例。
转到图7,图7是柱状图,阐释X轴的声誉分数190和Y轴的应用数量192。声誉分数190可以被分类成多个类别。在一个示例实施例中,低的声誉分数可以被分类为低风险,且给其指派绿色。可以给反映未经证实的状态的声誉分数指派黄色。中等的声誉分数可以被分类为中等风险,且给其指派橙色。高的声誉分数可以被分类为高风险,且给其指派红色。对于每一声誉分数(或声誉分数的范围),可以存在若干相应的应用。例如,应用数量192可以具有相同的声誉分数(或声誉分数的范围),该数量可以不同于具有不同的声誉分数的另一应用数量。
基于风险水平可以采取合适的动作。例如,可以不允许下载、安装或运行具有高的风险类别中的声誉分数的应用。另一方面,可以不允许下载、安装或运行具有低的风险类别的声誉分数的应用。基于应用的风险类别,可以采取任何数量的合适动作。仅出于说明性目的提供颜色。在不改变本公开内容的范围的前提下,可以使用任何其他分类标签、装置、方案和方法。
尽管在此描述的各实施例已经参考了应用,但明显看出,使用系统10可以评估和/或补救程序文件的其他集合。如图中所示出的,把应用列入白名单的选项仅是出于示例目的。应明白,与各图的选项进行任意组合或将各图的选项排除在外,可以提供众多其他选项(在本说明书中在此详述了其中的至少一些)。
可以在各种位置(例如,企业IT总部、终端用户计算机、web服务器、云中的分布式服务器、软件安全提供商云或数据中心等等)提供用于实现在此略述的操作的软件。在一些实施例中,可以从web服务器(例如,在购买用于分离的网络、设备、服务器等等的单个最终用户许可的上下文中)接收或下载这种软件以便提供这种系统。在一种示例实现中,这种软件驻留在寻求免受安全攻击(或免受不期望的或未经授权的数据操纵)的一个或多个移动设备、计算机和/或服务器中。
系统10可以以硬件或软件实现,且可以用来远程或本地评估应用。在一个示例实施例中,系统10可以被实现为云组件和各种移动设备上的本地代理,其中,本地代理执行收集信息(例如,应用代码信息)、监视(例如,应用行为)并强制执行函数,且云组件接收应用代码信息、确定声誉分数并把声誉分数推送回到移动设备。在另一实施例中,系统10可以被实现为远程自动化服务,该服务可以根据预先确定的日程例如每24小时一次扫描所针对的移动设备。在又一示例实施例中,系统10可以被实现为便携式解决方案,该解决方案可以临时地加载到连接到目标移动设备的网络上。系统10可以在无数移动设备上执行对应用的深度检查。在又一示例实施例中,可以在移动设备上托管(host)系统10。
在各种实施例中,用于把应用列入白名单的系统的软件可以涉及专有元件(例如,作为带有安全管理产品的网络安全解决方案的一部分),可以在这些已标识的元素中(或在其附近)提供该专有元件,或在任何其他设备、服务器、网络设备、控制台、防火墙、交换机、信息技术(IT)设备、分布式服务器等等中提供该专有元件,或作为补充的解决方案提供该专有元件,或以另外方式在网络中提供该专有元件。在各种实施例中,移动应用网络16可以包括一个或多个服务器运行专有软件。
在某些示例实现中,在此略述的活动可以以软件实现。这可以包括在声誉引擎20和包括应用的其他网络元件(例如,移动设备14)中提供的软件。这些元素和/或模块可以相互协作,以便执行在此讨论的活动。在其他实施例中,可以在这些元素外部提供这些特征,其被包括在其他设备中以便实现这些预期的功能性,或以任何适当的方式整理这些特征。例如,可以移除或以另外方式整理与各种元件相关联的处理器中的一些,以使得单个处理器和单个存储器位置负责某些活动。在通常的意义上,图中所叙述的装置在其表示方面可以更富于逻辑性,而一种物理体系结构可以包括这些元素的各种排列、组合和/或混合。
在各种实施例中,这些元素中的一些或全部包括软件(或往复式软件),这些软件可以协调、管理或以另外方式协作,以便实现在此略述的操作。这些元素中的一个或多个可以包括任何合适的算法、硬件、软件、组件、模块、接口或促进其操作的对象。在涉及软件的实现中,这样的配置可以包括在一个或多个有形介质(可以包括非暂态介质)中编码的逻辑(例如,由处理器或其他类似的机器等等执行的在专用集成电路(ASIC)中提供的嵌入式逻辑、数字信号处理器(DSP)指令、软件(潜在地包括目标代码和源代码))。
在这些实例中的一些中,存储器可以存储用于在此描述的操作的数据。这包括可以存储软件、逻辑、代码或处理器指令的存储器,执行软件、逻辑、代码或处理器指令以便开展本说明书中描述的活动。处理器可以执行与数据相关联的任何类型的指令,以便实现本说明书中在此详述的操作。在一个示例中,处理器可以把元素或制品(例如,数据)从一个状态或事物变换成另一状态或事物。在另一示例中,可以借助于固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实现在此略述的活动,且在此标识的元素可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、包括数字逻辑的ASIC、软件、代码、电子指令、闪速存储器、光盘、CD-ROM、DVD ROM、磁或光卡、适用于存储电子指令的其他类型的机器可读介质、或其任何合适的组合。
声誉引擎20和系统10中的其他关联的组件可以包括用于存储实现在此略述的操作所使用的信息的存储器。在合适的情况下且基于具体的需要,这些设备还可以把信息保存在任何合适的类型的存储器(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM)等等)、软件、硬件或任何其他合适的组件、设备、元素、或对象中。基于具体的需要和实现,可以在任何数据库、寄存器、表、高速缓存、队列、控制表或存储结构中提供系统10中所跟踪、发送、接收或存储的信息,所有这些都可以在任何合适的时间帧中引用。在此讨论的存储器项中的任何都应被解释成被包括在宽泛术语“存储器”内。类似地,本说明书中所描述的潜在的处理元素、模块和机器中的任何都应被解释成被包括在宽泛术语“处理器”内。每一计算机也可以包括用于在网络环境中接收、传送和/或以另外方式通信数据或信息的合适的接口。
注意,借助于在此提供的众多示例,可以就两个、三个、四个或更多个网络元件和模块描述交互。然而,仅出于清晰和示例的目的进行这样的描述。应明白,可以以任何合适的方式合并该系统。根据类似的设计备选方案,在各种可能的配置中可以组合图1中所阐释的计算机、模块、组件和元素中的任何,所有这些都清楚地处于本说明书的宽泛范围内。在某些情况中,通过仅引用有限数量的网络元件,更容易描述一组给定的流的功能性中的一种或多种。应明白,图1(及其教导)的系统可以容易地扩展,且可以容纳大量的组件以及更复杂/精密的排列和配置。因此,当潜在地被应用到无数其他体系结构时,所提供的示例不应限制该范围,或者抑制系统10的宽泛教导。
也重要的是应注意,参考前述附图描述的操作仅阐释可以由本系统执行或在本系统内执行的可能场景中的一些。在不偏离所讨论的概念的范围的前提下,在合适的情况下,可以删除或移除这些操作中的一些,或者可以显著地修改或改变这些步骤。另外,可以显著地变更这些操作的时序,且仍然取得在本公开内容中教导的结果。出于示例和讨论的目的已经提供了前述操作流。本系统可以提供充分的灵活性,这是由于在不偏离所讨论概念的教导的前提下可以提供任何合适的排列、年表、配置和时序机制。

Claims (23)

1.一种方法,包括:
标识多个应用中的一个应用的一种或多种属性;
至少部分地基于已标识的属性确定所述应用的声誉分数;
判断所述应用是否应当被包括在第一白名单中;以及
针对在移动设备上下载所述应用的请求,应用所述白名单。
2.如权利要求1所述的方法,其特征在于,至少一个第一策略与所述第一白名单相关联,且判断所述应用是否应当被包括在所述第一白名单中至少部分地基于所述应用与所述至少一个第一策略的符合性。
3.如权利要求2所述的方法,其特征在于,所述第一白名单与第一实体相关联,所述方法进一步包括至少部分地基于所述应用与所述至少一个第二策略的符合性判断所述应用是否应当被包括在与第二实体相关联的第二白名单中。
4.如权利要求2所述的方法,其特征在于,所述第一策略是多个策略中的一个,且所述多个策略中的每一策略与具体的移动设备生产商相关联。
5.如权利要求2所述的方法,其特征在于,所述第一策略是多个策略中的一个,且所述多个策略中的每一策略与具体的移动网络服务提供商相关联。
6.如权利要求1所述的方法,其特征在于,判断所述应用是否应当被包括在第一白名单中包括判断所述声誉分数是否指示比所述第一白名单的阈值声誉分数的可信性水平更高的可信性水平。
7.如权利要求1所述的方法,进一步包括:
从至少一个应用源获得多个应用,包括所述应用;以及
对于所述多个应用中的每一应用,判断相应应用是否应当被包括在所述第一白名单中。
8.权利要求7所述的方法,其特征在于,所述多个应用包括可在第一操作系统上操作的至少一个应用和可在不同的第二操作系统上操作的至少一个其他应用。
9.如权利要求1所述的方法,其特征在于,判断从所述第一白名单忽略所述应用,且应用所述第一白名单包括阻断把所述应用下载到所述移动设备。
10.如权利要求1所述的方法,其特征在于,应用所述第一白名单包括在所述移动设备上下载所述第一白名单的至少一部分,以供由所述移动设备用来判断是否允许所述移动设备上下载至少所述应用。
11.如权利要求1所述的方法,其特征在于,标识所述应用的一种或多种属性包括在测试环境中执行所述应用并观察所述应用的功能性。
12.如权利要求1所述的方法,其特征在于,确定所述应用的所述声誉分数包括:
标识所述应用的开发者;
标识所述开发者的声誉,其中,所述应用的所述声誉分数至少部分地基于所述所标识的开发者的所述声誉。
13.如权利要求12所述的方法,其特征在于,所述开发者的所述声誉基于与所述开发者相关联的其他应用的声誉分数。
14.如权利要求1所述的方法,其特征在于,标识所述应用的一种或多种属性包括标识与所述应用在一个或多个移动设备上的部署相关的一个或多个事件。
15.如权利要求14所述的方法,其特征在于,所述事件标识由所述一个或多个移动设备结合所述应用在所述一个或多个移动设备上的操作检测到的至少一个负面安全事件。
16.如权利要求14所述的方法,其特征在于,所述事件标识由所述应用做出的与具体的远程服务器设备的一个或多个网络连接。
17.如权利要求16所述的方法,其特征在于,标识所述应用的一种或多种属性还包括标识所述具体的远程服务器设备的声誉。
18.如权利要求1所述的方法,其特征在于,所述应用适合在具体的操作系统的多个版本中的每一个上的操作。
19.如权利要求1所述的方法,其特征在于,标识一种或多种属性包括:
标识所述应用的一种或多种功能;以及
判断所述应用是否包括一组不期望的功能中所包括的一种或多种功能。
20.如权利要求19所述的方法,其特征在于,标识所述应用的一种或多种功能包括:
反编译所述应用以便获得经反编译的代码;
解析所述经反编译的代码;以及
创建代码流向图和数据流向图。
21.在非暂态介质中编码的逻辑,包括用于执行的代码,且在由处理器执行时可操作为执行包括以下的操作:
标识多个应用中的一个应用的一种或多种属性;
至少部分地基于已标识的属性确定所述应用的声誉分数;
判断所述应用是否应当被包括在第一白名单中;以及
针对在移动设备上下载所述应用的请求,应用所述白名单。
22.一种系统,包括:
存储器,其被配置为存储数据;以及
处理器,其可操作为执行与所述数据相关联的指令;
移动应用批准引擎,在由所述至少一个处理器设备执行时,其适于:
标识多个应用中的一个应用的一种或多种属性;
至少部分地基于已标识的属性确定所述应用的声誉分数;
判断所述应用是否应当被包括在第一白名单中;以及
针对在移动设备上下载所述应用的请求,应用所述白名单。
23.如权利要求22所述的系统,其特征在于,所述第一白名单包括经批准下载到一组具体的移动设备中的任何一个上的多个应用。
CN201280050860.5A 2011-10-17 2012-10-15 用于在移动网络环境中把应用列入白名单的系统和方法 Pending CN103875003A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/275,293 US20130097659A1 (en) 2011-10-17 2011-10-17 System and method for whitelisting applications in a mobile network environment
US13/275,293 2011-10-17
PCT/US2012/060281 WO2013059131A1 (en) 2011-10-17 2012-10-15 System and method for whitelisting applications in a mobile network environment

Publications (1)

Publication Number Publication Date
CN103875003A true CN103875003A (zh) 2014-06-18

Family

ID=48086900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280050860.5A Pending CN103875003A (zh) 2011-10-17 2012-10-15 用于在移动网络环境中把应用列入白名单的系统和方法

Country Status (4)

Country Link
US (1) US20130097659A1 (zh)
EP (1) EP2769324A4 (zh)
CN (1) CN103875003A (zh)
WO (1) WO2013059131A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516071A (zh) * 2014-10-13 2016-04-20 阿里巴巴集团控股有限公司 验证业务操作安全性的方法、装置、终端及服务器
CN105869299A (zh) * 2016-04-18 2016-08-17 宁波轩悦行电动汽车服务有限公司 电脑终端获取车桩信息的系统及负载均衡方法及租车方法
CN105957259A (zh) * 2016-04-18 2016-09-21 宁波轩悦行电动汽车服务有限公司 手机app获取充电桩信息系统及负载均衡方法及租车方法
CN106576105A (zh) * 2014-09-24 2017-04-19 迈克菲股份有限公司 非侵入式白名单制定
CN106664305A (zh) * 2014-09-24 2017-05-10 迈克菲股份有限公司 确定数据的信誉
WO2017080351A1 (zh) * 2015-11-12 2017-05-18 国民技术股份有限公司 动态加载应用的系统和方法
CN107862180A (zh) * 2017-10-11 2018-03-30 北京金山安全管理系统技术有限公司 软件禁用处理方法和装置
CN107944261A (zh) * 2017-12-05 2018-04-20 广东小天才科技有限公司 一种应用程序的管控方法及用户设备
CN110826068A (zh) * 2019-11-01 2020-02-21 海南车智易通信息技术有限公司 安全检测方法和安全检测系统
CN111880823A (zh) * 2020-07-17 2020-11-03 合肥移瑞通信技术有限公司 系统升级通信模块的方法、系统以及介质、计算机设备
CN113779562A (zh) * 2021-09-22 2021-12-10 恒安嘉新(北京)科技股份公司 基于零信任的计算机病毒防护方法、装置、设备及介质
CN117376033A (zh) * 2023-12-06 2024-01-09 浙江网商银行股份有限公司 文件处理方法以及装置

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869270B2 (en) 2008-03-26 2014-10-21 Cupp Computing As System and method for implementing content and network security inside a chip
US20080276302A1 (en) 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
US8381297B2 (en) 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
US8365272B2 (en) 2007-05-30 2013-01-29 Yoggie Security Systems Ltd. System and method for providing network and computer firewall protection with dynamic address isolation to a device
US8631488B2 (en) 2008-08-04 2014-01-14 Cupp Computing As Systems and methods for providing security services during power management mode
US8789202B2 (en) 2008-11-19 2014-07-22 Cupp Computing As Systems and methods for providing real time access monitoring of a removable media device
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
WO2013116856A1 (en) * 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
US9558348B1 (en) * 2012-03-01 2017-01-31 Mcafee, Inc. Ranking software applications by combining reputation and code similarity
US9152784B2 (en) 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US8756432B1 (en) * 2012-05-22 2014-06-17 Symantec Corporation Systems and methods for detecting malicious digitally-signed applications
US8763131B2 (en) 2012-05-22 2014-06-24 Verizon Patent And Licensing Inc. Mobile application security score calculation
US20140006418A1 (en) * 2012-07-02 2014-01-02 Andrea G. FORTE Method and apparatus for ranking apps in the wide-open internet
US9053307B1 (en) 2012-07-23 2015-06-09 Amazon Technologies, Inc. Behavior based identity system
KR101907529B1 (ko) * 2012-09-25 2018-12-07 삼성전자 주식회사 사용자 디바이스에서 어플리케이션 관리 방법 및 장치
EP2907043B1 (en) 2012-10-09 2018-09-12 Cupp Computing As Transaction security systems and methods
US9274816B2 (en) 2012-12-21 2016-03-01 Mcafee, Inc. User driven emulation of applications
US20140289866A1 (en) * 2013-02-21 2014-09-25 Famigo, Inc. Method and system for mobile operating system takeover
US9323936B2 (en) * 2013-03-15 2016-04-26 Google Inc. Using a file whitelist
US9454565B1 (en) * 2013-06-25 2016-09-27 Amazon Technologies, Inc. Identifying relationships between applications
US9262470B1 (en) 2013-06-25 2016-02-16 Amazon Technologies, Inc. Application recommendations based on application and lifestyle fingerprinting
US9921827B1 (en) 2013-06-25 2018-03-20 Amazon Technologies, Inc. Developing versions of applications based on application fingerprinting
JP6077115B2 (ja) * 2013-06-27 2017-02-08 株式会社日立製作所 制御装置およびそれを用いたソフトウェア書き換えシステム
US9639693B2 (en) 2013-06-28 2017-05-02 Symantec Corporation Techniques for detecting a security vulnerability
US11157976B2 (en) * 2013-07-08 2021-10-26 Cupp Computing As Systems and methods for providing digital content marketplace security
US9147066B1 (en) * 2013-07-26 2015-09-29 Symantec Corporation Systems and methods for providing controls for application behavior
US9589130B2 (en) * 2013-08-20 2017-03-07 White Cloud Security, L.L.C. Application trust-listing security service
EP3058500A4 (en) * 2013-10-18 2018-01-17 Nokia Technologies Oy Method and system for operating and monitoring permissions for applications in an electronic device
US9830450B2 (en) * 2013-12-23 2017-11-28 Interset Software, Inc. Method and system for analyzing risk
CN105793863A (zh) * 2013-12-27 2016-07-20 迈克菲股份有限公司 基于频率的信誉
US9223970B2 (en) * 2014-01-14 2015-12-29 Citrix Systems, Inc. Evaluating application integrity
US9762614B2 (en) 2014-02-13 2017-09-12 Cupp Computing As Systems and methods for providing network security using a secure digital device
US9413740B2 (en) * 2014-07-22 2016-08-09 Microsoft Technology Licensing, Llc Establishing secure computing devices for virtualization and administration
US9195809B1 (en) 2014-08-14 2015-11-24 Synack, Inc. Automated vulnerability and error scanner for mobile applications
US10339482B1 (en) * 2014-09-11 2019-07-02 Nationwide Mutual Insurance Company System and method for determining loss resulting from data privacy and security breach
CN104410639A (zh) * 2014-12-02 2015-03-11 厦门雅迅网络股份有限公司 一种手机软件黑名单的控制方法
US10083295B2 (en) * 2014-12-23 2018-09-25 Mcafee, Llc System and method to combine multiple reputations
US20160191645A1 (en) * 2014-12-30 2016-06-30 Citrix Systems, Inc. Containerizing Web Applications for Managed Execution
US10318262B2 (en) 2015-03-25 2019-06-11 Microsoft Technology Licensing, Llc Smart hashing to reduce server memory usage in a distributed system
US10832224B2 (en) * 2015-05-06 2020-11-10 Vmware, Inc. Calendar based management of information technology (IT) tasks
US10397255B1 (en) * 2015-09-23 2019-08-27 StackRox, Inc. System and method for providing security in a distributed computation system utilizing containers
US20170118239A1 (en) * 2015-10-26 2017-04-27 Microsoft Technology Licensing, Llc. Detection of cyber threats against cloud-based applications
US10250586B2 (en) * 2015-12-08 2019-04-02 Sap Se Security certification and application categorization for mobile device management
US9998483B2 (en) * 2015-12-22 2018-06-12 Mcafee, Llc Service assurance and security of computing systems using fingerprinting
US11424931B2 (en) * 2016-01-27 2022-08-23 Blackberry Limited Trusted execution environment
US10599409B2 (en) 2016-02-02 2020-03-24 Blackberry Limited Application lifecycle operation queueing
CN105897898B (zh) * 2016-04-18 2019-03-15 宁波轩悦行电动汽车服务有限公司 租车用户获取车桩信息的系统及负载均衡方法及租车方法
US10356113B2 (en) * 2016-07-11 2019-07-16 Korea Electric Power Corporation Apparatus and method for detecting abnormal behavior
KR20180073041A (ko) * 2016-12-22 2018-07-02 삼성전자주식회사 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
KR101899589B1 (ko) * 2017-03-29 2018-09-17 최승환 안전 소프트웨어 인증 시스템 및 방법
US20180285563A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Techniques for service assurance using fingerprints associated with executing virtualized applications
CN107203417B (zh) * 2017-05-25 2021-01-05 北京猎豹移动科技有限公司 一种数据清理方法、相关装置及电子设备
US10873588B2 (en) * 2017-08-01 2020-12-22 Pc Matic, Inc. System, method, and apparatus for computer security
US10783239B2 (en) * 2017-08-01 2020-09-22 Pc Matic, Inc. System, method, and apparatus for computer security
US11487868B2 (en) * 2017-08-01 2022-11-01 Pc Matic, Inc. System, method, and apparatus for computer security
US10613856B2 (en) * 2017-08-24 2020-04-07 International Business Machines Corporation Automatic machine-learning high value generator
US11503051B2 (en) 2018-01-11 2022-11-15 Perspecta Labs Inc. Migration of traffic flows
WO2020055384A1 (en) * 2018-09-11 2020-03-19 Visa International Service Association System, method, and computer program product for fraud management with a shared hash map
US10972507B2 (en) * 2018-09-16 2021-04-06 Microsoft Technology Licensing, Llc Content policy based notification of application users about malicious browser plugins
US10990654B1 (en) * 2018-09-26 2021-04-27 NortonLifeLock, Inc. Age-based app lock
US10936718B2 (en) * 2018-10-01 2021-03-02 Blackberry Limited Detecting security risks in binary software code
US10740085B2 (en) * 2018-11-30 2020-08-11 Target Brands, Inc. Webserver interface for deployment management tool
US11394750B1 (en) 2020-02-28 2022-07-19 Red Hat, Inc. System and method for generating network security policies in a distributed computation system utilizing containers
US20210397717A1 (en) * 2020-06-20 2021-12-23 International Business Machines Corporation Software information analysis
US11636219B2 (en) * 2020-09-11 2023-04-25 Pc Matic, Inc. System, method, and apparatus for enhanced whitelisting
US11507675B2 (en) * 2020-09-11 2022-11-22 Pc Matic, Inc. System, method, and apparatus for enhanced whitelisting
US11811804B1 (en) 2020-12-15 2023-11-07 Red Hat, Inc. System and method for detecting process anomalies in a distributed computation system utilizing containers
CN115185544A (zh) * 2021-04-07 2022-10-14 花瓣云科技有限公司 一种应用处理的方法以及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080229828A1 (en) * 2007-03-20 2008-09-25 Microsoft Corporation Establishing reputation factors for publishing entities
US20100058468A1 (en) * 2008-08-29 2010-03-04 Adobe Systems Incorporated Identifying reputation and trust information for software
CN101923609A (zh) * 2009-06-09 2010-12-22 深圳市联软科技有限公司 一种计算机网络的安全保护方法及系统
US20110047597A1 (en) * 2008-10-21 2011-02-24 Lookout, Inc., A California Corporation System and method for security data collection and analysis
US20110167474A1 (en) * 2008-07-24 2011-07-07 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US8001606B1 (en) * 2009-06-30 2011-08-16 Symantec Corporation Malware detection using a white list

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW584801B (en) * 2000-12-11 2004-04-21 Ntt Docomo Inc Terminal and repeater
US7689664B2 (en) * 2006-08-10 2010-03-30 Sony Ericsson Mobile Communications Ab System and method for installing and configuring software applications on a mobile networked terminal
US9495538B2 (en) * 2008-09-25 2016-11-15 Symantec Corporation Graduated enforcement of restrictions according to an application's reputation
US8719112B2 (en) * 2009-11-24 2014-05-06 Microsoft Corporation Invocation of accessory-specific user experience
US8898759B2 (en) * 2010-08-24 2014-11-25 Verizon Patent And Licensing Inc. Application registration, authorization, and verification
US20120291102A1 (en) * 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080229828A1 (en) * 2007-03-20 2008-09-25 Microsoft Corporation Establishing reputation factors for publishing entities
US20110167474A1 (en) * 2008-07-24 2011-07-07 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US20100058468A1 (en) * 2008-08-29 2010-03-04 Adobe Systems Incorporated Identifying reputation and trust information for software
US20110047597A1 (en) * 2008-10-21 2011-02-24 Lookout, Inc., A California Corporation System and method for security data collection and analysis
CN101923609A (zh) * 2009-06-09 2010-12-22 深圳市联软科技有限公司 一种计算机网络的安全保护方法及系统
US8001606B1 (en) * 2009-06-30 2011-08-16 Symantec Corporation Malware detection using a white list

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106576105A (zh) * 2014-09-24 2017-04-19 迈克菲股份有限公司 非侵入式白名单制定
CN106664305A (zh) * 2014-09-24 2017-05-10 迈克菲股份有限公司 确定数据的信誉
TWI666563B (zh) * 2014-10-13 2019-07-21 香港商阿里巴巴集團服務有限公司 驗證業務操作安全性的方法、裝置、終端及伺服器
CN105516071A (zh) * 2014-10-13 2016-04-20 阿里巴巴集团控股有限公司 验证业务操作安全性的方法、装置、终端及服务器
CN105516071B (zh) * 2014-10-13 2019-01-18 阿里巴巴集团控股有限公司 验证业务操作安全性的方法、装置、终端及服务器
US10313353B2 (en) 2014-10-13 2019-06-04 Alibaba Group Holding Limited Method, device, terminal, and server for verifying security of service operation
WO2017080351A1 (zh) * 2015-11-12 2017-05-18 国民技术股份有限公司 动态加载应用的系统和方法
CN105869299A (zh) * 2016-04-18 2016-08-17 宁波轩悦行电动汽车服务有限公司 电脑终端获取车桩信息的系统及负载均衡方法及租车方法
CN105957259A (zh) * 2016-04-18 2016-09-21 宁波轩悦行电动汽车服务有限公司 手机app获取充电桩信息系统及负载均衡方法及租车方法
CN105869299B (zh) * 2016-04-18 2018-07-17 宁波轩悦行电动汽车服务有限公司 电脑终端获取车桩信息的系统及负载均衡方法及租车方法
CN105957259B (zh) * 2016-04-18 2018-09-14 宁波轩悦行电动汽车服务有限公司 手机app获取充电桩信息系统及负载均衡方法及租车方法
CN107862180A (zh) * 2017-10-11 2018-03-30 北京金山安全管理系统技术有限公司 软件禁用处理方法和装置
CN107944261A (zh) * 2017-12-05 2018-04-20 广东小天才科技有限公司 一种应用程序的管控方法及用户设备
CN107944261B (zh) * 2017-12-05 2020-06-05 广东小天才科技有限公司 一种应用程序的管控方法及用户设备
CN110826068A (zh) * 2019-11-01 2020-02-21 海南车智易通信息技术有限公司 安全检测方法和安全检测系统
CN111880823A (zh) * 2020-07-17 2020-11-03 合肥移瑞通信技术有限公司 系统升级通信模块的方法、系统以及介质、计算机设备
CN111880823B (zh) * 2020-07-17 2024-01-30 合肥移瑞通信技术有限公司 系统升级通信模块的方法、系统以及介质、计算机设备
CN113779562A (zh) * 2021-09-22 2021-12-10 恒安嘉新(北京)科技股份公司 基于零信任的计算机病毒防护方法、装置、设备及介质
CN117376033A (zh) * 2023-12-06 2024-01-09 浙江网商银行股份有限公司 文件处理方法以及装置

Also Published As

Publication number Publication date
US20130097659A1 (en) 2013-04-18
EP2769324A4 (en) 2015-06-17
EP2769324A1 (en) 2014-08-27
WO2013059131A1 (en) 2013-04-25

Similar Documents

Publication Publication Date Title
CN103875003A (zh) 用于在移动网络环境中把应用列入白名单的系统和方法
US11019114B2 (en) Method and system for application security evaluation
CN103890770A (zh) 在移动网络环境中将应用列入白列表的系统和方法
US20240022607A1 (en) Automated and adaptive model-driven security system and method for operating the same
US10762206B2 (en) Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
US10949528B1 (en) System and method for secure, policy-based access control for mobile computing devices
CN103180862B (zh) 用于服务器耦合的恶意软件防止的系统和方法
US9787695B2 (en) Methods and systems for identifying malware through differences in cloud vs. client behavior
US20180205755A1 (en) Systems and methods for adaptive vulnerability detection and management
CN104246785A (zh) 用于移动应用声誉的众包的系统和方法
US10547626B1 (en) Detecting repackaged applications based on file format fingerprints
US20210382986A1 (en) Dynamic, Runtime Application Programming Interface Parameter Labeling, Flow Parameter Tracking and Security Policy Enforcement
Shrivastava et al. Android application behavioural analysis for data leakage
Chen et al. Detection, traceability, and propagation of mobile malware threats
CN112085590B (zh) 规则模型的安全性的确定方法、装置和服务器
US11861015B1 (en) Risk scoring system for vulnerability mitigation
Faruki Techniques For Analysis And Detection Of Android Malware...
Zungur Context-driven systems for improved security and awareness on mobile platforms
Bleikertz et al. Technology-supported Risk Estimation by Predictive Assessment of Socio-technical Security

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140618