CN102073806A - 用于控制应用以减轻恶意软件的作用的系统和方法 - Google Patents

用于控制应用以减轻恶意软件的作用的系统和方法 Download PDF

Info

Publication number
CN102073806A
CN102073806A CN2010102699099A CN201010269909A CN102073806A CN 102073806 A CN102073806 A CN 102073806A CN 2010102699099 A CN2010102699099 A CN 2010102699099A CN 201010269909 A CN201010269909 A CN 201010269909A CN 102073806 A CN102073806 A CN 102073806A
Authority
CN
China
Prior art keywords
application
detection device
malware
computing equipment
malware detection
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
CN2010102699099A
Other languages
English (en)
Inventor
奥利弗·怀特豪斯
迈克尔·柯卡普
克里斯托弗·本德
迈克尔·布朗
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN102073806A publication Critical patent/CN102073806A/zh
Pending legal-status Critical Current

Links

Images

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
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了用于减轻恶意软件应用的作用的方法和系统。计算设备上的专用模块从恶意软件检测器接收用于指示应用是否是恶意的或者是否具有恶意组件的消息。专用模块获得要授予所述应用的许可集合,并指示计算设备上对所述应用的许可进行控制的软件授予所述许可集合。

Description

用于控制应用以减轻恶意软件的作用的系统和方法
技术领域
以下总体涉及检测和减轻恶意软件的作用。
背景技术
恶意软件是被设计为潜入或破坏计算系统的软件。恶意软件的示例包括病毒、蠕虫、木马和间谍软件。恶意软件经常嵌入看似合法的软件应用中。当用户下载、安装和/或执行该软件应用时,它们另外或取而代之在不经意间下载、安装和/或执行了恶意软件。
例如,闯入者(interloper)可能感染可用于在个人计算机或通信设备上下载的合法应用的软件代码。然后,用户可能下载并安装被感染的软件应用,却还认为他们获得了该应用的合法版本。然后,该应用中的恶意软件可能试图隐蔽自身并秘密地执行破坏或有害活动,该破坏或有害活动包括从侵蚀和/或删除文件到显示弹出广告以在网络上收集和发送信息。
作为具体示例,系统管理员可以允许无线手持设备的用户下载合法软件应用,包括可在设备上进行的扑克游戏。闯入者可能感染扑克游戏的软件代码,从而将间谍软件嵌入,该间谍软件收集与用户的设备的位置有关的GPS信息,并在无线网络上将该信息发送给闯入者。此时,用户可能在不经意间下载并安装了扑克游戏应用的被感染版本,却还认为他们下载并安装了合法的未被感染的应用。被感染的扑克游戏应用程序可能看似如所期望的那样进行操作;然而,用户并不知道,该应用中感染的间谍软件正在收集和发送用户的GPS信息。
期望减轻恶意软件应用的作用。
发明内容
可以提供一种用于减轻恶意软件应用在计算设备上的作用的方法,所述方法由位于所述计算设备上的专用模块来执行,所述方法包括:所述专用模块从恶意软件检测器接收用于指示应用是否是恶意的或应用是否具有恶意组件的消息;所述专用模块获得要授予应用的许可集合;以及所述专用模块指示所述计算设备上对应用的许可进行控制的软件授予所述许可集合。
还可以提供一种用于减轻恶意软件应用在计算设备上的作用的系统,所述系统包括:所述计算设备上的专用模块,所述专用模块包括用于执行以下操作的计算机可执行指令:从恶意软件检测器接收用于指示应用是否是恶意的或应用是否具有恶意组件的消息,并获得要授予所述应用的许可集合;以及所述计算设备上的应用控制模块,所述应用控制模块包括用于执行以下操作的计算机可执行指令:对所述应用的许可进行控制;所述专用模块被配置为指示所述应用控制模块授予所述许可集合。
还可以提供一种其上存储有计算机可读指令的计算机可读介质,所述计算机可读指令用于减轻恶意软件应用在计算设备上的作用,所述计算机可读指令包括用于执行以下操作的指令:从恶意软件检测器接收用于指示应用是否是恶意的或应用是否具有恶意组件的消息;获得要授予所述应用的许可集合;以及指示所述计算设备上对所述应用的许可进行控制的软件授予所述许可集合。
附图说明
现在将参照附图,通过示例来描述实施例,在附图中:
图1是示意了将数据项目从主机系统推送至移动设备的环境的系统图;
图2是移动设备的示例实施例的框图;
图3是示意了图2所示的附加软件应用和组件的示例的框图;
图4是用于对应用的许可进行控制的模块的示意图;
图5是示意了用于减轻恶意软件的作用的系统组件的一个实施例的移动设备和远程服务器的示意图;
图6是用于减轻恶意软件的作用的实施例的计算机可执行指令集合的示意图;
图7是示意了图1的环境中用于减轻恶意软件的作用的系统组件的实施例的系统图;
图8是用于减轻恶意软件的作用的另一实施例的计算机可执行指令集合的示意图;
图9是用于减轻恶意软件的作用的又一实施例的计算机可执行指令集合的示意图;以及
图10是示意了用于减轻恶意软件的作用的系统组件的另一实施例的个人计算机的示意图。
具体实施方式
应当理解,为了示意的简明和清楚,在认为适当时,可以在附图中重复使用参考标记来指示对应的或类似的元件。此外,阐述了许多具体细节,以提供对这里描述的实施例的彻底理解。然而,本领域技术人员应当理解,在没有这些具体细节的情况下,可以实施这里描述的实施例。在其他实例中,未详细描述公知的方法、过程和组件以免模糊这里描述的实施例。此外,该描述不应被视为对这里描述的实施例的范围的限制。
一般地,已经认识到,计算设备可以包括:指定的软件模块,称作安全判决模块,用于从检测恶意软件的可信应用接收信息,然后使用该信息来控制授予软件应用的许可。这使安全判决模块能够禁止向被认为恶意的应用授予特定许可,和/或能够在适用时确保向软件应用授予的许可与恶意软件检测器已授予的许可相对应。例如,如果怀疑软件应用可能是恶意的或具有恶意组件,则安全判决模块可以主动禁止向该应用正常地授予许可。作为示例,安全判决模块可以禁止该应用在网络上发送或接收信息或访问设备上特定类型的数据(如电子邮件文本或GPS数据)。
在以下实施例中,计算设备将被假定为移动设备,然而,这些原理同样适用于其他设备。适用的移动设备的示例包括寻呼机、蜂窝电话、蜂窝智能电话、无线组织器、个人数字助理、计算机、膝上型电脑、手持无线通信设备、具有无线能力的笔记本计算机等。
移动设备可以被视为具有先进数据通信能力的双向通信设备,该先进数据通信能力包括通过收发基站的网络与其他移动设备或计算机系统进行通信的能力。移动设备还可以具有允许语音通信的能力。根据移动设备所提供的功能,其可以被称作数据消息收发设备、双向寻呼机、具有数据收发能力的蜂窝电话、无线因特网装置、或数据通信设备(具有或不具有电话能力)。
该移动设备可以是在被配置为将所有形式的推送信息连续地从主机系统路由至移动设备的系统中使用的移动设备。现在将描述这种系统的一个示例。
现在参照附图,图1是示出了经由无线路由器26从公司企业计算机系统(主机系统)250向用户的移动设备100重定向用户数据项目(如消息A或C)的示例系统图。无线路由器26提供无线连接功能,此时,其进行操作以抽象化无线网络200的大多数复杂性,还实现支持将数据推送至移动设备100所必需的特征。尽管未示出,但多个移动设备可以从主机系统250访问数据。在本示例中,图1中的消息A表示从例如主机系统250内的台式计算机向公司网络(如LAN)中的任何数目的服务器计算机发送的内部消息,所述服务器计算机一般可以包括数据库服务器、日程服务器、电子邮件服务器或语音邮件服务器。
图1中的消息C表示来自不直接连接至主机系统250的发送方的外部消息,该发送方例如是用户的移动设备100、某其他用户的移动设备(未示出)、或者与公共或私有网络224(如因特网)连接的任何用户。消息C可以是电子邮件、语音邮件、日程信息、数据库更新、网页更新,或甚至可以表示从用户的移动设备100至主机系统250的命令消息。主机系统250可以包括典型通信链路以及与公司企业计算机网络系统相关联的硬件和软件、一个或多个无线移动性代理、TCP/IP连接、数据存储器的集合(例如,电子邮件的数据存储器可以是现货供应的邮件服务器,如Microsoft
Figure BSA00000253418800041
服务器或Lotus
Figure BSA00000253418800042
服务器),这些均处于公司防火墙之内或之后。
移动设备100可以适于如每个正在使用的无线网络200所需要的那样经由无线链路在无线网络200内进行通信。作为图1所示的无线路由器26的操作的示意性示例,考虑数据项目A,数据项目A被重新封装在外封包B中(所封装的数据项目A现在称作“数据项目(A)”)并从主机系统250中的应用服务提供器(ASP)发送至移动设备100。在ASP内是计算机程序,该计算机程序与无线移动性代理类似,运行于ASP的环境中正在将所请求的数据项目从数据存储器发送至移动设备100的任何计算机上。通过网络224并通过保护无线路由器26的防火墙来路由以移动设备为目的地的数据项目(A)。
尽管以上将主机系统250描述为在公司企业网络环境内使用,但这仅是针对手持无线设备提供基于推送的消息的一种主机服务的一个实施例,该手持无线设备能够在数据到达主机系统时在移动设备处实时地将数据通知给用户,优选地,将数据呈现给用户。
通过提供无线路由器26(有时称作“中继”),对主机系统250和无线网络200而言都有许多好处。主机系统250一般运行被视为运行于一个或多个计算机系统上的任何计算机程序的主机服务。主机服务被认为运行于主机系统250上,一个主机系统250可以支持任何数目的主机服务。主机服务可以知道或可以不知道以下事实:正在将信息通过信道传输至移动设备100。例如,电子邮件或消息程序138(见图2)可能正在接收和处理电子邮件,而相关联的程序(如电子邮件无线移动性代理)也正在监视用户的邮箱并将相同的电子邮件转发或推送至无线设备100。主机服务也可能被修改为经由无线路由器26(如客户关系管理软件)来准备并与移动设备100交换信息。在第三示例中,可能对多种主机服务进行公共访问。例如,移动性代理可能提供对多个数据库的无线接入协议(WAP)连接。
这里所示的主机系统250具有许多方法来与无线路由器26建立通信链路。对于数据通信领域的技术人员来说,主机系统250可以使用如TCP/IP、X.25、帧中继、ISDN、ATM之类的连接协议或许多其他协议来建立点对点连接。通过该连接,存在多种可用于封装和发送数据的隧道传输方法,这些方法中的一些包括:HTTP/HTML、HTTP/XML、HTTP/专有、FTP、SMTP或某种其他专有数据交换协议。可能采用无线路由器26来执行推送的主机系统250的类型可以包括:现场服务应用、电子邮件服务、股票报价服务、银行服务、股票交易服务、现场销售应用、广告消息以及许多其他类型。该无线网络200可能由无线路由器26抽象化,无线路由器26实现这种路由和推送功能。主机所交换的用户选择数据项目的类型可以包括:电子邮件消息、日程事件、会议通知、地址条目、日志条目、个人提醒、闹钟、警告、股票报价、新闻公告、银行账户交易、现场服务更新、股票交易、心脏监护信息、自动售货机存货水平、仪表读取数据、GPS数据等,但备选地可以包括发送至主机系统250的任何其他类型的消息或者主机系统250使用智能代理获取的任何其他类型的消息,例如在主机系统250启动对数据库或网站或公告牌的搜索之后接收到的数据。
无线路由器26提供了多种服务来使创建基于推送的主机服务成为可能。用于在移动设备100与无线路由器26之间进行通信的无线网络协议的示例包括:(1)码分多址(CDMA);(2)群组专用移动或全球移动通信系统(GSM)和通用分组无线服务(GPRS);以及(3)即将到来的第三代(3G)和第四代(4G)网络协议,如EDGE、UMTS和HSDPA、LTE、Wi-Max等。以数据为中心的网络的一些较早的示例包括但不限于:(1)Mobitex无线网络(“Mobitex”);以及(2)DataTAC无线网络(“DataTAC”)。
为了有效地提供针对主机系统250的推送服务,无线路由器26可以实现所定义功能的集合。可以理解,可以选择无线路由器26的许多不同的硬件配置,然而,在不同配置中很可能存在相同或相似的特征集合中的许多特征。
接下来参照图2,图2示出了移动设备100的示例实施例的框图。移动设备100包括对移动设备100的总体操作进行控制的主处理器102。包括数据和语音通信在内的通信功能通过通信子系统104来执行。通信子系统104从每个无线网络200接收消息并向每个无线网络200发送消息。将通信子系统104与每个无线网络200相连接的每个无线链路表示一个或多个不同的射频(RF)信道,根据针对特定网络指定的、所定义的协议来进行操作。
主处理器102还与附加子系统进行交互,该附加子系统例如是随机存取存储器(RAM)106、闪存存储器108、显示器110、辅助输入/输出(I/O)子系统112、数据端口114、键盘116、扬声器118、麦克风120、GPS接收机121、短距离通信122以及其他设备子系统124。
移动设备100的某些子系统执行通信相关功能,而其他子系统可以提供“驻留”或设备上的功能。作为示例,显示器110和键盘116既可以用于通信相关功能(例如输入文本消息以通过网络200发送),又可以用于设备驻留功能(例如计算器或任务列表)。
在完成了所需的网络注册或激活过程之后,移动设备100可以通过无线网络200来发送和接收通信信号。网络接入与移动设备100的订户或用户相关联。为了识别用户,移动设备100可以使用订户模块组件或“智能卡”126,例如订户标识模块(SIM)、可移除用户标识模块(RUIM)和通用订户标识模块(USIM)。在所示的示例中,SIM/RUIM/USIM 126将被插入SIM/RUIM/USIM接口128中,以与网络进行通信。在没有组件126的情况下,移动设备100不能完全操作用于与相关联的无线网络200进行通信。一旦SIM/RUIM/USIM 126被插入SIM/RUIM/USIM接口128中,其就耦合至主处理器102。
移动设备100是电池供电设备,从而包括电池接口132,电池接口132用于接收一个或多个可充电电池130。在至少一些实施例中,电池130可以是具有嵌入式微处理器的智能电池。电池接口132耦合至调节器(未示出),该调节器帮助电池130向移动设备100提供功率V+。
移动设备100还包括操作系统134和软件组件,例如以下更详细描述的136至146。由主处理器102执行的操作系统134和软件组件136至146典型地存储于如闪存存储器108之类的永久性存储器中,备选地,永久性存储器可以是只读存储器(ROM)或类似的存储元件(未示出)。本领域技术人员应当理解,操作系统134和软件组件136至146的部分(如指定设备应用或其部分)可以暂时加载至如RAM 106之类的易失性存储器中。如本领域技术人员公知的,也可以包括其他软件组件。
可以在移动设备100的制造期间,在移动设备100上安装包括数据和语音通信应用在内的、对基本设备操作进行控制的软件应用的子集136。软件应用可以包括消息应用138、设备状态模块142、个人信息管理器(PIM)143、连接模块144和IT策略模块146。消息应用138可以是允许移动设备100的用户发送和接收电子消息的任何合适软件程序,其中,消息典型地存储于移动设备100的闪存存储器108中。设备状态模块142提供永久性,即,设备状态模块142确保重要设备数据存储于如闪存存储器108之类的永久性存储器中,使得当移动设备100关闭或断电时,数据不会丢失。PIM 143包括以下功能:组织和管理用户感兴趣的数目项目,例如但不限于电子邮件、文本消息、即时消息、联系人、日程事件和语音邮件;PIM 143可以与无线网络200进行交互。连接模块144实现移动设备100与无线基础设施以及移动设备100被授权与之进行接口连接的任何主机系统250(如企业系统)进行通信所需的通信协议。IT策略模块146接收对IT策略进行编码的IT策略数据,并可以负责组织和保护如“设置最大口令尝试次数”IT策略之类的规则。
其他类型的软件应用或组件139也可以安装在移动设备100上。这些软件应用139可以是预先安装的应用或在移动设备100的制造之后添加的第三方应用。第三方应用的示例包括游戏、计算器、实用程序等。
可以通过无线网络200、辅助I/O子系统112、数据端口114、短距离通信子系统122或任何其他合适设备子系统124中的至少一个,将附加应用139加载至移动设备100上。
数据端口114可以是实现移动设备100与另一计算设备之间的数据通信的任何合适端口。数据端口114可以是串行或并行的端口。在一些实例中,数据端口114可以是USB端口,包括用于数据传送的数据线和可提供充电电流以给移动设备100的电池130充电的电源线。
对于语音通信,接收信号被输出至扬声器118,要发送的信号由麦克风120产生。尽管主要通过扬声器118来实现语音或音频信号输出,但显示器110也可以用于提供附加信息,例如主叫方的标识、语音呼叫的持续时间或其他语音呼叫相关信息。
为了编写数据项目(如电子邮件消息),例如,用户或订户可以使用作为触摸屏显示器28的一部分的、显示器32上的触摸敏感覆盖层34,以及可能使用辅助I/O子系统112。辅助I/O子系统112可以包括如下设备:鼠标、轨迹球、红外指纹检测器、或具有动态按钮按压能力的滚轮。所编写的项目可以通过通信子系统104在无线网络200上发送。
图3示出了可存储于移动设备100上并与移动设备100一起使用的附加软件应用139的示例。图3仅示出了示例,这种示例不应被认为是穷尽的。在本示例中,示出了因特网浏览器54、地址簿56、游戏58、日程60和计算器应用62,以示意可以在移动设备100上操作的各种附加应用。
返回至图2,应用控制模块140被移动设备100用于控制向附加应用139授予的许可。图4更详细地示出了应用控制模块140。它包括:数据库61,存储向每个应用139授予的许可;以及接口连接软件63。接口连接软件63访问数据库61以设置或修改向每个应用139授予的许可,还根据数据库61中的设置来限制每个应用139的操作。
图4示出了向附加应用139的子集授予的可能许可设置的一个示例。在本示例中,游戏应用58被许可访问电子邮件、web浏览器和即时消息收发应用,以及用户下载的电子邮件和web浏览器数据。这是由于在常规操作期间,游戏应用58允许执行游戏应用58的用户自动地将其得分以电子邮件或即时消息发送给网络上的其他用户、自动取得从其他用户发送的得分和消息、并支持与其他用户的在线对打。游戏应用58不被许可访问GPS数据,这是由于在游戏应用58的常规操作期间不使用或不需要GPS数据。另一方面,计算器应用62仅支持执行和显示由用户输入的数学运算的结果。因此,该应用不被许可访问图4所示的任何数据或应用。日程应用60可以将会议项目以电子邮件或即时消息发送给网络上的其他用户,并自动扫描接收到的电子邮件以标记可能需要日程条目的信息。因此,日程应用60被许可访问电子邮件数据以及电子邮件和即时消息收发应用。
典型地,当将应用安装在设备100上时,该应用请求应用控制模块140授予特定的许可集合。然而,系统管理员和/或移动设备100的用户可以典型地修改授予应用的应用许可。例如,当用户下载并安装游戏应用58时,可以在安装期间提示用户,并询问用户是否希望共享游戏得分和与其他用户在线对打。如果用户指示他/她不想要这种功能,则接口连接软件63在数据库61中将游戏应用58的许可设置为禁止游戏应用58访问电子邮件、web浏览器和即时消息收发应用,以及电子邮件和web浏览器数据。
已经认识到,指定的模块(将被称作安全判决模块141)可以从检测恶意软件的可信应用接收信息,并使用该信息来指示应用控制模块140以设置应用139的许可。例如,如果确定特定应用139可能是恶意的,则安全判决模块141可以指示应用控制模块140的接口连接软件63在数据库61中将许可修改为禁止向该应用授予特定许可,以减轻恶意软件的作用。这在以下情形下是尤其有益的:确定特定应用可能是恶意的或半恶意的,例如,当没有具体识别出已知恶意的软件代码段但确定了该应用是可疑的或其中很可能嵌入恶意组件时。这种情形可能发生于以下情况下:例如,用于检测恶意软件的可信应用使用启发式技术,确定应用的行动可疑,或确定应用中嵌入了已知恶意代码的细微变化。在这种情形下,在接收到该信息时,安全判决模块141可以使用应用控制模块140来限制该应用所许可的功能,以减轻可能存在的任何恶意组件。因此,移动设备100的用户仍然能够操作该应用,但是控制授予该应用的许可,以减轻任何恶意组件。
现在将参照图5和6来描述安全判决模块141利用应用控制模块140来限制应用的许可的示例实施例。在本实施例中,将假定用户在不经意间将已感染恶意间谍软件应用的日程应用60下载至移动设备100上。恶意间谍软件应用试图在日程应用60的操作期间隐蔽自身,并秘密地扫描电子邮件,并发送网络(如网络200和/或224)上的特定实体感兴趣的内容。
如图5所示,在该具体示例实施例中,用于检测恶意软件的可信应用(将被称作恶意软件检测器152)在移动设备100自身上不存在,但位于远程服务器154上。这在例如图1所示的移动通信环境中是尤其有利的。这是由于移动设备100不必供应运行恶意软件检测器152所必需的存储器和计算要求。此外,单个恶意软件检测器152可以给多个移动设备提供远程服务。典型地,移动设备在存储器和功率消耗方面受到约束,在这种情况下,一般而言,在移动设备上需要执行的计算任务越少越好。如以下将详细解释的,安全判决模块141从恶意软件检测器152接收指示日程应用60是否具有恶意组件的消息,并指定要向日程应用60授予哪些应用许可。安全判决模块141和恶意软件检测器152经由无线网络200来彼此通信。
转至图6,示出了存储于移动设备100上,在本实施例中由安全判决模块141和应用控制模块140在操作期间使用的计算机可读指令的集合。
在步骤302,安全判决模块141首先产生与日程应用60有关的信息,并将该信息转发至恶意软件检测器152。在本实施例中,与日程应用60有关的信息是由安全判决模块141计算的、日程应用60的应用代码的密码散列。然而,如以下将解释的,与该应用有关的信息不限于散列值,而是实际上可以是多种不同形式的信息。例如,该信息可以包括应用的标识部分。在另一示例中,该信息可以包括唯一标识应用或应用作者的密码令牌(如数字证书)。可以理解,该信息可以包括这些示例中的任意一个或多个。
有利地,密码散列是适于在无线网络200上发送和/或与期望值进行比较的应用代码的相对紧凑的表示。密码散列是单向的,因此,如果修改了应用代码(例如,如果被感染),则散列值将改变。因此,散列可以例如用于确定应用是否已被感染,在一些情况下,散列值本身可以指示哪个已知的恶意软件已经感染了该应用。可使用的密码散列函数的示例是SHA-256。经由无线网络200将密码散列发送至恶意软件检测器152。
安全判决模块141在以下任意或全部情形下执行步骤302的操作:i)当第一次下载日程应用60时;ii)当安装日程应用60时;iii)在第一次运行日程应用60时;和/或iv)周期性地随后运行日程应用60时。
接下来,在步骤304,恶意软件检测器152使用与该应用有关的信息(例如,在本实施例中是散列值)来确定日程应用60是否是恶意的或是否具有恶意组件。恶意软件检测器152将至少以下三个响应之一发送回到安全判决模块141:i)拒绝——不允许运行、下载或安装该应用;ii)允许——以所请求的许可,允许运行、下载和安装该应用;或者iii)带有警告的允许——允许运行、下载和安装该应用,但缩减许可集合。恶意软件检测器152还可以被配置为确定用户是否仍然具有利用恶意软件检测器152的服务的有效许可证,如果不具有,则向安全判决模块141发送指示这种情况的响应。
恶意软件检测器152在执行步骤304时执行的具体操作可以以如本领域公知的多种不同方式实现,并且,恶意软件检测器152可以包括由专门针对用于检测恶意软件的应用的可信第3方提供和/或维护的软件。作为示例,恶意软件检测器152可以使用密码散列值,将其与存储于数据库156中的数据值(如病毒签名)进行比较。如果找到匹配,则恶意软件检测器152识别出感染日程应用60的恶意软件,从而知道恶意软件的特性以及应当禁止何种许可以减轻恶意软件的作用。然后,将该信息发送至安全判决模块141。
在图5和6所描述的具体实施例中,将假定恶意软件检测器152确定了日程应用60具有恶意组件,并且仍然允许日程应用60运行但缩减许可是适当的。因此,恶意软件检测器152向安全判决模块141发送指示带有警告地允许日程应用60的消息,并且恶意软件检测器152向安全判决模块141提供可以向日程应用60授予的缩减的许可集合。
在步骤306,安全判决模块141检查来自恶意软件检测器152的消息,并获得要授予日程应用60的许可。
接下来,在步骤308,安全判决模块141指示应用控制模块140的接口连接软件63设置或修改授予日程应用60的许可,这些许可存储于应用控制模块140的数据库61中。例如,假定由于嵌入日程应用60中的恶意软件组件,安全判决模块141指示应用控制模块140禁止日程应用60访问电子邮件数据。因此,接口连接软件63在数据库61中将许可修改为禁止向日程应用60授予该许可。这可以参见图5,其中,在数据库61中,日程应用60的许可已被修改为禁止日程应用60访问电子邮件数据。
随后,在步骤310,日程应用60如所期望那样进行操作,但应用控制模块140现在阻止日程应用60访问电子邮件数据。因此,减轻了试图在电子邮件数据中扫描感兴趣的信息并在网络上发送这种信息的恶意软件组件。
在上述实施例的变型中,恶意软件检测器152还可以确定应用是否是未知的,如果是未知的,则通知安全判决模块141。在这种场景中,安全判决模块141可以被配置为允许或隔离该应用。
在上述实施例中,恶意软件检测器152位于远程服务器154上。在如参照图1描述的环境之类的环境内,移动设备100上的安全判决模块141可以经由主机系统250来与远程服务器154上的恶意软件检测器152进行通信。这种实施例在图7中示出。在图7所示的系统中,当恶意软件检测器152希望向安全判决模块140发送消息时,例如在图6的步骤304,将消息通信至主机系统250。然后,主机系统使用无线路由器26将消息推送至移动设备100。类似地,当安全判决模块141希望向恶意软件检测器152发送与应用有关的信息时,例如在图6的步骤302,经由网络200和224将信息转发至主机系统250,主机系统250将消息转发至远程服务器154。
此外或取而代之地,在图5至7所述的实施例的备选实施例中,恶意软件检测器152在其数据库156中存储特定应用的预期应用许可。例如,日程应用60的开发者或者系统管理员可以向恶意软件检测器152通知日程应用60被许可授予的许可。然后,将这种许可存储于数据库156中。当用户将日程应用60下载至他或她的移动设备100上时,恶意软件检测器152向安全判决模块141发送用于指示日程应用60被许可授予的许可的消息。然后,安全判决模块141可以使用该信息来指示应用控制模块140仅授予由恶意软件检测器152指示的许可。
例如,考虑以下情形:闯入者利用监视移动设备100上的GPS数据的恶意代码感染日程应用60。尽管在日程应用60的合法版本的常规操作期间,不需要使用GPS数据,但是日程应用60的被感染版本试图访问该数据。日程应用60的开发者将预期的许可向恶意软件检测器152注册,并存储于数据库156中。这些预期的许可不包括访问GPS数据的许可。当在移动设备100上安装被感染的日程应用60时,日程应用60请求访问用户的GPS数据的许可。然而,不论日程应用60所请求的许可如何,恶意软件检测器152都向安全判决模块141发送预期的许可,并且安全判决模块141指示应用控制模块140仅将预期的许可授予日程应用60。因此,即使日程应用60的被感染版本希望访问GPS数据,应用控制模块140也不向其授予该许可。这样,减轻了恶意软件的作用。
在上述实施例的变型中,可以想到,预期许可的数据库可以代之以直接存储于用户的设备100上,并且,安全判决模块141可以访问该数据库以直接获得预期授予应用的许可的集合。在设备100上有充足的存储空间可用的情况下,可能尤其如此。有利地,恶意软件检测器152可以通过向设备100发送添加和/或删除预期许可的指令来更新该数据库。
在参照图5和6描述的实施例中,安全判决模块141执行应用代码的密码散列,并将该散列值转发至恶意软件检测器152以进行分析。如前所述,有利地,散列是可以在无线网络200上容易地发送至恶意软件检测器152的相对紧凑的值。然而,应当理解,可以使用与该应用代码有关的其他信息,以替代完整应用代码的密码散列。例如,可以发送应用代码中仅一部分的散列。作为另一示例,与应用有关的信息可能不是应用代码的表示,而可以是基于应用在执行期间的行为的信息。这种实施例参照图8示出。
图8示出了计算机可读指令集合,其存储于移动设备100上并在本实施例中由安全判决模块141在操作期间使用。
在步骤402,安全判决模块141首先运行应用至少一次,并监视应用的行为。为了确保该应用在没有首先检查恶意软件的情况下不被释放至移动设备100上,安全判决模块141可以在沙盒(sandbox)中运行该应用,即使用用于执行未验证应用的程序,未验证应用典型地仅向应用提供在运行时使用的、严密控制的资源集合。
接下来,在步骤404,安全判决模块141监视应用的行为。在步骤406,安全判决模块141读取与应用的行为有关的信息。这种行为信息可以包括例如该应用所消耗的资源和/或该应用所访问的数据和其他应用。
然后,在步骤408,安全判决模块141将所收集的信息转发至恶意软件检测器152。然后,该方法如图6的步骤304至310所述的那样进行。
在图4至8所述的实施例中,将与应用有关的信息转发至恶意软件检测器152以进行分析。然而,可以想到,在其他实施例中,安全判决模块141具有本地存储于存储器158中的可用于确定应用是否具有恶意组件的数据。这种实施例参照图9示出。安全判决模块141获得与应用有关的信息,不是将该信息立即转发至恶意软件检测器152,而是将该信息与本地存储的数据进行比较,以确定是否存在标识应用为恶意的匹配。例如,安全判决模块141可以计算应用代码的散列,并将其与本地存储的病毒签名进行比较,该病毒签名存储于存储器158中。如果存在匹配,则确定了应用是恶意的,并且安全判决模块141采用适当动作。例如,可以隔离该应用,或者根据病毒的特性(例如,如果其仅是半恶意的),安全判决模块141可以代之以指示应用控制模块140禁止该应用请求特定许可和/或向该应用授予特定许可。
然而,如果使用存储于存储器158上的本地数据得不到匹配,则将与应用有关的信息转发至恶意软件检测器152,并且操作如图6的步骤304至310所述的那样进行。
有利地,由于提供了存储于存储器158中的本地数据,因此安全判决模块141能够在不必依赖于远程的恶意软件检测器152的情况下检测恶意软件。这在以下情形下是尤其有利的:移动设备100不处于无线网络200的范围内,从而安全判决模块141与恶意软件检测器152不能交换消息。在这种情形下,安全判决模块141仍然能够提供针对恶意软件的特定级别的保护,并且不完全依赖于远程的恶意软件检测器152。
在图9所描述的实施例的变型中,恶意软件检测器152周期性地、自动地更新本地存储于安全判决模块141的存储器158上的数据,以保持数据是最新的。
上述实施例假定了恶意软件检测器152驻留于远离移动设备100的服务器154上。在这些实施例中,安全判决模块141向恶意软件检测器152发送与应用有关的信息,恶意软件检测器152将指示应用是否具有恶意组件的消息以及(在一些变型中)要授予应用的许可的集合发送回到安全判决模块141。然而,应当理解,安全判决模块141可以代之以存储于设备100自身上,并且,安全判决模块141甚至可以被集成为恶意软件检测器152的组件。可能在以下情况下尤其如此:计算设备不是移动设备100(如在上述实施例中),而是个人计算机,例如台式电脑或膝上型电脑。这种实施例在图10中示出。
计算机101包括安全判决引擎141和恶意软件检测器152。恶意软件检测器152可以包括例如安装在计算机101上的可信第3方软件。安全判决引擎141和恶意软件检测器152如前所述进行操作,只是这两个组件不必要在网络上通信,这是由于它们驻留于相同的计算机101上。在操作中,恶意软件检测器152使用本领域已知的技术来搜索恶意软件。如果识别出恶意代码,或者如果确定了应用可以是半恶意的(例如,具有恶意组件),则恶意软件检测器152告知安全判决引擎141。在一些实施例中,恶意软件检测器152还提供要授予应用的许可。然后,安全判决引擎141指示应用控制模块140将应用许可修改为仅授予由恶意软件检测器152指示的许可。
应当理解,在上述实施例中,具体地在参照图10描述的实施例中,安全判决引擎141和恶意软件检测器152可以被集成为单个模块。在这种情况下,可以在计算设备的制造期间安装该模块,或者可以代之以此后由计算设备的用户购买并安装该模块。
尽管参照特定的具体实施例描述了以上原理,但是在不脱离所附权利要求书的范围的前提下,其各种修改对于本领域技术人员来说是显而易见的。

