检测浏览器扩展的隐藏行为的系统和方法与流程

文档序号:18414702发布日期:2019-08-13 19:12阅读:215来源:国知局
检测浏览器扩展的隐藏行为的系统和方法与流程

本发明总体涉及旨在防止计算机威胁的计算机技术,更具体地,涉及分析浏览器扩展以检测其中的隐藏行为的系统和方法。



背景技术:

计算设备上安装和使用的软件应用的数量正在不断增加,所述计算设备包括个人电子计算设备(诸如台式电脑和笔记本电脑)。一种这样的应用为网络浏览器,该网络浏览器允许用户与各种通信网络(诸如因特网)进行交互,以便查看网站、访问各种格式的计算机文件、管理网络应用等。

为了扩展网络浏览器的功能能力,许多网络浏览器允许扩展,扩展是通过添加函数来扩展浏览器功能的软件模块。取决于浏览器,术语“浏览器扩展”可以包含插件、附加组件或扩展。图1a中示出了一些常见的浏览器扩展;以及扩展“耳朵低音增强(earsbassboost)”,该扩展为用于谷歌浏览器()和红裤衩浏览器(browser)中每个选项卡的均衡器;扩展“广告屏蔽()”,该扩展允许用户选择性地屏蔽广告内容;扩展“vk音频播放器(vkaudioplayer)”,该扩展是音乐播放器;扩展“mercury阅读器(reader)”,该扩展旨在将页面格式化为便于阅读的形式;以及许多其它扩展。通常,如图1b所示,各个浏览器扩展在浏览器的控制面板上都有图标,以用于快速启动扩展。

浏览器扩展由组织和私人两者进行创建和修改。通常可以从官方在线商店下载和安装特定的浏览器扩展。例如,可以从https://www.google.com/chrome/webstore/extensions.html以及其它网站下载扩展来扩展谷歌浏览器(googlechrome)。可替选地,用户可以从因特网上的其它信息源来下载用于安装的浏览器扩展。

浏览器扩展的广泛使用也导致了传播不需要内容的扩展或者由黑客为自己的利益而开发的扩展的发展。这种扩展可能或引起不需要的行为或恶意的行为。例如,他们可以以广告插入的形式替换内容、收集用户数据或与用户的搜索查询相关的数据、窃取密码和用户账户记录、以及形成僵尸网络。

在某些情况下,甚至可以从官方的因特网商店(诸如从chrome网络商店(chromewebstore))下载包含恶意行为的扩展。其中一个示例是“浏览安全(browse-secure)”扩展。“浏览安全”扩展的声明目的是保证安全、加密以及匿名搜索。然而,在安装该扩展之后,“浏览安全”扩展会启动搜索机器人(爬虫)并获取包括全名、出生日期、性别、地址、电话以及电子邮件的用户个人数据。此外,该扩展将为用户分配具体的标识符,使得该标识符可以跟踪用户的动作并提取关于该特定用户的信息,并且将经由网络搜索资源的用户的所有查询重新路由到专门创建的国外网站。因此,被窃取的数据可以随后被黑客使用。该扩展的创建者未在chrome商店的页面上声明以上描述的行为,而是隐藏了该行为。扩展的隐藏行为是指扩展的创建者未声明的扩展的那些活动和动作。

检测浏览器扩展中的隐藏行为的困难在于,浏览器扩展构成不同文件的集合,并且为了确定浏览器扩展的整体功能必须分析包含可执行代码的文件的整个集合的事实。此外,浏览器扩展的全部功能的分析和检测需要浏览器提供的各种功能(诸如函数、接口以及环境变量),并且在某些情况下还需要用户的特定活动,因为扩展的隐藏行为通常仅在某些情况下或某些环境下才显现出来。

因此,防病毒技术(诸如对扩展的各个组件进行的仿真、静态分析和动态分析)在许多情况下不能确定扩展的全部功能,且因此将无法识别浏览器扩展的隐藏行为。此外,浏览器扩展的某些可执行文件的程序代码可能被混淆,这也使分析显著复杂化。因此,需要对浏览器扩展的文件的整个集合进行一次性分析,以便确定扩展操作的全部范围。

