用于检测网络钓鱼脚本的系统和方法与流程

文档序号:11524111阅读:494来源:国知局
用于检测网络钓鱼脚本的系统和方法与流程

相关申请的交叉引用

本发明要求在2015年9月30日递交的俄罗斯申请no.2015141553的优先权的权益,该俄罗斯申请通过引用并入在本文中。

本发明总体涉及计算机安全领域,且更具体地涉及用于检测网络钓鱼脚本的系统和方法。



背景技术:

因特网技术在过去十年中的蓬勃发展、借助因特网传输数据的大量设备(诸如个人计算机、笔记本、平板电脑、移动手机等)的出现、以及这些设备的使用轻松和方便已经使得大量人员在其日常事务(是否获得信息、访问银行账户、购物、读取电子邮件、访问社交网络、为了娱乐等等)中使用因特网。经常当工作在因特网上时(诸如当购买物品、汇款、访问需要登录的网站等等时),用户需要将其机密信息(诸如信用卡和银行账号、账户记录的密码等等)发送到外部服务器,用户的财产安全取决于外部服务器的信息的安全。

因特网的用户的巨大数量已经变为黑客活动增加的动机,这些黑客通过各种技术和方法获得对用户的机密信息的访问权以便窃取数据以供出于其自身目的的进一步使用。最受欢迎的方法之一是所谓的网络钓鱼,即通过如下方式获得对用户的机密信息的访问权:发出以名牌的名义的消息、在各个服务(诸如社交网络或即时通讯系统)内的个人消息、以及创建和注册网站的搜索服务,这些网站声称为银行、因特网杂志、社交网络等的合法网站。由黑客发送到用户的电子邮件或消息经常包含通向外表上无法区分于真实网站的恶意网站、或通向将发生从其到恶意网站的转换的网站的链接。在用户在虚假网站上结束之后,黑客使用各种社交工程方法且试图怂恿用户输入其用于访问特定网站的机密信息,这使黑客获得对银行账户和其它账户的访问权。除了用户的机密信息的从前展示外,用户还冒着从这类虚假网站下载恶意软件应用程序之一的风险,这些恶意软件应用程序执行从受害计算机定期收集信息并传输到黑客。

为了处理上文描述的黑客攻击方法,使用技术来揭露网络钓鱼消息(诸如在电子邮件中)以及虚假网站。为此,针对用于网络钓鱼的数据(诸如特性图像、消息形成技术、尤其包含在消息中的脚本等等)在消息中执行搜索,对此使用网站的可信地址和不可信地址的库、来自网络钓鱼消息的措辞模版等等。上文描述的方法的示例之一为利用行为的签名或记录与先前找到的用于网络钓鱼的数据的相似度搜索正用于网络钓鱼的数据。在发现存在可疑对象时,通知用户潜在的危险。

尽管上文描述的方法善于基于对已知网络钓鱼方法和用于网络钓鱼的数据类型的分析来解决检测网络钓鱼(尤其网络钓鱼脚本)的领域中的某些问题,但是这些方法经常对使用网络钓鱼的新方式或用于网络钓鱼的数据的新类型毫无帮助。



技术实现要素:

公开了用于检测网络钓鱼脚本的系统和方法。在一个示例性方面中,一种方法包括:通过硬件处理器生成脚本的字节码;通过所述硬件处理器计算生成的所述字节码的散列和;通过所述硬件处理器确定所述字节码的所述散列和与已知的网络钓鱼脚本的一组或多组散列和中的散列和之间的相似度;通过所述硬件处理器识别至少一组散列和,所述至少一组散列和包含与所述字节码的所述散列和的相似度在阈值范围内的散列和;通过所述硬件处理器确定所识别的至少一组散列和的紧密度系数和所识别的至少一组散列和的信任系数;以及通过所述硬件处理器基于所述相似度、所述紧密度系数和所述信任系数确定所述脚本是否为网络钓鱼脚本。

在一个示例性方面中,所述字节码包括所述脚本的至少一个操作码。

在一个示例性方面中,生成所述脚本的字节码包括:通过所述硬件处理器识别脚本命令,所述脚本命令负责将数据写入磁盘、与文件系统的对象一起工作、以及执行程序的功能;通过所述硬件处理器基于识别的功能将识别的所述脚本命令分组为多个功能组;通过所述硬件处理器将二进制值分配给每个功能组;以及通过所述硬件处理器从所述二进制值生成所述字节码。

