CN111356985A - 用于阻止恶意应用程序利用应用程序服务的系统和方法 - Google Patents

用于阻止恶意应用程序利用应用程序服务的系统和方法 Download PDF

Info

Publication number
CN111356985A
CN111356985A CN201880052780.0A CN201880052780A CN111356985A CN 111356985 A CN111356985 A CN 111356985A CN 201880052780 A CN201880052780 A CN 201880052780A CN 111356985 A CN111356985 A CN 111356985A
Authority
CN
China
Prior art keywords
application
user
computing device
computer
security
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
CN201880052780.0A
Other languages
English (en)
Inventor
M·达玛基卡里
P·梅尔
N·乔希
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.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of CN111356985A publication Critical patent/CN111356985A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了用于阻止恶意应用程序利用应用程序服务的计算机实现的方法,该方法可包括:(i)识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,沙箱化环境将所述应用程序的数据和代码执行与在所述计算设备上的操作系统内执行的至少一个其他应用程序隔离,(ii)确定应用程序表示潜在安全风险,(iii)提示计算设备的用户通过执行推荐的安全操作来修复应用程序带来的潜在安全风险,以及(iv)在等待用户执行推荐的安全操作时,通过阻断应用程序启动应用程序服务的尝试来保护计算设备。本发明还公开了各种其他方法、系统和计算机可读介质。

Description

