CN104662547A - 移动应用管理 - Google Patents

移动应用管理 Download PDF

Info

Publication number
CN104662547A
CN104662547A CN201380048869.7A CN201380048869A CN104662547A CN 104662547 A CN104662547 A CN 104662547A CN 201380048869 A CN201380048869 A CN 201380048869A CN 104662547 A CN104662547 A CN 104662547A
Authority
CN
China
Prior art keywords
application
behavior
specific
code
pattern
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
CN201380048869.7A
Other languages
English (en)
Inventor
S·纳卢瑞
D·库尔卡尼
R·辛哈
V·科瑞斯纳普
V·K·纳加拉贾
K·K·度若
K·霍尔德
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 CN104662547A publication Critical patent/CN104662547A/zh
Pending legal-status Critical Current

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • 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
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • 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/2105Dual mode as a secondary aspect
    • 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/2111Location-sensitive, e.g. geographical location, GPS
    • 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/2113Multi-level security, e.g. mandatory access control
    • 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/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

对照特定平台的软件开发包的语义模型分析特定应用的代码。该语义模型将多个应用行为与该特定平台各自的应用编程接口(API)调用相关联。基于对该代码的分析,标识该特定应用的一组行为,并且将这组行为中特定的一个行为标识为不期望的行为。可自动地修改该特定的应用以补救该不期望的行为。可将该特定应用分配到多个设备模式中的一个模式,并且对用户设备上的该特定应用的访问可基于多个用户模式中的哪一个模式在该用户设备上是活动的。

Description