在一个示例性方面中,散列和包括模糊散列。

在一个示例性方面中,搜索匹配的散列和包括模糊搜索。

在一个示例性方面中,确定所识别的至少一组散列和的紧密度系数和信任系数还包括:确定所识别的至少一组散列和的指标,其中,所述指标指示所述信任系数依赖于所识别的至少一组散列和的紧密度系数的程度。

在一个示例性方面中,一种用于检测网络钓鱼脚本的系统包括:硬件处理器,所述硬件处理器配置成:生成脚本的字节码;计算生成的所述字节码的散列和;确定所述字节码的所述散列和与已知的网络钓鱼脚本的一组或多组散列和中的散列和之间的相似度;识别至少一组散列和,所述至少一组散列和包含与所述字节码的所述散列和的相似度在阈值范围内的散列和;确定所识别的所述至少一组散列和的紧密度系数和所识别的至少一组散列和的信任系数;以及基于所述相似度、所述紧密度系数和所述信任系数确定所述脚本是否为网络钓鱼脚本。

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

附图说明

并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。

图1示出用于检测网络钓鱼脚本的示例性系统的图。

图2示出用于检测网络钓鱼脚本的示例性方法的图。

图3示出根据分组紧密度系数的分组信任系数的绘图的示例的图。

图4示出在离散傅里叶变换之后针对分组紧密度系数绘制的示例性分组信任系数的图。

图5示出根据分组紧密度系数的分组信任系数的两个绘图的相似性的示例的图。

图6示出可用于实施本发明的系统和方法的各个方面的计算机系统的示例。

具体实施方式

本文中在用于检测网络钓鱼脚本的系统、方法和计算机程序产品的背景下描述了本发明的示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是说明性的,而不旨在以任何方式进行限制。其它方面将容易地将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或相似的项目。

首先将介绍用在以下描述中的一些定义和概念。

网络钓鱼脚本可以为包含用于网络钓鱼的数据的脚本,所述脚本能够引起对计算机或对计算机用户的数据的伤害。所引起的伤害可以为出于偷窃目的而对计算机资源(包括存储在计算机上的数据)的非法访问,以及对资源的非法使用,包括存储数据、执行计算等等。

可信脚本可以为不引起对计算机或其用户的伤害的脚本。可信脚本可以被视为由可信软件制造商所开发的、从可信源(诸如可信网站的库中登录的网站)下载的脚本,或者标识符(例如脚本文件的md5)被存储在可信脚本的库中的脚本。制造商的标识符(诸如数字证书)也可以被存储在可信脚本的库中。

图1示出了用于检测网络钓鱼脚本的系统的示例性方面的图。该系统包括网络资源100、收集模块110、字节码计算模块120、散列和计算模块130、搜索模块140、统计收集模块150、分析模块160、判决作出模块170、散列和库180以及判决模版库190。网络资源100可以包括但不限于:因特网网页;电子邮件;来自即时通讯系统的消息。

在一个示例性方面中,收集模块110配置成:从网络资源100选择至少一个脚本,该网络资源100包含至少一个脚本;以及将所选的脚本发送到字节码计算模块120。在一个示例性方面中,脚本可以选自网络资源,通向该网络资源的链接已经在其它脚本中被找到(例如,javascript脚本可以通过位于另一javascript脚本中的采用形式‘document.getelementbyid("new_tag").src="new_script.js"’的链接来选择)。

在一个示例性方面中,字节码计算模块120配置成:计算所选脚本的字节码,其中字节码为一组脚本命令(操作码),该组脚本命令由包含在所选脚本中的至少一个脚本命令组成;以及将所计算的字节码发送到散列和计算模块130。

在一个示例性方面中,所选脚本的字节码可以如下来计算:

·从脚本选择所有的脚本命令的序列;

·从所选的序列移除不实现指定功能(诸如向屏幕显示信息、借助超链接跳跃、加载图像等等)的一些脚本命令;

·将保留在所选的序列中的脚本命令组合为多组命令,每组包含至少一个脚本命令(例如,负责向屏幕显示信息和加载图像的脚本命令的序列可以被组合为一个组);

·为每个脚本命令或每组脚本命令分配唯一的二字节值;

·获得的二字节值的序列构成计算的字节码。