Claims (9)

1.一种用于减轻恶意软件应用在计算设备上的作用的方法,所述方法由位于所述计算设备上的专用模块来执行,所述方法包括:
-所述专用模块从恶意软件检测器接收用于指示应用是否是恶意的或应用是否具有恶意组件的消息;
-所述专用模块获得要授予所述应用的许可集合;以及
-所述专用模块指示所述计算设备上对所述应用的许可进行控制的软件授予所述许可集合。
2.根据权利要求1所述的方法,其中,所述许可集合是从所述恶意软件检测器接收的。
3.根据权利要求2所述的方法,其中,在所述专用模块接收所述消息之前,所述方法包括:所述专用模块将与应用有关的信息转发至所述恶意软件检测器。
4.根据权利要求3所述的方法,其中,所述恶意软件检测器远离所述计算设备,所述专用模块通过无线网络与所述恶意软件检测器进行通信。
5.根据权利要求3或4所述的方法,其中,所述与应用有关的信息包括以下任何一个或多个:
所述应用的应用代码的密码散列;
所述应用的标识部分;以及
密码令牌。
6.根据权利要求3至5中任一项所述的方法,其中,将所述与应用有关的信息与存储于所述计算设备上的存储器上的数据进行比较,以确定所述应用是否是恶意的或所述应用是否具有恶意组件。
7.根据权利要求3至6中任一项所述的方法,其中,所述专用模块和所述恶意软件检测器都位于所述计算设备上。
8.一种用于减轻恶意软件应用在计算设备上的作用的系统,所述系统包括所述计算设备上的专用模块和所述计算设备上的应用控制模块,所述专用模块和所述应用控制模块包括用于执行根据权利要求1至7中任一项所述的方法的计算机可执行指令。
9.一种其上存储有计算机可读指令的计算机可读介质,所述计算机可读指令用于减轻恶意软件应用在计算设备上的作用,所述计算机可读指令包括用于执行根据权利要求1至7中任一项所述的方法的指令。
CN2010102699099A 2009-08-31 2010-08-31 用于控制应用以减轻恶意软件的作用的系统和方法 Pending CN102073806A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23834509P 2009-08-31 2009-08-31
US61/238,345 2009-08-31