为了解决保护计算设备或用户数据免受使用浏览器扩展的各种黑客动作和恶意程序的问题,需要一种新的方法来分析浏览器扩展并揭示浏览器扩展的隐藏行为。本发明能够有效地解决检测浏览器扩展的隐藏行为的问题,并且还能够解决将隐藏行为确定为浏览器扩展的恶意行为的问题。



技术实现要素:

本发明使得可以将浏览器扩展的功能能力作为整体、作为统一对象进行研究。在研究浏览器扩展的过程中,揭示了正在被研究的浏览器扩展中存在的隐藏行为和隐藏功能。在揭示出隐藏行为的情况下,本发明具有分析该隐藏行为以及将该隐藏行为确定为恶意行为的能力。

本发明的技术结果在于确保目的的实现,即揭示浏览器扩展中的隐藏行为。通过揭示和分析作为统一对象的扩展的功能能力、以及通过仅揭示由于正在被分析的扩展的工作而发生的那些活动来实现该技术结果。

本发明的另一技术结果在于使得可以研究作为统一对象的浏览器扩展的功能能力。

本发明的又一技术结果在于通过揭示浏览器扩展中的隐藏行为,增加了揭示浏览器扩展中的恶意行为的可能性。

在一个方面中,公开了用于分析由计算机实现的浏览器扩展的方法,以便揭示浏览器扩展中的隐藏行为,其中,所述方法包含以下步骤:将所述浏览器扩展安装于浏览器中,在受保护环境中启动所述浏览器,所述受保护环境至少包含操作系统以及所述浏览器,所述浏览器包括以另一扩展的形式对事件进行注册的注册模块;执行来自数据存储器的模拟用户工作的至少一个预定动作;跟踪在由所述注册模块执行所述至少一个预定动作期间所发生的活动,其中,各类活动都对应于在所述受保护环境中定义的变化;将发生的与受保护环境中的所述变化有关的且由给定浏览器扩展单独发起的事件注册在事件列表中;分析所述事件列表中的事件以确定是否存在指示作为隐藏行为特征的变化的事件,其中,作为所述隐藏行为特征的变化表明正在被分析的浏览器扩展的工作中存在先前未声明的浏览器扩展的动作;以及在发现指示正在被分析的浏览器扩展中存在隐藏行为的至少一个注册事件时,保存所获得的结果。

在另一方面中,所述方法还涉及基于所保存的分析结果揭示浏览器扩展中的恶意行为。

在又一方面中,在检测恶意行为期间,在指示由于隐藏行为而被执行的动作的事件中确定由于恶意动作而发生的事件。

在另一方面中,受保护环境是指沙箱(sandbox)、仿真器、和/或能够监测运行操作系统的资源集合的任何其它环境中的一者或多者。

在又一方面中,发起者至少为如下项:虚拟内存、文件、寄存器值、网络连接、浏览器和扩展。

在另一方面中,标准动作包括打开一个网站、在各个打开的网站上执行一个或多个动作、打开浏览器设置页面以及在浏览器中执行搜索查询中的一者或多者。

以上对示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在确定所有方面的关键要素或重要要素,也不描绘本发明的任何或全部方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的本发明的更详细描述的前奏。为了实现前述内容,本发明的一个或更多个方面包括权利要求中所描述和特别指出的特征。

附图说明

并入本说明书并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,并且与具体实施方式一起用于阐述这些示例性方面的原理和实现方式。

图1a示出了包含所安装的扩展的浏览器的分区(division)的示例。

图1b示出了包含用于访问/启动所安装的扩展的快捷方式的浏览器的控制面板的示例。

图2为根据本发明的示例性方面的分析浏览器扩展以检测具有确定恶意行为的可能性的隐藏行为的系统的框图。

图3示出了根据本发明的示例性方面的检测到的隐藏在原始扩展中的脚本的文件的示例。

图4为根据本发明的示例性方面的分析浏览器扩展以检测浏览器扩展中的隐藏行为的方法的流程图。

图5为根据本发明的示例性方面的检测浏览器扩展的隐藏行为并随后确定恶意行为的方法的流程图。

图6示出了根据本发明的示例性方面的在其上可以实现本发明的通用计算机系统的示例。

具体实施方式