在一个示例性方面中,散列和计算模块130配置成:计算所计算的字节码的散列和;以及将所计算的散列和发送到搜索模块140。散列和可以至少通过如下方式来计算:计算模糊散列和,其中数据的模糊散列和构成从不同数据区域计算的散列和的集合,模糊散列和是针对上述不同数据区域计算的;以及利用索引进行模糊搜索,这是使用数据结构在集合中查找元素(欧几里得空间、树空间等的元素)的技术,使得在任何给定空间中利用小量的比较来计算该集合(构成散列和)的元素之间的距离以及快速搜索最靠近正被搜索的元素的集合的元素。

在一个示例性方面中,搜索模块140配置成:从散列和库180选择至少一组散列和(其中至少一个散列和相似于所计算的散列和)、和这些散列和的所计算的相似度;以及将所选组和散列和的所选相似度发送到统计收集模块150。散列和的相似度可以至少通过如下方式来计算:比较模糊散列和,即计算表征计算散列和所针对的数据的相似性的数值;以及利用索引计算模糊搜索标准度量,即计算正被搜索的集合的寻找元素和发现元素之间的距离。

在一个示例性方面中,统计收集模块150配置成:基于分组紧密度系数、分组信任系数和从搜索模块140获得的散列和的相似度计算用于至少一个所选组的分组指标,其中分组指标指示分组信任系数依赖于分组紧密度系数的程度;以及将确定的分组指标发送到分析模块160。

在一个示例性方面中,分组指标可以为一对数{x,y},其表征在根据分组紧密度系数的分组信任系数的绘图中的元素(如图3所示),其中,要素{x}为分组紧密度系数和该组的散列和的相似度的乘积,以及要素{y}为分组信任系数和该组的相似度的乘积。

在从判决模版库190采样之前,可以至少通过如下方式发生由统计收集模块150确定的分组指标的变换(如图4所示):离散傅里叶变换;小波变换。

作为这类变换的结果,具有较高分组紧密度系数和较高分组信任系数的分组指标(由于更为重要)将被移动到函数的左侧,这应当提高针对分析模块160确定的序列和选择的序列的比较的准确度。

在一个示例性方面中,分析模块160配置成:从判决模版库190选择至少一个判决模版(其中至少一个分组指标相似于如由统计收集模块150确定的至少一个分组指标),和这些分组指标的所计算的相似度,其中,两个分组指标的相似性通过其计算的相似度与建立的阈值的对应性来确定;以及将所选的判决模版和分组指标的相似度发送到判决作出模块170。

分组指标的相似度可以通过找到多维向量的内积来计算,其中该多维向量的元素为该组中包含的数据(如图5所示)。

在一个示例性方面中,判决作出模块170配置成:基于从分析模块160获得的分组指标的至少一个判决模版信任系数和至少一个相似度与确立的阈值的对应性,对于由收集模块110选择的脚本是否为网络钓鱼脚本进行决定。在一个示例性方面中,对于由收集模块110选择的脚本是否为网络钓鱼脚本进行决定可以如下来完成:对于获得的分组指标的每对判决模版信任系数和相似度,计算其乘积;找出所获得的乘积的最小值并进行核对以查看该最小值是否超出确立的阈值;以及如果满足上述条件,则判断由收集模块110选择的脚本为网络钓鱼脚本。

在一个示例性方面中,散列和库180配置成:存储至少一个组,该组为数据的集合,该数据的集合包括:至少一个散列和;分组紧密度系数,其指示所计算的散列和将相似于该组的多少个散列和,相似于该组的至少一个散列和,其中两个散列和的相似性通过其计算的相似度与确立的阈值的对应性来确定;分组信任系数,其指示有多少用于形成该组的散列和的脚本包含用于网络钓鱼的数据。

在一个示例性方面中,分组紧密度系数可以至少通过如下方式来计算:在该组中包含的所有对散列和之中搜索最小相似度;以及从该组中包含的至少两对散列和的相似度计算集中趋势的测量值。

在一个示例性方面中,分组信任系数可以通过确定范围从0(表示用于形成给定组的散列和的所有脚本为网络钓鱼脚本)到1(表示用于形成给定组的散列和的所有脚本为可信的)的值来计算。

判决模版库190配置成:存储至少一个判决模版,其为数据的集合,该数据的集合包括:至少一个分组指标,其指示分组信任系数依赖于分组紧密度系数的程度;以及判决模版信任系数,其指示有多少用于形成组(从判决模版确定用于这些组的分组指标)的脚本包含用于网络钓鱼的数据。