移动应用管理
技术领域
本公开总体涉及计算机安全领域,更具体而言,涉及移动设备的安全。
背景技术
诸如智能电话、PDA、膝上型计算机、上网本和平板之类的移动设备的分布和使用已迅速地增长。此外,在一些发达市场中,此类设备的采用也在扩展,并且此类设备的数量赶超了台式计算机和功能电话的数量。移动设备的操作系统和硬件能力的复杂度也在增加,并且在一些情况下,其复杂度超过了传统计算机的特征集和功能的复杂度。例如,现代的移动设备可能拥有一般不包括在传统设备上的诸如位置传感器(像全球定位系统(GPS)、加速度计、陀螺仪、近场通信设备(NFC)等)之类的多样的传感器和子系统。除此之外,一些移动设备的总是连接的性质以及设备的拥有者持续地携带设备的趋势使得这些移动设备已成为恶意软件开发者、黑客和其他恶意行为人感兴趣的目标。此外,“app商店”和其他开放市场已使已经为此类设备(包括诸如谷歌安卓TM(Google AndroidTM)、iOS、WindowsTM等的设备平台)所开发的数以万计的应用(或“app”)的发展成为可能,而这些应用中的一些应用的质量和意图是可疑的。
附图说明
图1是根据一个实施例的包括应用管理系统的示例系统的简化示意图;
图2是根据一个实施例的包括示例应用管理器和用户设备的示例系统的简化框图;
图3是表示根据一个实施例的用户设备的应用的分析和修复的简化框图;
图4是表示根据一个实施例的应用的示例行为评估的简化框图;
图5A-5B是根据一些实施例的示例应用之内的控制流的简化表示;
图6是表示根据一些实施例的可由示例用户设备访问的示例子系统的简化框图;
图7是表示根据一些实施例的表示使用规则来确定应用行为的简化框图;
图8是表示根据一个实施例的应用行为的评估和不期望的行为的修复的简化流程图;
图9是表示根据一个实施例的结合基于应用的行为分析被确定为包括不期望的行为的应用的管理和补救所作出的决定的简化流程图;
图10是表示根据一个实施例的应用的示例修复的简化流程图;
图11是表示根据一个实施例的应用的示例修复的简化框图;
图12A-12E表示根据一些实施例的应用的不期望的行为的检测和补救的示例;
图13是表示根据一个实施例的应用的示例修复的简化流程图;
图14A-14B是表示根据一些实施例的示例模式管理器的特征的简化框图;
图15A-15B表示根据一些实施例的用于管理用户设备中的模式的示例算法的多个部分;
图16是根据一个实施例的用于在多个设备之间共享设备模式的简化框图;
图17是示出根据一个实施例的在管理设备的多个模式时情境的使用的简化框图;
图18是示出根据一些实施例的用户设备上的多个模式的远程提供和/或激活的简化流程图;
图19是表示根据一些实施例的所收集的应用信息的简化框图;
图20A-20D是根据一些实施例的结合用户设备的模式管理所提供的示例用户界面的屏幕截图;
图21A-21C是表示根据一些实施例的涉及示例应用管理系统的示例操作的流程图。
各附图中同样的附图标记指示同样的元素。
具体实施方式
图1示出示例系统100,其包括例如示例应用管理服务器105和诸如智能电话、移动游戏系统、平板计算机、膝上型计算机、上网本等等此类示例之类的一个或多个移动用户设备110、115、120和125。应用管理服务器105能够向这些用户设备提供一项或多项服务,从而在所下载、安装、使用或以其他方式提供给用户设备110、115、120和125的多个应用的管理中进行协助。用户设备110、115、120和125能够访问诸如集中式应用店面(storefront)之类的应用服务器140,诸如例如,安卓市场TM,等等此类示例。在一些示例中,应用服务器140可进一步包括可下载并安装在用户设备110、115、120和125上的软件应用的其他源。用户设备110、115、120和125能够在包括局域网和广域网(诸如,因特网)的一个或多个网络130上与应用管理服务器105通信,并且消费该应用管理服务器105的数据和服务。在示例应用管理服务器105的多项服务中,至少部分地可由通过该应用管理服务器105所提供的功能来分析、评估并修复可用于用户设备110、115、120和125的多个应用。此外,结合可用于用户设备110、115、120和125的多项服务,应用管理服务器105能够与诸如信息服务器145之类的其他外部系统和服务器进行交互,并且消费该其他外部系统和服务器的资源、数据和服务。例如,此类信息服务器145能够主管提供关于可用于用户设备110、115、120和125的多个应用的附加情报和情境的服务和数据,等等此类示例。
通常,包括示例计算环境100中的系统设备(例如,105、110、115、120、125、140、145等)的“服务器”、“客户机”、“客户机设备”、“用户设备”、“移动设备”、“计算设备”、“网络元件”、“主机”、“系统型系统实体”和“系统”可包括可用于接收、发送、处理、存储或管理与计算环境100相关联的数据和信息的电子计算设备。如在本文档中所使用的,术语“计算机”、“处理器”、“处理器设备”或“处理设备”旨在涵盖任何合适的处理设备。例如,在计算环境100之内示出为单个设备的元件可使用诸如包括多个服务器计算机的服务器池之类的多个计算设备和处理器来实现。此外,计算设备中的任何、全部或一些可适用于执行任何操作系统以及虚拟机,操作系统包括LinuxTM、UNIXTM、微软WindowsTM、苹果OSTM、苹果iOSTM、谷歌安卓TM、Windows ServerTM等,并且虚拟机可适用于虚拟化对包括自定义和专属操作系统的特定操作系统的执行。
此外,服务器、用户设备、网络元件、系统和其他计算设备可各自包括一个或多个处理器、计算机可读存储器以及一个或多个接口,等等此类特征和硬件。服务器可包括任何合适的软件组件或模块,或包括能够主管和/或服务于包括分布式、企业或基于云的软件应用、数据和服务的软件应用和服务(例如,服务器105的个人安全系统、服务和应用等)的计算设备。例如,在一些实现方案中,通过云实现的系统可至少部分地包括计算系统100的应用管理服务器105、应用服务器140、信息服务器145或其他子系统,该云实现的系统配置成用于远程地主管、服务或以其他方式管理数据、软件服务和应用,这些数据、软件服务和应用与系统100中的其他服务和设备对接、相协调,依赖于系统100中的其他服务和设备,或者以其他方式由系统100中的其他服务和设备使用。在一些实例中,服务器、系统、子系统、或计算设备可实现为可在共同的计算系统、服务器、服务器池或云计算环境上受主管的、并且共享包括共享存储器、处理器和接口的计算资源的多个设备的一些组合。
用户设备、端点设备或客户机计算设备(如,110、115、120和125等)可包括传统计算设备和移动计算设备,包括,设计成用于与人类用户交互、并且能够在一个或多个网络(如,130)上与其他设备通信的个人计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、功能电话、手持式视频游戏控制台、台式计算机、启用互联网的电视机和其他设备。计算机辅助的或“智能的”装置可包括家用或工业设备和机器,这些家用或工业设备和机器包括计算机处理器,并且由该计算机处理器、该计算机处理器的其他硬件和/或该计算机处理器所执行的一个或多个软件程序控制、监测、辅助、补充,或者通过该计算机处理器、该计算机处理器的其他硬件和/或该计算机处理器所执行的一个或多个软件程序以其他方式增强这些设备的功能。计算机辅助的装置可包括各种计算机辅助的机器和产品,其包括冰箱、洗衣机、汽车、HVAC系统、工业机械、炉、安全系统等。
用户计算设备、计算机辅助装置、服务器和计算设备的属性一般在设备之间差异很大,这些属性的差异包括各自的操作系统以及所加载、安装、执行、操作或以其他方式可由每个设备访问的软件程序的集合。例如,计算设备可运行、执行、已安装或以其他方式包括程序的各种集合,包括能够由各自的设备运行、执行或以其他方式使用的操作系统、应用、插件、小应用程序、虚拟机、机器镜像、驱动程序、可执行文件和其他基于软件的程序的各种组合。
一些系统设备可进一步包括由这些系统设备的多个计算机处理器所支持的至少一个图形显示设备和多个用户界面,该至少一个图形显示设备和多个用户界面允许用户看到系统中所提供的应用和其他程序的图形用户界面并与之交互,系统中所提供的应用和其他程序的图形用户界面包括程序和图形用户界面的用户界面和图形表示,其中,上述程序与在系统设备之内受主管的应用进行交互,上述图形用户界面与应用管理服务器服务和其他应用等相关联。此外,虽然可按照由一个用户使用来描述系统设备,但是本公开构想了许多用户可使用一个计算机或一个用户可使用多个计算机。
虽然图1被描述为包含多个元件或与多个元件相关联,但是并非图1中的计算环境100之内所示出的所有元件可被用于本公开的每一个替代实现方案中。此外,结合图1中的多个示例所描述的一个或多个元件可位于计算环境100的外部,而在其他实例中,某些元件可被包括在一个或多个其他所描述的元件以及未在所示出的实现方案中描述的其他元件之中,或者是一个或多个其他所描述的元件以及未在所示出的实现方案中描述的其他元件的部分。另外,图1中所示出的某些元件可以与其他组件相组合,并且可用于除本文所描述的那些目的之外的替代目的或附加目的。
现在转向图2中的示例框图,示出了示例系统,该示例系统包括在一个或多个网络130上进行通信的应用管理器205、用户系统210以及包括例如应用服务器140和信息服务器145的其他计算设备和网络元件等。在一个示例实现方案中,应用管理器205可包括一个或多个处理器设备215、存储器元件218以及一个或多个其他软件和/或硬件实现的组件。例如,在一个示例实现方案中,应用管理器205可包括共享引擎220、用户管理器222、修复引擎225、行为分析引擎228、应用情报引擎230以及包括上述各项的多个组合的其他潜在的机器可执行逻辑、组件和功能等。
在一个示例中,共享引擎220可配置成用于提供管理关于应用(例如,通过应用服务器140而变得可用)的信息的众包(crowdsourcing)以及共享此类信息和资源的功能,此类资源包括至少部分地由应用管理器205生成的或由应用管理器205收集的资源。例如,示例共享引擎220可允许为特定用户和相关联的用户设备(如,210)所开发的经修改的应用232以及所定义的应用模式240横跨多个用户设备(如,210)被共享,等等此类示例。示例用户管理器222可提供管理消费或以其他方式使用应用管理器205的多项服务的各种用户设备(如,210)的用户账户的功能。示例用户管理器222可将各种经修改的应用232、应用数据和反馈数据(如,235)和包括由特定用户所开发或修改的应用模式的应用模式240与系统中的一个或多个用户账户和用户设备(如,210)相关联,等等此类示例。
在一些实现方案中,应用管理器205可附加地包括能够结合用户设备下载、安装、激活或以其他方式使用或获得各种应用(包括通过一个或多个应用服务器(如,140)所提供的多个应用)的尝试,向一个或多个用户设备(如,210)提供应用管理、安全和诊断服务的多个组件、引擎和模块。例如,在一个示例实现方案中,应用管理器205可包括示例行为分析引擎228,该示例行为分析引擎228适用于分析并标识可用于系统上的多个用户设备的各种应用的功能。此外,可例如通过行为分析引擎228来标识用户或管理员可能希望阻止、限制、修复或修改的应用的功能,等等此类示例。相应地,在一些实施方案中,示例应用管理器205可包括示例修复引擎225,该示例修复引擎225配置成用于代表用户来修改应用,从而消除例如由行为分析引擎228检测到的不期望的应用特征,并且进而生成经修改的应用232。在一些示例中,可基于对应用户的请求、规则、设置和偏好来具体地修改并配置经修改的应用232。此外,应用管理器205可包括应用情报引擎230,该应用情报引擎230配置成用于收集例如来自信息服务器145以及在应用管理器205及其客户机用户设备(如,210)的内部和外部的其他源的应用数据(如,235)。应用情报引擎230可用于收集关于例如由应用服务器144服务的一个或多个应用的情报。可结合应用管理器205所提供的多项服务(诸如由应用管理器205进行的对应用的行为分析和评估,等等此类示例)来使用该情报。
在一些实现方案中,用户设备(如,210)可包括一个或多个处理器设备242和一个或多个存储器元件245以及一个或多个软件和/或硬件实现的组件,这些软件和/或硬件实现的组件包括例如,模式管理器248、设置管理器252、安全工具250以及一个或多个应用255(如,通过应用服务器140所获取的应用)。在一个示例实现方案中,用户设备210可包括模式管理器248,该模式管理器248配备有用于对用户设备210上的多个应用访问模式265进行定义、实施以及以其他方式进行管理的功能。模式规则270可另外由模式管理器248管理,该模式规则270定义例如在用户设备210上自动地发起或实施各种模式265的多个特定条件。此外,可由用户例如通过示例设置管理器252来定义一个或多个设置260,该设置对应于设备210的多种模式265,并且在一些情况下结合设备210的多种模式265被使用,等等此类示例。
转至图3的示例,示出简化框图300,其示出示例应用管理器的功能和流。例如,行为监测器228可评估多个应用,以标识应用的一个或多个功能和/或内容是好的、差的、可疑的还是质量未知的,等等此类示例。该评估可基于从诸如信息服务器、用户反馈和其他源之类的多种源(如,145)中获取的信息。在标识了“差的”应用功能和/或内容的实例中,应用修复引擎225可致力于修改该应用并补救所标识的不期望的功能,以生成对应于该应用的修复版本的经修改的应用文件232。此外,例如可由模式管理器248将可疑的或未知的应用指定为专用于用户设备210的特定的受限的访问模式,从而实际上隔离该可疑的应用,直到获取关于该应用的更多情报为止。在确定应用符合用户、网络、管理员等的规则、要求或偏好的实例中,反而可允许该应用继续在用户设备上进行安装。此外,已经被修复而生成了经修改的应用文件的应用可允许该经修改的应用继续去往用户设备,从而安装在此设备上,等等此类示例。
图4包括示出通过示例应用行为分析引擎实现的示例原理和活动的框图400。可由反汇编器和数据/控制流分析器410访问或接收应用二进制文件405,该反汇编器和数据/控制流分析器410结合诸如应用描述、审核、评论和其他结构化和非结构化的数据之类的周边(ambient)应用知识415(例如,从外部信息源以及用户、评论者等处收集到的),可针对每一个应用二进制文件405开发应用逻辑的模型420。反汇编器和控制流分析器410可基于例如将代码或应用逻辑模型与软件开发包和/或公共API中所定义的或从软件开发包和/或公共API中识别出的已知功能进行比较来标识给定的应用的行为425,该软件开发包和/或公共API是由对应的客户机设备操作系统和与该客户机设备兼容的大多数或所有的应用利用的。一些示例包括,谷歌安卓软件开发包、苹果iOS软件开发包、Windows软件开发包,等等此类示例。
通常,平台软件开发包(或“SDK”)可提供文档、头部文件、库、命令、接口等,这些文档、头部文件、库、命令、接口等定义并提供对可由与该平台兼容的多个应用访问的各种平台子系统的访问。在一个示例实现方案中,可在可由例如应用行为引擎用于确定与平台兼容的多个应用的行为和功能的模型中表示平台SDK和对应的API和API调用(即,对API的函数和例程的调用)。以程序可读形式并且利用导出应用行为所必需的关键信息来表示常用的API的语义。平台SDK的语义可表示为使得示例应用行为引擎能够使用该语义模型理解并标识使用该API调用的给定应用的操作和行为。例如,在一个示例实现方案中,例如通过API情报430,可通过用描述API调用各自在平台上做了什么的行为标签以及这些API的操作和行为的对应参数来标注每个API调用各自的名称来表示该平台的所有潜在的API调用。作为示例,此类语义表示的模板可被模型化,例如:
在上述示例中,“category”(“类别”)可指定API调用的类型,并且可用于标识此类API调用的总体功能,诸如,该API调用从特定的子系统、盘等中读取信息;生成各种消息;发起各种网络行为;尝试与各种外部服务器通信;以及触发特定的设备功能或元件(例如,相机、SMS控制器等)。“Sensitivity”(“敏感度”)可表示在结合子系统的恶意行为的潜在可能性的情境中,该子系统受API影响或者由该API被关联的各自的敏感度,例如,在该子系统潜在地允许恶意软件的引入、未经授权的跟踪或数据收集、对SMS或email消息的未经授权或不期望的读取或发送等等许多此类示例的情况下,读取特定的存储器位置是否引入间谍活动的潜在可能。此外,“dependency”(“依赖关系”)可表示该API的输出是否可直接地对该程序的其他部分存在影响。例如,sendTextMessage()(发送文本消息())API可被标识为不具有依赖关系,其中,该API仅发送出消息而不返回任何消息,等等此类示例。
行为启发式(heuristics)/规则引擎435(如,示例分析引擎(如,228)的行为启发式/规则引擎)可将其他信息用于确定受评估的应用的行为,其他信息诸如是聚合来自源社群445、规则450和其他信息的全球威胁情报(GTI)440。
如上文所述,示例应用行为分析引擎(如,228)可拥有基于例如兼容的应用所基于的标准平台SDK的语义表示来标识给定的应用的控制流、操作、功能和行为的功能。在图5A中,示出针对示例游戏应用的简化的应用控制流的表示500。当该游戏的功能与平台SDK的语义标识和针对该游戏应用的周边应用情报相比之下处于该游戏应用二进制文件的代码的主要期望的、安全的以及良性的、更深层次的监测之中的时候,该功能也识别不能由用户立即地或以其他方式识别、理解或领会的其他功能,例如,在用户明确知晓或允许的情况下或者用户不明确知晓或允许的情况下发送SMS消息的应用。在图5B中所示的另一示例中,监测应用二进制文件的特定对象可揭示给定应用的全部功能和控制流,并且揭示用户原本可能无法意识到、理解或赞成的不同的程序、程序单元或应用之间的依赖关系。作为示例,在一些实现方案中,可在标识数据流和数据调用的特定型式(pattern)的XML文件中外部地表示所标识的行为启发,可从这些特定型式中可识别该行为。例如:
在一些实现方案中,基于例如平台SDK的语义表示的模型,应用逻辑可被模型化,并且可将多个规则应用于解释该应用逻辑以及标识该应用的对应的二进制文件之内的、与恶意行为、侵犯隐私行为、违反策略行为或其他不期望的行为对应的多个指令与调用。应用的功能的逻辑模型可包括通过数据流结构和控制流结构等等此类示例进行的应用逻辑的表示(如,505)。数据流结构可表示数据对象经过应用逻辑(如,510)并且到达包括外部程序单元的其他程序单元(如,515)之上的生命期。数据流结构(如,505)可用于在来自应用程序的一个部分的数据的流移动时标识该流,并且潜在地被应用逻辑变换。例如,数据流模型可用于推断特定的数据正由该应用通过因特网通信投递操作被泄露,等等此类示例。此外,控制流结构可表示用于标识被确定为敏感的或不期望的应用调用的原始源的不同的函数调用(如,520、525)的控制流。作为说明性的示例,可由用户将由应用进行发送SMS消息的调用(或者甚至是该应用后台处理中的匿名事件,等等潜在的许多此类示例)回溯至例如与所交互的应用的UI元件。
转向图6中的示例,示出了表示例如可由多个应用通过平台SDK中所定义的一个或多个API来访问的各种子系统、设备和功能的简化框图。在一些实现方案中,在可以结合恶意行为或其他方式的不期望的行为操纵或利用子系统的潜在可能的情境中,基于各个子系统的敏感度,可对所有的平台子系统进行分类和权重分配。此类权重和敏感度可基于包括例如隐私侵犯、数据泄露、金融敏感度等等此类示例的潜在可能的各种因素。这些因素可形成对平台的各种子系统进行分类的基础。此类子系统可包括例如,通讯录、相册、email客户端、日历、因特网连接与浏览、图形、视频功能、相机、音频、安全工具和引擎、通话、Wi-Fi能力、蓝牙能力、数据端口、电池电源、触屏、全球定位系统以及潜在的许多其他的功能和子系统,包括可被集成在移动设备中的未来功能。
如图7的示例中所表示的,应用行为分析引擎的规则引擎可例如从规则数据库中访问规则,这些规则包括根据例如用户偏好以及适用于这些用户的策略(例如,因特网服务提供商、企业网络、宽带数据提供商等的策略)为特定用户或用户群和/或由特定用户或用户群自定义的规则。该规则引擎可将应用逻辑模型(例如,基于对应于该应用的平台SDK的语义表示所开发的应用逻辑模型)作为附加输入以评估应用逻辑模型中所标识的应用的各种操作和功能。根据被标识为适用于应用的特定实例(例如,已尝试被下载或安装在与所标识的规则相关联的用户的特定用户计算设备上的应用的实例)的多条规则,该规则引擎可评估应用的各种操作和功能。可由该规则引擎来标识应用行为,包括将这些应用行为标识为违反一条或多条规则(如,禁止某些行为或动作的规则)且(在某些情况下)提示补救所标识的应用行为和/或将该应用分配到目的地用户设备上的、诸如隔离操作模式或管理操作模式之类的一个或多个操作模式,等等此类示例。
在一些实现方案中,可建立标识行为的并且基于API语义的描述的人类可读描述。在一个示例中,人类相关的动词和名词可与语义表示中的模板消息相关联,并且可被映射至可用于API的功能和操作的特定的人类可理解的描述。此外,结合根据例如由应用行为分析引擎所执行的语义模型对应用进行的评估,可从上述映射中生成描述各种功能以及在一些实现方案中描述经分析的应用的控制流数据流的行为分析结果的人类可读概要,并且将该人类可读概要呈现给用户。此类结果可利用该人类可读描述以生成在对该应用进行分析期间所揭示的功能的描述,包括原本可能对用户不可见或难以被用户检测到的功能。例如,在一个实现方案中,可利用并填充该模板,从而标识并描述用于从该用户的设备中读取SMS数据的示例应用的功能。作为说明性示例,对应的描述可生成为例如:“此应用从SMS收件箱中读取您的SMS数据并将其发送到网站上。”可例如通过填充基于诸如下列的平台SDK和API的语义表示的示例模板来建立此类描述:“此应用从<noun:SMS inbox>(<名词:SMS收件箱>)<verb:reads>(<动词:读取>)您的<noun:SMS data>(<名词:SMS数据>)并且将其<verb:sends>(动词:发送)到<noun:website>(<名词:网站>)上”,等等此类示例。
在一些示例中,经分析的应用行为可揭示由该经分析的应用对其他应用、程序或服务的使用。例如在其他经调用的应用被标识为不安全的、不受信任的或未知的等等此类示例的时候,一些实例(由经分析的应用对本地应用、远程服务或其他程序的调用)可能是不期望的。在其他实例中,由经分析的应用调用或使用的程序可被标识为受信任的程序。相应地,在一些实现方案中,应用行为分析引擎可利用、生成、修改或以其他方式管理白名单和/或黑名单,这些白名单和/或黑名单标识还不为各种经分析的应用所知的或可能潜在地由各种经分析的应用调用的各种程序的状态和信誉。在一些实现方案中,由远程服务器主管的应用和服务可附加地由对应于各自的主机服务器的各自的URL或其他地址信息等等此类示例在此类白名单和/或黑名单中进行标识。
在一些实现方案中,该行为分析引擎可标识由受评估的应用执行特定活动、访问平台API或使用功能的情境。作为示例,可基于尝试的原因或情境来评估经分析的应用访问平台通话子系统的尝试。例如,在一些情境中,特定的API调用可能是完全可接受的,而在另一些情境中,该API调用可能是不期望的。例如,可能以不同于由应用自主地访问通话子系统并且不响应于用户提供的指示等等此类示例的尝试的方式来评估响应于诸如按下按钮之类的用户界面交互访问通话子系统的所标识的应用功能。
如上文所述,在一些实现方案中,可定义能用于应用行为的评估中的规则。此类规则可被表示为或配置为用于执行应用逻辑或应用行为分析引擎所标识的潜在的恶意行为(包括该行为要被确定为是恶意的情境)的启发式分析。例如,规则引擎可将一条或多条规则应用于应用逻辑模型以标识存在于该应用中的一个或多个潜在恶意的或以其他方式不期望的行为。在一些实现方案中,规则可表示为:
<Rule>
<Run><Dataflow><ReadOperation>of<red sub system>to a<WriteOperation>of<write sub system>
这些规则可以是通用的,或者可以是专用于特定的子系统的等等,诸如是检测存储个人通讯录数据的存储器元件的数据泄露的规则,等等此类示例。可基于单条规则或多条规则的应用来导出专用的应用行为。
在一些实现方案中,可在远离为其执行分析的移动用户设备的一个或多个服务器计算设备上主管应用行为分析引擎。在其他示例中,可向应用行为分析引擎的至少部分替代地或冗余地提供服务器侧的应用行为分析引擎组件的功能。例如,在一个示例实现方案中,可向用户计算设备提供应用行为分析引擎功能,该应用行为分析引擎功能允许对要在该用户设备处执行的应用进行的至少部分的或快速的初步评估,进而向用户提供快速反馈,并且评估是否应当隔离应用、拒绝下载或安装应用和/或将该应用转发到诸如云系统中所提供的远程应用行为分析引擎之类的远程应用行为分析引擎,随后允许对该应用进行更稳健的行为分析(那可能将增加的等待时间引入行为分析评估中)。
在一些实现方案中,在分析应用期间,可阻止或延迟下载、隔离或启动经分析的应用,直到该分析完成为止。在一些实例中,可向用户提供提示,该提示标识该应用的分析,并且向该用户提供用于处理该经分析的应用的安装、下载或启动的各种选项。例如,可向用户提供跳过分析、延迟安装该经分析的应用、将该经分析的应用分配到特定模式等等此类示例的选项。此外,在一些实现方案中,结合评估呈现给该用户的提示可以与诸如从行为分析引擎评估和/或关于该经分析的应用的外部情报中收集到的初步信息之类的信息一起被呈现出来。此类情报可包括例如由该行为分析引擎在对该经分析的应用进行的先前的评估中收集到的情报,等等此类示例。实际上,在一些实现方案中,该行为分析引擎可向针对该应用所发现的用户行为指示用户多久响应一次从该行为分析引擎接收到的、关于该特定的经分析的应用的反馈,等等此类示例。
在一些实现方案中,行为分析引擎可保持为其所知和/或先前经其分析的多个应用的黑名单、灰名单和/或白名单。此类黑名单、灰名单和/或白名单可基于从先前的行为分析中收集到的历史情报和来自其他源以及其他用户的外部情报。该行为分析引擎可利用此类信息来执行对应用的初步评估,并且利用从先前的分析中收集到的信息。进而可向用户提供初步的过滤或反馈,以辅助该用户确定如何处理特定的应用,以及是否使用该行为分析引擎对该应用发起进一步的行为分析。
应用的行为分析和/或黑名单/白名单可进一步包含或考虑开发者或被标识为对各种应用负责的其他方的总体信誉信息,等等此类示例和考量。可定义考虑应用的开发者、经销商等的可信度或不可信度的多条规则。例如,可由该行为分析引擎基于对开发者的应用的综合分析来计算应用开发的得分评级。例如,此类评级可导出如下:App开发者评级=f(app的总数,app中不期望的行为的加权平均,app的流行度,低评级的平均比率),等等此类示例。例如,在一个说明性示例中,可针对开发者的一组应用生成不期望的行为的加权平均:
行为 权重(最高为10) 发生次数 总计权重
通讯录泄露 9 2 18
设备ID泄露 2 5 10
消息泄露(SMS) 8 3 24
位置泄露 5 4 20
非必需的许可 2 1 2
并且平均权重可通过“平均权重=总计权重/App总数”来导出,等等此类示例实现方案。
诸如情报数据库(如,全球威胁情报(GTI)馈送)之类的外部源可用于标识已横跨由经行为分析引擎评估的多个应用所采用的一个或多个网络检测到的恶意行为。例如,可标识先前已被确定为要与其他恶意攻击、恶意软件或可疑系统相关联的或要用于其他恶意攻击、恶意软件或可疑系统的各种URL、IP地址、电话号码和文件。此外,行为分析引擎可与情报数据库对接,以提供从由该行为分析引擎自身所执行的应用的行为分析中收集到的附加情报,等等此类示例。
另外,在一些系统和平台中,由一个或多个应用服务器或店面所提供的应用可向用户提供针对给定的应用所收集的基本描述、评级、用户反馈等。不幸的是,在许多实例中,应用开发者可能会自身来提供、操纵或以其他方式影响此类评级、应用描述、内容评级等,进而潜在地减弱了提供给用户的、关于一些应用的信息的可信度或正当性。相应地,在一些实现方案中,从对由示例行为分析引擎执行的多个应用的行为分析中收集到的情报(如,行为描述)可用于补充、纠正或以其他方式修改结合用户浏览、购买以及下载平台上可得到的应用提供给这些用户的描述。此外,在一些实现方案中,行为分析引擎可将这些默认的应用描述、内容评级、用户反馈等用作结合行为分析而考虑的外部情报。在又一示例中,行为分析引擎可用于标识多个应用之间的、可用作根据行为对这些应用进行分类的基础的共同的行为特点。随后,可向用户提供此类类别,以辅助用户更好地理解各种应用的质量和行为以及潜在的风险,等等此类示例。
转向图8,示出示例流的简化的示意图800,该示例流用于在一些示例中,执行对应用行为的深度分析(例如,使用行为分析引擎)以及试图补救被确定为在应用中是不期望的那些行为来执行应用修复,同时仍然保持该应用的其他核心功能。如所示出的那样,可将应用二进制文件提交到(例如,行为分析引擎的)反汇编器和数据控制流分析器410,以便在一些示例中附加地基于周边应用知识415、情报等来开发应用逻辑模型(如,420)。如上文所述,可通过行为启发式/规则引擎435,基于所定义的规则、平台API情报和行为启发来评估应用逻辑的模型420以标识各自应用的应用行为。此外,在评估期间,可将多部分的应用的代码标识为对所呈现的不期望的行为是负有责任的。可标记该代码以进行补救。此外,在由用户、管理员或预定义的规则将应用行为标识为不期望的,并且请求或规定修复这些应用行为的实例中,可进一步处理这些应用二进制文件以去除、阻止或以其他方式补救这些冒犯性行为以及对应的代码,从而生成用户随后可将其下载、安装到该用户的设备上并且在该用户的设备上执行的应用二进制文件的经修复的版本232。此外,如上文所述,全球威胁情报馈送440或其他情报数据库可提供用于考虑、行为分析以及应用修复的情报。此外,从行为分析中收集到的情报可与附加地从用户和系统社群445接收输入、数据和情报的外部情报数据库共享。
现在转向图9中的示例,所示出的附加的流程图900表示结合对基于应用的行为分析被确定为包括不期望的行为的应用进行的管理和补救所作出的决定。例如,可例如由用户或系统或网络管理员定义规则或策略,以定义将如何处理以及在什么条件下处理已被确定为包括一个或多个不期望的行为的应用。此类策略可例如标识特定类型的不期望的行为,并且将此类行为映射至预定义的动作过程,诸如,修复或补救应用,将应用加入黑名单或白名单,隔离应用,等等此类示例。此外,用户输入可驱动对在用户计算设备上应用的部署的管理。可结合呈现给用户的提示来接收此类输入,并且此类输入可包括例如,补救一个或多个所标识的不期望的行为的请求、用于将经分析的应用分配到特定的操作模式或隔离区的指令,等等此类示例。
如上文所述,可由修复引擎执行对应用行为的静态修复和个性化操作,该修复引擎允许修改该应用的代码并生成允许用户在去除不期望的行为的同时保留该应用的安全的或正当的功能的该应用的“安全”版本。在一些情况下,可将此类修复个性化或定制到驱动该修复的具体定义的策略,进而允许用户、服务提供商、设备制造商等能控制并个性化要安装在对应的用户设备上的应用的功能。在图10中,示出简化的图1000,该简化的图1000示出原始应用1005的示例修复的流。在如1010处所示标识了不期望的行为以及应用二进制文件的代码的冒犯性部分之后,可提供修复引擎,用于标识、去除、替换或阻止该冒犯性代码和对应的行为,从而生成经修改的应用二进制文件1015。作为示例,修复引擎228可包括逻辑,该逻辑用于去除或阻止各种类型的不期望的行为,例如在此示例中,通过去除在原始的应用二进制文件中发现的冒犯性指令来去除对SMS功能的未经授权的读取或访问。在诸如此示例中所示的其他实例中,修复引擎可诸如通过重写代码以将API调用重定向到受信任的系统、目的地、地址等来修改该冒犯性代码。修复引擎228可通过作出最小改变来修改原始代码,以避免影响该应用的核心的所期望的功能。此外,修复策略可标识针对标识用于修复的应用代码所考虑的型式。这可在例如标识对应于冒犯性行为的代码的启发型式的XML文件中被表示出来。可由诸如根据对应的策略的修复方法之类的特定修复方法来修复每种类型的所定义或所标识的代码的型式。能以修复不影响该应用的功能的其余部分的方式标识和定义此类方法。
可由应用修复器引擎来采用各种修复方法。例如,特定的冒犯性的代码功能行可被标识为控制链中的最终节点或叶节点。在此类实例中,该冒犯性的代码可被确定为能够被抑制或去除,而不影响应用中的其他依赖关系,等等此类示例。在另一示例中,如果去除特定的API调用被确定为可能对周围的代码没有影响,则可以应用该去除修复方法。可例如从语义平台SDK表示等等此类示例中学习API的性质和特性。在其他实例中,该冒犯性行为可能来自代码的一个或多个部分,并且可导致应用于补救该行为的多个修复方法,例如,通过替换寄存器中的数据以更改该API的行为,或者通过用新的API代码替换该冒犯性的API代码,利用相同的界面将该API调用重定向到该API的新版本,等等此类示例。在引入API的新版本的实例中,新的API可例如什么都不做并且设置寄存器状态,从而不影响该程序的其他部分,以不同的方法来处理输入以避免不期望的行为,或者进行输入/输出参数的预处理和/或后处理以及调用原始的API,等等此类解决不期望的行为的示例技术。
转到图11,示出简化的框图,该简化的框图示出与特定的不期望的行为有关的代码的标识。例如,应用代码的部分1a和1b可被标识为对应于第一检测到的不期望的行为,而部分2a和2b可被标识为对应于应用的第二不期望的行为。相应地,修复该应用可包括利用修改或抑制不期望的行为的代码来修改或替换所标识的冒犯性部分的代码。此外,可标识对应于所标识的代码或API调用的修复策略以标识用于修改经冒犯的代码以及补救不期望的行为的修复技术。
在图12A-12E中,示出了检测不期望的行为和补救这些不期望的行为的附加示例。例如,在图12A中,允许应用向外部服务器发送纬度和经度信息的示例代码片段被示出为经处理以例如利用行为分析引擎来填充API模板。如图12B中所示,可标识该应用代码的、对应于收集地理位置数据并且将该地理位置数据发送到外部服务器的行为的多个部分。根据一个示例,可例如利用对地理位置数据的发送进行屏蔽或重定向的代码来替换冒犯性的代码行以防止该应用跟踪用户位置,等等此类示例。在另一示例中,图12C中示出可在应用中标识控制流以及对应的应用代码。如图12D-12E中的示例中所示,补救特定的不期望的行为可包括删除冒犯性的代码行,等等此类示例。
图13示出结合应用的一个或多个检测到的不期望的行为的补救的示例流1300。例如,可标识与针对特定用户的应用行为的动态个性化、应用的复合行为和对应的代码片段的联系。可结合对允许用户选择特定的经标识的行为以进行补救或修改的应用进行的修复或定制来呈现用户界面。在一个示例实现方案中,可结合应用修复引擎,向该用户界面提供指示该应用修复引擎将如何(例如,哪些经标识的行为)修改该应用的用户输入。在另一示例中,应用修复引擎可将一个或多个用户界面控制插入到该应用原始的二进制文件中,从而允许用户在启动经修改的应用时动态地启用、禁用或以其他方式补救或自定义该应用的行为。例如,基于该用户的选择,可利用对应于可接受行为的代码的原始部分来代替相同代码的经修复的版本,等等此类示例。实际上,可基于用户偏好和输入,选择性地关闭或打开展示出行为的代码的片段中的每一个片段。此外,该用户界面可向用户提供保存应用设置的选项,以便对应用行为的特定子集的选择得以保存并且该选择在该应用下一次在该用户设备上启动时是可用的。
在一些实现方案中,可提供功能以定义、启用和采用用户设备上所定义的使用模式(mode)。从传统意义上说,诸如智能电话和平板计算机等等此类示例之类的用户设备被设计成用于支持单个用户和应用简档。然而,对于该设备的所有实际用户或者对于使用该设备的多个情景而言,单个操作简档和模式可能不是合适的。例如,用户可能期望在某个短时期内将其设备借给朋友,但是想要保留对访问该设备上的敏感应用和数据、email应用、通讯录、日历、消息收发功能等中的一些的控制。在其他实例中,该用户可能期望允许儿童临时地使用该设备(例如,玩游戏),但是更希望将其他应用(如,web浏览器)以及对某些设备设置和数据的访问与该儿童隔离开。此外,用户可能期望将该设备上应用的一些子集的使用控制在特定的时间、地点和情景中。例如,在上课时间期间可能期望禁用游戏和社交联网应用,等等此类示例。
图14A示出模式管理器的示例实现方案的简化框图1400a。例如,可基于从该用户设备和外部服务收集到的情报来定义各种模式。用户可通过用户界面定义一个或多个模式,该设备上的模式管理器可例如使用分配给每一个模式的专用证书来管理对各种模式的访问。此外,如上文所述,应用监测服务或应用行为分析引擎可对于该用户设备上可用的隔离模式或高安全性模式推荐多个特定的应用。相应地,用户可定义此类模式以将对潜在地有风险的或当前正在被分析的应用的访问限制于管理用户、成人用户或其他受信任的用户,等等此类示例。
图14B示出另一简化框图1400b,其示出应用模式管理器的原理。在一些实现方案中,应用模式管理器248可包括各种模块和功能,例如,模式设置管理器1405、锁定服务1410、锁定管理器1415、证书管理器1420、应用访问管理器1425、应用保护服务1430、密码引擎1435,等等此类示例。例如,在所示出的示例中,具有管理权限的用户可例如使用模式设置管理器来设置密码或PIN,并且将这些证书分配到该用户所定义的多个模式中。访问管理器可利用证书管理器来验证是否接收到了允许该设备的当前用户访问针对该设备所定义的一组模式中的一个模式的有效证书。如果输入了错误的证书,则锁定管理器调用锁定服务,以通过向该用户分配受限模式或完全将该用户锁在外面来将该用户锁在一个或多个应用之外。
在一些实现方案中,设备模式可由排除列表或包含列表组成。就应用的使用被禁止或限制的意义而言,设备模式可被定义为应用在该模式中或被允许或以某种方式受保护的应用的各个集合。在一些实例中,可定义针对指示在对应的模式下可访问的设备的应用和/或子系统的特定子集(即,在该模式中,其余的应用受保护或被锁定)的模式的排除列表。例如,模式可根据如下方式定义:<ModeName,Inclusion/Exclusion,Access PIN,App1,App2,App3…..App N>(<模式名称,包含/排除,访问PIN,App1,App2,App3…..App N>)。在一些实例中,每一个设备模式可受保护,并且可与特定的密码相关联。可定义允许对设备的功能和应用的全部进行访问的主模式。相应地,可提供允许访问该主模式的主密码。在该主模式之内,可向用户提供对用于管理在该设备处可用的或经定义的该组模式的管理控制台的访问。相应地,该用户可通过该管理控制台编辑或定义多个模式,以及激活或删除预定义的多个模式。示例管理控制台可允许用户从多个应用的列举中选出该用户希望指定为在任何给定的模式中受保护或可访问的那些应用。在一些情况中,可在多个不同的模式下允许或保护单个应用。
在一些实现方案中,可将模式密码存储在经加密的存储器中。例如,可使用相同密码生成的密钥对每个模式的密码进行加密。然后,可通过利用由用户输入的密码所生成的密钥对该密码进行解密来验证经加密的密码。然后,可将该经解密的数据与用户输入的密码进行比较。基于用户所提供的该密码,可标识并认证对应的模式以允许该用户对该模式的访问。在一些实现方案中,例如在持续很久的不活动时期之后,该用户可手动锁定该设备或者该设备可锁定其自身。当尝试解锁或唤醒该设备时,可再次向用户呈现请求针对该设备的可用的和所定义的多个模式中的一个模式的密码的登录提示。
在一些实现方案中,多个模式可以是分层的。例如,登录到较高级模式(即,提供相对更重要的访问等级的模式)的用户可能能够自由地移动到另一模式,而不需要提供那个较低级模式的证书。另一方面,已被认证到较低级模式的用户在尝试访问分层结构中比该用户先前得到认证的较低级模式更高层级处的另一模式时,不得不输入附加的证书。例如,在一个实例中,可定义四个设备模式,其中:
模式1是管理员级模式;
模式2访客级模式;
模式3是访客级模式;以及
模式4是低权限模式
并且该分层结构定义为:模式1>(模式2和模式3)>模式4,其中,模式2是与模式3相同的等级,等等此类示例实现方案。
在一些实现方案中,当某些模式是活动的时候,可更改、自定义或至少部分地限制该设备的配置。例如,特定的模式可激活或停用GPS功能、数据访问、通话和某些应用。此外,在一些示例中,可提供在模式时确保特定应用的数据的多个设备模式。例如,一旦已创建了新的模式并且已向应用的集合分配了对应的访问等级,则可由通过分开的加密密钥的加密来保护这些应用的数据。这可例如通过使用用于对文件和文件夹进行加密的加密文件系统来实现,等等此类示例。
在一些实现方案中,可保全应用的可执行代码以防护在不允许访问和/或使用应用的行为或特征中的一个或多个的多个模式中所使用的多个应用。例如,在一个实现方案中,可将应用可执行文件存储在经加密的次级存储设备中。在一些示例中,仅仅在如果在针对尝试对设备的访问的活动的设备模式的可允许的应用列表中找到该应用时,该用户设备的操作系统加载器才可获得对可执行代码的有条件的、未经加密的访问,等等此类潜在的实现方案。
在一些示例中,定义针对用户设备的多个设备模式可进一步导致提供在对应的多个模式中的每一个模式中所呈现的多个唯一的主屏。结果,在此类实现方案中,给定的主屏的外观可向用户指示在该设备上活动的模式以及在该模式中可用的访问权限。在一些实例中,主屏可包括在该对应的模式中可用的应用的图标,并且隐匿或隐藏在该模式中受保护的其他应用的图标,等等此类示例。
此外,在一些实例中,可例如基于在用户设备上检测到的或加载的应用的经标识的多个行为和安全简档来自动地创建多个设备模式。例如,模式管理器可利用例如由示例应用行为分析引擎所执行的行为分析来标识展示行为的公共类别或安全简档的类别的多个应用。例如,被标识为允许访问在线资源的多个应用可被动态地分组或分配到已被定义为允许此类访问的一个或多个模式中。诸如专用于未成年用户的模式之类的其他模式可拒绝对允许用户访问因特网等此类示例的多个应用的访问。其他示例类别可包括:启用通话或移动消息收发功能的应用;使用利用敏感数据、收集潜在私人信息的子系统(如,相机、录音机、GPS系统等)的应用,等等此类示例。在一些实现方案中,诸如年龄评级(如,7岁+、12岁+、18岁+等)、用户评论或其他信息之类的关于应用的周边情报可用于对多个应用进行分类并将它们分组到各种模式中。例如,对应用的描述可包括年龄或成熟度评级以及针对该成熟度评级的原因。相应地,在一个示例中,可定义例如阻止由儿童用户访问具有更高成熟度评级的多个应用的一个或多个模式,等等此类示例。
其他全局的或分布式情报也可用于开发针对给定应用的信息,诸如图19中的简化框图1900中所示。例如,可从关于来自全球威胁情报440、发行方/开发者信誉信息1905、app商店反馈和评论1910、行为分析结果1915等等此类示例的应用的行为的安全信息中建立应用信息。可结合多个应用的行为评估1915(例如,应用是否潜在地泄露数据,提供位置信息,启用SMS消息收发等)来使用此类信息(如,440、1905、1910等)以将某些应用分配到诸如隔离模式或管理模式等等此类示例之类的特定的设备模式中。用户可进一步将自定义的类别或行为指定为或将预定义的类别或行为选为将多个应用分配到各自的模式的基础,而不是单独地选择多个应用以按部就班地将其包括在一个或多个模式中,等等此类示例。
转到图15A中的示例,表示出用于存储与特定的模式相关联的密码信息的示例算法。图15B表示用于验证密码并标识对应于所输入的密码的要激活的模式的示例算法。应当领会,图15A-15B中的算法是仅出于说明目的而呈现出的非限制性示例,并且在其他实例中可利用其他替代性算法和实现方案。
转到图16中的示例,在一些实现方案中,可将给定的用户所定义的多个模式提供给例如允许一个或多个模式以及与这些模式相关联的多条规则的应用管理服务、云服务或其他服务(如,1600)以聚集这些模式并且与其他用户共享这些模式。此外,可浏览并选择由模式共享服务1600维持的多个共享的模式,用于在用户设备110、120上的下载和利用,从而允许用户向他们自己的设备提供由其他用户创建的、并且使用模式共享服务被共享的多个模式。此外,在一些示例中,该用户可下载并安装来自模式共享服务的共享模式的定义,并向该新安装的模式分配唯一的密码来提供该共享模式。在另一些示例中,可例如通过像蓝牙、近场通信(NFC)、WiFi等的无线对等技术,直接地在多个设备之间共享多个模式配置,其中,一个设备从共享该模式的另一设备中获取新的模式。
在诸如图17中的示例中所示那样的一些实现方案中,可基于例如由该设备自身检测到的情境信息自动地激活多个模式。在一些示例中,用户可配置(例如,在管理控制台上)用于自动地激活多个特定模式的多条规则。例如,可响应于在该用户设备处检测到特定的情境,自动地激活特定的模式。此类情境可包括例如:在所定义的地理围栏之内检测到该设备的位置或接近;检测到该设备邻近其他设备;在特定的数据网络的范围内检测到该设备;检测到该设备的用户(例如,基于该设备所收集的生物测定信息);检测到的一天中的时间;设备电池状态;使用活动度(例如,防止特定的用户在该设备上花费太多时间等);该设备是否正在行进中或在运动中(例如,通过该设备上的GPS功能、加速度计或其他功能所检测的)等等此类潜在的许多示例。
现在转到图18中的示例,在一些实现方案中,可通过诸如云服务之类的远程服务来提供并配置多个模式,从而允许用户能够远程地激活/停用或定义模式。使用此类服务,用户能够远程地创建模式(例如,使用不同于目标移动用户设备的计算机),向目标用户设备提供一个或多个模式,并且也能从远程位置激活和停用该用户设备上的模式。此外,管理员也能够使用该服务在多个移动用户设备上提供此类模式,并且定义针对自动地激活、应用或停用给定模式等此类示例的多条规则和多个情境。
图20A-20D示出多个用户界面的示例屏幕截图,这些用户界面示出移动用户设备上的模式管理的一些示例实现方案的多个特定特征。例如,图20A中的屏幕截图示出用于定义新模式和模式密码的用户界面。可提供类似的用户界面以允许用户能够选择并激活在该设备上多个可用的模式中的一个,以及/或者提供针对所选择模式的证书。在一些实现方案中,用户设备可包括本机登录证书或本机登录管理器。模式管理器可被实现为覆盖本机登录管理器并用模式专用登录提示(例如,允许该用户设备的多模式功能的提示)来替换本机登录屏幕的应用自身。在一些实例中,由于该登录屏幕能够接受多个不同的登录代码中的一个(每一个登录代码对应于用户设备上所提供的所支持的模式(包括多个隐藏模式)),因此,用户可能无法在视觉上识别出向该用户设备提供了多个模式。
图20B中的屏幕截图示出针对特定模式的主屏的视图。如此示例中所示,可指定一组受限的应用,仅可通过向更高等级的模式(例如,允许对这些受限的应用的访问的模式)提供证书并激活该更高的等级来访问这组受限的应用。此外,“我的App”文件夹可提供对已在当前活动的模式中启用的那些应用的访问。图20C中的屏幕截图提供允许用户激活、编辑或创建新模式的示例管理屏幕的另一视图。此外,图20D中的屏幕截图示出可在模式管理器的一些实现方案中提供的用户界面,该用户界面允许用户从该设备上的多个应用的列表中指定在给定的模式中将包括或保护哪些应用,等等。应当领会,仅出于说明某些原理的目的提供上述示例,并且不应当将上述示例解释为限制性的示例。实际上,各种不同的实现方案、用户界面、程序结构、操作系统、SDK平台和方法序列可替换上述那些示例,而不背离本说明书中所示或所述的一般原理。
图21A-21C是流程图2100a-c,其示出管理移动用户计算设备上的应用中所用的示例技术。例如,在图21A中的示例中,可如2105处所示,例如对照诸如平台SDK和/或API的表示之类的平台的语义表示来分析特定的应用的代码。如2110处所示,可标识该特定应用的一组行为。如2115处所示,可基于用户从经标识的一组行为中选择一个或自动地根据针对要在特定的移动计算设备上下载、安装、启动或以其他方式使用的多个应用所定义(如,由用户或管理员定义)的多条规则和/或多个策略,在这组行为中标识至少一个不期望的行为。
在图21B中的示例中,如2120处所示,可标识行为,并且针对特定的应用检测一组行为(例如,根据图21A中的示例的原则)。然后,如2125处所示,可标识对应于所标识行为的特定应用的一部分代码。如2130处所示,可例如响应于所标识的行为是不期望的行为等的指示,对代码的经标识的部分执行补救动作以自动地补救该行为。该补救动作可导致动态地生成特定应用的“修复”版本,该“修复”版本保留该特定应用的原始功能的至少部分,而阻止不期望的功能或者将不期望的功能从经修复的版本中剥离出去。
在图21C中的示例中,如2140处所示,可激活多个模式中的特定的一个。可针对特定的用户计算设备定义这些模式,并且这些模式可规定该计算设备及其软件的功能中的哪个子集可由具有访问多个模式中的各个模式的证书的特定用户访问。如2145处所示,可根据2140处的特定模式的激活,在2145处将访问限制到被安装在该用户计算设备上的一个或多个应用中。此外,在一些实现方案中,激活该特定的模式可产生要应用的该计算设备的受限的或替代的配置,该配置进而限制用户对一个或多个子系统和功能的访问,包括该用户计算设备的硬件功能、设置和数据,等等此类示例。
虽然已按照某些实现方案以及一般相关联的方法描述了本公开,但是这些实现方案和方法的变更和置换对本领域技术人员而言将是显而易见的。例如,本文中所描述的动作可按不同于所描述的顺序来执行,并且仍然实现期望的结果。作为一个示例,所附附图中描绘的过程并不一定要求所示的特定顺序、或顺序地来实现所期望的结果。在某些实现方案中,多任务处理和并行处理可能是有利的。此外,也可支持不同的用户界面布局和功能。其他变型落在所附权利要求的范围之内。
可在数字电子电路中,或在计算机软件、固件、或硬件(包括在本说明书中公开的结构和它们的等效结构)中,或在上述各项中的一个或多个的组合中实现本说明书中所描述的主题和操作的各实施例。本说明书中所描述的主题的各实施例可被实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,这些计算机程序指令被编码在计算机存储介质上,用于由数据处理装置执行或控制数据处理装置的操作。替代地或附加地,这些程序指令可被编码在人工生成的传播信号上(例如,机器生成的电、光、或电磁信号),生成该人工生成的信号以编码信息,用于向合适的接收机装置进行的传输,供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或顺序存取存储器阵列或设备、或它们中的一个或多个的组合,或者计算机存储介质可被包括在上述各项中。此外,尽管计算机存储介质本身不是传播信号,但是计算机存储介质可以是被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是包括分布式软件环境或云计算环境的一个或多个单独的物理组件或介质(例如,多个CD、盘、或其他存储设备),或者计算机存储介质可以被包括在其中。
包括核心网和接入网(包括无线接入网)的网络可包括一个或多个网络元件。“网络元件”可涵盖各种类型的路由器、交换机、网关、桥接器、负载平衡器、防火墙、服务器、内联服务节点、代理、处理器、模块、或可用于在网络环境中交换信息的任何其他合适的设备、组件、元件、或对象。网络元件可包括支持(或以其他方式执行)与将处理器用于本文中所概括的屏幕管理功能相关联的活动的合适的处理器、存储器元件、硬件、和/或软件。此外,网络元件可包括便于其操作的任何合适的组件、模块、接口、或对象。这可包括允许有效地交换数据或信息的合适的算法和通信协议。
本说明书中所描述的各操作可被实现为由数据处理装置对储存在一个或多个计算机可读存储设备上的或从其他源接收到的数据执行的多个操作。术语“数据处理装置”、“处理器”、“处理设备”以及“计算设备”可涵盖用于处理数据的所有种类的装置、设备和机器,作为示例,包括可编程处理器、计算机、芯片上系统、或上述各项中的多个或组合。该装置可包括通用或专用逻辑电路,例如,中央处理单元(CPU)、刀片(blade)、专用集成电路(ASIC)或现场可编程门阵列(FPGA),等等此类合适的选项。尽管一些处理器和计算设备已描述和/或示出为单个处理器,但是可根据相关联的服务器的特定需求使用多个处理器。引用单个处理器的目的在于,在适用时包括多个处理器。一般而言,处理器执行指令并操纵数据以执行某些操作。除硬件之外,装置也可包括代码,其创建用于所讨论的计算机程序的执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可实现各种不同的计算模型基础结构,如web服务、分布式计算和网格计算基础结构。
计算机程序(也称为程序、软件、软件应用、脚本、模块、(软件)工具、(软件)引擎、或代码)可以用任何形式的编程语言来编写,包括编译的或解释的语言、声明性或程序性语言,并且它可以按任何形式来部署,包括作为适合在计算环境中使用的独立程序或模块、组件、子例程、对象、或其他单元。例如,计算机程序可包括有形介质上的、当被执行时可用于执行至少本文中所描述的过程和操作的计算机可读指令、固件、有线或编程硬件或上述各项的任何组合。计算机程序可以但不必对应于文件系统中的文件。程序可被存储在将其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)保持在专用于所谈论的该程序的单个文件中,或保持在多个协调的文件(例如,存储一个或多个模块、子程序、或代码的多个部分的多个文件)中的文件的一部分中。可将计算机程序部署为在一个计算机上执行,或者在位于一处或横跨多个地点分布并通过通信网络互连的多个计算机上执行。
程序可被实现为通过各种对象、方法、或其他过程实现各种特征和功能的多个单个的模块,或在适当时可反而包括数个子模块、第三方服务、组件、库,诸如此类。反之,在适当时,各组件的特征和功能可被组合到单个组件中。在某些情况下,程序和软件系统可被实现为复合的经主管的应用。例如,该复合应用的各部分可被实现为企业Java Bean(EJB),或者设计时组件可具有将运行时实现生成到不同的平台中的能力,例如,J2EE(Java 2平台,企业版)、ABAP(高级业务应用编程)对象或微软的.NET,等等。此外,应用可表示经由网络(例如,通过因特网)被访问并执行的、基于web的应用。此外,可远程地存储、引用或执行与特定的受主管的应用或服务相关联的一个或多个过程。例如,特定的受主管的应用或服务的一部分可以是与该应用相关联的、被远程地调用的web服务,而该受主管的应用的另一部分可以是被打包以供在远程客户机处进行处理的接口对象或代理。此外,经主管的应用和软件服务中的任一个或全部可以是另一软件模块或企业应用(未示出)的子代(child)或子模块,而不背离本公开的范围。另外,受主管的应用的各部分可由在主管该应用的服务器处直接工作的用户以及远程地在客户机处工作的用户来执行。
本说明书中所描述的过程和逻辑流可由一个或多个可编程处理器执行,这些可编程处理器执行一个或多个计算机程序以通过操作输入数据并生成结果来执行多个动作。这些过程和逻辑流程也可由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可被实现为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
作为示例,适于执行计算机程序的处理器包括通用微处理器和专用微处理器两者,以及任何类型的数字计算机中的任何一个或多个处理器。一般而言,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件是用于根据指令执行多个动作的处理器以及用于存储指令和数据的一个或多个存储设备。一般而言,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),并且/或者计算机将被操作地耦合以从或向用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收或传输数据。然而,计算机不需要具有此类设备。此外,计算机可以被嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、平板计算机、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备(如,通用串行总线(USB)闪存驱动器)等等。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,通过示例的方式,其包括,半导体储存设备(例如,EPROM、EEPROM)和闪存设备;磁盘(例如,内部硬盘或可移动盘);磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充和/或被结合在专用逻辑电路中。
为了提供与用户的交互,本说明书中所描述的主题的各实施例可被实现在具有用于向用户显示信息的显示设备(如,CRT(阴极射线管)或LCD(液晶显示)监视器)以及用户可通过其向计算机提供输入的键盘和指点设备(如,鼠标或跟踪球)的计算机上。其他类型的设备可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈、或触觉反馈;并且来自用户的输入可按任何形式接收,包括声音、言语或触觉输入。此外,计算机可通过向用户所使用的设备(包括远程设备)发送文档和从该设备接收文档与该用户交互。
可在计算系统中实现本说明书中所描述的主题的各实施例,该计算系统包括后端组件,如作为数据服务器的后端组件;或者包括中间件组件,如应用服务器;或者包括前端组件,如具有图形用户界面或Web浏览器的客户机计算机,客户可通过该图形用户界面或Web浏览器与本说明书中所描述的主题的实现进行交互;或者包括这些后端、中间件或前端组件中的一个或多个组件的任意组合。系统的组件可通过任何形式或任何介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括用于促进系统中的各计算组件之间的通信的任何内部或外部的网络、多个网络、子网、或上述各项的组合。网络可在多个网络地址之间传递例如网际协议(IP)分组、帧中继帧、异步传输模式(ATM)单元、语音、视频、数据、以及其他合适的信息。网络也可包括一个或多个局域网(LAN)、无线电接入网(RAN)、城域网(MAN)、广域网(WAN)、因特网的全部或部分、对等网络(例如,自组织对等网络)、和/或一个或多个位置处的一个或多个任何其他通信系统。
计算系统可包括客户机和服务器。客户机和服务器一般彼此远离,并且通常通过通信网络进行交互。客户机和服务器的关系凭借在各自的计算机上运行并且具有相对于彼此的客户机-服务器关系的计算机程序来产生。在一些实施例中,服务器将数据(如,HTML页面)发送到客户机设备(如,为了向与该客户机设备交互的用户显示数据并且从该用户处接收用户输入)。可从服务器处的客户机设备中接收在客户机设备处生成的数据(如,用户交互的结果)。
虽然本说明书包含许多具体实现细节,但这些具体实现细节不应当被解释为对任何发明或可主张权利的范围的限制,而是被解释为针对特定发明的特定实施例的特征的描述。在本说明书中多个单独的实施例的情境中所描述的某些特征也可被组合地实现在单个实施例中。反之,在单个实施例的情境中所描述的各种特征也可以单独地或以任何合适的子组合的形式被实现在多个实施例中。此外,虽然多个特征在上文中可能被描述为以某些组合的方式起作用,并且甚至最初是如此要求保护的,但是,来自所要求保护的组合的一个或多个特征在一些情况下可从该组合被删去,并且所要求保护的组合可以针对子组合、或子组合的变型。
以下示例涉及根据本说明书所述的各实施例。一个或多个实施例可提供装置、系统、机器可读介质和方法,其用于:对照特定平台的软件开发包的语义模型分析特定应用的代码;基于对该代码的分析,标识该特定应用的一组行为;以及标识一组行为中的一个或多个行为是不期望的行为。语义模型可将潜在的应用行为与该特定平台的一个或多个API相关联。
在一个示例中,标识一组行为中的一个或多个行为是不期望的行为包括确定这一个或多个行为违反了一条或多条规则。这些规则可与特定的用户相关联。
在一个示例中,用户输入将一组行为中的一个或多个行为标识为不期望的行为。可结合显示所标识的这组行为的人类可读描述的用户界面来接收该用户输入。
在一个示例中,可至少部分地基于语义模型将特定应用的代码反汇编成控制流,并且生成针对该特定应用的应用逻辑的模型。该应用逻辑的模型可进一步至少部分地基于周边应用知识。
在一个示例中,可基于一组行为中的一个或多个行为是不期望的行为的指示来执行补救动作。
在一个示例中,结合在特定的用户设备上实现特定应用的尝试,分析该特定应用的代码。
一个或多个实施例可提供装置、系统、机器可读介质和方法,其用于:标识检测到的被包括在特定应用中的一组行为中的特定行为;标识该特定应用的、对应于该特定行为的一部分代码;以及对这部分代码执行补救动作以补救该行为,并且生成该特定应用的经修复的版本。
在一个示例中,该补救动作保留除特定行为之外的特定应用的其他行为。
在一个示例中,该补救动作包括删除这部分代码。
在一个示例中,该补救动作包括重写这部分代码。
在一个示例中,该补救动作包括将附加的代码添加到该应用中以使特定行为无效。
在一个示例中,从策略中标识该补救动作,该策略标识被确定为适用于补救特定行为的补救型式。
在一个示例中,该补救动作包括插入应用逻辑,该应用逻辑允许用户当在用户设备上启动经修复的应用时,能够选择性地启用特定行为的经修复的版本。可进一步允许该用户选择性地启用特定行为的未经修复的版本来代替该经修复的版本。
在一个示例中,可通过对特定应用的代码的分析检测特定应用的这组行为。
在一个示例中,通过用户请求来触发该补救动作。
一个或多个实施例可提供装置、系统、机器可读介质和方法,其用于:激活针对特定用户设备所定义的多个模式中的特定的一个模式;以及根据所激活的该特定的模式,限制对安装在特定用户设备上的一个或多个应用的访问。当激活多个模式中的另一模式时,该受限的应用可以是可被访问的。
在一个示例中,响应于由特定用户设备的用户输入的特定通行码,激活特定的模式,其中,多个模式中的每一个模式与对应的通行码相关联。激活特定模式可包括:基于特定通行码的输入,从多个模式中标识特定的模式;并且基于通行码的输入,认证对特定模式的访问。
在一个示例中,多个模式中的一个或多个模式是用户定义的模式。
在一个示例中,可基于特定模式的激活将替代的设备配置应用于特定的用户设备。该替代的设备配置可限制对特定用户设备的一个或多个子系统的访问。
在一个示例中,多个模式中的一个模式是允许修改这多个模式的管理模式。
在一个示例中,多个模式中的至少一个模式是可远离特定的用户设备、从模式共享服务中下载的模式的实例。
在一个示例中,至少部分地基于检测到使用特定用户设备的功能的特定情境,自动地激活特定模式。
在一个示例中,基于针对特定模式所定义的规则,限制应用中的至少特定的一个应用。
在一个示例中,所定义的规则与特定应用的检测到的行为有关。
在一个示例中,多个模式包括被指定为针对等待行为分析或补救的应用的隔离模式的模式。
在一个示例中,响应于在远离特定用户设备的设备处接收到的用户命令来激活特定模式。
类似地,虽然在附图中以特定顺序描绘了多个操作,但这不应当被理解为:要求按所示的特定顺序或顺序地执行此类操作,或者要求要执行所有示出的操作才能达成期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,将上文所描述的各实施例中的各种系统组件分开不应当被理解为在所有实施例中都要求这样分开,并且应当理解,所描述的程序组件和系统一般可以一起被集成在单个软件产品中或被封装进多个软件产品中。
因而,已描述了本主题的特定实施例。其他实施例落在所附权利要求的范围之内。在一些情况下,权利要求中叙述的动作可按不同顺序来执行,并且仍实现期望的结果。另外,在所附附图中描绘的多个过程不一定要求所示出的特定顺序或要求顺序地来实现期望的结果。