现在参考附图描述各个方面,其中,相同的附图标记贯穿全文用于表示相同的元件。在以下的描述中,出于解释的目的,阐述了许多具体的细节以促进对一个或多个方面的深入理解。然而,明显的是可以在一些或所有实例中,可以不采用下面描述的具体设计细节来实践以下描述的任一方面。在其它实例中,以框图的形式示出了众所周知的结构和设备以便易于描述一个或多个方面。下面呈现一个或多个方面的简要概述以提供对这些方面的基本理解。该概述并不是对所有预期方面的广泛综述,并且不旨在确定所有方面的关键要素或重要要素,也不旨在描述任一方面或所有方面的范围。

本发明使得能够研究作为一个整体的浏览器扩展的功能能力。因此,在研究浏览器的过程中,组合分析将使得能够检测浏览器扩展中存在的隐藏行为或隐藏功能。取决于浏览器,术语“浏览器扩展”指的是插件、附加组件或扩展。隐藏行为指的是浏览器扩展或其部分的秘密的、不为用户所知并且可能也不为防病毒软件所知的活动或动作,以及在浏览器扩展的工作期间未声明但还积极执行的动作。活动还指的是在环境中发生的一个或多个动作。

隐藏行为的示例是在用户不知道或用户未许可的情况下从未知的网络资源加载可执行文件。由于隐藏行为可以揭示恶意行为和/或与该恶意行为相对应的恶意文件,因此本发明可以是检测恶意行为或恶意文件的系统的一部分。可以分析检测到的隐藏行为以用于确定是否存在恶意行为,并且系统可以随后作出关于是否存在恶意行为的判定。在一个方面中,基于包含至少一个活动的规则来进行分析。该分析随后用于作出关于扩展是否是恶意的判定。在一个示例中,所述规则可以包括以下一系列活动:使用浏览器设置打开浏览器选项卡、以特定类型的url加载外文脚本、以及使用脚本“eval”函数。

隐藏行为和不需要的行为的示例为诸如如下的活动/动作(但不限于此):

·替换现有内容,诸如替换网页的一部分;

·窃取密码和用户账户记录;

·以用户名义的广告活动;

·隐藏的非法交易,包括电子资金的创建(加密货币的开采);

·收集关于设备的用户的信息;

·收集关于搜索请求的信息;

·向用户隐瞒上面指示的活动或用于这些活动的程序代码;

·通过请求和响应挖掘数据;

·访问其上安装了浏览器的计算机上的本地文件;

·访问操作系统的注册表。

可以通过将程序代码并入到浏览器扩展中来实现内容替换,该浏览器扩展创建了广告消息或用于过滤(代理)搜索请求的机制。

可以通过在拦截相应数据包的trojan-psw类型的浏览器扩展中并入恶意软件来实现窃取密码和用户账户记录、或者通过执行键盘记录器功能的扩展来实现窃取密码和用户账户记录。

以用户名义的广告活动,可以是指例如以用户名义向社交网络中的朋友发送广告消息或发送点击欺诈(click-fraud)类型(一种模拟鼠标点击广告的黑客行为)的恶意软件。

隐瞒指示的活动的一个示例是通过数据替换机制来实现的。

应当注意,浏览器扩展(尤其是对于谷歌浏览器(googlechrome)和红裤衩浏览器(yandexbrowser)的浏览器扩展),构成了包括具有javascript代码和html代码的元素的不同的文件(存档)的集合。例如,来自谷歌浏览器因特网商店的扩展具有标识符(id):bmdldbpdnijehkgkiblamnihfjhdhlod,和存档文件的哈希函数(md5):0x58632f0cecd9508a22c26783b878cd02,该扩展由以下文件组成:background.js,favicon.ico,manifest.json,popup.html,popup.js,popup.js,storing.js,_metadata/computed_hashes.json,_metadata/verified_contents.json。如上所述,各个文件的单独分析不能确定浏览器扩展的功能,因此执行联合分析。