在一个示例性方面中,判决模版信任系数可以通过确定在从0(表示用于形成组(从判决模版确定用于这些组的分组指标)的所有脚本为网络钓鱼脚本)到1(表示用于形成组(从判决模版确定用于这些组的分组指标)的所有脚本为可信的)的范围中的值来计算。

来自判决模版库190的判决模版可以集体地涵盖通过使用来自散列和库180的所有组确定的分组指标。

在包含在网站http://gimmeyourmoney.com的因特网网页(声称为银行的合法因特网网页http://givemeyourmoney.com)上的网络钓鱼脚本的检测示例上,以下示例用于说明上述系统如何工作用于检测网络钓鱼脚本。

用户将其浏览器导向至网络资源100,其为网站http://gimmeyourmoney.com的因特网网页。拦截模块110(为搜索引擎(网络蜘蛛))从指示的网站选择以某种方式与正被用户观看的网页有关的脚本。所选的脚本可以不仅为包含在正被观看的实际网页上的脚本,而且为在如下网页上的脚本,通向该网页的链接包含在正被观看的网页上,以及将所选的脚本发送到字节码计算模块120。

字节码计算模块120计算拦截的脚本的字节码。为此,从所选的脚本挑出所有脚本命令的序列;从所选的序列移除不实现指定功能(诸如向屏幕显示信息、借助超链接跳跃、加载图像等等)的一些脚本命令;将保留在所选的序列中的脚本命令组合为多组命令,每组包含至少一个脚本命令(例如,负责向屏幕显示信息和加载图像的脚本命令的序列可以被组合为一个组);为每个脚本命令或每组脚本命令分配唯一的二字节值;以及获得的二字节值的序列构成计算的字节码。

散列和计算模块130从获得的字节码计算模糊散列和(例如使用开源算法fuzzyhash),其为包含字节码分解而成的块的大小以及这些块的散列和的数据的集合。此后,散列和计算模块130将计算的散列和发送到搜索模块140。

搜索模块140从散列和库180选择散列和组,其中一组为包括如下项的数据的集合:先前计算的网络钓鱼脚本的散列和;分组紧密度系数,其指示所计算的散列和将相似于该组的多少个散列和,相似于该组的至少一个散列和,其中两个散列和的相似性通过其计算的相似度与确立的阈值的对应性来确定;以及分组信任系数,其指示有多少用于形成该组的散列和的脚本包含用于网络钓鱼的数据。

在从散列和库180选择的过程中,针对包含在散列和库180中的每组的散列和,进行与从散列和计算模块130获得的散列和的模糊比较(模糊搜索)。两个散列和的模糊比较的结果为范围从0到1的数,其表示被比较的散列和的相似度且被称为两个散列和的相似度(例如,从包含10%彼此不同的脚本命令的脚本的字节码所计算的模糊散列和的相似性将等于0.9)。在被比较的组的至少一个散列和与从散列和计算模块130获得的散列和的相似度高于确立的阈值(例如0.85)的情况下,认为已经找到该组,且从散列和计算模块130获得的散列和属于被比较的组。此后,将所选组和所确定的相似度发送到统计收集模块150。对于从网站http://gimmeyourmoney.com的因特网网页收集的脚本,选择包含脚本的散列和的组,这些脚本包含如下功能:

·对于组#1–显示具有用于显示商标(诸如银行的商标)的参数的图像(相似性0.98);

·对于组#2–将数据从密码输入表格传输到若干地址(相似性0.95);

·对于组#3–形成因特网网页的结构,该因特网网页与银行的因特网网页的指定模版相同(相似性0.90);

·对于组#4–在按下按钮时执行代码的模糊处理以从密码输入表格发送数据(相似性0.87)。

所选组被发送到分析模块160。

分析模块160从判决模版库190选择判决模版,其中至少一个分组指标相似于由统计收集模块150确定的至少一个分组指标。分组指标的相似性如下来确定:构成多对{x,y}(其中{x}为分组紧密度系数,且{y}为分组信任系数)的集合的分组指标的每个集合被看作多维向量v,其中该向量的元素为一对{x,y};计算两个所采取的向量的内积;将所计算的内积与确立的阈值相比较,以及如果所计算的内积未超过确立的阈值,则从其获得上述向量的多个集合的分组指标被视为相似的。