Claims (74)

1.至少一种机器可访问存储介质,具有存储于其上的多条指令,当在机器上执行所述多条指令时,所述多条指令使所述机器用于:
对照特定平台的软件开发包的语义模型分析特定应用的代码,其中,所述语义模型将多个应用行为与所述特定平台各自的应用编程接口(API)调用相关联;
基于对所述代码的所述分析,标识所述特定应用的一组行为;以及
标识所述一组行为中的特定行为是不期望的行为。
2.如权利要求1所述的存储介质,其特征在于,标识所述特定行为是不期望的行为包括:确定一个或多个行为违反一条或多条规则。
3.如权利要求2所述的存储介质,其特征在于,所述规则与特定的用户相关联。
4.如权利要求3所述的存储介质,其特征在于,所述规则的至少一部分包括由所述特定的用户定义的多条规则。
5.如权利要求2所述的存储介质,其特征在于,所述多条规则与网络服务提供商相关联。
6.如权利要求1所述的存储介质,其特征在于,用户输入标识所述特定行为是不期望的。
7.如权利要求6所述的存储介质,其特征在于,结合显示所标识的所述一组行为的人类可读描述的用户界面,接收所述用户输入。
8.如权利要求7所述的存储介质,其特征在于,使用用于生成所述描述和所述语义模型的模板,生成所述人类可读描述。
9.如权利要求1所述的存储介质,其特征在于,所述特定的用户设备是智能电话和平板计算设备中的一个。
10.一种方法,所述方法包括:当执行存储在如权利要求1-9中任意一项所述的至少一种机器可读存储介质上的多条指令时由机器执行的多个动作。
11.一种方法,包括:
对照特定平台的软件开发包的语义模型分析特定应用的代码,其中,所述语义模型将多个应用行为与所述特定平台各自的应用编程接口(API)调用相关联;
基于对所述代码的所述分析,标识所述特定应用的一组行为;以及
标识所述一组行为中的特定行为是不期望的行为。
12.如权利要求11所述的方法,其特征在于,进一步包括:至少部分地基于所述语义模型,将所述特定应用的代码反汇编成控制流,并且生成针对所述特定应用的应用逻辑的模型。
13.如权利要求12所述的方法,其特征在于,应用逻辑的所述模型进一步至少部分地基于周边应用知识。
14.如权利要求11所述的方法,其特征在于,进一步包括:基于所述一组行为中的一个或多个行为是不期望的行为的指示,执行补救动作。
15.如权利要求11所述的方法,其中,结合在特定的用户设备上实现所述特定应用的尝试,分析所述特定应用的所述代码。
16.如权利要求15所述的方法,其特征在于,进一步包括:基于所述一组行为中的一个或多个行为是不期望的行为的标识,限制在所述特定用户设备上的所述特定应用的实现。
17.如权利要求16所述的方法,其特征在于,限制实现包括:阻止在所述特定的用户设备上安装所述特定应用。
18.如权利要求16所述的方法,其特征在于,限制实现包括:将所述特定应用分配到将限制对所述特定应用的访问的设备模式中。
19.如权利要求16所述的方法,其特征在于,进一步包括,修改所述特定应用的代码以补救所述不期望的行为。
20.一种系统,包括用于执行如权利要求11-19中任意一项所述的方法的装置。
21.一种系统,包括:
至少一个处理器设备;
至少一个存储器元件;以及
应用行为分析引擎,当由所述至少一个处理器设备执行所述应用行为分析引擎时,所述应用行为分析引擎适用于:
对照特定平台的软件开发包的语义模型分析特定应用的代码,其中,所述语义模型将多个应用行为与所述特定平台各自的应用编程接口(API)调用相关联;
基于对所述代码的所述分析,标识所述特定应用的一组行为;以及
标识所述一组行为中的特定行为是不期望的行为。
22.如权利要求21所述的系统,其特征在于,进一步包括应用修复器引擎,所述应用修复器引擎用于:
标识所述特定应用的、对应于所述特定行为的一部分代码;以及
对所述一部分代码执行补救动作,以补救所述特定行为,并生成所述特定应用的经修复的版本。
23.如权利要求21所述的系统,其特征在于,进一步包括模式管理器,所述模式管理器用于:
激活针对用户设备所定义的多个模式中的特定的一个模式;以及
根据所激活的特定模式,限制对所述特定应用的访问,其中,当激活所述多个模式中的另一模式时,使所述特定应用可被访问。
24.如权利要求21所述的系统,其特征在于,进一步包括用户设备,其中,所述应用行为分析引擎用于:基于由所述用户设备将所述特定应用安装在所述用户设备上的尝试,将对所述代码的所述分析的结果传递到所述用户设备。
25.至少一种机器可访问存储介质,具有存储于其上的多条指令,当在机器上执行所述多条指令时,所述多条指令使所述机器用于:
标识检测到的被包括在特定应用中的一组行为中的特定行为;
标识所述特定应用的、对应于所述特定行为的一部分代码;以及
对所述一部分代码执行补救动作,以补救所述特定行为,并生成所述特定应用的经修复的版本。
26.如权利要求25所述的存储介质,其特征在于,所述补救动作保留除所述特定行为之外的所述特定应用的其他行为。
27.如权利要求25所述的存储介质,其特征在于,所述特定行为被标识为不期望的行为。
28.如权利要求25所述的存储介质,其特征在于,所述补救动作包括删除所述一部分代码。
29.如权利要求25所述的存储介质,其特征在于,所述补救动作包括重写所述一部分代码。
30.如权利要求29所述的存储介质,其特征在于,基于对应于所述特定行为的代码的已知的替代代码,将重写所述一部分代码。
31.如权利要求30所述的存储介质,其特征在于,所述特定行为包括尝试与不受信任的系统通信,并且将重写所述一部分代码以将通信重定向到受信任的系统。
32.如权利要求25所述的存储介质,其特征在于,所述补救动作包括将附加的代码添加到所述应用中以使所述特定行为无效。
33.如权利要求25所述的存储介质,其特征在于,从策略中标识出所述补救动作,所述策略标识被确定为适用于补救所述特定行为的补救型式。
34.如权利要求25所述的存储介质,其特征在于,所述补救动作包括插入应用逻辑,所述应用逻辑允许用户在启动用户设备上经修复的应用时,能够选择性地启用所述特定行为的经修复的版本。
35.如权利要求34所述的存储介质,其特征在于,所述逻辑进一步允许所述用户能够选择性地启用所述特定行为的未经修复的版本来代替所述经修复的版本。
36.一种方法,所述方法包括:当执行存储在如权利要求25-35中任意一项所述的至少一种机器可读存储介质上的多条指令时由机器执行的多个动作。
37.一种方法,包括:
标识检测到的被包括在特定应用中的一组行为中的特定行为;
标识所述特定应用的、对应于所述特定行为的一部分代码;以及
对所述一部分代码执行补救动作,以补救所述特定行为,并生成所述特定应用的经修复的版本。
38.如权利要求37所述的方法,其特征在于,所述补救动作保留除所述特定行为之外的所述特定应用的其他行为。
39.如权利要求37所述的方法,其特征在于,进一步包括,通过对所述特定应用的代码的分析,检测所述特定应用的所述一组行为。
40.如权利要求37所述的方法,其特征在于,通过用户请求来触发所述补救动作。
41.如权利要求37所述的方法,其特征在于,基于检测到所述特定行为,自动地继续进行所述补救动作,而没有用户的干预。
42.如权利要求37所述的方法,其特征在于,进一步包括:
对照特定平台的软件开发包的语义模型分析特定应用的代码,其中,所述语义模型将多个应用行为与所述特定平台各自的应用编程接口(API)调用相关联;
基于对所述代码的所述分析,标识所述特定应用的所述一组行为;以及
标识所述特定行为是不期望的行为。
43.一种系统,包括用于执行如权利要求37-42中任意一项所述的方法的装置。
44.一种系统,包括:
至少一个处理器设备;
至少一个存储器元件;以及
应用修复器引擎,当由所述至少一个处理器设备执行所述应用修复器引擎时,所述修复器引擎适用于:
标识检测到的被包括在特定应用中的一组行为中的特定行为;
标识所述特定应用的、对应于所述特定行为的一部分代码;以及
对所述一部分代码执行补救动作,以补救所述特定行为,并生成所述特定应用的经修复的版本。
45.如权利要求44所述的系统,其特征在于,所述补救动作保留除所述特定行为之外的所述特定应用的其他行为。
46.如权利要求44所述的系统,其特征在于,进一步包括应用行为分析引擎,所述应用行为分析引擎用于:
对照特定平台的软件开发包的语义模型分析特定应用的代码,其中,所述语义模型将多个应用行为与所述特定平台各自的应用编程接口(API)调用相关联;
基于对所述代码的所述分析,标识所述特定应用的所述一组行为;以及
标识所述特定行为是不期望的行为。
47.如权利要求44所述的系统,其特征在于,进一步包括模式管理器,所述模式管理器用于:
激活针对用户设备所定义的多个模式中的特定的一个模式,其中,当激活所述特定模式时,启用对安装在所述用户设备上的所述特定应用的所述经修复的版本的访问。
48.如权利要求44所述的系统,其特征在于,进一步包括用户设备,其中,所述应用行为分析引擎用于将所述特定应用的所述经修复的版本传递到所述用户设备,用于在所述用户设备上安装所述特定应用的所述经修复的版本。
49.至少一种机器可访问存储介质,具有存储于其上的多条指令,当在机器上执行所述多条指令时,所述多条指令使所述机器用于:
标识所接收的用户输入;
基于所述所接收的用户输入,激活针对特定用户设备所定义的多个模式中的特定模式;以及
在所述特定用户设备处,根据所激活的特定模式,将访问限制于安装在所述特定用户设备上的一个或多个应用,其中,当激活所述多个模式中的另一模式时,一个或多个受限的应用是可访问的。
50.如权利要求49所述的存储介质,其特征在于,响应于由所述特定用户设备的用户输入的特定通行码,激活所述特定模式,其中,所述多个模式中的每一个模式与对应的通行码相关联。
51.如权利要求50所述的存储介质,其特征在于,所述特定模式包括:
基于所述特定通行码的输入,从所述多个模式中标识所述特定模式;以及
基于所述通行码的输入,认证对所述特定模式的访问。
52.如权利要求49所述的存储介质,其特征在于,所述多个模式是用户定义的模式。
53.如权利要求49所述的存储介质,其特征在于,所述多个模式包括允许修改所述多个模式的管理模式。
54.如权利要求49所述的存储介质,其特征在于,所述多个模式中的至少一个模式是能从远离所述特定的用户设备的模式共享服务中下载的模式的实例。
55.如权利要求49所述的存储介质,其特征在于,至少部分地基于检测到使用所述特定用户设备的功能的特定情境,自动地激活所述特定模式。
56.如权利要求55所述的存储介质,其特征在于,由所述特定用户设备的传感器检测所述特定情境。
57.如权利要求56所述的存储介质,其特征在于,所述传感器包括加速度计、相机、陀螺仪、全球定位系统、电池状态传感器和生物测定传感器中的一个或多个。
58.如权利要求49所述的存储介质,其特征在于,基于针对所述特定模式所定义的规则,限制所述应用中的至少特定的一个应用。
59.如权利要求58所述的存储介质,其特征在于,所述所定义的规则与所述特定应用的检测到的行为有关。
60.如权利要求49所述的存储介质,其特征在于,所述多个模式包括被指定为针对等待行为分析或补救的应用的隔离模式的模式。
61.一种方法,所述方法包括:当执行存储在如权利要求49-60中任意一项所述的至少一种机器可读存储介质上的多条指令时由机器执行的多个动作。
62.一种方法,包括:
标识用户输入;
基于所述所接收的用户输入,激活针对特定用户设备所定义的多个模式中的特定模式;以及
在所述特定的用户设备处,根据所激活的特定模式,将访问限制于安装在所述特定用户设备上的一个或多个应用,其中,当激活所述多个模式中的另一模式时,一个或多个受限的应用是可访问的。
63.如权利要求62所述的方法,其特征在于,进一步包括:在所述特定模式是活动的时候,将替代的设备配置应用于所述特定用户设备。
64.如权利要求63所述的方法,其特征在于,所述替代的设备配置限制对所述特定用户设备的一个或多个子系统的访问。
65.如权利要求64所述的方法,其特征在于,所述替代的设备配置是多个替代的设备配置中的、能够在激活所述多个模式中各自的每一个模式期间应用的特定设备配置。
66.如权利要求64所述的方法,其特征在于,所述一个或多个子系统包括相机、email客户端、Wifi适配器、电话模块、USB端口和SMS模块中的一个或多个。
67.如权利要求62所述的方法,其特征在于,在远离所述特定用户设备的设备处接受所述用户输入。
68.一种系统,包括用于执行如权利要求62-67中任意一项所述的方法的装置。
69.一种系统,包括:
至少一个处理器设备;
至少一个存储器元件;以及
模式管理器,当由所述至少一个处理器设备执行所述模式管理器时,所述模式管理器适用于:
标识用户输入;
基于所述所接收的用户输入,激活针对特定用户设备所定义的多个模式中的特定模式;以及
在所述特定的用户设备处,根据所激活的特定模式,将访问限制于安装在所述特定用户设备上的一个或多个应用,其中,当激活所述多个模式中的另一模式时,一个或多个受限的应用是可访问的。
70.如权利要求69所述的系统,其特征在于,进一步包括应用行为分析引擎,所述应用行为分析引擎用于:
对照特定平台的软件开发包的语义模型分析一个或多个特定应用中的特定应用的代码,其中,所述语义模型将多个应用行为与所述特定平台各自的应用编程接口(API)调用相关联;
基于对所述代码的所述分析,检测所述特定应用的所述一组行为;以及
标识所述特定行为是不期望的行为。
71.如权利要求70所述的系统,其特征在于,至少部分地基于所述不期望的行为,使用所述特定模式来限制对所述特定应用的访问。
72.如权利要求70所述的系统,其特征在于,进一步包括应用修复器引擎,所述应用修复器引擎用于:
标识所述特定应用的、对应于所述特定行为的一部分代码;以及
对所述一部分代码执行补救动作,以补救所述特定行为,并生成所述特定应用的经修复的版本。
73.如权利要求69所述的系统,其特征在于,至少部分地远离所述特定用户设备实现所述模式管理。
74.如权利要求69所述的系统,其特征在于,所述系统包括所述特定用户设备。
CN201380048869.7A 2012-10-19 2013-10-18 移动应用管理 Pending CN104662547A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN1215KO2012 2012-10-19
IN1215/KOL/2012 2012-10-19
PCT/US2013/065799 WO2014063124A1 (en) 2012-10-19 2013-10-18 Mobile application management