Publications (1)

Publication Number Publication Date
CN102073806A true CN102073806A (zh) 2011-05-25

Family

ID=43431231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102699099A Pending CN102073806A (zh) 2009-08-31 2010-08-31 用于控制应用以减轻恶意软件的作用的系统和方法

Country Status (4)

Country Link
US (2) US8839421B2 (zh)
EP (1) EP2312485B1 (zh)
CN (1) CN102073806A (zh)
CA (1) CA2714223C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839421B2 (en) 2009-08-31 2014-09-16 Blackberry Limited System and method for controlling applications to mitigate the effects of malicious software
CN105075174A (zh) * 2013-03-14 2015-11-18 微软技术许可有限责任公司 服务关系和通信管理
CN107787574A (zh) * 2015-04-24 2018-03-09 诺基亚通信公司 移动通信网络中的恶意软件的减轻
CN109684072A (zh) * 2017-10-18 2019-04-26 卡巴斯基实验室股份制公司 基于机器学习模型管理用于检测恶意文件的计算资源的系统和方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609015B2 (en) * 2008-05-28 2017-03-28 Zscaler, Inc. Systems and methods for dynamic cloud-based malware behavior analysis
US9264448B2 (en) * 2010-01-20 2016-02-16 Blackberry Limited Apparatus, and an associated method, for facilitating secure operations of a wireless device
US8627484B2 (en) * 2010-12-22 2014-01-07 Trueposition, Inc. Unauthorized location detection and countermeasures
US20130326612A1 (en) * 2012-06-04 2013-12-05 Crocus Technology Inc. Apparatus and Method for Forming Secure Computational Resources
US8997230B1 (en) 2012-06-15 2015-03-31 Square, Inc. Hierarchical data security measures for a mobile device
CN105493095A (zh) * 2013-09-24 2016-04-13 迈克菲股份有限公司 用于样本提交的自适应和递归过滤
US9959405B2 (en) 2014-05-28 2018-05-01 Apple Inc. Sandboxing third party components
US9781153B2 (en) * 2014-09-30 2017-10-03 At&T Intellectual Property I, L.P. Local applications and local application distribution
US20160127412A1 (en) * 2014-11-05 2016-05-05 Samsung Electronics Co., Ltd. Method and system for detecting execution of a malicious code in a web based operating system
US10733594B1 (en) * 2015-05-11 2020-08-04 Square, Inc. Data security measures for mobile devices
US10447812B2 (en) * 2015-06-05 2019-10-15 Apple Inc. On demand resources
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10373167B2 (en) 2016-06-30 2019-08-06 Square, Inc. Logical validation of devices against fraud
US10546302B2 (en) 2016-06-30 2020-01-28 Square, Inc. Logical validation of devices against fraud and tampering
US10496993B1 (en) 2017-02-15 2019-12-03 Square, Inc. DNS-based device geolocation
US10552308B1 (en) 2017-06-23 2020-02-04 Square, Inc. Analyzing attributes of memory mappings to identify processes running on a device
US10715536B2 (en) 2017-12-29 2020-07-14 Square, Inc. Logical validation of devices against fraud and tampering
US11494762B1 (en) 2018-09-26 2022-11-08 Block, Inc. Device driver for contactless payments
US11507958B1 (en) 2018-09-26 2022-11-22 Block, Inc. Trust-based security for transaction payments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236393A1 (en) * 2005-03-31 2006-10-19 Microsoft Corporation System and method for protecting a limited resource computer from malware
US20090031402A1 (en) * 2007-07-23 2009-01-29 Samsung Electronics Co., Ltd. Method and apparatus for managing access privilege in cldc osgi environment
CN101425016A (zh) * 2007-11-01 2009-05-06 珠海金山软件股份有限公司 运行安装软件的方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US6505300B2 (en) * 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6892303B2 (en) * 2000-01-06 2005-05-10 International Business Machines Corporation Method and system for caching virus-free file certificates
US6775780B1 (en) * 2000-03-16 2004-08-10 Networks Associates Technology, Inc. Detecting malicious software by analyzing patterns of system calls generated during emulation
US6842861B1 (en) 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
US7669238B2 (en) 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
WO2002019076A2 (en) * 2000-08-31 2002-03-07 Curl Corporation Hybrid privilege enforcement in a restricted execution environment
US7437760B2 (en) 2002-10-10 2008-10-14 International Business Machines Corporation Antiviral network system
US20040123117A1 (en) * 2002-12-18 2004-06-24 Symantec Corporation Validation for behavior-blocking system
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US20060184792A1 (en) * 2005-02-17 2006-08-17 Scalable Software Protecting computer systems from unwanted software
US7490352B2 (en) * 2005-04-07 2009-02-10 Microsoft Corporation Systems and methods for verifying trust of executable files
US7562304B2 (en) * 2005-05-03 2009-07-14 Mcafee, Inc. Indicating website reputations during website manipulation of user information
US7945787B2 (en) 2007-04-13 2011-05-17 Computer Associates Think, Inc. Method and system for detecting malware using a remote server
EP2312485B1 (en) 2009-08-31 2018-08-08 BlackBerry Limited System and method for controlling applications to mitigate the effects of malicious software

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236393A1 (en) * 2005-03-31 2006-10-19 Microsoft Corporation System and method for protecting a limited resource computer from malware
US20090031402A1 (en) * 2007-07-23 2009-01-29 Samsung Electronics Co., Ltd. Method and apparatus for managing access privilege in cldc osgi environment
CN101425016A (zh) * 2007-11-01 2009-05-06 珠海金山软件股份有限公司 运行安装软件的方法和系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839421B2 (en) 2009-08-31 2014-09-16 Blackberry Limited System and method for controlling applications to mitigate the effects of malicious software
US9419997B2 (en) 2009-08-31 2016-08-16 Blackberry Limited System and method for controlling applications to mitigate the effects of malicious software
CN105075174A (zh) * 2013-03-14 2015-11-18 微软技术许可有限责任公司 服务关系和通信管理
CN107787574A (zh) * 2015-04-24 2018-03-09 诺基亚通信公司 移动通信网络中的恶意软件的减轻
CN109684072A (zh) * 2017-10-18 2019-04-26 卡巴斯基实验室股份制公司 基于机器学习模型管理用于检测恶意文件的计算资源的系统和方法
CN109684072B (zh) * 2017-10-18 2023-06-27 卡巴斯基实验室股份制公司 基于机器学习模型管理用于检测恶意文件的计算资源的系统和方法