对于从统计收集模块150获得的分组指标,选择如下判决模版:模版#1“银行伪装”:模版信任系数0.1、相似度0.9;以及模版#2“登记伪装”:模版信任系数0.3、相似度0.8。

所选的判决模版和分组指标的相似度被发送到判决宣告模块170。

判决宣告模块170执行如下行为:针对获得的每对判决模版信任系数和分组指标的相似度,计算其乘积:模版#1“银行伪装”:0.1×0.9=0.09;模版#2“登记伪装”:0.3×0.8=0.24;找出产生的乘积中的最小值(0.09)以及核对以查看该最小值是否没有超出确立的阈值(0.15);由于满足上述条件,因此包含在因特网网页http://gimmeyourmoney.com上且由收集模块110选择的脚本被判断为网络钓鱼脚本,如为因特网网页http://gimmeyourmoney.com;在宣告判决之后,将其通知给用户。

由于用户已经被通知因特网网页http://gimmeyourmoney.com为网络钓鱼网站,因此用户将不会向该网站提供其机密数据,即,将保护用户免受网络钓鱼的黑客技术。

图2示出用于检测网络钓鱼脚本的示例性方法。在步骤210中,从网络资源100选择至少一个脚本,该网络资源100包含至少一个脚本。在步骤220中,形成所选脚本的字节码,其中字节码构成一组脚本命令(操作码),该组脚本命令由包含在所选脚本中的至少一个脚本命令组成。在步骤230中,计算所形成的字节码的散列和。

在步骤240中,从散列和库180选择至少一个组,在所述至少一个组中,至少一个散列和相似于所计算的散列和,其中两个散列和的相似性基于两个所指示的散列和的所计算的相似度与散列和相似性的建立阈值的对应性以及两个所指示的散列和的所计算的相似度来确定。所选组包含:至少一个散列和;分组紧密度系数,其指示所计算的散列和将相似于该组的多少个散列和,相似于该组的至少一个散列和,其中两个散列和的相似性基于两个所指示的散列和的所计算的相似度与散列和的相似性的建立阈值的对应性来确定;以及分组信任系数,其指示有多少用于形成该组的散列和的脚本包含用于网络钓鱼的数据。

在步骤250中,基于分组紧密度系数、在步骤240中选择的组中包含的多组的信任系数、以及在步骤240中计算的散列和的相似度,为至少一个所选组确定分组指标,该分组指标指示分组信任系数依赖于分组紧密度系数的程度。

在步骤260中,从判决模版库190选择至少一个判决模版,其中至少一个分组指标相似于如在步骤250中确定的至少一个分组指标,其中两个分组指标的相似性基于所指示的分组指标的所计算的相似度与分组指标的相似性的建立阈值的对应性、以及这些分组指标的所计算的相似度来确定。所选的判决模版包含:至少一个分组指标,其指示分组信任系数依赖于分组紧密度系数的程度;以及判决模版信任系数,其指示有多少用于形成组(从判决模版确定用于这些组的分组指标)的脚本包含用于网络钓鱼的数据。

在步骤270中,基于在步骤260中选择的判决模版中包含的至少一个判决模版信任系数与确立的阈值网络钓鱼值的对应性以及如在步骤260中计算的分组指标的至少一个相似度,对于在步骤210中选择的脚本是否为网络钓鱼脚本进行决定。

下文示例说明上述的用于检测网络钓鱼脚本的系统如何工作用以检测包含在由用户借助电子邮件接收的消息中的网络钓鱼脚本,该消息声称为来自合法的商业组织“worldwidehardwaregoods”的消息。

用户将其邮件客户端(诸如microsoftoutlook)导向至网络资源100(其为电子邮件服务器)以及接收声称来自商业组织“worldwidehardwaregoods”的电子邮件。在步骤210中,拦截模块110(其为电子邮件客户端插件模块)从接收的电子邮件选择脚本。所选的脚本不仅可以为包含在电子邮件本身中的脚本,而且可以在因特网网页上,通向该因特网网页的链接被包含在接收的电子邮件中,以及将所选的脚本发送到字节码形成模块120。