Publications (1)

Publication Number Publication Date
CN104662547A true CN104662547A (zh) 2015-05-27

Family

ID=50488809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380048869.7A Pending CN104662547A (zh) 2012-10-19 2013-10-18 移动应用管理

Country Status (5)

Country Link
US (3) US20150220734A1 (zh)
EP (1) EP2909775B1 (zh)
JP (1) JP6013613B2 (zh)
CN (1) CN104662547A (zh)
WO (1) WO2014063124A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475315A (zh) * 2016-01-27 2018-08-31 竹田优太 处理系统、处理方法及程序
CN108763908A (zh) * 2018-06-01 2018-11-06 腾讯科技(深圳)有限公司 行为向量生成方法、装置、终端及存储介质
CN109002731A (zh) * 2018-07-31 2018-12-14 佛山长意云信息技术有限公司 一种社交软件管理方法、装置、计算机设备及存储介质
CN109241734A (zh) * 2018-08-10 2019-01-18 航天信息股份有限公司 一种防护软件运行效率优化方法及系统

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
EP2909775B1 (en) * 2012-10-19 2022-01-26 McAfee, LLC Mobile application management
US9104867B1 (en) * 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
JP5741722B1 (ja) * 2014-01-28 2015-07-01 日本電気株式会社 情報処理装置、及び、情報処理方法
US9807195B2 (en) * 2014-02-12 2017-10-31 Mobile Heartbeat, Llc System for setting and controlling functionalities of mobile devices
US9245123B1 (en) 2014-05-07 2016-01-26 Symantec Corporation Systems and methods for identifying malicious files
JP6042371B2 (ja) * 2014-05-19 2016-12-14 株式会社オプティム 端末データ管理サーバ、端末データ管理方法、及び、端末データ管理サーバ用プログラム
US9652615B1 (en) 2014-06-25 2017-05-16 Symantec Corporation Systems and methods for analyzing suspected malware
US10445499B1 (en) * 2014-06-26 2019-10-15 Palo Alto Networks, Inc. Grouping application components for classification and malware detection
US10019569B2 (en) * 2014-06-27 2018-07-10 Qualcomm Incorporated Dynamic patching for diversity-based software security
US9967278B2 (en) 2014-10-21 2018-05-08 Proofpoint, Inc. Systems and methods for application security analysis
EP4155984A1 (en) * 2014-10-31 2023-03-29 Proofpoint, Inc. Systems and methods for privately performing application security analysis
US20160191645A1 (en) * 2014-12-30 2016-06-30 Citrix Systems, Inc. Containerizing Web Applications for Managed Execution
US20160232353A1 (en) * 2015-02-09 2016-08-11 Qualcomm Incorporated Determining Model Protection Level On-Device based on Malware Detection in Similar Devices
US9332385B1 (en) 2015-02-13 2016-05-03 International Business Machines Corporation Selectively providing content to users located within a virtual perimeter
US20160299977A1 (en) * 2015-04-13 2016-10-13 Quixey, Inc. Action-Based App Recommendation Engine
CA2982463C (en) 2015-05-01 2019-03-05 Lookout, Inc. Determining source of side-loaded software
US10599679B2 (en) 2015-08-17 2020-03-24 Accenture Global Solutions Limited Platform data aggregation and semantic modeling
CN105184118B (zh) * 2015-08-31 2018-02-23 西北大学 一种基于代码碎片化的Android应用程序加壳保护方法及装置
CN105260673A (zh) 2015-09-18 2016-01-20 小米科技有限责任公司 短信读取方法及装置
CN105307137B (zh) 2015-09-18 2019-05-07 小米科技有限责任公司 短信读取方法及装置
CN105303120B (zh) 2015-09-18 2020-01-10 小米科技有限责任公司 短信读取方法及装置
US10373140B1 (en) 2015-10-26 2019-08-06 Intuit Inc. Method and system for detecting fraudulent bill payment transactions using dynamic multi-parameter predictive modeling
US20170142156A1 (en) * 2015-11-12 2017-05-18 Toyota Infotechnology Center Usa, Inc. Application Assurance for Open Platform In-Vehicle Infotainment System
US9501274B1 (en) 2016-01-29 2016-11-22 International Business Machines Corporation Qualitative feedback correlator
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10826933B1 (en) * 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
WO2017205802A1 (en) * 2016-05-27 2017-11-30 App Annie Inc. Advertisement data metric determination within mobile applications
US10083452B1 (en) 2016-06-21 2018-09-25 Intuit Inc. Method and system for identifying potentially fraudulent bill and invoice payments
US20180033089A1 (en) * 2016-07-27 2018-02-01 Intuit Inc. Method and system for identifying and addressing potential account takeover activity in a financial system
US10621333B2 (en) * 2016-08-08 2020-04-14 International Business Machines Corporation Install-time security analysis of mobile applications
WO2018081629A1 (en) * 2016-10-28 2018-05-03 Tala Security, Inc. Application security service
US11087334B1 (en) 2017-04-04 2021-08-10 Intuit Inc. Method and system for identifying potential fraud activity in a tax return preparation system, at least partially based on data entry characteristics of tax return content
US10447718B2 (en) 2017-05-15 2019-10-15 Forcepoint Llc User profile definition and management
US9882918B1 (en) 2017-05-15 2018-01-30 Forcepoint, LLC User behavior profile in a blockchain
US10862927B2 (en) 2017-05-15 2020-12-08 Forcepoint, LLC Dividing events into sessions during adaptive trust profile operations
US10623431B2 (en) 2017-05-15 2020-04-14 Forcepoint Llc Discerning psychological state from correlated user behavior and contextual information
US10129269B1 (en) 2017-05-15 2018-11-13 Forcepoint, LLC Managing blockchain access to user profile information
US10999296B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US10999297B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Using expected behavior of an entity when prepopulating an adaptive trust profile
US10943019B2 (en) 2017-05-15 2021-03-09 Forcepoint, LLC Adaptive trust profile endpoint
US10917423B2 (en) 2017-05-15 2021-02-09 Forcepoint, LLC Intelligently differentiating between different types of states and attributes when using an adaptive trust profile
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10318729B2 (en) 2017-07-26 2019-06-11 Forcepoint, LLC Privacy protection during insider threat monitoring
US11829866B1 (en) 2017-12-27 2023-11-28 Intuit Inc. System and method for hierarchical deep semi-supervised embeddings for dynamic targeted anomaly detection
US10607021B2 (en) * 2018-01-26 2020-03-31 Bank Of America Corporation Monitoring usage of an application to identify characteristics and trigger security control
US20190294780A1 (en) * 2018-03-26 2019-09-26 International Business Machines Corporation System and method for executing operating system level virtualization software objects
JP7179482B2 (ja) * 2018-04-19 2022-11-29 キヤノン株式会社 情報処理装置、制御方法、およびそのプログラム
US11233779B2 (en) * 2018-06-03 2022-01-25 Apple Inc. Wireless credential sharing
US11048390B2 (en) * 2018-06-25 2021-06-29 MI Technical Solutions, Inc. Auto-reformatting of home screen graphical user interface depicting only administrator-approved applications
US11474978B2 (en) 2018-07-06 2022-10-18 Capital One Services, Llc Systems and methods for a data search engine based on data profiles
US20200012890A1 (en) 2018-07-06 2020-01-09 Capital One Services, Llc Systems and methods for data stream simulation
US10489224B1 (en) 2018-07-30 2019-11-26 International Business Machines Corporation Managing application programming interface requests
CN109189221B (zh) * 2018-08-23 2021-07-16 郑州航空工业管理学院 一种跨手机平台的用户行为识别方法
KR102510846B1 (ko) 2018-10-04 2023-03-16 삼성전자주식회사 전자 장치 및 그의 제어방법
US11741196B2 (en) 2018-11-15 2023-08-29 The Research Foundation For The State University Of New York Detecting and preventing exploits of software vulnerability using instruction tags
US10853496B2 (en) 2019-04-26 2020-12-01 Forcepoint, LLC Adaptive trust profile behavioral fingerprint
EP3973427A4 (en) * 2019-05-20 2023-06-21 Sentinel Labs Israel Ltd. SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION
CN110244691B (zh) * 2019-06-19 2021-04-09 深圳市道通科技股份有限公司 一种汽车诊断方法、装置及系统
US11194559B2 (en) * 2019-08-06 2021-12-07 Saudi Arabian Oil Company Method and apparatus for platform as a service (PaaS) automation control
KR20210115520A (ko) * 2020-03-13 2021-09-27 현대자동차주식회사 퍼스널 모빌리티 및 그 제어 방법
TWI765690B (zh) * 2021-04-30 2022-05-21 精品科技股份有限公司 基於觀察模式之應用程式控管方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825278A (zh) * 2005-02-22 2006-08-30 微软公司 源代码静态分析模拟器的自定义api建模
CN1918528A (zh) * 2004-02-05 2007-02-21 趋势科技股份有限公司 通过对信息设备和传输路径进行程序分析来确保安全性
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
WO2008077150A2 (en) * 2006-12-20 2008-06-26 Microsoft Corporation Secure service computation
CN101266550A (zh) * 2007-12-21 2008-09-17 北京大学 一种恶意代码检测方法
US20080295069A1 (en) * 2007-05-21 2008-11-27 International Business Machines Corporation User-extensible rule-based source code modification
CN101444119A (zh) * 2006-03-27 2009-05-27 意大利电信股份公司 在移动通信设备上实施安全策略的系统
CN102546927A (zh) * 2009-06-16 2012-07-04 英特尔公司 多模式手持无线设备

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US7536472B2 (en) * 2001-09-13 2009-05-19 Network Foundation Technologies, Llc Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network
EP1329787B1 (en) 2002-01-16 2019-08-28 Texas Instruments Incorporated Secure mode indicator for smart phone or PDA
GB2383444B (en) * 2002-05-08 2003-12-03 Gfi Software Ltd System and method for detecting a potentially malicious executable file
US20040088588A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation Limited resource access while power-on-password is active
US7437675B2 (en) 2003-02-03 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for monitoring event based systems
JP4583808B2 (ja) * 2004-05-17 2010-11-17 パナソニック株式会社 プログラム実行制御装置及びプログラム実行制御方法
US20060015940A1 (en) * 2004-07-14 2006-01-19 Shay Zamir Method for detecting unwanted executables
EP1645936B1 (en) * 2004-10-06 2008-04-23 Nokia Corporation Data terminal access control
US20090328185A1 (en) * 2004-11-04 2009-12-31 Eric Van Den Berg Detecting exploit code in network flows
US7818800B1 (en) 2005-08-05 2010-10-19 Symantec Corporation Method, system, and computer program product for blocking malicious program behaviors
WO2007022392A2 (en) * 2005-08-16 2007-02-22 Emc Corporation Information protection method and system
US8407675B1 (en) 2007-02-06 2013-03-26 The United States Of America As Represented By The Secretary Of The Navy Extraction of executable code and translation to alternate platform
US7825820B2 (en) * 2007-09-28 2010-11-02 Apple Inc. Security using electronic devices
JP2009130856A (ja) * 2007-11-27 2009-06-11 Nec Corp 携帯端末、アプリケーション実行方法、コンピュータプログラム、およびシステム
WO2009157493A1 (ja) * 2008-06-25 2009-12-30 日本電気株式会社 情報処理システム、サーバ装置、個人用情報機器及びアクセス管理方法
US8347386B2 (en) * 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
JP5440973B2 (ja) * 2009-02-23 2014-03-12 独立行政法人情報通信研究機構 コンピュータ検査システム、コンピュータ検査方法
JP5302711B2 (ja) * 2009-02-25 2013-10-02 日本電信電話株式会社 クライアント端末、ネットワーク接続制御方法、端末管理プロセッサ、プログラム
JP2010257150A (ja) * 2009-04-23 2010-11-11 Ntt Docomo Inc 不正処理検知装置、不正処理検知方法及びプログラム
US20100328032A1 (en) * 2009-06-24 2010-12-30 Broadcom Corporation Security for computing unit with femtocell ap functionality
KR101632203B1 (ko) * 2010-03-17 2016-06-22 삼성전자주식회사 휴대 단말기의 어플리케이션 실행 방법 및 장치
FI20106335A0 (fi) * 2010-12-17 2010-12-17 Pocketsoft Oy Räätälöidyn sovelluksen tuottaminen käyttäjän päätelaitteelle
EP2659348A4 (en) * 2010-12-27 2017-01-25 Nokia Technologies Oy Method and apparatus for providing input suggestions
US9003544B2 (en) 2011-07-26 2015-04-07 Kaspersky Lab Zao Efficient securing of data on mobile devices
US9020925B2 (en) 2012-01-04 2015-04-28 Trustgo Mobile, Inc. Application certification and search system
US9049589B2 (en) * 2012-01-27 2015-06-02 Microsoft Technology Licensing, Llc Dynamically adjusting a data usage plan based on data usage statistics
US9325806B2 (en) * 2012-02-24 2016-04-26 Qualcomm Incorporated Cooperative loading of webpages based on shared meta information
US9378390B2 (en) * 2012-03-30 2016-06-28 Nokia Technologies Oy Method and apparatus for policy adaption based on application policy compliance analysis
US9202047B2 (en) * 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9230076B2 (en) * 2012-08-30 2016-01-05 Microsoft Technology Licensing, Llc Mobile device child share
US8819855B2 (en) * 2012-09-10 2014-08-26 Mdi Security, Llc System and method for deploying handheld devices to secure an area
US9104870B1 (en) * 2012-09-28 2015-08-11 Palo Alto Networks, Inc. Detecting malware
EP2909775B1 (en) 2012-10-19 2022-01-26 McAfee, LLC Mobile application management
US9195388B2 (en) * 2013-03-15 2015-11-24 Apple Inc. Specifying applications to share in a shared access mode

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1918528A (zh) * 2004-02-05 2007-02-21 趋势科技股份有限公司 通过对信息设备和传输路径进行程序分析来确保安全性
CN1825278A (zh) * 2005-02-22 2006-08-30 微软公司 源代码静态分析模拟器的自定义api建模
CN101444119A (zh) * 2006-03-27 2009-05-27 意大利电信股份公司 在移动通信设备上实施安全策略的系统
WO2008077150A2 (en) * 2006-12-20 2008-06-26 Microsoft Corporation Secure service computation
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
US20080295069A1 (en) * 2007-05-21 2008-11-27 International Business Machines Corporation User-extensible rule-based source code modification
CN101266550A (zh) * 2007-12-21 2008-09-17 北京大学 一种恶意代码检测方法
CN102546927A (zh) * 2009-06-16 2012-07-04 英特尔公司 多模式手持无线设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475315A (zh) * 2016-01-27 2018-08-31 竹田优太 处理系统、处理方法及程序
CN108763908A (zh) * 2018-06-01 2018-11-06 腾讯科技(深圳)有限公司 行为向量生成方法、装置、终端及存储介质
CN109002731A (zh) * 2018-07-31 2018-12-14 佛山长意云信息技术有限公司 一种社交软件管理方法、装置、计算机设备及存储介质
CN109241734A (zh) * 2018-08-10 2019-01-18 航天信息股份有限公司 一种防护软件运行效率优化方法及系统