本发明可以借助于计算机系统(诸如图6中示出的计算机系统20)来实现。在一些方面中,系统100在受保护环境的框架中执行操作,其中,受保护环境至少包含具有网络浏览器的操作系统。受保护环境使得可以限制浏览器扩展的工作和/或保护外部环境免受正在被验证的浏览器扩展的影响。本发明的上下文中的外部环境是位于受保护环境的边界之外的环境,诸如安装和运行有该受保护环境的系统的环境。在一个方面中,受保护环境被称为“沙箱”技术,“沙箱”技术是并入虚拟机内的保护机制。换句话说,沙箱技术是分离和隔离的环境,在该环境中,可以执行包括浏览器扩展的软件安全检查。而又一示例性方面可以是简化的浏览器版本,该简化的浏览器版本实现了执行扩展的检查的最小功能集合(发送和接收网络查询、显示网页、使用ssl协议授权和工作等)。

图2示出了分析浏览器扩展以检测具有确定恶意行为的可能性的隐藏行为的系统100(以下称为扩展分析系统100)的框图。

扩展分析系统100包括一组模块120和数据库140,该一组模块120至少包括形成模块210、注册模块220、隐藏行为检测模块230,该数据库140至少包含动作列表260和事件列表270。在一个特定方面中,模块120还包括恶意行为检测模块240。模块120具有在自身的模块和数据库140之间执行交互(交换数据)的能力,以便实现扩展分析系统100的行为。

根据一个方面,形成模块210可以形成受保护环境,以便在分析浏览器扩展期间防止主操作系统(外部系统)受到危害,或者防止设备的用户的个人数据的泄露。受保护环境可以通过上述已经指出的许多技术来实现或者通过现有的用于应用(尤其是浏览器)的安全分析的其它技术来实现。此外,形成模块210在受保护环境的浏览器中安装用于分析的扩展。为此,形成模块210可以执行从包含必要扩展的因特网(internet)商店下载扩展或者从特定的本地存储网站安装扩展。在安装扩展之后,形成模块210选择用于分析浏览器扩展中的隐藏行为的标准用户动作集合,该集合包含再现(模拟)用户在浏览器中的动作的动作。将这些动作保存在动作列表260中。在一个方面中,标准用户动作是用户在他们使用浏览器的常规过程期间在安装于计算机系统上的网络浏览器中可以执行的任何动作。动作列表260中的标准用户动作的示例为诸如下列的动作:

·打开网站,尤其是打开特定类别的网站;

·打开浏览器的设置部分;

·网上冲浪(在各网站之间“漫游”);

·与表单组件交互;

·提交表格;

·修改页面显示特性;以及

·其它动作。

在一个方面中,选择用户动作的原则是基于对有关浏览器扩展的元数据的分析,例如,基于根据特定使用指南对正在被分析的扩展的开发者声明的功能能力的分析。

在又一特定方面中,可以不选择标准动作集合。而是,在浏览器中安装扩展之后,形成模块210将执行预定数量的动作。在这种情况下,所指示的动作集合可以是来自数据库140的整个动作列表260。可以周期性地更新所述动作集合,以便更新用户的动作以用于验证。

动作列表的示例是包含以下动作的集合:打开浏览器;选择电子邮件服务、检查电子邮件;打开其它选项卡(例如,设置、扩展列表、浏览器主页);访问n个网站,其中n是随机数或预定数,在一个方面中n不大于100(在其它方面中不限于此);在网上银行页面访问银行网站;关闭浏览器;从列表中打开网站,其中该列表至少包含社交网站、电子邮件服务网站以及搜索服务网站;在网站上执行用于授权的数据的输入(诸如登录名和密码);打开搜索服务并通过随机搜索查询执行搜索。

当已经选择了标准动作集合(动作集合)时,形成模块210在整个受保护环境中(尤其是在浏览器中)执行来自该动作集合的各个动作。当执行来自所指示的集合的动作(或当执行一系列动作时)时,可以连续地逐个执行这些动作或基于在受保护环境中发生的事件执行这些动作。如果基于发生的事件来选择动作,则在系统100的这方面中,形成模块210包含保存在数据库140中的用于选择在受保护环境中执行的用户动作的规则。例如,该规则可以包含以下条件:一旦检测到跳转到银行网站的链接,就执行该跳转。在另一示例中,所述规则包含以下条件:打开社交网站并输入或注册账户记录。应当注意,根据所述方面,来自动作集合的用户动作,全部按照强制顺序执行或直到完成正在被分析的浏览器扩展的运行才执行或直到在正在被分析的浏览器扩展中检测到隐藏行为才执行。