在步骤220中,字节码形成模块120形成拦截的脚本的字节码。为此,从所选的脚本挑出所有脚本命令的序列;从所选的序列移除不实现指定功能(诸如向屏幕显示信息、借助超链接跳跃、加载图像等等)的一些脚本命令;将保留在所选的序列中的脚本命令组合为多组命令,每组包含至少一个脚本命令(例如,负责向屏幕显示信息和加载图像的脚本命令的序列可以被组合为一个组);为每个脚本命令或每组脚本命令分配唯一的二字节值;以及获得的二字节值的序列构成计算的字节码。

在步骤230中,散列和计算模块130从接收的字节码计算模糊散列和(例如在开源算法fuzzyhash的帮助下),其为包含字节码分解而成的块的尺寸以及这些块的散列和的数据的集合。此后,散列和计算模块130将计算的散列和发送到搜索模块140。

在步骤240中,搜索模块140从散列和库180选择散列和组,其中一组构成包括如下项的数据的集合:先前计算的网络钓鱼脚本的散列和;分组紧密度系数,其指示所计算的散列和将相似于该组的多少个散列和,相似于该组的至少一个散列和,其中两个散列和的相似性通过其计算的相似度与确立的阈值的对应性来确定;以及分组信任系数,其指示有多少用于形成该组的散列和的脚本包含用于网络钓鱼的数据。

在从散列和库180选择的过程中,针对包含在散列和库180中的每组的散列和,进行与在步骤230中获得的散列和的模糊比较(模糊搜索)。两个散列和的模糊比较的结果为范围从0到1的数,其表示被比较的散列和彼此的相似程度且被称为两个散列和的相似度(例如,从包含10%的彼此不同的脚本命令的脚本的字节码所计算的模糊散列和的相似性将等于0.9)。在被比较的组的至少一个散列和与在步骤230中获得的散列和的相似度高于确立的阈值(例如0.85)的情况下,认为已经找到该组,且在步骤230中获得的散列和属于被比较的组。此后,将所选组和所确定的相似度发送到统计收集模块150。在步骤250中,对于从电子邮件所选的脚本,具有所选的包含脚本的散列和的组,这些组包含如下功能:

·对于组#1–显示具有用于显示商标(诸如银行的商标)的参数的图像(相似性0.9);

·对于组#2–将数据从密码输入表格传输到若干地址(相似性0.99);

来自所选组的数据被发送到分析模块160。

在步骤260中,分析模块160从判决模版库190选择判决模版,其中至少一个分组指标相似于在步骤250中确定的至少一个分组指标。分组指标的相似性如下来确定:构成多对{x,y}(其中{x}为分组紧密度系数,且{y}为分组信任系数)的集合的分组指标的每个集合被看作多维向量v,其中该向量的元素为一对{x,y};计算两个所采取的向量的内积;将所计算的内积与确立的阈值相比较,以及如果所计算的内积未超过确立的阈值,则从其获得上述向量的分组指标的多个集合被视为相似的。

对于从统计收集模块150获得的分组指标,选择如下判决模版:模版#1“登记伪装”:模版信任系数0.05、相似度0.97。

所选的判决模版和分组指标的相似度被发送到判决宣告模块170。

在步骤270中,判决宣告模块170执行如下行为:针对获得的判决模版信任系数和分组指标的相似度的对,计算其乘积:模版#2“登记伪装”:0.05×0.97=0.0485;进行核对以查看所获得的值是否没有超出确立的阈值(0.1);由于满足上述条件,因此包含在电子邮件中且在步骤210中选择的脚本被判断为网络钓鱼脚本;在宣告判决之后,将其通知给用户。

由于用户已经被通知接收的电子邮件为网络钓鱼电子邮件,因此用户将不会在该电子邮件中提供其机密数据,即,将保护用户免受网络钓鱼的黑客技术。

图3示出根据分组紧密度系数的分组信任系数的绘图的示例。

图4示出在离散傅里叶变换之后的根据分组紧密度系数的分组信任系数的绘图的示例。

图5示出根据分组紧密度系数的分组信任系数的两个绘图的相似性的示例。

由于根据分组紧密度系数的分组信任系数的绘图可以被表示为离散信号,如图3所示,因此可以首先执行根据分组紧密度系数的分组信任系数的绘图的离散傅里叶变换,用于更准确地比较两个绘图以及确定相似度,其结果为,信号函数的振幅表示将被变换为频率表示,如图4所示。因此,经常使用的分组指标将被汇集成更靠近该函数的原点,以及那些很少使用的分组指标将被汇集成更远离该函数的原点且可以被移除,这是因为那些很少使用的分组指标对函数的比较结果具有极小的影响。