Also Published As

Publication number Publication date
US20140373155A1 (en) 2014-12-18
EP2312485B1 (en) 2018-08-08
EP2312485A1 (en) 2011-04-20
CA2714223A1 (en) 2011-02-28
US8839421B2 (en) 2014-09-16
US9419997B2 (en) 2016-08-16
CA2714223C (en) 2016-09-27
US20110214184A1 (en) 2011-09-01

Similar Documents

Publication Publication Date Title
CN102073806A (zh) 用于控制应用以减轻恶意软件的作用的系统和方法
AU2003292922B2 (en) System and method of owner control of electronic devices
US8869307B2 (en) Mobile posture-based policy, remediation and access control for enterprise resources
US8850530B2 (en) Enterprise-wide security system for computer devices
US8849257B2 (en) System and method for monitoring and maintaining a wireless device
KR101373986B1 (ko) 모델을 사용하여 실행가능 프로그램을 조사하는 방법 및 장치
EP2733656A1 (en) System and method for enforcing a security policy on mobile devices using dynamically generated security profiles
US20080052383A1 (en) System and method for mobile device application management
US20080167002A1 (en) Method and System for Remote Controlling Operation of Mobile Telecommunication Terminal
Jansen et al. Guidelines on cell phone and PDA security
KR20070099200A (ko) 휴대형 무선 기기의 응용 모듈 접근 제한 장치 및 이를이용한 접근 제한 방법
CN101073060A (zh) 用于检验软件应用的终端、方法和计算机程序产品
EP2852913A1 (en) Method and apparatus for determining malicious program
US20050198525A1 (en) System and associated terminal, method and computer program product for conveying context information and providing a context-based service based upon the context information
CN101675423A (zh) 在外部设备与主机设备间提供数据和设备安全的系统和方法
KR100846411B1 (ko) 디스플레이 상에 보안 상태 표시자를 생성하는 시스템 및방법
EP2040497B1 (en) Tracking mobile communication devices
CN101859364A (zh) 用于在计算设备上显示条形码的系统、设备和方法
CN1661982B (zh) 自动配置访问控制的方法和系统
US20180227298A1 (en) Selectively permitting a receiver device to access a message based on authenticating the receiver device
EP1710711A1 (en) Portable personal server with biological information recognizer
CN102402660A (zh) 获取受保护内容中的明确权限
CN103023943A (zh) 任务处理方法及其装置、终端设备
US10270784B1 (en) Systems, devices, software, and methods for location based device and application management
CN113661527A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110525