注册模块220可以分析在受保护环境中发生的活动以及分析在上述指示的动作的执行期间发生的注册事件。活动的示例为脚本(javascript脚本)的运行、连接至网站、页面的修改,例如,涉及页面上隐藏元素的出现以及与用户分开填写的数据,等等。在一个方面中,注册模块220是先前安装在浏览器中的另一浏览器扩展。注册模块220具有调试器的功能能力,即程序开发者用来搜索和纠正其它程序中的错误以及用来跟踪(监测)程序的实时执行的计算机程序。因此,在执行动作期间,注册模块220跟踪受保护环境中发生的活动、分析所跟踪的活动以及只拦截事实上由正在被分析的扩展引发的那些事件。

将拦截的事件添加到事件列表270中,事件列表270是专门为正在被分析的扩展而创建的。分析包括在各类活动中具有由于那些动作的执行而在受保护环境中发生的相应的指示或定义的变化。各个变化都是由于活动的特定发起者而发生的。因此,在分析期间,确定发生的变化以及确定仅与正在被分析的浏览器扩展相关的事件。受保护环境中可能发生的变化的示例至少是与以下项相关的变化:

·跳转到不同的url地址;

·从网站下载文件;

·访问或尝试访问本地资源;

●更改或试图更改浏览器设置或系统设置;

●创建向服务器发送表单时发生的各种提交事件的回调;

●以javascript语言执行函数调用。

在形成事件列表之后,注册模块20将该事件列表发送到隐藏行为检测模块230用于进一步分析。根据本说明书,事件列表270被保存在数据存储器140中。

根据本发明的一个方面,隐藏行为检测模块230可以检测浏览器扩展中的隐藏行为。在一个方面中,隐藏行为检测模块230分析事件列表270是否存在作为隐藏行为的特征的变化。作为隐藏行为的特征的变化是浏览器扩展的动作,正在被分析的浏览器扩展的创建者先前未声明这些动作。在这方面,在元数据、文本描述或其它方面中没有在先指示浏览器扩展将执行特定动作。一旦在浏览器扩展中检测到至少一个这样的动作,隐藏行为检测模块230就确定扩展正在执行隐藏行为,并且可以将获得的结果保存在数据存储器140中。此后,可以将保存的结果提供给所有感兴趣的系统或人员,例如,提供给恶意行为检测模块240。除了恶意行为检测模块240之外,用于通知和呈现关于扩展的隐藏行为和创建的事件列表的机制在本说明书中没有详细地公开,但应当理解,可以使用任何已知的机制。感兴趣的来源可以是用于检测此种行为的防病毒系统的各种数据库、因特网资源数据库以及自动检测系统。

扩展(该扩展中的隐藏行为被识别)的示例为上面给出的扩展,该给出的扩展具有标识符(id):bmdldbpdnijehkgkiblamnihfjhdhlod,和存档的哈希函数(md5):0x58632f0cecd9508a22c26783b878cd02。图3示出了由于该扩展的活动而发生的事件列表的片段,而该扩展是在受保护环境的浏览器中执行的扩展。在该示例中,该活动包括将广告脚本并入合法网站的页面中以及由被执行的脚本0x1d75a9ead86e2f4f99b00975090c1b0d的md5指示的隐藏行为的存在。

另一示例如下:在分析扩展期间,执行涉及打开网站“gmail.com”的动作。随后,该扩展将脚本添加到网站“gmail.com”。然后,该脚本以“gmail.com”的名义访问到指定的url(uniformresourcelocator,统一资源定位符)的资源。在分析时,url落入广告链接类别,该类别表示基于脚本的md5的隐藏行为的存在。

根据一个方面,恶意行为检测模块240可以发现恶意行为。恶意行为检测模块240分析事件列表270以及识别出的脚本行为以确定是否存在执行的恶意动作。恶意动作是指对计算机系统或用户的个人数据造成伤害的动作。这种造成的伤害包括从外部资源下载恶意文件(特洛伊木马(trojanhorse))、将文件添加到操作系统以远程控制操作系统或收集关于用户动作的信息、窃取个人用户数据、出于勒索目的加密数据(尤其是个人用户数据)等。如果识别到这种动作,恶意行为检测模块240作出关于在扩展中存在恶意行为的判定并且将关于识别出的恶意行为的信息添加到相应的数据库,特别是添加到数据存储器140,以用于随后的检测、修复或删除。