用于阻止恶意应用程序利用应用程序服务的系统和方法
背景技术
一些现代操作系统(诸如ANDROID操作系统)尝试通过在应用程序“沙箱”内安装和运行应用程序来保护用户和系统数据。在沙箱化计算环境中,通常阻止应用程序访问其他应用程序或系统资源的数据或代码以试图阻止故障、漏洞或恶意代码传播到该计算系统的其他部分。
具有讽刺意味的是,旨在确保并保护沙箱化计算环境的相同机制也可阻止安装在此类环境中的安全软件执行各种通用安全操作(诸如终止、隔离和/或卸载应用程序)。因此,能够绕过沙箱化计算环境的保护的恶意应用程序可能会对用户设备的安全造成特别危险的威胁,因为在此类环境中安装的安全软件可能难以有效地与之对抗。因而,本公开识别并解决了用于保护沙箱化计算环境免受恶意应用程序之害的改进系统和方法的需求。
发明内容
如将在下文更详细地描述的,本公开描述了用于保护沙箱化计算环境免受恶意应用程序之害的各种系统和方法。在一个示例中,用于执行此类任务的方法可包括(i)识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,该沙箱化环境将应用程序的数据和代码执行与在该计算设备上的操作系统内执行的至少一个其他应用程序隔离,(ii)确定该应用程序表示潜在安全风险,(iii)提示该计算设备的用户通过执行推荐的安全操作来修复该应用程序带来的潜在安全风险,以及(iv)在等待该用户执行推荐的安全操作时,通过阻断该应用程序启动应用程序服务的尝试来保护该计算设备。
在一些实施方案中,操作系统可被配置为通过将每个应用程序的数据和代码执行与在该操作系统内执行的所有其他应用程序隔离以对该操作系统内执行的所有应用程序进行沙箱处理。在一个示例中,沙箱化环境可阻止在操作系统内执行的安全软件自动隔离和/或自动卸载应用程序。
根据各种实施方案,启动应用程序服务的尝试可包括捕获敏感信息、传输敏感信息、访问恶意资源、修改用户数据、生成请求提升权限的用户提示,以及/或者生成广告的尝试。在一个示例中,推荐的安全操作可表示安装在计算设备上的安全软件由于沙箱化环境而无法自行执行的计算操作。此外,提示用户修复应用程序带来的潜在安全风险可包括提示该用户终止该应用程序和/或卸载该应用程序。在一些实施方案中,阻断应用程序启动应用程序服务的尝试可包括阻止应用程序启动应用程序服务并且/或者在应用程序已经启动应用程序服务之后自动终止应用程序服务。在这些实施方案中,该方法还可包括:如果应用程序服务不能自动终止,则提示用户手动终止启动应用程序服务的应用程序。在一个示例中,提示用户手动终止启动应用程序服务的应用程序可包括:周期性地提示用户终止应用程序,直到检测到用户已成功终止应用程序。
用于阻止恶意应用程序利用应用程序服务的对应系统可包括存储在存储器中的多个模块,包括(i)存储在存储器设备中的识别模块,该识别模块识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,该沙箱化环境将应用程序的数据和代码执行与在该系统上的操作系统内执行的至少一个其他应用程序隔离,(ii)存储在存储器设备中的确定模块,该确定模块确定该应用程序表示潜在安全风险,(iii)存储在存储器设备中的通知模块,该通知模块提示该系统的用户通过执行推荐的安全操作来修复该应用程序带来的潜在安全风险,(iv)安全模块,在等待用户执行推荐的安全操作时该安全模块通过阻断应用程序启动应用程序服务的尝试来保护计算系统,以及(v)至少一个物理处理器,该至少一个物理处理器执行识别模块、确定模块、通知模块以及安全模块。
在一些示例中,可将上述方法编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,当计算设备的至少一个处理器执行该指令时,可以使计算设备执行下列操作:(i)识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,该沙箱化环境将应用程序的数据和代码执行与在该计算设备上的操作系统内执行的至少一个其他应用程序隔离,(ii)确定该应用程序表示潜在安全风险,(iii)提示该计算设备的用户通过执行推荐的安全操作来修复该应用程序带来的潜在安全风险,以及(iv)在等待该用户执行推荐的安全操作时,通过阻断该应用程序启动应用程序服务的尝试来保护该计算设备。
来自上述实施方案中的任何一者的特征可根据本文所述的一般原理彼此结合使用。通过结合附图和权利要求阅读下面的详细描述,将会更充分地理解这些和其他实施方案、特征和优点。
附图说明
附图示出了多个示例性实施方案并且作为说明书的一部分。这些附图结合下面的描述展示并且说明本公开的各种原理。
图1是用于阻止恶意应用程序利用应用程序服务的示例性系统的框图。
图2是用于阻止恶意应用程序利用应用程序服务的附加示例性系统的框图。
图3是用于阻止恶意应用程序利用应用程序服务的示例性方法的流程图。
图4是示例性安全提示的图示。
图5是用于阻止恶意应用程序利用应用程序服务的示例性时间轴的图示。
图6是能够实现本文描述和/或示出的实施方案中的一个或多个的示例性计算系统的框图。
图7是能够实现本文描述和/或示出的实施方案中的一个或多个的示例性计算网络的框图。
在全部附图中,相同引用字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案易受各种修改和替代形式的影响,但在附图中以举例的方式示出了特定实施方案并且将在本文详细描述。然而,本文所述的示例性实施方案并非旨在限于所公开的特定形式。相反,本发明涵盖落入所附权利要求范围内的所有修改形式、等同形式和替代形式。
具体实施方式
本公开整体涉及用于保护沙箱化计算环境免受恶意应用程序之害的系统和方法。如下文将更详细地解释的,沙箱化计算环境通常阻止安全软件执行各种通用安全操作,诸如终止、隔离和/或卸载恶意应用程序。尽管在此类环境中安装的安全软件可能会向计算设备的用户告知漏洞并提供补救该漏洞的指令,但从用户被告知安全风险到用户成功执行足以补救安全风险的操作之间的窗口时间可能足够长以使恶意应用程序盗用、扰乱和/或以其他方式负面地影响用户的硬件、软件或信息。然而,通过阻断恶意应用程序启动应用程序服务的尝试,直到用户能够成功执行更为永久的安全操作,本文所公开的系统可在该漏洞窗口期间保护用户的计算设备,继而最小化和/或消除沙箱化计算环境内的恶意软件的负面影响。
以下将参考图1至图2提供用于阻止恶意应用程序利用应用程序服务的示例性系统的详细描述。也将结合图3至图5提供对相应计算机实现的方法的详细描述。另外,将分别结合图6和图7提供能够实现本文描述的实施方案中的一个或多个的示例性计算系统和网络架构的详细描述。
图1是用于阻止恶意应用程序利用应用程序服务的示例性系统100的框图。如该图所示,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。例如,并且如将在下文更详细解释的,模块102可包括识别模块104,该识别模块被编程用于识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试。模块102还可包括被编程用于确定应用程序表示潜在安全风险的确定模块106和被编程用于提示计算设备的用户修复应用程序带来的潜在安全风险的通知模块108。最后,模块102可包括安全模块110,该安全模块在等待用户执行推荐的安全操作时被编程用于通过阻断应用程序启动应用程序服务的尝试来保护计算设备。尽管被示为独立元件,但图1中的模块102中的一个或多个模块可以表示单个模块或应用程序的一部分。
在某些实施方案中,图1中的模块102中的一个或多个可以表示一个或多个软件应用程序或程序,该一个或多个软件应用程序或程序在被计算设备执行时,可使计算设备执行一个或多个任务。例如,并且如将在下文更详细描述的,模块102中的一个或多个可表示存储在一个或多个计算设备上并被配置为在该一个或多个计算设备上运行的模块,该一个或多个计算设备诸如图2中示出的设备(例如,计算设备202)。图1中的模块102中的一个或多个还可以表示被配置为执行一个或多个任务的一台或多台专用计算机的全部或部分。
如图1所示,示例性系统100还可包括一个或多个存储器设备,诸如系统存储器140。系统存储器140通常表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,系统存储器140可以存储、加载和/或维护模块102中的一个或多个。系统存储器140的示例包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、高速缓存、以上各项中的一个或多个的变型或组合、和/或任何其他合适的存储器。
如图1所示,示例性系统100还可以包括一个或多个物理处理器,诸如物理处理器130。物理处理器130通常表示能够解译和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器130可访问和/或修改存储在系统存储器140中的模块102中的一个或多个。除此之外或另选地,物理处理器130可执行模块102中的一个或多个。物理处理器130的示例包括但不限于微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、以上各项中的一个或多个的各部分、以上各项中的一个或多个的变型或组合、和/或任何其他合适的物理处理器。
图1中的示例性系统100可以用多种方式来实现。例如,示例性系统100的全部或一部分可表示图2中的示例性系统200的部分。如图2所示,系统200可包括计算设备202,该计算设备包括用户空间210、内核空间220和硬件230。在一个示例中,模块102的全部或一部分功能可由在安全应用程序沙箱212内执行的安全应用程序来实现。
计算设备202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。计算设备202的示例包括但不限于:膝上型计算机、平板电脑、台式计算机、服务器、蜂窝电话或其他移动设备、个人数字助理(PDA)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、智能车辆、智能包装(例如,主动或智能包装)、游戏控制台、所谓的物联网设备(例如,智能设备等)、以上各项中的一个或多个的变型或组合、和/或任何其他合适的计算设备。
在一个示例中,计算设备202上的操作系统(诸如ANDROID)可在沙箱化环境内执行一个或多个用户应用程序。如本文所用,术语“沙箱”或“沙箱化环境”通常是指其中应用程序的至少一个方面(诸如其数据和/或代码执行)与在该计算环境内执行的应用程序和/或系统软件的至少一个其他方面隔离的计算环境。在一些示例中,沙箱可通过给用户空间(诸如用户空间210)内的每个沙箱化应用程序分配一组严格控制的资源,诸如磁盘和存储器上的暂存空间来实现。
在图2所示的实例中,每个应用程序可在用户空间210内被分配其自己的沙箱,使得每个应用程序与所有其他应用程序隔离。例如,安全应用程序可被隔离在安全应用程序沙箱212中,第一应用程序(“app1”)可被隔离在app1沙箱214(1)中,第二应用程序(“appN”)可被隔离在appN沙箱(N)中,以此类推。在一些示例中,每个应用程序沙箱可与其自身的唯一用户ID(“UID”)相关联,诸如由基于LINUX的操作系统(诸如ANDROID操作系统)分配的UID。
在一些实施方案中,计算设备202的沙箱化环境可阻止安全软件(诸如在安全应用程序沙箱212内执行的安全应用程序)自动终止(例如,强制杀死)、隔离和/或卸载其他应用程序,诸如在沙箱214(1)-(N)内执行的应用程序。例如,图2所示的沙箱化环境可被配置为阻止每个用户应用程序(包括安全软件)访问任何其他应用程序的沙箱,包括存储在其中的数据和/或代码。如下文所讨论的,此类对其他应用程序的文件级访问的缺乏还可能限制安装在此类环境中的安全应用程序执行通用安全操作的能力。例如,由于ANDROID操作系统阻止任何给定应用程序(包括安全软件)终止(例如,强制杀死)和/或卸载具有不同UID和/或使用不同系统密钥签名的任何其他应用程序,因此ANDROID内的安全软件可能无法终止、隔离和/或卸载其他应用程序,包括安全软件已识别为表示安全风险的恶意应用程序。
图3是用于阻止恶意应用程序利用应用程序服务的示例性计算机实现的方法300的流程图。图3中所示的步骤可以由任何合适的计算机可执行代码和/或计算系统执行,该计算系统包括图1中的系统100、图2中的系统200、和/或以上各项中的一个或多个的变型或组合。在一个示例中,图3中所示的步骤中的每一个都可以表示算法,其结构包括多个子步骤和/或由多个子步骤表示,该多个子步骤的示例将在下面更详细地提供。
如图3所示,在步骤302处,本文所述的系统中的一个或多个可识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,该沙箱化环境将应用程序的数据和代码执行与在计算设备上的操作系统内执行的至少一个其他应用程序隔离。例如,作为在图2中的计算设备202上执行的安全应用程序(例如,在用户空间210中的安全应用程序沙箱212内执行的安全应用程序)的一部分,识别模块104可识别应用程序(例如,在用户空间210中的app1沙箱214(1)内执行的应用程序)启动应用程序服务的尝试。
如本文所用,术语“应用程序服务”通常是指能够代表应用程序执行计算任务的任何类型或形式的应用程序或系统组件。在一些示例中,应用程序服务可以是指在后台执行的计算任务(即,当计算设备的用户未与前台或活动窗口中的应用程序交互时)。除了执行一系列合法的任务之外,恶意软件开发人员还可使用应用程序服务执行各种恶意任务,包括例如捕获敏感信息(例如,通过记录键盘击键、生成屏幕截图、嗅探密码等)、传输敏感信息(例如,传输给未经授权的第三方)、修改用户和/或系统数据(例如,加密、删除和/或损坏用户和/或系统数据)、生成请求提升权限的用户提示(例如,请求用户授予应用程序访问敏感数据或资源,诸如访问用户的联系人、设备的相机等的许可的提示)、访问恶意资源(例如,下载恶意文件)、生成和/或提供广告等。
本文所描述的系统可以各种方式执行步骤302。如上所述,在一些示例中,本文所述的系统可在将应用程序的数据和/或代码执行与至少一个其他应用程序(以及有时所有其他应用程序)隔离的沙箱化环境内操作。在这些示例中,识别模块104可(例如,作为在计算设备202的用户空间210内的安全应用程序沙箱212内执行的安全应用程序的一部分)识别应用程序(例如,在app1沙箱214(1)内执行的应用程序)通过与内核空间220(即,被保留用于执行操作系统的内核、内核扩展、设备驱动程序等的空间)进行通信来启动应用程序服务的尝试。例如,识别模块104可获取(例如,通过与内核空间220通信)标识至少一个在计算设备202上运行的应用程序或进程(例如,在app1沙箱214(1)内执行的应用程序)的信息。识别模块104接着可识别(例如,再次通过使用例如应用程序的UID或进程名称与内核空间220通信)应用程序启动应用程序服务的任何尝试。
在一些示例中,识别模块104可识别应用程序实时启动应用程序服务的尝试;即,识别模块104可利用内核级挂钩在请求被许可之前识别启动服务的请求。然而在其他示例中,识别模块104可在请求被许可之后识别此类尝试。
在一些实施方案中,模块102可(例如,作为在安全应用程序沙箱212内执行的安全应用程序的一部分)向计算设备的用户要求提升的权限,以请求并获取标识正在计算设备上运行的应用程序和/或由此类应用程序启动的服务的信息。在这些实施方案中,模块102可提示用户授予此类提升的权限(例如,在安全应用程序的安装期间)。此外,识别模块104可在与内核空间220交互时使用各种不同的类、方法和命令以获取标识正在运行的应用程序及其相关联服务的信息。例如,当在ANDROID操作系统内执行时,识别模块104可利用ActivityManager类及其相关联的子类(例如,ActivityManager.RunningAppProcessInfo、ActivityManager.RunningServiceInfo等)和方法(例如,getRunningAppProcesses、getRunningServices等)从内核空间220获取此类信息。
在步骤304处,本文所述的系统可确定在步骤302中识别的(和/或其相关联的启动应用程序服务的尝试)表示潜在安全风险的应用程序。例如,确定模块106可(例如,作为在安全应用程序沙箱212内运行的安全应用程序的一部分)确定在app1沙箱214(1)内运行的应用程序(和/或该应用程序启动应用程序服务的尝试)表示潜在安全风险。
如本文所用,短语“潜在安全风险”通常是指能够损害、盗用、扰乱、误导和/或以其他方式负面地影响用户的计算机硬件、软件或信息的任何计算操作。潜在安全风险的示例包括恶意软件(例如,病毒、蠕虫、特洛伊木马、勒索软件)、间谍软件、广告软件、恐吓软件等。在一些示例中,如果应用程序的信誉未知(即,如果不知道该应用程序是合法的还是恶意的),则应用程序(和/或其相关联的服务)可能被归类为潜在安全风险。
本文所描述的系统可以各种方式执行步骤304。例如,确定模块106可使用基于签名的技术(例如,将应用程序或其任何相关联服务的程序包或文件名与已知恶意应用程序和服务的数据库进行匹配)、使用行为启发法(例如,通过比较应用程序或其任何相关联服务的行为与已知恶意应用程序的行为)、以及/或者使用任何其他能够确定应用程序(或其任何相关联服务)是否为恶意的技术,来确定该应用程序(和/或该应用程序启动应用程序服务的尝试)表示安全风险。
在步骤306处,本文所述的系统可提示计算设备的用户通过执行推荐安全操作来修复应用程序带来的潜在安全风险。例如,通知模块108可(例如,作为在安全应用程序沙箱212内运行的安全应用程序的一部分)提示计算设备202的用户执行推荐安全操作,以修复在app1沙箱214(1)内运行的应用程序带来的潜在安全风险。
如本文所用,短语“安全操作”通常是指能够保护计算设备免受恶意应用程序之害,和/或修复恶意应用程序造成的损坏的任何操作。通知模块108可能向用户推荐的安全操作的示例包括但不限于:终止应用程序(例如,关闭或强制杀死该应用程序)、卸载、删除或以其他方式移除应用程序、降级或以其他方式修改与应用程序相关联的许可、安装安全应用程序或进程、运行安全应用程序或进程等。在一些示例中,通知模块108在步骤306中推荐的安全操作可表示由于计算设备202的沙箱化环境而使安全软件无法自行执行的计算操作。
本文所描述的系统可包括在步骤306中生成的安全提示内的各种信息。例如,通知模块108可以:(1)识别有问题的应用程序,(2)指出有问题的应用程序为什么表示安全风险,以及/或者(3)识别用户应当执行以修复由应用程序带来的安全风险的推荐安全操作。例如,如图4所示,通知模块108可生成指示应用程序“MalPhotos”泄漏照片和电话号码并且应当被卸载的安全提示402。在该示例中,计算设备202的用户可通过点击安全提示402中提供的“点击以卸载”按钮来卸载“MalPhotos”应用程序。
返回图3,在步骤308处,本文所述的系统可在等待用户执行推荐的安全操作时通过阻断应用程序启动应用程序服务的尝试来保护计算设备。例如,安全模块110可(例如,作为在计算设备202上的安全应用程序沙箱212内运行的安全应用程序的一部分)阻断在计算设备202的用户空间210中的app1沙箱214(1)内运行的恶意应用程序启动应用程序服务的任何尝试。
本文所述的系统可阻断应用程序以各种方式启动应用程序服务的尝试。在识别模块104使用内核级挂钩以在启动服务的请求被许可之前识别此类请求的示例中,安全模块110可阻止应用程序完全启动应用程序服务。然而在识别模块104在该请求已经被许可之后识别此类尝试的示例中,安全模块110可在应用程序启动应用程序服务之后立即或不久自动终止该应用程序服务。例如,安全模块110当在ANDROID操作系统内执行时可利用ActivityManager类及其相关联的子类和方法(例如,ActivityManager.killBackgroundProcesses)立即终止与给定应用程序或程序包相关联的所有后台进程或服务。
如果安全模块110不能自动终止有问题的应用程序服务(例如,由于权限不足和/或由于沙箱化环境的性质),则通知模块108可提示计算设备202的用户手动终止(例如,强制杀死)启动了应用程序服务的应用程序。在此类示例中,通知模块108可定期地(例如,每五秒、每分钟、每30分钟等)提示用户,直到检测到该用户已成功终止该应用程序。
在一些实施方案中,模块102可(例如,作为在安全应用程序沙箱212内执行的安全应用程序的一部分)向计算设备的用户要求提升的权限以阻断和/或终止应用程序服务。在这些实施方案中,安全应用程序的模块102可提示用户授予此类提升的权限(例如,在安全应用程序的安装期间)。
如上所述,计算设备202的沙箱化环境可阻止在计算设备202上运行的每个用户应用程序(包括安全软件)访问任何其他应用程序的沙箱,包括存储在其中的数据和/或代码。然而此类对其他应用程序的文件级访问的缺乏还可能限制安装在沙箱化环境中的安全软件执行诸如终止、隔离和/或卸载恶意应用程序的通用安全操作的能力。因此,安装在计算设备202的沙箱化环境内的安全软件可能需要依赖(并因此提示)用户执行各种安全操作(例如,终止和/或卸载应用程序),以有效地保护计算设备202。遗憾的是,即使计算设备202的用户被提示这样做,也可能无法(或延迟或忘记)在恶意应用程序能够损害、盗用、扰乱和/或以其他方式负面影响用户硬件、软件或信息之前执行推荐的安全操作。
该问题(以及由本文所述的系统提供的解决方案)在图5所示的时间轴中突出显示。如该图所示,在时间T1,在沙箱化环境(例如,在图2中的安全应用程序沙箱212内运行的安全应用程序的模块102)内操作的安全应用程序可检测潜在安全风险,诸如在计算设备上安装或运行的恶意应用程序。在这样做时,安全应用程序可提示计算设备的用户执行推荐的安全操作,安全应用程序可能由于沙箱化环境的性质而无法自身执行该推荐的安全操作(例如,终止和/或卸载恶意应用程序)。在该示例中,但对于本文所公开的系统,在用户成功地执行推荐的安全操作时,有问题的计算设备在从时间T1到时间T3的时间窗口期间可能仍然未受保护(并且因此易受识别到的安全风险的影响)。
为补救此问题,在时间T1检测到潜在安全风险后,在时间T2安全应用程序可立即监视负责识别到的安全风险的应用程序,并阻断此应用程序启动应用程序服务的任何尝试(例如,通过阻止该应用程序启动应用程序服务和/或通过自动终止由该应用程序启动的任何应用程序服务)。如此,根据本文所公开的系统的安全应用程序可保护有问题的计算设备免受识别到的安全风险之害,直到计算设备的用户能够永久地修复该安全风险(例如,通过执行安全应用程序推荐的安全操作)。
图6是能够实现本文描述和/或示出的实施方案中的一个或多个的示例性计算系统610的框图。例如,计算系统610的全部或一部分可单独地或与其他元件结合来执行本文所述的步骤中的一个或多个步骤(诸如图3中所示的步骤中的一个或多个步骤)和/或作为用于执行其的装置。计算系统610的全部或一部分也可执行本文描述和/或示出的任何其他步骤、方法或过程和/或作为用于执行这些步骤、方法或过程的装置。
计算系统610广义地表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统610的示例包括但不限于:工作站、膝上型计算机、客户端终端、服务器、分布式计算系统、手持设备或任何其他计算系统或设备。在其最基本的配置中,计算系统610可包括至少一个处理器614和系统存储器616。
处理器614通常表示能够处理数据或解译和执行指令的任何类型或形式的物理处理单元(例如,硬件实现的中央处理单元)。在某些实施方案中,处理器614可接收来自软件应用程序或模块的指令。这些指令可使处理器614执行本文描述和/或示出的示例性实施方案中的一个或多个功能。
系统存储器616通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器616的示例包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或任何其他合适的存储器设备。虽然并不是必需的,但在某些实施方案中,计算系统610可以包括易失性存储器单元(诸如例如系统存储器616)和非易失性存储设备(诸如例如主存储设备632,如下文详细地描述的)两者。在一个示例中,图1的模块102中的一个或多个可被加载到系统存储器616中。
在一些示例中,系统存储器616可以存储和/或加载操作系统640以供处理器614执行。在一个示例中,操作系统640可以包括和/或表示管理计算机硬件和软件资源和/或向计算系统610上的计算机程序和/或应用程序提供公共服务的软件。操作系统640的示例包括但不限于LINUX、JUNOS、MICROSOFT WINDOWS、WINDOWS MOBILE、MAC OS、APPLE IOS、UNIX、GOOGLE CHROME OS、GOOGLE ANDROID、SOLARIS,以上各项中的一个或多个的变型,和/或任何其他合适的操作系统。
在某些实施方案中,除了处理器614和系统存储器616之外,示例性计算系统610还可以包括一个或多个部件或元件。例如,如图6所示,计算系统610可包括存储器控制器618、输入/输出(I/O)控制器620和通信接口622,其中的每个都可经由通信基础结构612互连。通信基础结构612通常表示能够促进计算设备的一个或多个部件之间的通信的任何类型或形式的基础结构。通信基础结构612的示例包括但不限于:通信总线(诸如工业标准体系结构(ISA)、外围组件互连总线(PCI)、串行总线(PCIe)或类似的总线)和网络。
存储器控制器618通常表示能够处理存储器或数据或控制计算系统610的一个或多个部件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器618可经由通信基础结构612来控制处理器614、系统存储器616和I/O控制器620之间的通信。
I/O控制器620通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/O控制器620可控制或促进计算系统610的一个或多个元件之间的数据传输,这些元件诸如处理器614、系统存储器616、通信接口622、显示适配器626、输入接口630和存储接口634。
如图6所示,计算系统610也可以包括至少一个显示设备624,该显示设备经由显示适配器626而联接到I/O控制器620。显示设备624通常表示能够以可视的方式显示由显示适配器626转发的信息的任何类型或形式的设备。类似地,显示适配器626通常表示被配置为转发来自通信基础结构612(或来自帧缓冲器,如本领域中已知的)的图形、文本和其他数据以在显示设备624上显示的任何类型或形式的设备。
如图6所示,示例性计算系统610还可以包括经由输入接口630而联接到I/O控制器620的至少一个输入设备628。输入设备628通常表示能够向示例性计算系统610提供输入(由计算机或人生成)的任何类型或形式的输入设备。输入设备628的示例包括但不限于:键盘、指向设备、语音识别设备、以上各项中的一个或多个的变型或组合、和/或任何其他输入设备。
除此之外或另选地,示例性计算系统610可包括附加I/O设备。例如,示例性计算系统610可以包括I/O设备636。在该示例中,I/O设备636可包括以及/或者表示促进与计算系统610的人机交互的用户界面。I/O设备636的示例包括但不限于:计算机鼠标、键盘、监视器、打印机、调制解调器、相机、扫描仪、麦克风、触摸屏设备、以上各项中的一个或多个的变型或组合、和/或任何其他I/O设备。
通信接口622广义地表示能够促进示例性计算系统610与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口622可以促进计算系统610与包括附加计算系统的专用或公共网络之间的通信。通信接口622的示例包括而不限于:有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器和任何其他合适的接口。在至少一个实施方案中,通信接口622可经由与网络,诸如互联网的直接链路来提供与远程服务器的直接连接。通信接口622也可以通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接地提供此类连接。
在某些实施方案中,通信接口622还可表示主机适配器,该主机适配器被配置为经由外部总线或通信信道来促进计算系统610与一个或多个附加网络或存储设备之间的通信。主机适配器的示例包括但不限于:小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、电气与电子工程师协会(IEEE)1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)和外部SATA(eSATA)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口622还可允许计算系统610参与分布式或远程计算。例如,通信接口622可接收来自远程设备的指令或将指令发送到远程设备以供执行。
在一些示例中,系统存储器616可以存储和/或加载网络通信程序638以供处理器614执行。在一个示例中,网络通信程序638可以包括和/或表示使计算系统610能够与另一计算系统(图6中未示出)建立网络连接642和/或通过通信接口622与其他计算系统通信的软件。在该示例中,网络通信程序638可引导经由网络连接642发送到另一个计算系统的输出流量的流。除此之外或另选地,网络通信程序638可以结合处理器614引导对经由网络连接642从另一计算系统所接收的输入流量的处理。
尽管未在图6中以这种方式示出,但网络通信程序638可以替代地存储和/或加载在通信接口622中。例如,网络通信程序638可以包括和/或表示由结合在通信接口622中的处理器和/或专用集成电路(ASIC)执行的软件和/或固件的至少一部分。
如图6所示,示例性计算系统610还可以包括主存储设备632和经由存储接口634联接到通信基础结构612的备份存储设备633。存储设备632和633通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备632和633可以是磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口634通常表示用于在存储设备632和633与计算系统610的其他部件之间传输数据的任何类型或形式的接口或设备。
在某些实施方案中,存储设备632和633可以被配置为对被配置为存储计算机软件、数据或其他计算机可读信息的可移除存储单元进行读取和/或写入。合适的可移除存储单元的示例包括但不限于:软盘、磁带、光盘、闪存存储器设备等。存储设备632和633还可包括允许将计算机软件、数据或其他计算机可读指令加载到计算系统610内的其他类似的结构或设备。例如,存储设备632和633可被配置为读取和写入软件、数据或其他计算机可读信息。存储设备632和633还可以是计算系统610的一部分,或者可以是通过其他接口系统进行访问的单独的设备。
可以将许多其他设备或子系统连接到计算系统610。相反地,无需图6中示出的所有部件和设备都存在,也可以实践本文描述和/或示出的实施方案。上文提及的设备和子系统也可以通过不同于图6所示的方式进行互连。计算系统610也可以采用任何数量的软件、固件和/或硬件配置。例如,本文所公开的示例性实施方案中的一个或多个实施方案可被编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。如本文所用,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括而不限于:传输型介质(诸如载波)和非暂态型介质(诸如磁存储介质,例如,硬盘驱动器、带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)和蓝光光盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。
可以将包含计算机程序的计算机可读介质加载到计算系统610中。然后,可以将存储在计算机可读介质上的计算机程序的全部或一部分存储在系统存储器616和/或存储设备632和633的各个部分中。当由处理器614执行时,加载到计算系统610中的计算机程序可以使处理器614执行本文描述和/或示出的示例性实施方案中的一个或多个的功能和/或作为用于执行其的装置。除此之外或另选地,可在固件和/或硬件中实现本文描述和/或示出的示例性实施方案中的一个或多个实施方案。例如,计算系统610可以被配置为适用于实施本文所公开的示例性实施方案中的一个或多个实施方案的专用集成电路(ASIC)。
图7为示例性网络架构700的框图,其中客户端系统710、720和730以及服务器740和745可以联接到网络750。如上详述,网络架构700的全部或一部分可以单独地或与其他元件结合地来执行本文所公开的步骤中的一个或多个步骤(诸如图3中所示的步骤中的一个或多个步骤)和/或作为用于执行其的装置。网络架构700的全部或一部分还可以用于执行本公开中阐述的其他步骤和特征和/或作为用于执行其的装置。
客户端系统710、720和730通常表示任何类型或形式的计算设备或系统,诸如图6中的示例性计算系统610。类似地,服务器740和745通常表示被配置为提供各种数据库服务和/或运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络750通常表示任何电信或计算机网络,其包括,例如,内联网、WAN、LAN、PAN或互连网。在一个示例中,客户端系统710、720和/或730以及/或者服务器740和/或745可包括图1的系统100的全部或一部分。
如图7所示,一个或多个存储设备760(1)-(N)可直接附接到服务器740。类似地,一个或多个存储设备770(1)-(N)可直接附接到服务器745。存储设备760(1)-(N)和存储设备770(1)-(N)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备760(1)-(N)和存储设备770(1)-(N)可表示被配置为使用各种协议(诸如网络文件系统(NFS)、服务器消息块(SMB)或通用互联网文件系统(CIFS))与服务器740和745进行通信的附网存储(NAS)设备。
服务器740和745也可以连接到存储区域网络(SAN)构架780。SAN构架780通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或架构。SAN构架780可促进服务器740和745与多个存储设备790(1)-(N)和/或智能存储阵列795之间的通信。SAN构架780还可经由网络750以及服务器740和745以这样的方式促进客户端系统710、720和730与存储设备790(1)-(N)和/或智能存储阵列795之间的通信:设备790(1)-(N)和阵列795呈现为客户端系统710、720和730的本地附接设备。与存储设备760(1)-(N)和存储设备770(1)-(N)相同,存储设备790(1)-(N)和智能存储阵列795通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。
在某些实施方案中,并且参照图6的示例性计算系统610,通信接口(诸如图6中的通信接口622)可以用于在每个客户端系统710、720和730与网络750之间提供连接性。客户端系统710、720和730可能够使用例如web浏览器或其他客户端软件来访问服务器740或745上的信息。此类软件可允许客户端系统710、720和730访问由服务器740、服务器745、存储设备760(1)-(N)、存储设备770(1)-(N)、存储设备790(1)-(N)或智能存储阵列795托管的数据。尽管图7示出使用网络(诸如互联网)来交换数据,但本文描述和/或示出的实施方案不仅限于互联网或任何特定的基于网络的环境。
在至少一个实施方案中,本文公开的示例性实施方案中的一个或多个的全部或一部分可以被编码为计算机程序并加载到服务器740、服务器745、存储设备760(1)-(N)、存储设备770(1)-(N)、存储设备790(1)-(N)、智能存储阵列795或它们的任何组合上并被其执行。本文所公开的示例性实施方案中的一个或多个的全部或一部分也可被编码为计算机程序,存储在服务器740中,由服务器745运行,以及通过网络750分发到客户端系统710、720和730。
如上详述,计算系统610和/或网络架构700的一个或多个部件可单独地或与其他元件结合地来执行用于阻止恶意应用程序利用应用程序服务的示例性方法的一个或多个步骤和/或作为用于执行其的装置。
虽然上述公开内容使用特定框图、流程图和示例阐述了各种实施方案,但每个框图部件、流程图步骤、操作和/或本文描述和/或例示的部件可使用多种硬件、软件或固件(或其任何组合)配置单独和/或共同地实现。此外,包含在其他部件内的部件的任何公开内容应当被视为在本质上是示例性的,因为可实施许多其他架构来实现相同功能。
在一些示例中,图1中的示例性系统100的全部或一部分可表示云计算环境或基于网络的环境的部分。云计算环境可经由互联网提供各种服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础结构即服务等)可通过web浏览器或其他远程接口进行访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。
在各种实施方案中,图1中的示例性系统100的全部或一部分可促进基于云的计算环境内的多租户应用。换句话讲,本文所述的软件模块可配置计算系统(例如,服务器)以促进本文所述功能中的一个或多个的多租户应用。例如,本文所述软件模块中的一个或多个软件模块可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述模块中的一个或多个模块还可为每个顾客分割多租户应用程序的数据和/或配置信息使得一个顾客不能访问另一个顾客的数据和/或配置信息。
根据各种实施方案,图1中的示例性系统100的全部或一部分可在虚拟环境内实现。例如,本文所述的模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常指由虚拟机管理器(例如,虚拟机监控程序)从计算硬件中抽象出来的任何操作系统环境。除此之外或另选地,本文所述的模块和/或数据可在虚拟化层内驻留和/或执行。如本文所用,术语“虚拟化层”通常指覆盖操作系统环境和/或从操作系统环境中抽象出来的任何数据层和/或应用层。虚拟化层可由软件虚拟化解决方案(例如,文件系统过滤器)管理,软件虚拟化解决方案将虚拟化层呈现为就好像它是底层基本操作系统的一部分。例如,软件虚拟化解决方案可将最初定向至基本文件系统和/或注册表内的位置的调用重定向至虚拟化层内的位置。
在一些示例中,图1中的示例性系统100的全部或一部分可表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实现,这些设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等),等等。在一些示例中,移动计算环境可具有一个或多个区别特征,包括例如对电池供电的依赖、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、位置和移动数据(例如,由全球定位系统、陀螺仪、加速度计等提供的)、限制对系统级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、限制应用程序的安装的控制装置(例如,仅安装来源于经批准的应用程序商店的应用程序)等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。
此外,图1中的示例性系统100的全部或一部分可表示一个或多个信息管理系统的部分,与一个或多个信息管理系统交互,使用由一个或多个信息管理系统产生的数据和/或产生被一个或多个信息管理系统使用的数据。如本文所用,术语“信息管理”可指数据的保护、组织和/或存储。信息管理系统的示例可包括但不限于:存储系统、备份系统、存档系统、复制系统、高可用性系统、数据搜索系统、虚拟化系统等。
在一些实施方案中,图1中的示例性系统100的全部或一部分可表示一个或多个信息安全系统的部分,产生受一个或多个信息安全系统保护的数据和/或与一个或多个信息安全系统通信。如本文所用,术语“信息安全”可指对受保护数据的访问的控制。信息安全系统的示例可包括而不限于:提供受管理的安全服务的系统、数据丢失防护系统、身份认证系统、访问控制系统、加密系统、策略遵循系统、入侵检测与防护系统、电子发现系统等等。
根据一些示例,图1中的示例性系统100的全部或一部分可表示一个或多个端点安全系统的部分、与一个或多个端点安全系统通信和/或受一个或多个端点安全系统保护。如本文所用,术语“端点安全”可指保护端点系统免遭未经授权以及/或者非法使用、访问和/或控制。端点保护系统的示例可包括而不限于:反恶意软件系统、用户认证系统、加密系统、保密系统、垃圾邮件过滤服务,等等。
本文描述和/或例示的过程参数和步骤序列仅通过举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不一定需要按例示或讨论的顺序来执行。本文描述和/或示出的各种示例性方法也可省略本文描述或示出的步骤中的一个或多个步骤,或者除了所公开的那些步骤之外还包括附加步骤。
虽然本文已经在全功能计算系统的上下文中描述和/或示出了各种实施方案,但这些示例性实施方案中的一个或多个实施方案可作为各种形式的程序产品来分配,而不考虑用于实际进行分配的计算机可读介质的特定类型。本文所公开的实施方案也可使用执行某些任务的软件模块来实现。这些软件模块可包括脚本、批文件或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施方案中,这些软件模块可将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个实施方案。
此外,本文所述的模块中的一个或多个模块可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述的一个或多个模块可以接收标识潜在安全风险的信息,将该信息转换为将修复安全风险的推荐安全操作,然后将该转换的结果作为推荐该用户执行安全操作的用户提示来输出。除此之外或另选地,本文所述模块中的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器、和/或物理计算设备的任何其他部分从一种形式转换为另一种形式。
提供前面描述的目的是使本领域的其他技术人员能够最好地利用本文所公开的示例性实施方案的各种方面。该示例性描述并非旨在是详尽的或局限于所公开的任何精确形式。在不脱离本发明实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应当参考所附权利要求及其等同形式来确定本发明的范围。
除非另有说明,否则在本说明书和权利要求书中使用的术语“连接到”和“联接到”(以及其衍生形式)应该理解为允许直接和间接(即,经由其他元件或部件)连接。此外,在本说明书和权利要求书中使用的术语“一”或“一个”应当理解为表示“…中的至少一者”。最后,为了易于使用,在本说明书和权利要求书中使用的术语“包括”和“具有”(以及其衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。

Claims (20)

1.一种用于阻止恶意应用程序利用应用程序服务的计算机实现的方法,所述方法的至少一部分由包括至少一个处理器的计算设备执行,所述方法包括:
识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,所述沙箱化环境将所述应用程序的数据和代码执行与在所述计算设备上的操作系统内执行的至少一个其他应用程序隔离;
确定所述应用程序表示潜在安全风险;
提示所述计算设备的用户通过执行推荐安全操作来修复所述应用程序带来的所述潜在安全风险;以及
在等待所述用户执行所述推荐的安全操作时,通过阻断所述应用程序启动所述应用程序服务的所述尝试来保护所述计算设备。
2.根据权利要求1所述的计算机实现的方法,其中所述操作系统通过将每个应用程序的数据和代码执行与在所述操作系统内执行的所有其他应用程序隔离以对所述操作系统内执行的所有应用程序进行沙箱处理。
3.根据权利要求1所述的计算机实现的方法,其中所述沙箱化环境阻止在所述操作系统内执行的安全软件执行以下的至少一项:
自动隔离所述应用程序;以及
自动卸载所述应用程序。
4.根据权利要求1所述的计算机实现的方法,其中启动所述应用程序服务的所述尝试包括对以下的至少一项的尝试:
捕获敏感信息;
传输敏感信息;
访问恶意资源;
修改用户数据;
生成请求提升权限的用户提示;以及生成广告。
5.根据权利要求1所述的计算机实现的方法,其中所述推荐的安全操作包括安装在所述计算设备上的安全软件由于所述沙箱化环境而无法自行执行的计算操作。
6.根据权利要求1所述的计算机实现的方法,其中提示所述用户修复所述应用程序带来的所述潜在安全风险包括提示所述用户执行以下的至少一项:
终止所述应用程序;以及
卸载所述应用程序。
7.根据权利要求1所述的计算机实现的方法,其中阻断所述应用程序启动所述应用程序服务的所述尝试包括以下的至少一项:
阻止所述应用程序启动所述应用程序服务;以及
在所述应用程序已启动所述应用程序服务之后自动终止所述应用程序服务。
8.根据权利要求7所述的计算机实现的方法,还包括如果所述应用程序服务不能自动终止,则提示所述用户手动终止启动所述应用程序服务的所述应用程序。
9.根据权利要求8所述的计算机实现的方法,其中提示所述用户手动终止启动了所述应用程序服务的所述应用程序包括周期性地提示所述用户终止所述应用程序,直到检测到所述用户已成功地终止所述应用程序。
10.一种用于阻止恶意应用程序利用应用程序服务的系统,所述系统包括:
识别模块,所述识别模块存储在存储器设备中,所述识别模块识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,所述沙箱化环境将所述应用程序的数据和代码执行与在所述系统上的操作系统内执行的至少一个其他应用程序隔离;
确定模块,所述确定模块存储在所述存储器设备中,所述确定模块确定所述应用程序表示潜在安全风险;
通知模块,所述通知模块存储在所述存储器设备中,所述通知模块提示所述系统的用户通过执行推荐的安全操作来修复所述应用程序带来的所述潜在安全风险;
安全模块,所述安全模块在等待所述用户执行所述推荐的安全操作时通过阻断所述应用程序启动所述应用程序服务的所述尝试来保护所述系统;和
至少一个物理处理器,所述至少一个物理处理器执行所述识别模块、所述确定模块、所述通知模块和所述安全模块。
11.根据权利要求10所述的系统,其中所述操作系统通过将每个应用程序的数据和代码执行与在所述操作系统内执行的所有其他应用程序隔离以对所述操作系统内执行的所有应用程序进行沙箱处理。
12.根据权利要求10所述的系统,其中所述沙箱化环境阻止在所述操作系统内执行的安全软件执行以下的至少一项:
自动隔离所述应用程序;以及
自动卸载所述应用程序。
13.根据权利要求10所述的系统,其中启动所述应用程序服务的所述尝试包括对以下的至少一项的尝试:
捕获敏感信息;
传输敏感信息;
访问恶意资源;
修改用户数据;
生成请求提升权限的用户提示;以及
生成广告。
14.根据权利要求10所述的系统,其中所述推荐的安全操作包括使得安装在所述系统上的安全软件由于所述沙箱化环境而无法自行执行的计算操作。
15.根据权利要求10所述的系统,其中所述通知模块通过提示所述用户执行以下的至少一项来提示所述用户修复所述应用程序带来的所述潜在安全风险:
终止所述应用程序;以及
卸载所述应用程序。
16.根据权利要求10所述的系统,其中所述安全模块通过以下的至少一项阻断所述应用程序启动所述应用程序服务的所述尝试:
阻止所述应用程序启动所述应用程序服务;以及
在所述应用程序已启动所述应用程序服务之后自动终止所述应用程序服务。
17.根据权利要求16所述的系统,其中如果所述安全模块不能自动终止所述应用程序服务,则所述通知模块提示所述用户手动终止启动了所述应用程序服务的所述应用程序。
18.根据权利要求17所述的系统,其中所述通知模块通过周期性地提示所述用户终止所述应用程序来提示所述用户手动终止启动了所述应用程序服务的所述应用程序,直到检测到所述用户已成功终止所述应用程序。
19.一种非暂态计算机可读介质,包括一个或多个计算机可执行指令,所述计算机可执行指令当由计算设备的至少一个处理器执行时,使所述计算设备:
识别在沙箱化环境内执行的应用程序启动至少一个应用程序服务的尝试,所述沙箱化环境将所述应用程序的数据和代码执行与在所述计算设备上的操作系统内执行的至少一个其他应用程序隔离;
确定所述应用程序表示潜在安全风险;
提示所述计算设备的用户通过执行推荐的安全操作来修复所述应用程序带来的所述潜在安全风险;以及
在等待所述用户执行所述推荐的安全操作时,通过阻断所述应用程序启动所述应用程序服务的所述尝试来保护所述计算设备。
20.根据权利要求19所述的非暂态计算机可读介质,其中所述沙箱化环境阻止在所述操作系统内执行的安全软件执行以下的至少一项:
自动隔离所述应用程序;以及
自动卸载所述应用程序。
CN201880052780.0A 2017-08-29 2018-08-27 用于阻止恶意应用程序利用应用程序服务的系统和方法 Pending CN111356985A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/688911 2017-08-29
US15/688,911 US11062021B2 (en) 2017-08-29 2017-08-29 Systems and methods for preventing malicious applications from exploiting application services
PCT/US2018/048095 WO2019046166A1 (en) 2017-08-29 2018-08-27 SYSTEMS AND METHODS FOR PREVENTING MALWALLY APPLICATIONS FROM OPERATING APPLICATION SERVICES

Publications (1)

Publication Number Publication Date
CN111356985A true CN111356985A (zh) 2020-06-30

Family

ID=63528927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880052780.0A Pending CN111356985A (zh) 2017-08-29 2018-08-27 用于阻止恶意应用程序利用应用程序服务的系统和方法

Country Status (5)

Country Link
US (1) US11062021B2 (zh)
EP (1) EP3692440B1 (zh)
JP (1) JP6918212B2 (zh)
CN (1) CN111356985A (zh)
WO (1) WO2019046166A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235451A (zh) * 2020-10-21 2021-01-15 广州三星通信技术研究有限公司 提供关于联系人被删除的报警的方法及装置
US11062021B2 (en) 2017-08-29 2021-07-13 NortonLifeLock Inc. Systems and methods for preventing malicious applications from exploiting application services
WO2022247301A1 (zh) * 2021-05-26 2022-12-01 荣耀终端有限公司 检测方法、图形界面及相关装置
WO2023097703A1 (en) * 2021-12-03 2023-06-08 Huawei Cloud Computing Technologies Co., Ltd. A storage server forsecure and performant execution of user code in a data center storage

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2569568B (en) * 2017-12-20 2021-02-24 F Secure Corp Threat detection system
US11017109B1 (en) * 2018-06-02 2021-05-25 Apple Inc. Dynamic sandboxing of user data
US20200106787A1 (en) * 2018-10-01 2020-04-02 Global Data Sentinel, Inc. Data management operating system (dmos) analysis server for detecting and remediating cybersecurity threats
EP3647980B1 (en) * 2018-10-30 2022-01-19 Hewlett-Packard Development Company, L.P. Response to an intrusion against a service of an operating system
CN112583979A (zh) * 2019-09-30 2021-03-30 奇安信科技集团股份有限公司 移动终端的应用环境感知方法及装置
IT201900020775A1 (it) * 2019-11-11 2021-05-11 Univ Degli Studi Padova Metodo e prodotto software per controllare il canale bluetooth
US11295007B2 (en) * 2019-12-03 2022-04-05 Tableau Software, LLC Sandboxed application extensions
CN111091019B (zh) * 2019-12-23 2024-03-01 支付宝(杭州)信息技术有限公司 一种信息提示方法、装置及设备
US20220166762A1 (en) * 2020-11-25 2022-05-26 Microsoft Technology Licensing, Llc Integrated circuit for obtaining enhanced privileges for a network-based resource and performing actions in accordance therewith

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282485A1 (en) * 2008-05-12 2009-11-12 Bennett James D Network browser based virus detection
US20120246484A1 (en) * 2011-03-21 2012-09-27 Mocana Corporation Secure execution of unsecured apps on a device
US20130347094A1 (en) * 2012-06-25 2013-12-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
US8887152B1 (en) * 2011-11-04 2014-11-11 Trend Micro, Inc. Android application virtual environment
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及系统与应用程序监控方法及系统
US20160088019A1 (en) * 2014-09-23 2016-03-24 Hong Li Technologies for multi-factor security analysis and runtime control
CN105940409A (zh) * 2014-01-27 2016-09-14 微软技术许可有限责任公司 网络服务沙箱系统
CN106415584A (zh) * 2014-03-11 2017-02-15 赛门铁克公司 移动设备恶意软件的预安装检测系统和方法
US20170093803A1 (en) * 2015-09-25 2017-03-30 Mcafee, Inc. Secure service matching
CN106909833A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种安全防护方法和装置
US20170206351A1 (en) * 2014-07-22 2017-07-20 Viasat, Inc. Mobile device security monitoring and notification

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908653B2 (en) 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US7661135B2 (en) * 2004-08-10 2010-02-09 International Business Machines Corporation Apparatus, system, and method for gathering trace data indicative of resource activity
EP1696321A1 (en) * 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
US7861296B2 (en) * 2005-06-16 2010-12-28 Microsoft Corporation System and method for efficiently scanning a file for malware
US8769672B2 (en) * 2006-08-03 2014-07-01 Symantec Corporation Code injection prevention
US20100122313A1 (en) * 2008-11-09 2010-05-13 Aspect9, Inc. Method and system for restricting file access in a computer system
US20100169972A1 (en) * 2008-12-31 2010-07-01 Microsoft Corporation Shared repository of malware data
US8266698B1 (en) * 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
WO2013082437A1 (en) 2011-12-02 2013-06-06 Invincia, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
US9460283B2 (en) * 2012-10-09 2016-10-04 Dell Products L.P. Adaptive integrity validation for portable information handling systems
TWI461952B (zh) * 2012-12-26 2014-11-21 Univ Nat Taiwan Science Tech 惡意程式偵測方法與系統
CN104346092A (zh) * 2013-08-01 2015-02-11 腾讯科技(深圳)有限公司 一种在移动终端中呈现剪贴板内容的方法及装置
US20150332043A1 (en) * 2014-05-15 2015-11-19 Auckland Uniservices Limited Application analysis system for electronic devices
US9577829B1 (en) * 2014-09-03 2017-02-21 Amazon Technologies, Inc. Multi-party computation services
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US10104107B2 (en) 2015-05-11 2018-10-16 Qualcomm Incorporated Methods and systems for behavior-specific actuation for real-time whitelisting
US9852295B2 (en) 2015-07-14 2017-12-26 Bitdefender IPR Management Ltd. Computer security systems and methods using asynchronous introspection exceptions
US20170142156A1 (en) 2015-11-12 2017-05-18 Toyota Infotechnology Center Usa, Inc. Application Assurance for Open Platform In-Vehicle Infotainment System
US10382468B2 (en) * 2017-07-03 2019-08-13 Juniper Networks, Inc. Malware identification via secondary file analysis
US11062021B2 (en) 2017-08-29 2021-07-13 NortonLifeLock Inc. Systems and methods for preventing malicious applications from exploiting application services

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282485A1 (en) * 2008-05-12 2009-11-12 Bennett James D Network browser based virus detection
US20120246484A1 (en) * 2011-03-21 2012-09-27 Mocana Corporation Secure execution of unsecured apps on a device
US8887152B1 (en) * 2011-11-04 2014-11-11 Trend Micro, Inc. Android application virtual environment
US20130347094A1 (en) * 2012-06-25 2013-12-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
CN105940409A (zh) * 2014-01-27 2016-09-14 微软技术许可有限责任公司 网络服务沙箱系统
CN106415584A (zh) * 2014-03-11 2017-02-15 赛门铁克公司 移动设备恶意软件的预安装检测系统和方法
US20170206351A1 (en) * 2014-07-22 2017-07-20 Viasat, Inc. Mobile device security monitoring and notification
US20160088019A1 (en) * 2014-09-23 2016-03-24 Hong Li Technologies for multi-factor security analysis and runtime control
US20170093803A1 (en) * 2015-09-25 2017-03-30 Mcafee, Inc. Secure service matching
CN106909833A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种安全防护方法和装置
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及系统与应用程序监控方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒋煦;张慧翔;慕德俊;: "一种动态监测安卓应用程序的方法", 西北工业大学学报, no. 06, 15 December 2016 (2016-12-15) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11062021B2 (en) 2017-08-29 2021-07-13 NortonLifeLock Inc. Systems and methods for preventing malicious applications from exploiting application services
CN112235451A (zh) * 2020-10-21 2021-01-15 广州三星通信技术研究有限公司 提供关于联系人被删除的报警的方法及装置
WO2022247301A1 (zh) * 2021-05-26 2022-12-01 荣耀终端有限公司 检测方法、图形界面及相关装置
WO2023097703A1 (en) * 2021-12-03 2023-06-08 Huawei Cloud Computing Technologies Co., Ltd. A storage server forsecure and performant execution of user code in a data center storage

Also Published As

Publication number Publication date
EP3692440B1 (en) 2022-09-28
US20190065736A1 (en) 2019-02-28
JP2020531996A (ja) 2020-11-05
EP3692440A1 (en) 2020-08-12
US11062021B2 (en) 2021-07-13
WO2019046166A1 (en) 2019-03-07
JP6918212B2 (ja) 2021-08-11

Similar Documents

Publication Publication Date Title
EP3692440B1 (en) Systems and methods for preventing malicious applications from exploiting application services
US20200082081A1 (en) Systems and methods for threat and information protection through file classification
JP6196393B2 (ja) プリインストールアプリケーションのスキャンを最適化するためのシステム及び方法
EP3117362B1 (en) Systems and methods for pre-installation detection of malware on mobile devices
US10176329B2 (en) Systems and methods for detecting unknown vulnerabilities in computing processes
JP7060714B2 (ja) セキュリティポリシーに基づいてアプリケーション起動を制御するためのシステム及び方法
US9953158B1 (en) Systems and methods for enforcing secure software execution
EP3014515B1 (en) Systems and methods for directing application updates
US10140454B1 (en) Systems and methods for restarting computing devices into security-application-configured safe modes
CN109997138B (zh) 用于检测计算设备上的恶意进程的系统和方法
US9330254B1 (en) Systems and methods for preventing the installation of unapproved applications
US9483643B1 (en) Systems and methods for creating behavioral signatures used to detect malware
US9552481B1 (en) Systems and methods for monitoring programs
US10075456B1 (en) Systems and methods for detecting exploit-kit landing pages
US11113389B1 (en) Systems and methods for providing persistent visual warnings for application launchers
US10116688B1 (en) Systems and methods for detecting potentially malicious files
US10846405B1 (en) Systems and methods for detecting and protecting against malicious software
US9501649B2 (en) Systems and methods for determining potential impacts of applications on the security of computing systems
US10911486B1 (en) Systems and methods for utilizing custom tagging to protect against phishing attacks from malicious applications
US10248787B1 (en) Systems and methods for determining reputations of files

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Norton weifuke Co.

Address before: California, USA

Applicant before: Symantec Corp.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Norton weifuke Co.

Address before: California, USA

Applicant before: Symantec Corp.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Arizona, USA

Applicant after: Norton weifuke Co.

Address before: California, USA

Applicant before: Norton weifuke Co.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Arizona

Applicant after: Keane Digital Co.

Address before: Arizona

Applicant before: Norton weifuke Co.