CN104246788A - 检测并防止恶意移动应用程序的安装 - Google Patents

检测并防止恶意移动应用程序的安装 Download PDF

Info

Publication number
CN104246788A
CN104246788A CN201380016442.9A CN201380016442A CN104246788A CN 104246788 A CN104246788 A CN 104246788A CN 201380016442 A CN201380016442 A CN 201380016442A CN 104246788 A CN104246788 A CN 104246788A
Authority
CN
China
Prior art keywords
application program
mobile device
application
applications
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380016442.9A
Other languages
English (en)
Other versions
CN104246788B (zh
Inventor
S·达斯
J·迪瓦卡尔拉
P·夏尔马
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 CN104246788A publication Critical patent/CN104246788A/zh
Application granted granted Critical
Publication of CN104246788B publication Critical patent/CN104246788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1441Countermeasures against malicious traffic
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种垫片和后端服务器应用程序的组合,其可以用于识别和阻止恶意应用程序在移动设备上的安装。实际上,垫片应用程序向移动设备的操作系统进行注册以拦截应用程序安装操作。基于对尝试的安装操作进行拦截,所述垫片应用程序识别试图安装的应用程序,生成唯一地识别所述应用程序的键值,并且将所述键值通过网络连接传输至后端服务器。所述后端服务器可以被配置用于爬行互联网以识别恶意应用程序,并且编译和维护这样的应用程序的数据库。基于从所述垫片应用程序接收键值,所述后端服务器可以搜索其数据库以定位匹配的应用程序,并且如果找到所述匹配的应用程序,则利用所述应用程序的状态(例如,恶意或非恶意)向移动设备做出响应。所述垫片应用程序可以利用该信息来允许或阻止所述应用程序的安装。

Description

检测并防止恶意移动应用程序的安装
相关文件的交叉应用
本申请与由发明者Sudeep Das等人于2011年10月17日递交的名称为System and Method for Whitelisting Applications in a Mobile NetworkEnvironment的共同待决并且共同受让的美国专利申请序列号13/275,293相关,其具有代理人案号为04796-1106的,所述申请被视作本申请的一部分,并且其全部内容由此以引用的方式被并入本文。
技术领域
本公开概括而言涉及计算机安全领域。更具体地,但非限制性地,本公开涉及在不加重移动设备的有限的存储器和处理资源的负担的情况下防止在移动设备上对恶意应用程序的安装的系统、方法和计算机程序产品。
背景技术
恶意软件(malware)是用于描述使计算机系统受感染并且可以具有不同影响程度的恶意软件的广义的术语。例如,恶意软件的影响范围可以从令人厌烦和不想要的广告软件和间谍软件到可以使计算机系统实际上失去作用的计算机病毒、蠕虫和特洛伊木马。尽管对于个人计算机用户而言恶意软件的危害通常是公知的,但是移动设备的用户通常更少地意识到对于移动设备也存在类似的威胁。事实上,随着移动设备的用途和功能的增加,在移动设备上感染不想要的恶意软件的威胁也在增加。
尽管常见的做法是,在个人计算机上使用某种类型的防病毒应用程序(术语防病毒指各种各样的防恶意软件的软件)来检测和移除恶意软件并且修复它的影响,但移动设备的性质(例如,存储器限制、处理限制、电池寿命等)为类似的防病毒应用程序的实现提出了一定的障碍。例如,在个人计算机上执行的典型防病毒应用程序包括恶意软件签名数据库,其表示已知的恶意软件,系统文件可以与所述恶意软件签名数据库进行比较以检测恶意软件。尽管由恶意软件签名数据库消耗的存储器在个人计算机的存储器资源的环境中是可接受的,但是在移动设备的相对更小的存储器资源的环境中却不理想。此外,因为恶意软件创建者不断地引入新的并且独特形式的恶意软件,所以必须定期对防病毒应用程序进行更新以包括用于识别新形式的恶意软件的签名。因此,防病毒软件供应商例行发布定义文件作为对其防病毒应用程序的更新。这些更新的定义文件通常经由互联网从防病毒软件供应商处获取。这时又一次,尽管用于获取更新的定义文件的带宽在个人计算机的环境中是可接受的,但是移动带宽是有限的而且很昂贵,数据供应商一般实施数据限额并且向超过所述限额的用户收费。同样,用于针对签名数据库来扫描系统文件的处理要求在个人计算机的环境中是可接受的,但对于移动设备却不理想。
附图说明
为了提供对本公开以及其特征和优点的更全面的理解,结合附图对下文的说明书进行了参考,其中,相同的附图标记代表相同的部件。在附图中:
图1是示出了根据一个实施例的网络架构的框图;
图2是示出了根据一个实施例的可以在其上安装软件的设备的框图;
图3是示出了根据一个实施例的检测并防止恶意应用程序安装到移动设备上的过程的流程图;
图4是示出了根据一个实施例的检测并防止恶意应用程序安装到移动设备上的网络架构的框图;以及
图5是示出了根据一个实施例的后端服务器识别应用程序的状态并将该状态传送至移动设备的过程的流程图。
具体实施方式
概述
下面的示例实施例描述了一种方法,并且该方法包括:拦截用于在移动设备上安装应用程序的请求,生成唯一地识别该应用程序的键值;并且通过网络连接将该键值发送至服务器应用程序。该方法进一步包括:通过网络连接接收指示应用程序的状态的响应并且当该状态指示应用程序为恶意时阻止对该应用程序的安装。在进一步的实施例中,拦截用于在移动设备上安装应用程序的请求的动作包括:将垫片应用程序注册作为移动设备上的后台服务。在更加具体的实施例中,将垫片应用程序注册作为移动设备上的后台服务的动作包括:注册垫片应用程序以拦截应用程序编程接口(其用于启动应用程序在移动设备上的安装)的调用。该方法可以通过利用移动设备的处理器来执行。
在另一个示例实施例中,描述了包括通过网络连接从移动设备接收应用程序标识符的方法。该方法还包括:利用应用程序标识符来确定来自记录的数据库(其包括多个已分析的应用程序)的应用程序的状态。该方法进一步包括:将应用程序的状态通过网络连接发送至移动设备。在进一步的实施例中,应用程序标识符包括:唯一地识别应用程序的键值和与应用程序相关联的元数据。在其它实施例中,利用应用程序标识符来确定应用程序的状态的动作包括:搜索数据库以确定数据库中是否存在与键值匹配的记录。在更加具体的实施例中,当确定数据库中不存在与键值匹配的记录时,利用元数据的动作来暗示来自数据库中的记录的应用程序的状态。
示例实施例
下面更加详细描述的多个实施例提供了用于识别恶意应用程序并阻止它们在移动设备上安装的系统和技术。在一个实施例中,垫片应用程序安装在移动设备上,该垫片应用程序向设备的操作系统注册以拦截移动应用程序安装操作。基于在移动设备上拦截到尝试的安装操作,垫片应用程序可以识别安装操作所应用的移动应用程序,生成唯一地识别该移动应用程序的键值,并将该键值传输至后端服务器。后端服务器可以被配置用于爬行互联网以搜索移动应用程序,分析所识别的应用程序以检测恶意应用程序,并且编译并维护已识别的应用程序的数据库及其状态。基于从垫片应用程序接收到键值,后端服务器可以搜索数据库以定位匹配的应用程序,并且利用应用程序的状态来响应移动设备。垫片应用程序可以利用该信息来允许或阻止移动应用程序的安装。
参考图1,示出了根据一个实施例的网络架构100。如图所示,提供了多个网络102。在当前网络架构100的环境中,网络102每一个都可以采用以下的任何形式,包括但不限于,局域网(LAN)、无线网络或诸如因特网之类的广域网(WAN)。
与网络102相耦合的是能够通过网络102进行通信的数据服务器计算机104。同样与网络102和数据服务器计算机104相耦合的是多个移动设备106。数据服务器计算机104可以包括台式计算机、膝上型计算机、手持计算机、计算机的任何部件、和/或任何其它类型的逻辑。移动设备106可以包括移动电话、智能电话、电子书阅读器、平板计算机、个人数字助理(PDA)、和/或能够在网络架构100内启动声音、音频、视频、媒体或数据交换的其它类似的移动设备。为了有助于网络102之间的通信,在网络102之间可选地耦合至少一个网关或路由器108。
现在参考图2,以框图的形式示出了结合一个实施例使用的示例处理设备200。处理设备200可以作为网关或路由器108、移动设备106,或者服务器计算机104服务。示例处理设备200包括系统单元210,该系统单元210可以可选地连接到输入设备260(例如,键盘、鼠标、触屏等)和显示器270。程序存储设备(PSD)280(有时称为硬盘或计算机可读介质)包括在系统单元210中。同样包括在系统单元210中的是网络接口240,其用于经由网络与其它计算和公司基础设备(未示出)进行通信。网络接口240可以包括在系统单元210内或者可以在系统单元210的外部。无论在哪种情况下,系统单元210都可以通信地耦合至网络接口240。程序存储设备280表示任何形式的非易失性存储装置,包括但不限于,所有形式的光学存储器和磁存储器,包括固态存储器,包括可移除介质,并且可以包括在系统单元210内或在系统单元210的外部。程序存储设备280可以用于存储用于控制系统单元210的软件或由处理设备200使用的数据,或者二者。
系统单元210可以被编程用于执行根据本公开的方法。系统单元210包括处理器单元(PU)220、输入输出(I/O)接口250和存储器230。处理器单元220可以包括任何可编程控制器设备,包括:例如,主机处理器、来自Intel公司的Intel处理器家族中的一个或多个成员、或者来自ARM的Cortex和ARM处理器家族中的设备。(INTEL、INTEL ATOM、CORE、PENTIUM和CELERON是Intel公司的注册商标。CORTEX是ARM有限公司的注册商标。ARM是ARM有限公司的注册商标)。存储器230可以包括一个或多个存储器模块并且包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可编程读写存储器和固态存储器。PU 220还可以包括一些内部存储器,包括例如,高速缓冲存储器。
处理设备200可以具有驻留其上的任何期望的操作系统。可以使用任何期望的编程语言来实现实施例,并且其可以被实现为一个或多个可执行程序或模块,所述一个或多个可执行程序或模块可以链接到可执行例程的外部库,所述可执行例程的外部库可以由操作系统的供应商或适合的库例程的任何其它期望的供应商来供应。正如本文所使用的,术语“计算机系统”或“所述计算机系统”可以指单个计算机,一起工作以执行被描述为在计算机系统上或由计算机系统执行的功能的多个计算机。用于配置处理设备200以执行所公开的实施例的程序指令可以被提供为存储在任何类型的非暂时性计算机可读介质上,或者可以从服务器104下载到程序存储设备280上。
现在参考图3,过程300示出了根据一个实施例的通过其可以检测并防止恶意应用程序安装到移动设备106上的示例过程流程。在步骤305中,可以在移动设备106处接收移动应用程序设置文件。正如本文所使用的,“移动应用程序设置文件”指启动在移动设备106上对应用程序的安装的计算机程序代码。术语“应用程序”和“移动应用程序”可交替地用于指运行(或能够运行)在移动设备上并且为移动设备用户提供特定功能的应用程序软件。移动应用程序在数量上实际无限制并且可以根据其提供的功能来进行分类。这样的移动应用程序的示例包括生产率应用程序(例如,日历、电子邮件和联系人应用程序)、网页浏览器应用程序、社交网络应用程序、银行业务应用程序、基于GPS的导航应用程序、电子阅读器应用程序、音乐应用程序、视频游戏应用程序等。通常,应用程序设置文件可以在用户的请求下在移动设备106处接收。例如,移动设备106的用户可以从在线应用程序存储库下载应用程序。在线应用程序存储库可以与移动设备106的操作系统的供应商相关联(例如,APP Store、Android Market、App World等),或者可以由独立的第三方(例如,AppStore等)来维护。(APPLE是Apple公司的注册商标。GOOGLE是Google公司的注册商标。RIM是Research in Motion Limited公司的注册商标。AMAZON是Amazon Technologies公司的注册商标)。尽管应用程序安装文件可以在用户的请求下在移动设备106处接收,但应用程序设置文件还可以在用户不知道的情况下被接收。例如,恶意应用程序可以包括使该应用程序能够在移动设备106的用户不知道的情况下在移动设备106之间传播的代码。
在步骤310中,作为应用程序设置文件的执行的结果,启动了在移动设备106上应用程序的安装。通常,基于在移动设备106处接收到应用程序设置文件,应用程序安装将自动启动。例如,当从在线应用程序存储库下载应用程序时,基于接收到启动应用程序安装,应用程序设置文件通常将自动执行。尽管应用程序的安装可以自动启动,但应用程序的安装还可以在特定时间或基于移动设备106上的特定事件的出现而启动。与对应用程序设置文件的接收相似,应用程序的安装还可以在移动设备的用户不知道的情况下发生。作为安装过程的一部分,安装请求可以被发送到移动设备106的操作系统。
在步骤315中,安装请求被拦截。在一个实施例中,垫片应用程序可以作为移动设备106上的后台服务运行并注册以接收安装请求。一旦安装,被引导至操作系统的后续安装请求可以首先被传递到垫片应用程序。然后,垫片应用程序可以识别与被拦截的安装请求相关联的移动应用程序。
在步骤320中,垫片应用程序可以生成唯一地识别与所拦截的安装请求相关联的移动应用程序的键值。在一个实施例中,可以通过计算移动应用程序设置文件或其某个部分的哈希(例如,哈希值、哈希码、校验和等)来生成键值。例如,可以通过将哈希算法(例如,MD5、SHA-1等)应用到应用程序设置文件或其某个部分来计算哈希值。正如在本领域中所公知的,这样的哈希算法用于将大数据集(例如,包含在应用程序设置文件中的数据)映射到更小的数据集,所述更小的数据集可以用于识别大数据集的元素。通常,移动应用程序设置文件被发布作为对移动应用程序的内容进行打包的存档文件。因此,移动应用程序设置文件或该设置文件的某些预定内容的哈希可以用于唯一地识别该移动应用程序。
在步骤325中,垫片应用程序可以编译与应用程序相关联的元数据。这样的元数据可以包括与应用程序相关联的任何识别信息。例如,垫片应用程序可以编译应用程序名称、开发该应用程序的软件公司、用于对应用程序进行数字签名的签名等。在一个实施例中,元数据可以位于在应用程序设置文件中识别的一个或多个预定义的位置。因此,垫片应用程序可以简单地从这些预定义的位置检索数据以编译元数据。
在步骤330中,垫片应用程序将键值和元数据(统称为应用程序标识符)传输至后端服务器。正如下面将更详细描述的,基于移动设备的连接属性,可以使用多种不同的协议将应用程序标识符从移动设备106传输至后端服务器。从/在后端服务器上执行的应用程序可以被配置用于找出移动应用程序(例如,通过爬行因特网以搜索移动应用程序)和/或接收移动应用程序(例如,通过从移动设备、移动应用程序供应商等接收移动应用程序),并且访问状态和/或确定移动应用程序的信誉度分数。例如,后端服务器应用程序,或者更简单地“服务器应用程序”,可以对提供一个或多个移动应用程序的独立网站中的或在线应用程序存储库中的移动应用程序进行检测,正如上面描述的。基于检测到移动应用程序,服务器应用程序可以下载该移动应用程序并且执行行为分析,其目的是可以识别移动应用程序的特征并且最终确定该移动应用程序的状态是恶意的还是良性的。可以由服务器应用程序编译这些记录并且将其保持在数据库中。
在相关的于2011年10月17日提交的美国申请序列号NO.13/275,293(“293申请”)中对服务器应用程序的功能进行更加详细地描述,其全部内容先前以引用的方式在此并入本文。在“293申请”中参考信誉引擎(被引用为“信誉引擎20”)并且参考服务器(被引用为“服务器17”和“白名单服务器17”)来对本申请的服务器应用程序的至少一些潜在的功能进行了描述。这些功能可以以任何适合的方式合并或集成。在某些情况下,服务器应用程序可以执行“信誉引擎20”、“服务器17”和“白名单服务器17”的所有功能、和/或与如下活动相关联的任何活动:查找和/或接收移动应用程序、评估移动应用程序的状态、将状态和/或信誉度分数存储在数据库中、识别数据库中的应用程序、以及向移动设备提供响应,所述响应指示所识别的应用程序的信誉度分数或状态。可替代地,这些功能可以以任何适合的布置逻辑地分开并且由分立的硬件和/或软件执行(例如,在实现中,服务器应用程序包括在相同或独立的硬件设备上运行的多个分立的部件,以执行不同的功能)。
服务器应用程序可以利用从移动设备106接收的包含在应用程序标识符中的信息来识别数据库中的匹配的应用程序。在一个实施例中,服务器应用程序可以存储对该应用程序的分析的结果连同与应用程序相关联的键值值(例如,由垫片应用程序应用的用于生成键值的相同哈希算法的结果)。因此,基于接收到键值,服务器应用程序可以利用该键值来识别数据库中相对应的移动应用程序。
在步骤335中,在移动设备106处从服务器应用程序接收响应。在一个实施例中,来自服务器应用程序的响应可以指定与移动应用程序相关联的信誉度分数,并且可以基于对移动应用程序的服务器应用程序的分析。在另一实施例中,该响应可以简单地识别移动应用程序是恶意的还是良性的。
在步骤340中,移动设备可以利用来自服务器应用程序的响应来确定与所拦截的安装请求相关联的移动应用程序是否为恶意。基于从服务器应用程序所接收的响应的类型,操作340可以涉及将所接收的信誉度分数与预定义的信誉度分数阈值进行比较以确定移动应用程序是否为恶意,或者可以简单地涉及接受移动应用程序的服务器应用程序是恶意或良性的指示。
如果在步骤340中确定移动应用程序被确定为不是恶意的,则可以在345中允许移动应用程序的安装。然而,如果在步骤340中确定移动应用程序是恶意的,则在步骤350中可以阻止其安装。因为垫片应用程序不涉及对恶意软件签名和白名单签名的存储,或者对应用程序文件与这样的签名的比较,所以通过将存储器和处理要求(例如,恶意签名和白名单签名的存储和比较所需的)传输至远程后端服务器,所描述的实施例允许移动设备106上的具有“薄”存在的计算机代码来检测并且阻止恶意应用程序的安装。
现在参考图4,框图示出了根据一个实施例的可以检测并且防止恶意应用程序安装在移动设备上的网络架构。在所描述的实施例中,移动设备106连接401至网络102,并且后端服务器104A连接402至网络102。尽管移动设备106和后端服务器104A被示出为连接至网络102,但这不是要暗示有必要将这些设备直接连接或使用常见的通信协议来通信。如所示出的,移动设备106包括应用程序层106A、操作系统层106B,以及硬件层106C。这些层执行专门的任务,并相互合作以便向移动设备106的用户提供特定功能。
在所描述的实施例中,用于被标记为“App B”的移动应用程序的应用程序设置文件405驻留在移动设备106的应用程序层106A中。如上面所描述的,在用户的请求(例如,通过从在线应用程序存储库下载“App B”)下或在设备的用户不知道的情况下,可以在移动设备106处接收应用程序设置文件405。在特定的实施例中,其中移动设备106应用安卓操作系统,应用程序设置文件405可以被实现为安卓包(.apk)文件。应用程序设置文件405通常是包含用于“App B”的所有程序代码的存档文件,并且用于在移动设备106上启动对“App B”的安装。对移动应用程序的安装可以与移动设备106的操作系统相协调。正如在本领域中所公知的,应用程序编程接口(API)(例如,API 410、411和412)可以提供应用程序层106A与操作系统层106B之间的接口。因此,基于对应用程序设置文件405的执行,可以调用310被用于启动在移动设备106上对应用程序的安装的特定API410。继续上面的示例,如果移动设备106应用安卓操作系统,则API 410可以被实现为指定安装动作的执行的意图对象。正如由本领域的技术人员所公知的,意图对象是提供对要执行的操作的描述的数据结构。
垫片应用程序415可以是在应用程序层106A内作为移动设备106上的后台服务连续地运行的应用程序。垫片应用程序415可以通过注册以拦截应用程序安装操作(例如,API调用310)来实现本文所描述的一些或全部功能。例如,垫片应用程序415可以向移动设备106的操作系统注册,以接收指向一个或多个指定的API的调用。在一个实施例中,一个或多个指定的API与用于启动新的应用程序安装或用于启动对现有应用程序的更新版本的安装的API相对应。这样,垫片应用程序415可以注册,以接收API410的调用但可以忽视与应用程序的安装或更新无关的API 411和412的调用。在应用安卓操作系统的移动设备106的环境中,垫片应用程序415可以注册,以接收具有活动行为的任何意图对象,所述活动行为与新应用程序的安装或现有应用程序的更新版本相关。结果,在垫片应用程序415安装在移动设备106上后,对API 410的调用可以引起指向315垫片应用程序415的安装操作。基于接收到拦截的安装操作,垫片应用程序415可以识别与该安装操作相关联的移动应用程序(即,App B)。通常,可以直接根据所拦截的安装操作识别出移动应用程序。例如,在应用安卓操作系统的移动设备106的环境中,与所拦截的安装操作相关联的移动应用程序可以在意图对象内被指定为执行活动行为的数据。
一旦将App B识别为与安装操作相关联的移动应用程序,则垫片应用程序415可以生成唯一地识别App B的键值。在一个实施例中,该键值可以通过计算应用程序设置文件405或设置文件405的一些预定部分的哈希值来生成。哈希值可以通过应用允许唯一地识别应用程序的任何公知的哈希函数(例如,MD5、SHA-1等)来计算。在一个实施例中,如果应用程序设置文件405为安卓包(.apk)文件,则哈希函数可以被应用至.apk文件本身或.apk文件的部分(例如,内部的classes.dex文件)以便将移动应用程序唯一地识别作为App B。在一个实施例中,垫片应用程序415可以提供计算机代码来生成键值(例如,通过在设置文件405或其部分上执行哈希函数)。在另一实施例中,垫片应用程序415可以利用另一应用程序或者操作系统的服务来生成键值。
垫片应用程序415可以附加地编译与移动应用程序相关联的元数据。例如,垫片应用程序可以确定应用程序的名称、开发该应用程序的软件公司、用于对应用程序进行数字签名的签名,和/或可以提供关于该应用程序的信息的任何其它元数据。在一个实施例中,可以从应用程序设置文件405的某个预定义的部分来检索所述元数据。因此,垫片应用程序415可以简单地提取存储在设置文件405的这些预定义的部分中的数据。然后,可以将键值和元数据(统称为应用程序标识符)打包并传输至后端服务器104A。在一个实施例中,在将应用程序标识符传送至后端服务器104A之前,使用公知的密码技术来对应用程序标识符进行加密。
一旦应用程序标识符准备好被传送至后端服务器104A(即,服务器应用程序),则垫片应用程序415可以确定被用于将信息传输至后端服务器104A的通信协议。基于移动设备的连接属性,多种协议可以用于将应用程序标识符传送至后端服务器104A。在一个实施例中,如果移动设备106连接至因特网,则应用程序标识符可以经由英特网连接被传送至后端服务器104A。在另一实施例中,可以使用电话专用的通信信道将应用程序标识符传送至后端服务器104A。例如,可以经由到预定义的电话号码的短消息服务(SMS)消息来将应用程序标识符传送至后端服务器104A。还可以通过启动移动设备106与预定义的电话号码之间的通信,使用双音多频信令或交互式语音响应(IVR)消息来传送应用程序标识符。在一个实施例中,预定义的电话号码可以是由安全厂商(例如,垫片应用程序415的供应商)提供的免税的电话号码。在进一步的实施例中,应用程序标识符可以与具有到后端服务器104A的首选连接的另一设备进行通信,并且所述应用程序标识符可以从该设备被发送至后端服务器104A。例如,移动设备106可以不具有到后端服务器104A的可用的连接但可以连接至具有因特网连接的膝上型计算机。在这样的情况下,应用程序标识符可以被传输至膝上型计算机,以进一步经由膝上型计算机的因特网连接传输至后端服务器104A。
在一个实施例中,可以基于默认优先级来确定适当的通信协议。例如,当因特网连接可用时,可以优选经由因特网来将应用程序标识符传送至后端服务器104A。因此,经由因特网传送可以具有最高的优先级。这样,垫片应用程序415可以通过从最高优先级协议开始的优先级列表来进行,并且可以选择可用的第一个通信协议。在一个实施例中,优先级列表可以由移动设备106的用户来配置。
垫片应用程序415可以附加地确定应用程序标识符应被传送至的适当的后端服务器104A。尽管图4示出了单个后端服务器104A,但通常存在多个可用的后端服务器。在一个实施例中,可以基于移动设备的地理位置(例如,基于移动设备的GPS位置)来确定适当的后端服务器104A。在另一实施例中,一个或多个后端服务器104A可以专用于特定的移动设备106。因此,移动设备106的类型可以确定适当的后端服务器104A。在另一实施例中,可以基于垫片应用程序415的级别来确定后端服务器104A。例如,与标准版本的垫片应用程序415相比,高级版本的垫片应用程序415可以与后端服务器104A的更大的池相关联,使得对于高级版本而言,接收响应可以更快。当垫片应用程序415确定适当的通信协议和后端服务器104A时,应用程序标识符可以在425中被路由至移动设备106的适当的网络接口420,以用于传输至后端服务器104A。
在330中,应用程序标识符被传输至后端服务器104A。可以由后端服务器104A利用应用程序标识符来确定应用程序的状态。如上面关于图3所描述的,在后端服务器104A上执行的服务器应用程序维持先前所识别和分析的应用程序的数据库430。在示出的实施例中,数据库430包括应用程序的名称、应用程序的键值(即,与由垫片应用程序415计算出的键值相匹配的键值)以及应用程序的状态。为清楚起见,示出的数据库430包含有限数量的字段。然而,数据库430还可以包括属于所分析的应用程序的附加信息。例如,该状态字段不包含将应用程序识别为恶意或良性的分立状态,相反可以包含与应用程序相关联的数字信誉度分数。垫片应用程序415可以利用信誉度分数与可配置的信誉阈值进行比较,以便确定移动应用程序是恶意还是良性的。在一个实施例中,数据库430的附加字段可以识别有助于应用程序的信誉分数的移动应用程序的属性。
在所描述的实施例中,App B与键值值2相对应。由此,响应于接收应用程序标识符,在后端服务器104A上执行的服务器应用程序可以提取该键值。因为垫片应用程序415和服务器应用程序利用了相同的函数来计算用于移动应用程序的键值,所以在所接收的应用程序标识符中的键值也具有值2,与在移动设备106上对App B的尝试安装相对应。服务器应用程序可以利用键值值来搜索数据库430,以确定App B具有良性的状态。因此,App B不是恶意的,并且对于移动设备106而言安装App B是可接受的。然而,如果应用程序标识符指示键值值为1,与APP A相对应,则服务器应用程序将确定App A是恶意的,并且不应该被安装在移动设备上。
在335中,指示App B的状态的响应(通过服务器应用程序)从后端服务器104A传输至移动设备106。在一个实施例中,可以利用与用于将应用程序标识符传输至后端服务器104A的协议相同的协议来传送来自服务器应用程序的响应。然而,在替代的实施例中,可以利用与用于传输应用程序标识符的协议不同的协议来传送来自服务器应用程序的响应。在一个实施例中,可以对来自服务器应用程序的响应进行加密。因为响应335指示App B为良性的,所以在345中垫片应用程序415允许用于API 410的调用进行,由此准许App B在移动设备106上的安装。当确定应用程序为良性的时,对用于安装操作的调用的拦截和对后端服务器的询问对于移动设备106的用户而言是透明的,使得呈现给用户的移动应用程序的安装是以常规方式发生的。当确定应用程序为恶意时,垫片应用程序415可以警告移动设备106的用户:该应用程序被确定为恶意,并且因此将不进行安装(或者,如果用户肯定地忽视提供的警告,则进行安装),并且可以协调与恶意应用程序相关联的应用程序设置文件的删除。因为用于识别并且确定移动应用程序的状态所需的大部分的处理和存储器需求由在后端服务器104A上执行的应用程序来满足,所以垫片应用程序415仅需要有限的存储器和处理资源。因此,可以在不加重移动设备106的有限的存储器和处理资源的负担的情况下,识别出移动应用程序为恶意的并且禁止其安装在移动设备106上。
现在参考图5,过程500示出了根据本公开的实施例的示例过程流程,通过所述示例过程流程后端服务器应用程序识别移动应用程序的状态并且将该状态传送至移动设备。在步骤505中,服务器应用程序从移动设备106接收应用程序标识符。正如参考图3和图4所描述的,应用程序标识符包含识别移动应用程序的信息,针对所述信息,用于安装操作的调用在移动设备106上被拦截。
在步骤510中,服务器应用程序从应用程序标识符提取数据。在一个实施例中,应用程序标识符以加密的形式被传送至服务器应用程序。由此,从应用程序标识符提取数据可以涉及:对应用程序标识符进行解密,以及从应用程序标识符提取并拦截唯一地识别移动应用程序的键值和与该移动应用程序相关联的元数据。
在步骤515中,服务器应用程序可以利用从应用程序标识符提取的键值来检测数据库430中匹配的移动应用程序。如上所描述的,服务器应用程序可以搜索因特网以找出移动应用程序并且维护所识别的移动应用程序的状态的数据库430。在一个实施例中,结合对应用程序的分析,服务器应用程序可以向移动应用程序的供应商提供证书,指示该应用程序已经被分析并且可以安全地用于安装。例如,在线应用程序存储库可以显示与移动应用程序相关联的证书,使得移动设备106的用户可以确定应用程序可以安全地用于安装。由此,尽管基于从服务器应用程序接收到应用程序是安全的指示,但是对移动应用程序的安装仍可以依情况而定,如果应用程序拥有这样的证书,则移动设备106的用户在购买该应用程序之前可以确信该应用程序是安全的并且可以允许其安装。在步骤520中,确定数据库430中是否存在匹配的键值。
如果在数据库430中找到匹配的键值,则在525中服务器应用程序将移动应用程序的状态发送至移动设备106。如上面所描述的,该状态可以包括将移动应用程序识别为恶意或良性的的分立指示,或者可以包括信誉度分数,从而由移动设备106将所述信誉度分数与可配置的信誉阈值进行比较,以便确定安装所述移动应用程序是否安全。被发送至移动设备106的状态还可以包括附加信息,例如,服务器应用程序将其保持在数据库430中的应用程序的属性。例如,尽管特定的移动应用程序可以被识别为良性的,但被传输至移动设备的状态可以附加地指示移动设备106的用户可能希望知道的所述移动应用程序的属性(例如,应用程序能够进行GPS追踪等)。
如果在数据库430中未找到键值匹配,则在530中可以使用从应用程序标识符提取的元数据来搜索数据库430。所提取的元数据可以提供诸如应用程序的名称、应用程序的发行商、应用程序的来源(例如,下载应用程序的网站)、用于对应用程序进行签名的数字签名等之类的信息。尽管在数据库430中不存在用于移动应用程序的直接匹配,但可以利用元数据来暗示移动应用程序的状态。例如,如果数据库430中出现了关于特定的应用程序发行商的多个记录并且与该发行商相关联的应用程序的全部或一些关键部分被确定为恶意的,则可以暗示具有相同的发行商的移动应用程序是恶意的。同样,如果关于移动应用程序的特定来源的多个记录指示与该来源相关联的这样的应用程序的全部或一些关键部分是良性的,则可以暗示来自相同来源的移动应用程序是良性的。如果在535中可以基于从应用程序标识符提取的元数据来暗示移动应用程序的状态,则在525中将该状态发送至移动设备106。然而,如果在535中从所提取的元数据中不能暗示移动应用程序的状态,则在540中服务器应用程序可以发送不确定的状态至移动设备。可以由移动设备106以不同的方式对所述不确定的状态进行处理。在一个实施例中,移动设备106可以允许具有不确定的状态的移动应用程序的安装进行。在另一实施例中,可以总是阻止对具有不确定的状态的移动应用程序的安装。在又一实施例中,可以暂停对具有不确定的状态的移动应用程序的安装,直到可以获得确定的状态。例如,在步骤545中,服务器应用程序可以利用所提取的元数据(例如,应用程序的来源)来下载移动应用程序。这样,可以将关于与所接收的应用程序标识符相关联的移动应用程序的记录添加到数据库430中。如果服务器应用程序能够下载并且分析移动应用程序,则其随后可以向移动设备106发送确定的状态。由此,如果移动设备106被配置为使具有不确定的状态的移动应用程序的安装暂停,则从服务器应用程序对确定的状态的接收可以允许移动设备允许或阻止该安装。
正如从上面的解释中应该显而易见的,本文公开的实施例示出了在不加重移动设备的有限的存储器和处理资源的负担的情况下用于识别并且防止恶意应用程序在移动设备上安装的系统、方法和计算机程序产品。尽管已经针对具有特定的操作系统的移动设备示出了特定的示例,但所公开的实施例同样适用于所有类型和所有操作系统的移动设备。
在上面的描述中,出于解释的目的,阐述了多种具体的细节以便提供对所公开的实施例的详尽理解。然而,对于本领域的技术人员而言显而易见的是,所公开的实施例可以在没有这些具体细节的情况下实施。在其它实例中,以框图的形式示出了结构和设备,以便避免使所公开的实施例难以理解。此外,出于可读性和指导性的目的,主要对本公开中使用的语言进行了选择,并且可以不对其进行选择来描述或限制本发明的主题,而是依靠所需的权利要求来确定这样的发明主题。另外,说明书中对“一个实施例”或“实施例”的引用意味着结合实施例所描述的特定的特征、结构或特性包括在至少一个所公开的实施例中,并且对“一个实施例”或“实施例”的多次引用不应被理解为必须全部引用同一实施例。还应理解的是,上面描述的实施例可以相互结合使用并且可以以与所示出的顺序不同的顺序来执行举例示出的过程步骤。对于本领域的技术人员而言,基于对上面的描述的浏览,许多其它实施例将是显而易见的。

Claims (25)

1.一种非暂时性计算机可读介质,其包括存储于其上的计算机可执行指令,用于使处理器用于:
拦截在移动设备上安装应用程序的请求;
生成唯一地识别所述应用程序的键值;
通过网络连接将所述键值发送至服务器应用程序;
通过所述网络连接接收指示所述应用程序的状态的响应;并且
当所述状态指示所述应用程序为恶意的时阻止所述应用程序在所述移动设备上的安装。
2.如权利要求1所述的非暂时性计算机可读介质,其中,用于使所述处理器拦截在移动设备上安装应用程序的请求的所述指令包括:用于使所述处理器将垫片应用程序注册作为所述移动设备上的后台服务的指令。
3.如权利要求2所述的非暂时性计算机可读介质,其中,用于使所述处理器将所述垫片应用程序注册作为所述移动设备上的后台服务的指令包括:用于注册所述垫片应用程序以拦截应用程序编程接口的调用的指令,所述应用程序编程接口用于启动在所述移动设备上对所述应用程序的安装。
4.如权利要求1所述的非暂时性计算机可读介质,其中,用于使所述处理器生成唯一地识别所述应用程序的键值的指令包括:用于使所述处理器将哈希算法应用于应用程序设置文件的指令,所述应用程序设置文件启动了对所述应用程序的安装。
5.如权利要求1所述的非暂时性计算机可读介质,其进一步包括:用于使所述处理器在通过网络将所述键值发送至所述服务器应用程序之前对所述键值进行加密的指令。
6.如权利要求1所述的非暂时性计算机可读介质,其进一步包括:用于使所述处理器编译与所述应用程序相关联的元数据的指令。
7.如权利要求6所述的非暂时性计算机可读介质,其中,与所述应用程序相关联的元数据包括:所述应用程序的发行商、所述应用程序的来源,以及用于对所述应用程序进行签名的数字签名中的至少一个。
8.如权利要求6所述的非暂时性计算机可读介质,其进一步包括:用于使所述处理器通过所述网络连接将所述元数据与所述键值一起发送至所述服务器应用程序的指令。
9.如权利要求1所述的非暂时性计算机可读介质,其进一步包括:用于使所述处理器确定通信协议的指令,所述通信协议用于通过所述网络连接将所述键值发送至所述服务器应用程序。
10.如权利要求9所述的非暂时性计算机可读介质,其中,用于使所述处理器确定通信协议的指令包括:用于使所述处理器识别来自优先级列表的通信协议的指令,所述优先级列表能够由所述移动设备的用户配置。
11.如权利要求1所述的非暂时性计算机可读介质,其中,用于使所述处理器通过网络连接来发送所述键值的指令包括:用于使所述处理器通过电话专用的通信信道来传送所述键值的指令。
12.如权利要求11所述的非暂时性计算机可读介质,其中,用于使所述处理器通过电话专用的通信信道来发送所述键值的指令包括:用于使所述处理器将所述键值作为短消息服务(SMS)消息发送到预定义的电话号码的指令。
13.一种方法,其包括:
利用移动设备中的处理器来拦截在所述移动设备上安装应用程序的请求;
利用所述处理器来生成唯一地识别所述应用程序的键值;
利用所述处理器通过网络连接将所述键值发送至服务器应用程序;
利用所述处理器通过所述网络连接来接收指示所述应用程序的状态的响应;并且
当所述状态指示所述应用程序为恶意的时,利用所述处理器来阻止所述应用程序的安装。
14.如权利要求13所述的方法,其中,拦截在所述移动设备上安装应用程序的请求的动作包括:将垫片应用程序注册作为所述移动设备上的后台服务。
15.如权利要求14所述的方法,其中,将所述垫片应用程序注册作为所述移动设备上的后台服务的动作包括:注册所述垫片应用程序以拦截应用程序编程接口的调用,所述应用程序编程接口被用于启动在所述移动设备上对所述应用程序的安装。
16.一种移动设备,其包括
存储器;
网络接口;以及
能够操作地耦合至所述存储器与所述网络接口的处理器,所述处理器适用于执行存储在所述存储器中的程序代码用于:
拦截在所述移动设备上安装移动应用程序的请求;
生成唯一地识别所述移动应用程序的键值;
利用所述网络接口将所述键值发送至服务器应用程序;
利用所述网络接口接收指示所述移动应用程序的状态的响应;并且
当所述状态指示所述移动应用程序为恶意的时,阻止在所述移动设备上对所述移动应用程序的安装。
17.一种用于识别应用程序的状态的方法,包括:
在后端服务器处理器上执行的服务器应用程序处通过网络连接从移动设备接收应用程序标识符;
通过所述服务器应用程序利用所述应用程序标识符来确定来自记录的数据库的所述应用程序的状态,所述记录的数据库包括多个已分析的应用程序;
通过所述服务器应用程序通过所述网络连接来将所述应用程序的状态发送至所述移动设备。
18.如权利要求17所述的方法,其中,所述应用程序标识符包括:唯一地识别所述应用程序的键值和与所述应用程序相关联的元数据。
19.如权利要求18所述的方法,其中,利用所述应用程序标识符来确定所述应用程序的状态的动作包括:搜索所述数据库以确定所述数据库中是否存在与所述键值相匹配的记录。
20.如权利要求19所述的方法,其中,利用所述应用程序标识符来确定所述应用程序的状态的动作包括:当确定所述数据库中不存在与所述键值相匹配的记录时,利用所述元数据来暗示来自所述数据库中的记录的应用程序的状态。
21.一种非暂时性计算机可读介质,其包括存储于其上的计算机可执行指令,使处理器用于:
在后端服务器处理器上执行的服务器应用程序处通过网络连接从移动设备接收应用程序标识符;
通过所述服务器应用程序利用所述应用程序标识符来确定来自记录的数据库的所述应用程序的状态,所述记录的数据库包括多个已分析的应用程序;
通过所述服务器应用程序将所述应用程序的状态通过所述网络连接发送至所述移动设备。
22.如权利要求21所述的非暂时性计算机可读介质,其中,所述应用程序标识符包括:唯一地识别所述应用程序的键值和与所述应用程序相关联的元数据。
23.如权利要求22所述的非暂时性计算机可读介质,其中,利用所述应用程序标识符来确定所述应用程序的状态的动作包括:搜索所述数据库以确定所述数据库中是否存在与所述键值相匹配的记录。
24.如权利要求23所述的非暂时性计算机可读介质,其中,利用所述应用程序标识来确定所述应用程序的状态的动作包括:当确定所述数据库中不存在与所述键值相匹配的记录时,利用所述元数据来暗示来自所述数据库中的记录的应用程序的状态。
25.一种后端服务器,其包括:
存储器;
网络接口;
能够操作地耦合至所述存储器和所述网络接口的处理器;以及
由所示处理器执行的服务器应用程序,用于:
通过网络连接从移动设备接收应用程序标识符;
利用所述应用程序标识符来确定来自记录的数据库的应用程序的状态,所述记录的数据库包括多个已分析的应用程序;
通过所述网络连接将所述应用程序的状态发送至所述移动设备。
CN201380016442.9A 2012-04-18 2013-04-17 检测并防止恶意移动应用程序的安装 Active CN104246788B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/449,751 US9152784B2 (en) 2012-04-18 2012-04-18 Detection and prevention of installation of malicious mobile applications
US13/449,751 2012-04-18
PCT/US2013/037017 WO2013158789A1 (en) 2012-04-18 2013-04-17 Detection and prevention of installation of malicious mobile applications

Publications (2)

Publication Number Publication Date
CN104246788A true CN104246788A (zh) 2014-12-24
CN104246788B CN104246788B (zh) 2017-09-22

Family

ID=49381418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380016442.9A Active CN104246788B (zh) 2012-04-18 2013-04-17 检测并防止恶意移动应用程序的安装

Country Status (4)

Country Link
US (2) US9152784B2 (zh)
EP (1) EP2839406B1 (zh)
CN (1) CN104246788B (zh)
WO (1) WO2013158789A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407799A (zh) * 2016-10-26 2017-02-15 北京金山安全软件有限公司 恶意文件安装的检测方法、装置、终端以及服务器
CN107256173A (zh) * 2017-06-28 2017-10-17 广东欧珀移动通信有限公司 一种应用安装方法、移动终端和计算机可读存储介质
CN107368735A (zh) * 2017-07-24 2017-11-21 广东欧珀移动通信有限公司 一种应用安装方法、移动终端和计算机可读存储介质
CN107534646A (zh) * 2015-08-28 2018-01-02 慧与发展有限责任合伙企业 用于确定dns分组是否为恶意的提取数据分类
CN107636667A (zh) * 2015-05-21 2018-01-26 安维智有限公司 在设备中创建多个工作空间
CN107710215A (zh) * 2015-10-30 2018-02-16 谷歌有限责任公司 在测试设施中的移动计算装置安全的方法和设备
CN108270611A (zh) * 2016-12-30 2018-07-10 维布络有限公司 用于建立与电子设备的安全接入连接的方法和系统
CN109843752A (zh) * 2016-09-15 2019-06-04 亚马逊科技有限公司 集成式障碍物检测和有效负载定心传感器系统
CN110537181A (zh) * 2017-03-01 2019-12-03 赛门铁克公司 管理数据加密应用程序
CN111143843A (zh) * 2019-12-12 2020-05-12 北京神州绿盟信息安全科技股份有限公司 恶意应用程序的检测方法及装置
US10805318B2 (en) 2015-08-28 2020-10-13 Hewlett Packard Enterprise Development Lp Identification of a DNS packet as malicious based on a value
CN112565274A (zh) * 2020-12-11 2021-03-26 国家计算机网络与信息安全管理中心江苏分中心 一种智能识别恶意app的方法及系统
CN113282921A (zh) * 2021-06-11 2021-08-20 深信服科技股份有限公司 一种文件检测方法、装置、设备及存储介质

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544396B2 (en) 2011-02-23 2017-01-10 Lookout, Inc. Remote application installation and control for a mobile device
US9118686B2 (en) 2011-09-06 2015-08-25 Microsoft Technology Licensing, Llc Per process networking capabilities
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US9152784B2 (en) 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US9075978B2 (en) * 2012-04-23 2015-07-07 Sap Se Secure configuration of mobile applications
US9331995B2 (en) 2012-04-23 2016-05-03 Sap Se Secure configuration of mobile application
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
US9449104B2 (en) * 2012-07-02 2016-09-20 At&T Intellectual Property I, L.P. Method and apparatus for deriving and using trustful application metadata
US8893152B2 (en) * 2012-09-06 2014-11-18 Intel Corporation Application registration with a non-OS service
US20140096246A1 (en) * 2012-10-01 2014-04-03 Google Inc. Protecting users from undesirable content
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
US10356204B2 (en) * 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US10075508B2 (en) * 2013-03-15 2018-09-11 Microsoft Technology Licensing, Llc Application-centric socialization
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
WO2015001969A1 (ja) * 2013-07-05 2015-01-08 日本電信電話株式会社 不正アクセス検知システム及び不正アクセス検知方法
US9335983B2 (en) * 2013-07-28 2016-05-10 Oded Haim Breiner Method and system for displaying a non-installed android application and for requesting an action from a non-installed android application
CN103593212A (zh) * 2013-11-01 2014-02-19 小米科技有限责任公司 一种应用安装的方法、装置和设备
CN103577757B (zh) * 2013-11-15 2017-05-24 北京奇虎科技有限公司 病毒防御方法和装置
CN105814834B (zh) * 2013-12-20 2019-12-20 诺基亚技术有限公司 用于公共云应用的基于推送的信任模型
US9258318B2 (en) * 2014-02-12 2016-02-09 Symantec Corporation Systems and methods for informing users about applications available for download
US9256738B2 (en) * 2014-03-11 2016-02-09 Symantec Corporation Systems and methods for pre-installation detection of malware on mobile devices
US9762657B2 (en) * 2014-06-17 2017-09-12 International Business Machines Corporation Authentication of mobile applications
US9313218B1 (en) 2014-07-23 2016-04-12 Symantec Corporation Systems and methods for providing information identifying the trustworthiness of applications on application distribution platforms
US9323518B1 (en) 2014-07-29 2016-04-26 Symantec Corporation Systems and methods for modifying applications without user input
US9313219B1 (en) * 2014-09-03 2016-04-12 Trend Micro Incorporated Detection of repackaged mobile applications
US10445505B2 (en) * 2014-09-22 2019-10-15 Mcafee, Llc Process vulnerability assessment
US10153904B2 (en) * 2015-04-29 2018-12-11 Ncr Corporation Validating resources execution
US9692776B2 (en) 2015-04-29 2017-06-27 Symantec Corporation Systems and methods for evaluating content provided to users via user interfaces
EP3289510B1 (en) 2015-05-01 2020-06-17 Lookout Inc. Determining source of side-loaded software
US10185480B1 (en) * 2015-06-15 2019-01-22 Symantec Corporation Systems and methods for automatically making selections in user interfaces
US10387809B2 (en) * 2015-07-29 2019-08-20 Flexera Software Llc Method and apparatus for extracting mobile application suitability features for a mobile business application
US9807111B1 (en) 2015-07-29 2017-10-31 Symantec Corporation Systems and methods for detecting advertisements displayed to users via user interfaces
US9734312B1 (en) 2015-08-12 2017-08-15 Symantec Corporation Systems and methods for detecting when users are uninstalling applications
US9690934B1 (en) * 2015-08-27 2017-06-27 Symantec Corporation Systems and methods for protecting computing devices from imposter accessibility services
US10963565B1 (en) * 2015-10-29 2021-03-30 Palo Alto Networks, Inc. Integrated application analysis and endpoint protection
US11373245B1 (en) * 2016-03-04 2022-06-28 Allstate Insurance Company Systems and methods for detecting digital security breaches of connected assets based on location tracking and asset profiling
US9917862B2 (en) * 2016-04-14 2018-03-13 Airwatch Llc Integrated application scanning and mobile enterprise computing management system
US9916446B2 (en) * 2016-04-14 2018-03-13 Airwatch Llc Anonymized application scanning for mobile devices
US10621333B2 (en) * 2016-08-08 2020-04-14 International Business Machines Corporation Install-time security analysis of mobile applications
JP6816589B2 (ja) * 2017-03-17 2021-01-20 株式会社リコー 遠隔管理システム、仲介装置、遠隔管理方法、及び遠隔管理プログラム
KR101907037B1 (ko) 2017-05-18 2018-10-12 주식회사 안랩 악성 코드 진단 서버, 시스템 및 방법
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US20190080090A1 (en) * 2017-09-11 2019-03-14 Qualcomm Incorporated Method and apparatus for detecting dynamically-loaded malware with run time predictive analysis
US10861600B2 (en) * 2017-09-28 2020-12-08 General Electric Company Method and system for user-verifiable certification of software for medical devices
CN107885995A (zh) * 2017-10-09 2018-04-06 阿里巴巴集团控股有限公司 小程序的安全扫描方法、装置以及电子设备
CN108460273B (zh) * 2017-12-27 2022-10-14 中国银联股份有限公司 一种终端的应用管理方法、应用服务器及终端
RU2697951C2 (ru) 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ прекращения работы функционально ограниченного приложения, взаимосвязанного с веб-сайтом, запускаемого без установки
US11470113B1 (en) 2018-02-15 2022-10-11 Comodo Security Solutions, Inc. Method to eliminate data theft through a phishing website
US10911486B1 (en) * 2018-06-13 2021-02-02 NortonLifeLock Inc. Systems and methods for utilizing custom tagging to protect against phishing attacks from malicious applications
US11531532B2 (en) * 2019-01-16 2022-12-20 Vmware, Inc. Remote deployment of provisioned packages
US11017064B2 (en) 2019-05-14 2021-05-25 Bank Of America Corporation Authentication using interprogram communication
CN110581841B (zh) * 2019-08-15 2022-10-14 上海建桥学院 一种后端反爬虫方法
CN110830261B (zh) * 2019-10-12 2023-05-02 平安普惠企业管理有限公司 加密方法、装置、计算机设备及存储介质
CN111193768B (zh) * 2019-11-25 2021-11-02 腾讯科技(深圳)有限公司 网络数据处理方法、装置、计算机设备和存储介质
KR20210108279A (ko) * 2020-02-25 2021-09-02 삼성전자주식회사 전자 장치의 서명 키 관리 방법 및 그 전자 장치
US11563721B2 (en) * 2020-06-21 2023-01-24 Hewlett Packard Enterprise Development Lp Methods and systems for network address translation (NAT) traversal using a meet-in-the-middle proxy
US11757840B2 (en) * 2021-09-12 2023-09-12 Netflow, UAB Configuring a protocol in a virtual private network
US12020006B2 (en) 2022-05-13 2024-06-25 Red Hat, Inc. Shim layer for intercepting calls between an upper layer and a lower layer of a container image

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240222A1 (en) * 2006-04-06 2007-10-11 George Tuvell System and Method for Managing Malware Protection on Mobile Devices
US20090075630A1 (en) * 2007-09-18 2009-03-19 Mclean Ivan H Method and Apparatus for Creating a Remotely Activated Secure Backup Service for Mobile Handsets
US20090113425A1 (en) * 2007-10-30 2009-04-30 Vmware, Inc. Transparent Memory-Mapped Emulation of I/O Calls
US20100318992A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Terminal services application virtualization for compatability
US20110047620A1 (en) * 2008-10-21 2011-02-24 Lookout, Inc., A California Corporation System and method for server-coupled malware prevention
CN102110220A (zh) * 2011-02-14 2011-06-29 宇龙计算机通信科技(深圳)有限公司 一种应用程序监控方法及装置

Family Cites Families (63)

* 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
TW584801B (en) 2000-12-11 2004-04-21 Ntt Docomo Inc Terminal and repeater
US20050007967A1 (en) * 2003-07-09 2005-01-13 Keskar Dhananjay V. Co-operative protocol for wireless device interaction with intelligent environments
US7669177B2 (en) 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
WO2006101549A2 (en) 2004-12-03 2006-09-28 Whitecell Software, Inc. Secure system for allowing the execution of authorized computer program code
JP2008533621A (ja) 2005-03-18 2008-08-21 アブソリュート ソフトウエア コーポレイション 永続的サービスエージェント
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
KR20080074869A (ko) * 2005-11-01 2008-08-13 로타니, 인크 무선 통신의 클라이언트 제어를 위한 방법 및 장치
US7818798B2 (en) 2006-02-03 2010-10-19 Microsoft Corporation Software system with controlled access to objects
US7760684B2 (en) * 2006-02-13 2010-07-20 Airwide Solutions, Inc. Measuring media distribution and impact in a mobile communication network
US9171157B2 (en) * 2006-03-28 2015-10-27 Blue Coat Systems, Inc. Method and system for tracking access to application data and preventing data exploitation by malicious programs
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
US8949826B2 (en) * 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
GB0621433D0 (en) * 2006-10-27 2006-12-06 3G Scene Ltd Networking application
KR100733387B1 (ko) 2006-12-20 2007-06-29 주식회사 이세정보 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법
US7975053B2 (en) * 2006-12-29 2011-07-05 United States Cellular Corporation Establishing network policy for session-unaware mobile-device applications
US20080229828A1 (en) 2007-03-20 2008-09-25 Microsoft Corporation Establishing reputation factors for publishing entities
WO2009097350A1 (en) 2008-01-29 2009-08-06 Palm, Inc. Secure application signing
MY163154A (en) * 2008-03-28 2017-08-15 Celltrust Corp Systems and methods for secure short messaging service and multimedia messaging service
US8950007B1 (en) 2008-04-07 2015-02-03 Lumension Security, Inc. Policy-based whitelisting with system change management based on trust framework
US8763071B2 (en) 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US9626511B2 (en) 2008-08-26 2017-04-18 Symantec Corporation Agentless enforcement of application management through virtualized block I/O redirection
US9135433B2 (en) 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
US9495538B2 (en) 2008-09-25 2016-11-15 Symantec Corporation Graduated enforcement of restrictions according to an application's reputation
CA2665939C (en) 2008-10-08 2014-10-21 Research In Motion Limited Mobile wireless communications device and system providing dynamic management of carrier applications and related methods
US9367680B2 (en) 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US8533844B2 (en) 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
KR101481421B1 (ko) 2008-11-03 2015-01-21 삼성전자주식회사 이동 통신 시스템에서 단말의 화이트 리스트 관리 방법 및 장치
US8490176B2 (en) 2009-04-07 2013-07-16 Juniper Networks, Inc. System and method for controlling a mobile device
AU2010234204A1 (en) 2009-04-09 2011-11-10 Aegis Mobility, Inc. Context based data mediation
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8281403B1 (en) 2009-06-02 2012-10-02 Symantec Corporation Methods and systems for evaluating the health of computing systems based on when operating-system changes occur
US8001606B1 (en) 2009-06-30 2011-08-16 Symantec Corporation Malware detection using a white list
US9081958B2 (en) 2009-08-13 2015-07-14 Symantec Corporation Using confidence about user intent in a reputation system
US8381284B2 (en) 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
WO2011030352A2 (en) 2009-09-11 2011-03-17 3I Infotech Consumer Services Ltd. System and method for mobile phone resident digital signing and encryption/decryption of sms
US8332946B1 (en) 2009-09-15 2012-12-11 AVG Netherlands B.V. Method and system for protecting endpoints
US8590045B2 (en) 2009-10-07 2013-11-19 F-Secure Oyj Malware detection by application monitoring
US8719112B2 (en) 2009-11-24 2014-05-06 Microsoft Corporation Invocation of accessory-specific user experience
KR101161493B1 (ko) 2010-01-18 2012-06-29 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
US8819826B2 (en) 2010-01-27 2014-08-26 Mcafee, Inc. Method and system for detection of malware that connect to network destinations through cloud scanning and web reputation
US9501644B2 (en) 2010-03-15 2016-11-22 F-Secure Oyj Malware protection
US9147071B2 (en) 2010-07-20 2015-09-29 Mcafee, Inc. System and method for proactive detection of malware device drivers via kernel forensic behavioral monitoring and a back-end reputation system
US8924488B2 (en) 2010-07-27 2014-12-30 At&T Intellectual Property I, L.P. Employing report ratios for intelligent mobile messaging classification and anti-spam defense
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8898759B2 (en) 2010-08-24 2014-11-25 Verizon Patent And Licensing Inc. Application registration, authorization, and verification
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US20120209923A1 (en) 2011-02-12 2012-08-16 Three Laws Mobility, Inc. Systems and methods for regulating access to resources at application run time
KR20120096983A (ko) 2011-02-24 2012-09-03 삼성전자주식회사 악성 프로그램 검출 방법 및 이를 구현하는 휴대 단말기
US8510369B1 (en) * 2011-03-15 2013-08-13 Symantec Corporation Method and system for adding plug-in functionality to virtualized applications
US9119017B2 (en) 2011-03-18 2015-08-25 Zscaler, Inc. Cloud based mobile device security and policy enforcement
US20120291103A1 (en) 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
US20120291102A1 (en) 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
US20120324568A1 (en) 2011-06-14 2012-12-20 Lookout, Inc., A California Corporation Mobile web protection
US8799190B2 (en) 2011-06-17 2014-08-05 Microsoft Corporation Graph-based malware classification based on file relationships
US20130097660A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US20130097659A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US8844032B2 (en) * 2012-03-02 2014-09-23 Sri International Method and system for application-based policy monitoring and enforcement on a mobile device
US9152784B2 (en) 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240222A1 (en) * 2006-04-06 2007-10-11 George Tuvell System and Method for Managing Malware Protection on Mobile Devices
US20090075630A1 (en) * 2007-09-18 2009-03-19 Mclean Ivan H Method and Apparatus for Creating a Remotely Activated Secure Backup Service for Mobile Handsets
US20090113425A1 (en) * 2007-10-30 2009-04-30 Vmware, Inc. Transparent Memory-Mapped Emulation of I/O Calls
US20110047620A1 (en) * 2008-10-21 2011-02-24 Lookout, Inc., A California Corporation System and method for server-coupled malware prevention
US20100318992A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Terminal services application virtualization for compatability
CN102110220A (zh) * 2011-02-14 2011-06-29 宇龙计算机通信科技(深圳)有限公司 一种应用程序监控方法及装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107636667B (zh) * 2015-05-21 2021-10-26 安维智有限公司 在设备中创建多个工作空间的系统及方法
CN107636667A (zh) * 2015-05-21 2018-01-26 安维智有限公司 在设备中创建多个工作空间
US10764307B2 (en) 2015-08-28 2020-09-01 Hewlett Packard Enterprise Development Lp Extracted data classification to determine if a DNS packet is malicious
CN107534646A (zh) * 2015-08-28 2018-01-02 慧与发展有限责任合伙企业 用于确定dns分组是否为恶意的提取数据分类
US10805318B2 (en) 2015-08-28 2020-10-13 Hewlett Packard Enterprise Development Lp Identification of a DNS packet as malicious based on a value
CN107710215A (zh) * 2015-10-30 2018-02-16 谷歌有限责任公司 在测试设施中的移动计算装置安全的方法和设备
CN109843752B (zh) * 2016-09-15 2021-01-15 亚马逊科技有限公司 机器人驱动单元及其系统
CN109843752A (zh) * 2016-09-15 2019-06-04 亚马逊科技有限公司 集成式障碍物检测和有效负载定心传感器系统
CN106407799A (zh) * 2016-10-26 2017-02-15 北京金山安全软件有限公司 恶意文件安装的检测方法、装置、终端以及服务器
CN108270611A (zh) * 2016-12-30 2018-07-10 维布络有限公司 用于建立与电子设备的安全接入连接的方法和系统
CN110537181A (zh) * 2017-03-01 2019-12-03 赛门铁克公司 管理数据加密应用程序
CN107256173B (zh) * 2017-06-28 2020-03-20 Oppo广东移动通信有限公司 一种应用安装方法、移动终端和计算机可读存储介质
CN107256173A (zh) * 2017-06-28 2017-10-17 广东欧珀移动通信有限公司 一种应用安装方法、移动终端和计算机可读存储介质
CN107368735B (zh) * 2017-07-24 2020-03-20 Oppo广东移动通信有限公司 一种应用安装方法、移动终端和计算机可读存储介质
CN107368735A (zh) * 2017-07-24 2017-11-21 广东欧珀移动通信有限公司 一种应用安装方法、移动终端和计算机可读存储介质
CN111143843A (zh) * 2019-12-12 2020-05-12 北京神州绿盟信息安全科技股份有限公司 恶意应用程序的检测方法及装置
CN111143843B (zh) * 2019-12-12 2022-04-12 绿盟科技集团股份有限公司 恶意应用程序的检测方法及装置
CN112565274A (zh) * 2020-12-11 2021-03-26 国家计算机网络与信息安全管理中心江苏分中心 一种智能识别恶意app的方法及系统
CN113282921A (zh) * 2021-06-11 2021-08-20 深信服科技股份有限公司 一种文件检测方法、装置、设备及存储介质
CN113282921B (zh) * 2021-06-11 2024-07-09 深信服科技股份有限公司 一种文件检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2013158789A1 (en) 2013-10-24
US20130283377A1 (en) 2013-10-24
EP2839406A1 (en) 2015-02-25
EP2839406B1 (en) 2018-08-08
US9152784B2 (en) 2015-10-06
CN104246788B (zh) 2017-09-22
US9596257B2 (en) 2017-03-14
EP2839406A4 (en) 2015-12-23
US20160006757A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
CN104246788A (zh) 检测并防止恶意移动应用程序的安装
US10348756B2 (en) System and method for assessing vulnerability of a mobile device
US10256979B2 (en) Assessing application authenticity and performing an action in response to an evaluation result
US8726387B2 (en) Detecting a trojan horse
CN102656593B (zh) 对使用链接文件的恶意软件进行检测和响应
CN105531692A (zh) 针对由在虚拟机里面运行的移动应用加载、链接和执行本地代码的安全策略
US20110093953A1 (en) Preventing and responding to disabling of malware protection software
US9747449B2 (en) Method and device for preventing application in an operating system from being uninstalled
WO2014071867A1 (zh) 程序处理方法和系统,用于程序处理的客户端和服务器
JP6030566B2 (ja) 不正アプリケーション検知システム及び、方法
US10382528B2 (en) Disposition actions in digital asset management based on trigger events
KR20160039234A (ko) 영역 지향 프로그래밍을 통한 모바일 보안 향상 시스템 및 방법
US10216941B2 (en) Method of distributing application with security features and method of operating the application
US20160352522A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Signature Information And Method Of Detecting Forgery Of Application Program Using The Same
WO2015138931A1 (en) Systems and methods for enforcing security in mobile computing
US9672356B2 (en) Determining malware status of file
US11436331B2 (en) Similarity hash for android executables
KR101782145B1 (ko) 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법
EP2743858B1 (en) Using a honeypot workflow for software review
US11934515B2 (en) Malware deterrence using computer environment indicators
CN113312629A (zh) 一种基于安卓操作系统的安全操作系统
Jagtap et al. Android app categorization using Naïve Bayes classifier

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: American California

Patentee after: McAfee limited liability company

Address before: American California

Patentee before: Mcafee Inc

CP03 Change of name, title or address