数据存储器140与扩展分析系统100的所有模块交互并且持续地保存这些模块所需要的信息,尤其是动作列表260和事件列表270。

应当注意,扩展分析系统100的一个特征是它能够区分与正在被验证的浏览器扩展相关的活动、和由于安装了扩展的实际浏览器以及周围环境/受保护环境中的安装了扩展的那些浏览器的运行而发生的活动。基于由于特定活动而发生的拦截事件,对发生的活动进行分析。在一个方面中,活动是指在周围环境中发生的动作。应当注意,在个一方面中,对于各类活动,都可以形成特定的动作集合,该动作集合包含在检测到某些动作时由软件或硬件执行的一系列操作以及在扩展分析过程中的事件的采集。

图4为根据本发明的示例性方面的分析浏览器扩展以检测浏览器扩展中的隐藏行为的方法300的流程图。

分析浏览器扩展的方法300借助于计算机系统(例如,计算机系统20)来实现,并且是在受保护环境的框架中执行的系统100的组件的示例性实现,该受保护环境至少包含具有网络浏览器的操作系统。

在一个方面中,受保护环境是指“沙箱”类型的技术。在一个方面中,“沙箱”技术指的是对对象(特别是浏览器扩展)的分析,这基于在限定的环境(诸如仿真器、虚拟机等)中对对象执行的分析。

在特定方面中,可以在没有受保护环境的情况下完成对浏览器扩展的分析,即在已安装操作系统和浏览器的计算机上完成对浏览器扩展的分析。在这种情况下,省略步骤310,而正在进行扩展的分析的浏览器至少包含扩展分析系统100的注册模块220。

在又一特定情况下,当检查浏览器扩展需要与常规条件不同的特殊工作条件时,则执行步骤310。在步骤310中,形成模块210形成受保护环境,在一方面中,该受保护环境包含操作系统和网络浏览器,同时考虑用于检查浏览器扩展的特殊条件。在这方面中,提出特殊条件以执行单个任务,即创建最大现实的受保护环境。特殊条件的示例可以是合法扩展和软件的特定列表、关于软件安装时间信息(即,受保护环境的创建日期)的形成、以及软件特定位置的规范(例如在俄罗斯)。

下面的实例是需要这方面的示例。浏览器扩展正在被验证并且假设该扩展具有识别或检测受保护环境的恶意功能(即,存在反沙箱机制)。例如,从操作系统执行的角度来看,检测是通过检查很少使用的文件来完成的。因此受保护环境的操作系统可能缺少这种文件。如果确定操作系统中缺少这种文件,则恶意功能可能无法暴露出来。然后需要特殊条件来形成受保护环境,以便创建与现实世界系统最大的相似性,然后检查扩展。在一些方面中,形成模块210定期克隆现有使用过的计算机设备或系统的图像,并使用克隆的图像作为基础以形成受保护环境,以便模仿现实世界环境。因此,即使使用反沙箱机制,软件(诸如浏览器扩展)也不能够检测或识别受保护环境。

在其它方面中,受保护环境从一开始就已经安装在计算机系统上,并且所述方法从步骤320开始。

在步骤320中,形成模块210用于安装需要在浏览器中检查的浏览器扩展。在浏览器中安装扩展可以通过以下方法中的一种方法来完成:基于接收到包含扩展的标识符的命令,由形成模块210从因特网商店(诸如从商店)、或者从用于下载的包含扩展的另一网络资源下载浏览器扩展,并将该浏览器扩展安装在浏览器中;在接收到的包含浏览器扩展的安装文件的路径的命令的基础上,根据用户的需求来安装浏览器扩展。此外,还可以在受保护环境210中模拟浏览器中的浏览器扩展的安装,并且浏览器“最大限度地信任”指定的因特网商店(即,浏览器不对因特网商店的功能进行验证)。例如,当正在被验证的扩展不在因特网商店中或者受保护环境没有实际访问因特网时,会需要这样的选项。但是,即使在模拟浏览器扩展的安装的情况下,也存在控制各种参数(诸如安装时间、安装源等)的可能性。