图5示出了分组指标的集合501和分组指标的集合502的比较的示例,该分组指标的集合501形成了如从统计收集模块150获得的根据分组紧密度系数的分组信任系数的绘图,该分组指标的集合502形成了如从判决模版库190获得的根据分组紧密度系数的分组信任系数的绘图。

该比较可以按如下进行:构成多对{x,y}(其中{x}为分组紧密度系数,且{y}为分组信任系数)的集合的分组指标的每个集合被看作多维向量v,其中该向量的元素为一对{x,y};计算两个所采取的向量的内积;将所计算的内积与确立的阈值相比较,以及如果所计算的内积未超过确立的阈值,则从其获得上述向量的分组指标的多个集合被视为相似的。

图6示出其上可实施所公开的系统和方法的通用计算机系统(其可以是个人计算机或服务器)的示例。如所示,该计算机系统包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23像从现有技术已知的任何总线结构一样来实现,该任何总线结构接着包括总线存储器或总线存储器控制器、外围总线和本地总线,系统总线23能够与任何其它的总线架构交互。系统存储器包括永久存储器(rom)24和随机存取存储器(random-accessmemory,ram)25。基本输入/输出系统(basicinput/outputsystem,bios)26包括确保在个人计算机20的元件之间的信息传输的基本程序,例如在使用rom24加载操作系统时的那些基本程序。

个人计算机20依次包括用于数据的读取和写入的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28以及用于在可移动光盘31(例如cd-rom、dvd-rom和其它的光学信息媒介)上读取和写入的光盘驱动器30。硬盘27、磁盘驱动器28和光盘驱动器30分别通过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息媒介为用于存储个人计算机20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。

本发明提供了使用硬盘27、可移动磁盘29和可移动光盘31的系统的实现方式,但是应当理解的是,可以采用能够存储计算机可读的形式的数据的其它类型的计算机信息媒介56(固态驱动器、闪存卡、数字盘、随机存取存储器(ram)等等),计算机信息媒介56经由控制器55连接到系统总线23。

计算机20具有保留所记录的操作系统35的文件系统36,并且还具有额外的程序应用37、其它程序模块38和程序数据39。用户能够通过使用输入设备(键盘40、鼠标42)将命令和信息输入到个人计算机20中。可以使用其它的输入设备(未示出):麦克风、操纵杆、游戏控制器、扫描器等等。这些输入设备通常通过串行端口46插入到计算机系统20中,串行端口46转而连接到系统总线,但是这些输入设备可以以其它的方式连接,例如借助并行端口、游戏端口或通用串行总线(universalserialbus,usb)进行连接。监控器47或其它类型的显示设备也通过接口(例如视频适配器48)连接到系统总线23。除了监控器47,个人计算机还可以装备有其它的外围输出设备(未示出),例如扬声器、打印机等等。

个人计算机20能够使用与一个或多个远程计算机49的网络连接而工作在网络环境中。一个或多个远程计算机49也是个人计算机或服务器,其具有在描述个人计算机20的性质时使用的上述元件中的大多数元件或全部元件。其它的设备也可以存在于计算机网络中,例如路由器、网站、对等设备或其它的网络节点。

网络连接可以形成局域计算机网络(local-areacomputernetwork,lan)50和广域计算机网络(wide-areacomputernetwork,wan)。这些网络用在企业计算机网络和公司内部网络中,并且这些网络通常有权访问因特网。在lan或wan网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,个人计算机20可以采用调制解调器54或其它的用于提供与广域计算机网络(例如因特网)的通信的模块。调制解调器54是内部设备或外部设备,通过串行端口46连接到系统总线23。应当注意的是,网络连接仅仅是示例并且不需要描述网络的具体配置,即实际上具有通过技术通信模块建立一个计算机到另一个计算机的连接的其它方式。

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

在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文所使用的术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(applicationspecificintegratedcircuit,asic)或现场可编程门阵列(field-programmablegatearray,fpga))实现的多个部件的组合布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令组(该指令组在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以被执行在通用计算机(例如上文在图6中更详细描述的通用计算机)的处理器上。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文所列举的任何特定的实现方式。

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

此外,应当理解的是,本文所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。本文所公开的各个方面包括本文以说明性方式提到的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文所公开的发明构思的前提下,相比于上文所提及的内容而言的更多的修改是可行的。

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