Also Published As

Publication number Publication date
EP2909775A1 (en) 2015-08-26
EP2909775B1 (en) 2022-01-26
US20190026464A1 (en) 2019-01-24
WO2014063124A1 (en) 2014-04-24
JP6013613B2 (ja) 2016-10-25
EP2909775A4 (en) 2016-06-08
US20180089431A1 (en) 2018-03-29
US11157616B2 (en) 2021-10-26
JP2015534690A (ja) 2015-12-03
US20150220734A1 (en) 2015-08-06
US10114950B2 (en) 2018-10-30

Similar Documents

Publication Publication Date Title
CN104662547A (zh) 移动应用管理
Dai et al. Who moved my data? privacy protection in smartphones
Chin et al. Measuring user confidence in smartphone security and privacy
CN103548320B (zh) 不安全应用在装置上的安全执行
CN103403669B (zh) 使app变得安全的方法和防止app损坏设备的方法
CN103597494B (zh) 用于管理文档的数字使用权限的方法和设备
US20160269417A1 (en) Dynamic data masking for mainframe application
CN105683988A (zh) 管理软件补救
CN105531692A (zh) 针对由在虚拟机里面运行的移动应用加载、链接和执行本地代码的安全策略
US10417443B2 (en) Data management for combined data using structured data governance metadata
CN101398875A (zh) 软件发行商信任扩展应用程序
US11861017B2 (en) Systems and methods for evaluating security of third-party applications
US20230230066A1 (en) Crypto Wallet Configuration Data Retrieval
US20210382986A1 (en) Dynamic, Runtime Application Programming Interface Parameter Labeling, Flow Parameter Tracking and Security Policy Enforcement
CN107409129A (zh) 使用访问控制列表和群组的分布式系统中的授权
TW202225966A (zh) 用於自保護及自再新工作區之系統及方法
CN115277143A (zh) 一种数据安全传输方法、装置、设备及存储介质
Meshram et al. A survey paper on vulnerabilities in android OS and security of android devices
CN112214756A (zh) 一种消费机的权限管理系统、方法及存储介质
WO2016140929A1 (en) Disposition actions in digital asset management based on trigger events
Zhang et al. A small leak will sink many ships: Vulnerabilities related to mini-programs permissions
Cavoukian Operationalizing privacy by design: a guide to implementing
Cho et al. Vulnerabilities of android data sharing and malicious application to leaking private information
Klopfenstein et al. " Worth one minute": An anonymous rewarding platform for crowd-sensing systems
CN108229116A (zh) 防止用户对应用程序的不公平评价的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150527