在步骤330中,从数据存储器140中确定模仿用户在网络浏览器中的工作的至少一个动作。这种动作的示例为:打开网站、打开网络浏览器的设置页面、在搜索网站上形成搜索请求等。这些动作的选择至少基于对扩展的元数据的分析,元数据描述了扩展的目的。此外,选择机制可以是可选的,并且如果选择机制没有实现,则使用来自数据存储器140的所有指示的动作。

在步骤340中,形成模块执行所确定的动作。在特定方面中,可以预先确定执行动作的顺序(第一种情况),或者根据先前发生的动作的事件(第二种情况)来执行动作。在第二种情况下,动作列表具有树状外观,该树状外观具有用于继续执行动作和执行浏览器扩展的各种解决方案。

在步骤350中,在执行用于启动扩展的预定动作期间,注册模块220可以跟踪(监测)受保护环境中发生的所有活动和变化。

接下来,在步骤360中,注册模块220可以仅在事件列表中注册由正在被分析的浏览器扩展发起的那些事件。注册模块220可以分析正在被拦截的活动以及在受保护环境中发生的变化,即注册模块220可以分析由于指示的活动和变化而已经发生的动作和事件,以便仅识别由正在被分析的浏览器扩展(即,发起者)发起的那些事件。

在步骤370中,隐藏行为检测模块可以分析来自事件列表的事件以确定是否存在作为隐藏行为的特征的变化。该作为隐藏行为的特征的变化是指浏览器扩展的那些先前未被正在被分析的浏览器扩展所声明的动作。如果检测到隐藏行为,则方法300前进到步骤390。否则,如果未检测到隐藏行为,则在步骤380中作出关于正在被分析的浏览器扩展中没有隐藏行为的判定并且该过程完成。

在步骤390中,如果至少一个注册事件表明正在被分析的浏览器扩展中存在隐藏行为,则隐藏行为检测模块230可以保存所获得的结果。此后,隐藏行为检测模块230可以将所保存的结果提供该所有感兴趣的系统或人员,例如,提供给恶意行为检测模块240。

图5为根据本发明的示例性方面的检测浏览器扩展的隐藏行为以及随后确定恶意行为的方法400的流程图。方法400是系统100的组件(诸如形成模块210、注册模块220、隐藏行为检测模块230以及恶意行为检测模块240)的示例性实现。

在步骤410中,形成模块210可以在位于受保护环境的操作系统中的浏览器中安装浏览器扩展。作为受保护环境,使用了上述的“沙箱”技术。扩展的安装通过类似于图2的描述中出现的变型来完成。在步骤420中,形成模块可以执行模拟用户在浏览器中的工作的预定动作。确定需要待执行的用户动作通过类似于图4中描述的步骤330来完成。特别地,从数据存储器140中获得动作列表,该动作列表是被分析的浏览器扩展的最新动作列表。在步骤430中,跟踪由于执行上述动作而发生的与受保护环境中发生的活动相关联的所有事件。在步骤440中,在发生的所有事件中,只有已经由于正在被分析的浏览器扩展的活动而发生的事件才被注册在事件列表中。然后,在步骤450中,对事件列表进行分析,以便识别浏览器扩展中的隐藏行为。如果识别出浏览器扩展中的至少一个隐藏行为,则前进到步骤465,否则,如果一个隐藏行为也未发现,则完成对浏览器扩展的分析。

在步骤465中,恶意行为检测模块可以分析事件列表以及识别出的隐藏行为以用于确定是否存在已经发生的恶意动作。恶意动作是指示对计算机系统或个人用户数据造成伤害的动作,例如,下载从访问外部资源所检索到的恶意文件(特洛伊木马)、将文件添加到操作系统以远程控制操作系统或收集关于用户动作的信息、窃取个人用户数据、出于勒索目的加密个人用户数据等。如果识别到这种动作,则方法400转到步骤470,否则,如果未识别到恶意动作,则方法400转到步骤490,在步骤490处完成验证。在步骤470中,作出扩展中存在恶意行为的判定。在步骤480中,将关于检测到的恶意行为的信息添加到相应的数据库,以随后检测、修复或删除恶意文件或整个扩展。

在特定方面中,在步骤470中,恶意行为检测模块240可以执行检查以用于确定是否存在用于修复所识别出的恶意行为的信息或方法,并且如果存在这种信息,则将该信息也添加到相应的数据库。

图6示出了根据示例性方面的可以在其上实现所公开的系统和方法的通用计算机系统(其可以是服务器)的示例的框图。

特别地,图6可以示出系统100的示例性方面,例如,形成模块210、注册模块220、隐藏行为检测模块230以及恶意行为检测模块240。如图所示,以计算机系统20等的形式提供的通用计算设备包括处理单元21、系统存储器22以及将包括系统存储器的各种系统组件耦合到处理单元21的系统总线23。应当理解,处理单元21可以对应于cpu114和/或cpu144,以及例如系统存储器22和/或文件系统36可以对应于电子存储器来存储数据文件112或对应于存储器148。

此外,系统总线23可以是多种类型的总线结构中的任一种总线结构,所述总线结构包括使用各种总线架构中的任一种总线架构的存储器总线或存储器控制器、外围总线和本地总线。系统存储器包括只读存储器(rom)24和随机存取存储器(ram)25。包含有助于在计算机104内的各元件之间传输信息的基本例程的基本输入/输出系统(bios)26(诸如在启动期间)存储在rom24中。

计算机20还可以包括用于读取和写入硬盘(未示出)的硬盘驱动器27、用于读取或写入可移动磁盘29的磁盘驱动器28、以及用于读取和写入可移动光盘31(诸如cd-rom、dvd-rom和其它光学介质)的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接到系统总线23。驱动器及其相关联的计算机可读介质为计算机20的计算机可读指令、数据结构、程序模块以及其它数据提供非易失性存储。

尽管本文描述的示例性环境采用硬盘、可移动磁盘29以及可移动光盘31,但是本领域技术人员应当理解可以存储计算机可访问的数据的其它类型的计算机可读存储介质(诸如磁带盒、闪存卡、数字视频盘、伯努力磁带、随机存取存储器(ram)、只读存储器(rom)等)也可以用于示例性操作环境中。

许多程序模块可以存储在硬盘、磁盘29、光盘31、rom24或ram25上、包括存储在操作系统35上。计算机20包括文件系统36(该文件系统36与操作系统35相关联或被包括在操作系统35内)、一个或多个应用程序37、其它程序模块38以及程序数据39。用户可以通过输入设备(诸如键盘40)和定位设备42将命令和信息输入到计算机20中。其它输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星天线、扫描仪等。

这些和其它输入设备通常通过耦合到系统总线的串行端口接口46连接到处理单元21,但是可以通过其它接口(诸如并行端口、游戏端口或通用串行总线(usb))将这些和其它输入设备连接到处理单元21。监控器47或其它类型的显示设备也通过接口(诸如视频适配器48)连接到系统总线23。除了监控器47之外,个人计算机通常还包括其它外围输出设备(未示出),例如包括扬声器和打印机。

计算机20可以使用与一个或多个远程计算机49的逻辑连接而在网络环境中操作。一个或多个远程计算机49可以是另一计算机、服务器、路由器、网络pc、对等设备或其它公共网络节点,并且通常包括上面描述的与计算机20相关的许多或所有元件。所述逻辑连接包括网络接口51并且例如连接到局域网(即lan)51和/或广域网(未示出)。这种网络环境在办公室、企业范围的计算机网络、内部网和因特网中是常见的。应当理解,远程计算机49可以对应于一个或多个存储节点(诸如如上所述的存储节点102-存储节点107)。

当在lan网络环境中使用时,计算机20通过网络接口或适配器53连接到局域网51。当在wan网络环境中使用时,计算机20通常包括调制解调器54或用于在广域网(诸如因特网)上建立通信的其它机制。

可以是内部的或外部的调制解调器54经由串行端口接口46连接到系统总线23。在网络环境中,描述的关于计算机20的程序模块或其部分的程序模块可以存储在远程存储设备中。应当理解,示出的网络连接是示例性的并且可以使用在计算机之间建立通信链路的其它机制。

在各个方面中,本文中所描述的系统和方法可以以硬件、软件、固件或其任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括ram、rom、eeprom、cd-rom、闪存或其它类型的电存储介质、磁存储介质或光存储介质、或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。

为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标对于不同的实现方式和不同的开发者将变化。应当理解,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。

此外,应当理解,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。

本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1