具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先提供一本发明实施例的钓鱼网站的识别方法的应用场景,参见图1,图1为本发明钓鱼网站的识别方法实施例的应用场景示意图,举例说明如下,第一用户对应的第一终端11向服务器13发送网站访问请求,服务器13根据该网站访问请求中携带的统一资源定位符(Universal Resource Locator,简称:URL)由互联网(Internet)14获取到该URL对应的网站页面信息;如果该服务器13根据预先存储的白名单库判定该URL为正常地址,不需要进行钓鱼识别,则可以直接将上述获取的网站页面信息发送至第一终端11。
第二用户对应的第二终端12也可以向服务器13发送网站访问请求,服务器13根据其所访问的网站URL由互联网(Internet)14获取到该URL对应的网站页面信息;如果该服务器13判定需要对该URL对应的网站页面信息进行钓鱼识别,则可以按照本发明下面的实施例进行钓鱼识别,即将页面信息发送到本发明后续实施例所述的钓鱼网站识别装置,并且向识别装置发送钓鱼识别请求指令;当识别装置判定该网站确定为钓鱼网站时,则服务器13可以阻断第二用户访问该URL,不会向第二终端12推送该URL的页面信息,或者也可以继续推送,但是向第二用户发出警告。其中,钓鱼网站识别装置可以位于服务器13中,也可以设置于其他设备中,如网络接入节点、或者终端的浏览器中。
下面结合附图和具体实施例,对本发明的技术方案做进一步的详细描述。
实施例一
图2为本发明钓鱼网站的识别方法实施例的流程示意图,如图2所示,该方法可以包括以下步骤:
步骤101、钓鱼网站的识别装置解析用户所要访问的目标网站的页面信息得到待分析的文本内容;
例如,可以是钓鱼网站的识别装置中的分析过滤接口模块进行上述的解析工作。其中,目标网站的页面信息的获取方式可以为,
该分析过滤接口模块可以接收来自上层模块或装置的钓鱼识别请求指令。该上层模块或装置例如可以设置于图1中的服务器13中,其可以是上层用户程序,可以是网关侧监控程序,也可以是其他安全或者监控程序的反钓鱼接口等,该上层模块或装置可以截取用户访问流量中的每个访问请求数据包,并根据数据包中的URL下载所请求的相关页面信息。当该上层模块或装置需要对用户所要访问的目标网站的页面信息进行钓鱼识别时,可以向分析过滤接口模块发送钓鱼识别请求指令,并且将获取到的页面信息也发送至分析过滤接口模块。
该分析过滤接口模块在获得上层模块或装置的钓鱼识别请求指令后,则将上层模块或装置传送过来的页面信息的HTML代码进行解析,从解析结果中提取出页面中的文字部分即待分析的文本内容。
步骤102、钓鱼网站的识别装置对文本内容进行分析处理,获取得到所述文本内容中的语句、每一语句中的词语以及该词语的属性;
例如,可以由钓鱼网站的识别装置中的语义抽取模块进行上述分析处理。语义抽取模块可以对文本内容进行语句切分,通过标点符号将文本内容中的文字切分出句子即语句;再以语句为单位进行分词,区分出每一语句中的词语。
由于本发明实施例的钓鱼网站识别是通过语句的语义进行识别的,而语句是由多个词语构成,所以词语可以称为语义元素。语义抽取模块在进行分词处理后,可以通过查找上述预先设置的语义元素知识库,获取文本内容中的词语的属性,具体地,查找到的词语的属性可以采用列表的方式保存。其中,语义元素知识库中存储有至少一个语义元素集合,语义元素集合是指具有同一属性的词语的集合,例如名词性元素集合中进一步包含主办方元素集合、目标对象元素集合等,主办方元素集合中包含“非常6+1”、“腾讯”等,目标对象元素集合包含“雅虎邮箱用户”、“幸运玩家”;动词性元素集合中包含“抽选”、“取消”等,当然动词性元素集合还可以像名词性词语集合一样进一步细分为更多的语义元素集合。将每个词语所在的集合名称作为该词语的属性。
语义元素知识库在存储时,可以采用树形结构进行存储(具体请参照实施例二中的详细描述),也可以采用数组、链表等存储结构来存储,只要能够存储词语及该词语对应的属性即可。
步骤103、钓鱼网站的识别装置将语句与语义框架知识库中的各逻辑关系进行匹配,得到命中所述逻辑关系的语句;
例如,可以由钓鱼网站的识别装置中的语义抽取模块进行上述处理。语义抽取模块可以查找预先设置的语义框架知识库,所述逻辑关系中的待匹配内容至少包括词语的顺序、每个词语的属性,以及其中的至少一个词语内容本身;以语句为单位,将步骤102中得到的语句中的词语及其属性与从语义框架知识库中获得的各逻辑关系进行匹配,得到命中逻辑关系的语句。
其中,语义框架知识库中的语句的逻辑关系可以是针对不同的语境定义的,不同的语境具有不同的逻辑关系。具体的,不同语境指的是网站中的不同页面,例如,对于中奖类的钓鱼站点来说,包含了不同的页面,有领奖页面、中奖资料填写页面、奖品介绍页面等;逻辑关系是用于描述词语之间的关联关系,该逻辑关系中包括词语的顺序、词语的属性、词语内容本身,可选地,还包括该语句所属的页面类别、该页面所属的网站类别等。
针对一个语句和一个逻辑关系而言,若步骤102得到的该语句中的词语和词语的属性能够分别满足逻辑关系中词语的顺序、每个词语的属性,以及其中的至少一个词语内容的三项要求,即三项内容均匹配,则确定该词语命中该逻辑关系;反之,如果其中至少一项内容不匹配,则确定该词语未命中该逻辑关系。其中词语属性匹配是指语句中词语的属性与逻辑关系中限定的相应位置上的词语的属性之间有交集,即至少有一个相同的属性,则确定词语的属性匹配。
相对于现有技术,本实施例的识别方法中,是以语句为单位,基于语句中的各词语之间的关系,并结合该语句所在的语境,得到了较为充分和准确的语句含义即语义,避免了关键词识别方法中的割裂词语在不同语境中的含义而造成的误判,大大提高了钓鱼网站的识别能力。
步骤104、钓鱼网站的识别装置可以根据所述命中逻辑关系的语句计算所述文本内容的命中度,若所述命中度大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。
例如,钓鱼网站的识别装置可以根据所述命中逻辑关系的语句数量和所述文本内容中的语句总数,得到所述文本内容的命中比例,若命中比例大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。例如,若步骤102中对文本内容进行处理得到的语句总数为20,步骤103中命中逻辑关系的语句数量为17,则命中比例为17/20=0.85,设定阈值为0.8,0.85>0.8,则可以确定所分析的目标网站为钓鱼网站。
例如,钓鱼网站的识别装置还可以根据所述语句命中的逻辑关系以及品牌模板知识库中的模板中的逻辑关系,得到所述文本内容与所述模板的相似度;若相似度大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。其中,所述模板中的逻辑关系是根据已知钓鱼页面生成的对应所述钓鱼页面的逻辑关系;文本内容与模板的相似度指的是,例如,模板中包括逻辑关系R1、R2和R3,文本内容中的语句所命中的逻辑关系包括R1、R2、R3、R4和R5,模板中所包括的逻辑关系与上述命中的逻辑关系相比,有三个逻辑关系相同,则相似度为3/5,若相似度大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。
此外,与现有技术相比,以往传统的钓鱼识别只能根据页面特征进行匹配,识别页面就要有对应该页面的HTML模板;当钓鱼方式变化时,例如QQ中奖钓鱼,以前可能是某个页面弹出QQ中奖信息,而现在随着微博的流行,可能QQ中奖直接转到微博上进行诈骗,相应的,就要有微博页面所对应的HTML模板,灵活性很差;而本实施例中的钓鱼识别方法,分析的目标仅仅是文字,无论是来自于微博的还是来自于弹出页面的,只要包含中奖的意思,就能实现钓鱼识别,从而大大提高了钓鱼识别的准确率和健壮性(即识别灵活性),能够应对新型钓鱼页面的识别。
此外,本领域技术人员可以理解,对于命中度的计算方式有很多中,并不局限于上述两种方式,例如,还可以采用加权算法、其他数学模型算法等。
本实施例的钓鱼网站的识别方法,通过基于语义对钓鱼网站进行识别,解决了目前钓鱼网站识别准确率较低的问题,提高钓鱼网站的判断准确率;同时也解决了目前钓鱼网站识别灵活性较差的问题,能够很好的应对钓鱼者更改语言描述方法或者增加干扰词来发起的语义攻击。
实施例二
图3为本发明钓鱼网站的识别方法实施例二的流程示意图,本实施例以某中奖网站的识别为例,对本发明的钓鱼网站的识别方法进行详细说明。
其中,本实施例的识别方法的以下步骤中采用了语义元素知识库和语义框架知识库。为了使得下面对本实施例方法步骤的描述更加清楚,首先对上述两个知识库的结构进行说明如下:参见图4,图4为本发明钓鱼网站的识别方法实施例二中的语义元素知识库中的数据结构示意图。
具体的,语义元素知识库中存储有很多的词语,以及与所述词语对应的属性,语义框架知识库中存储有用于描述词语与词语之间的关联关系的逻辑关系。
例如,语义元素知识库中可以包括名词性元素集合(Noun),该名词性元素集合下又可以包括有主办方元素集合(Holder)(腾讯、非常6+1等)、目标对象元素集合(Target)(雅虎邮箱用户、幸运玩家等)、标题类别元素集合(Title)(超级大奖、二等奖、三等奖)、主语类别元素集合(Subject)、宾语类别元素集合(Object)等;动词性元素(Verb)有抽选、办理、取消、输入等;还有其他形容词、副词等。
语义元素知识库在存储时可以采用附图4中所示的树形结构,椭圆形的节点表示集合,如名词性元素集合Noun、主办方元素集合Holder,目标对象元素集合Target等;集合之间可以存在包含关系,如名词性元素集合Noun中包含主办方元素集合Holder,目标对象元素集合Target。矩形节点表示集合中的词语,通过矩形节点与椭圆形节点的连接关系可以确定集合中包含的词语,如主办方元素集合Holder中包含腾讯、非常6+1等,目标对象元素集合Target中包含雅虎邮箱用户、幸运玩家等。类似地,还有动词性元素集合Verb、形容词性元素集合Adjective等。词语所在的集合的名称作为该词语的属性,如腾讯的属性为主办方。
同一词语可能位于语义元素知识库中的多个语义元素集合中,例如,可以同时位于名词性元素集合、动词性名词集合中,在附图4中则表现为同一个矩形节点与多个椭圆形节点相连接。沿附图4所示语义元素知识库的节点关系树,将词语的所有属性均列举出来(即将词语所在的各级集合名称列举出来),就可以得到该词语的属性列表。例如,一等奖=名词∩主语∩标题∩...,即“一等奖”这个词的属性列表中包含名称、主语、标题。
图5为本发明钓鱼网站的识别方法实施例二中的语义框架知识库中的数据结构示意图,参见图5,例如,语义框架知识库中则针对不同的语境定义各个语句所抽象出的各种逻辑关系(断言)R。该知识库的数据在存储时也可以采用树形结构,结构关系与图4类似;钓鱼网站中通常包括很多类型的钓鱼页面用于引诱目标受骗,以中奖类的钓鱼网站为例,此类网站一般包含几个固定的页面,分别为中奖资料填写页面,领奖页面,奖品介绍页面,公正信息页面,活动协议页面等,上述这些不同的页面即为不同的语境。例如图5中所示的页面I(PageI)、页面II(PageII)....页面N(PageN)等,即表示不同的语境。每一语境下可以包含多种逻辑关系,如图5中所示的R1(X,Y)、R2(X,Y)、Rn(X,Y)等。本实施例中,还将不同的语境归属到了不同网站类别,以更充分和准确的考虑语句的含义;即页面是在某个集合(如赌博赢取Gambling Winning、银行Bank)下面的。不同页面(语境)下有不同的逻辑关系即不同的R,反过来说,不同的语境又是R的不同属性,R所在的一级集合(Winning)、二级语境(PageI)是R的属性。
其中,逻辑关系是使用公式R(x,y)表示。x,y均为拥有特定属性的语义元素(即词语),而不同语境反映了不同的逻辑关系R,而语境同时可以看作是R的属性。拥有不同内容、属性的x,y,R构成了特定的、唯一的逻辑关系。
逻辑关系中包括词语的顺序、词语的属性、至少一个词语的内容、可选地还包括所述语句所属的页面类别、所述页面所属的网站类别。具体为,R1(x,y)的定义方式为:R1={R1||class:XX∩position:XX∩属性值:词语内容∩...},x|R1={x||属性1:XX∩属性2:XX∩...},y|R1={y||属性1:XX∩属性2:XX...}。其中,class为分类,特指语义框架(Framework)中的子节点(如Gambling_Winning);position为位置,特指语义框架(Framework)中class的子节点(如PageI);在R1={R1||class:XX∩position:XX∩属性值:词语内容∩...}中对顺序排列的三个词语x、r、y中中间的词语r的属性值和该词语的内容进行了限定,x|R1={x||属性1:XX∩属性2:XX∩...}和y|R1={y||属性1:XX∩属性2:XX...}中分别对前后两个词语x、y的属性进行了限定。
在上述对语义元素知识库和语义框架知识库说明的基础上,对本实施例采用上述两个知识库进行钓鱼网站识别的方法进行描述。如图2所示,该方法可以包括以下步骤:
步骤201、钓鱼网站的识别装置获取得到待分析文本内容并进行预处理;
例如,该分析过滤接口模块可以接收互联网针对用户的网站A访问请求返回的网站A页面信息,并将该页面信息HTML进行解析,提取出页面中的文字部分即待分析的文本内容。
预处理指的是,可以对待分析文本内容进行去噪,例如,去掉文本内容中的“*”、“.”、“【】”、“『』”、不正常空格等干扰元素。
步骤202、钓鱼网站的识别装置判断文本内容中是否包含特定关键词,若是,则继续执行步骤203,否则,结束本次识别流程。
其中,为了保证处理速度并节省资源,可以预先将步骤201中处理后的文字进行简单关键词过滤。例如,通常情况下,金融类网站、中奖类网站由于涉及到金钱、用户敏感信息等,可能会出现仿冒这类网站进行盗取用户信息的钓鱼网站,而新闻类等网站不会涉及到用户敏感信息,相对之下一般不会出现对应的钓鱼网站,所以可以设定“金融”为关键词,若文本内容中没有该设定的敏感关键词时,说明此类网站没有必要进行钓鱼识别,则结束本次流程,从而节省资源加快了处理速度。
此外,合法网站的URL可以预先设置在相关网元设备的白名单中,是不会送到本实施例的识别装置进行识别的,相应也减少了处理量。
步骤203、钓鱼网站的识别装置对文本内容中的文字进行语句切分和分词处理,得到所述文本内容中的语句以及每一语句中的词语,针对得到的每个语句依次分别执行步骤204~207,直到处理完文本内容中的每个语句为止。
例如,识别装置可以通过句号、冒号、叹号、括号等标点符号,对文本内容中的文字进行语句切分,得到多个语句。
接着,可以以语句为单位进行分词。例如,可以使用正向最大匹配分词(Forward Maximum Matching,简称:FMM)进行分词,该FMM是一类似于词典的知识库,其中存储了较多的词语,将语句中的文字逐个与FMM中的词语比较而切分出词语。分词之后,可以再做进一步处理,调整词语的顺序或者将无用的修饰性词舍去等。例如,顿号前的数字或者英文可以舍去,被动句可以将主语、谓语进行调换等。
本实施例中,还可以根据语义元素知识库,对分词处理之后的得到的文本内容中的词语进行舍弃处理,即精简处理。一方面,可以去除语义元素知识库中不存在的词语,因为该词语如果不存在于语义元素知识库中,后续就无法查找出它的各种属性,则也就无法分析语义;另一方面,可以舍去一些修饰性的词语,例如,当两个词语均属于名词节点下,且后一个词为“主语”节点或者“主办方”节点下的时候,舍去前一个名词,如,“腾讯后台系统”被分为“腾讯/后台系统”,且“腾讯”舍去。通过根据语义元素知识库进行分词处理,并进行不断的舍弃处理,可以精简文本内容中的词语且更符合语义元素知识库中的词语架构,一个语句在精简后可能只剩下几个必要的核心词,这样只需要对这几个必要核心词进行遍历,而不需要对语句中的所有词语进行遍历,从而提高了处理速度。
步骤204、钓鱼网站的识别装置遍历语义元素知识库节点,定位出语句中的每个核心词,查找出该核心词的每个属性,并记录各核心词的属性列表;
例如,以某QQ中奖网站为例,在其填写中奖号码的页面有一句话为:“活动期间,每日将由腾讯后台系统随机抽选十名幸运玩家!”。首先将分词后的每个核心词语(例如,语义元素中的名词与动词,该词语可以是步骤203中进行语句精简后剩余的核心词,并且核心词语是能够代表语句语义的关键性词语,并不局限于这里所述的名词、动词)属性全部递归并扩展出来。得到核心词的属性列表:后台系统={属性1:名词∩属性2:主语∩...},幸运玩家={属性1:名词∩属性2:宾语∩...},抽选={属性1:动词∩属性2:谓语∩...}。即抽象出:“后台系统”这个语义元素包含了“名词”、“主语”两个属性,“幸运玩家”包含了“名词”、“宾语”两个属性,“抽选”包含了“动词”、“谓语”两个属性。
步骤205、钓鱼网站的识别装置通过遍历的方式,依次获得语义框架知识库节点中的每个逻辑关系,并判断是否遍历结束;若是,则返回处理文本内容中的下一个语句,否则,继续步骤206;
步骤206、钓鱼网站的识别装置测试经过分析得到的语句中的词语及其属性是否可以匹配步骤205获得的语义框架知识库中的逻辑关系,若是进入步骤207,否则返回步骤205;
以本次遍历获得的框架中的R1(x,y)为例进行说明,其中R1(x,y)在Framework的一级节点赌博输赢Gambling_Winning下,在PageI(Page_Verf)y的二级节点下,关系动词为“抽选”(这里的关系动词是R1的一个属性,只是举例,并不局限于关系动词属性,还可以为其他属性),即:R1={R1|class:Gambling_Winning∩position:Page_Verify∩动词:抽选};其中的x,y分别要求具有属性:x|R1={x|属性1:名词∩属性2:主语},y|R2={y|属性1:名词∩属性2:宾语}。
在本实施例中为了简明起见,所列举的逻辑关系中仅包含x、y两个词语的属性、以及一个x、y之间的属性为动词的第三个词语“抽取”,即逻辑关系中包含了三个词语的顺序、三个词语的属性,以及其中一个词语的内容。实际上,逻辑关系中也可以包含四个词语的顺序、四个词语的属性以及其中至少一个词语的内容,逻辑关系中包含更多词语的情况在这里不再一一列举。
测试步骤204中提取出的核心词语及其属性是否可以匹配至该逻辑关系,例如,提取出的核心词语中包括后台系统、幸运玩家,分别查看这两个词是否匹配x,y所要求的属性,提取出的核心词语中所包括的动词抽选,是否匹配R1中所定义的关系动词。
步骤207、若测试结果为匹配逻辑关系,则表明命中逻辑关系,记录命中的逻辑关系的标识,返回执行步骤205;
若后台系统的属性列表中包含的属性与x所要求的属性中有至少一个相同的属性、幸运玩家的属性列表中包含的属性与y所要求的属性有至少一个相同的属性、且动词“抽选”匹配中R1所定义的关系动词,则确定命中逻辑关系R1,否则确定未命中逻辑关系。
在本实施例中“后台系统”的属性与x要求的属性中有相同的属性“名词”、“主语”;“幸运玩家”的属性与y要求的属性中有相同的属性“名词”、“宾语”,且“抽选”与R1所定义的x、y之间的词语内容相同、且“抽选”与R1所定义的x、y之间词语的属性也相同,因此命中逻辑关系R1。
可选地,如果确定步骤204中提取出的语句中的核心词语及其属性命中逻辑关系R1之后,可以认为语句具有R1上层节点的全部信息,即具有Gambling_Winning∩Page_Verfy的属性,可以通过反向查询R1中所定义的class:和position:,判断该语句“活动期间,每日将由腾讯后台系统随机抽选十名幸运玩家!”是属于赌博输赢的那个语境下面。
通过上述步骤,根据语句中词与词的关系映射到语义框架知识库的逻辑关系中,提取出抽象后的语义,即“在中奖类网站的某页面语境,后台系统将抽选幸运玩家”。其中,一条语句不一定只会命中一条逻辑关系,也可能命中多条。例如,一语句命中了R1,R7,R9,可能R1,R7,R9的动词恰好一样,该语句的其他核心词的属性列表中也恰好能包含R1,R7,R9各自所要求的x,y的属性条件;从语句意思的角度来说,某语句也可能不仅仅在一个特定的语境(页面)下存在,可能在很多语境中都存在。
钓鱼网站的识别装置可以对文本内容中的每一个语句均执行步骤204-步骤207,最终会得到该文本内容中的各语句所命中的逻辑关系,之后,进入步骤208。
步骤208,根据文本内容命中所述逻辑关系的语句,计算所述文本内容的命中度,若所述命中度大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。
可选地,在步骤208中可以通过命中语义框架知识库中逻辑关系的语句数目以及文本内容中包含的总语句设定阈值直接判定是否为钓鱼。具体的,统计页面中所有的语句数目以及页面中命中逻辑关系的语句数目,将命中逻辑关系的语句数目除以语句的总数目,即计算该页面所有语句中命中的比例;设定一个阈值,当上述比例超过该阈值的时候即判定为钓鱼。进一步可选地,在待分析页面中的每一语句完成语义抽取之后,统计各语句命中的所有逻辑关系,并根据命中的逻辑关系所具有的指定属性(如class和position等)进行归类,依照语义框架归并该页面命中相同大类(class为大类)下的所有逻辑关系,并进行数目统计得到命中最多的大类(例如,属于Gambling_Winning大类下的页面中的语句命中了10个逻辑关系,Bank大类下的R下命中了5个逻辑关系),选取最多的命中大类数目(即10)作为该页面命中的钓鱼语句数目,同时统计该页面所有的语句数目(假设为30),计算命中比例(10/30),并根据阈值(假设为20%)判定是否为钓鱼(例如,若命中比例为33%,33%>20%,则确定该页面为钓鱼页面)。
可选地,在步骤208中,还可以通过模板匹配的方式进行钓鱼判定。根据所述页面中的语句命中的逻辑关系以及品牌模板知识库中的模板中的逻辑关系,得到所述文本内容与各模板的相似度,将所述文本内容与相似度最大的模板之间的相似度作为命中度;所述模板中的逻辑关系是根据已知钓鱼页面生成的对应所述钓鱼页面的逻辑关系。具体的,当有需要对识别出的钓鱼URL进行品牌标记的时候,需要引入模板进行比较;模板是预先根据已知的钓鱼URL所指向的页面生成的记录有该页面中的语句所命中的逻辑关系的样例文件。而模板文件生成的过程中,在记录命中的逻辑关系同时,将其所仿冒的对象品牌进行识别并记录到模板文件中;当待分析的页面与该模板相似度最大时,即认为待分析页面与该模板最相似;进一步,当待分析页面与相似度最大的模板之间的相似度超过设定的阈值时,确定待分析的页面未钓鱼页面,可选地,同时还可以根据该模板记录的品牌信息,对该条URL进行标记。例如,在待分析页面中的每语句完成语义抽取之后,确定待分析页面中语句命中的所有逻辑关系,遍历所有的模板文件,并将待分析页面中语句命中的逻辑关系逐个与模板文件中的逻辑关系进行比对,在统计出待分析页面中语句命中的逻辑关系中与每个模板中的逻辑关系数之间相同的逻辑关系后,通过加权平均的方法找出最相似的模板;将与最相似模板的相似度作为命中度,判断命中度是否超过设定的阈值,若是为钓鱼页面,否则为非钓鱼页面。可选地,还可以根据模板记录的品牌名称,对该待分析页面进行品牌标记。例如,假设所有逻辑关系的加权值均相同,待分析文本内容命中了逻辑关系R1,R2,R3,R4,模板1包含R1,R2,模板2包含R1,模板3包含R1,R3,R4,则模板3为最相似的模板(相同的逻辑关系数目最多),计算模板3与待分析文本内容的相似度(可以采用加权平均的方法),如果大于阈值,则待分析页面为钓鱼页面,否则不是钓鱼页面。
其中,对上述中的“品牌”进行解释如下:例如,淘宝、工行、建行等可以定义为品牌;模板中记录着生成模板页面的品牌。举例说,有个模仿淘宝的钓鱼页面,根据这个页面生成了模板,模板中加入了淘宝这个品牌信息,当待分析页面与该模板命中的时候,就可以根据模板中的品牌信息(淘宝),推断出命中该模板的页面是模仿淘宝的钓鱼页面,即,包括两层含义,一个是该页面是钓鱼页面,另一个是该钓鱼页面模仿的是淘宝。
本专利适用于多种目标,可以是钓鱼邮件,可以是钓鱼网页/网站;该专利可以作为独立的识别过滤模块使用,也可以作为多条件判断过滤的一部分,如在此匹配基础上增加特征检测以提高准确度;本专利的部署适用于多种应用场合,在有HTTP协议数据流流经的任意网络节点处均可进行部署,也可部署在个人浏览器端进行钓鱼站点监测与阻断。
本实施例真正从语义的角度理解页面内容的含义,代替了单纯的机械匹配或者特征匹配的方式,让机器能够实现对文本的语义理解,而不是通过单纯计算关键词之间的相似度,从而使得钓鱼的识别灵活性大大增加;并且,避免了单纯依靠关键词进行过滤的方式。降低了因割裂词在句中含义而引发的误报率;避免了钓鱼者通过增加干扰词逃避识别引擎的过滤;降低了因通过修改表述方式或者增加干扰词而引发的漏报率;避免了由于正规网站的实时更新导致的匹配模板过于庞大或者需要实施更新。也避免了更新带来的匹配失败引发的误报。
实施例三
图6为本发明钓鱼网站的识别装置实施例一的结构示意图,该识别装置可以执行本发明任意钓鱼网站的识别方法实施例所述的方法,本实施例简单介绍该装置的结构,具体的工作方法可以参见方法实施例所述。
如图6所示,本实施例的识别装置可以包括:分析过滤接口模块41、语义抽取模块42、钓鱼识别模块43、语义元素知识库44和语义框架知识库45;所述语义抽取模块42包括语义元素分析单元421和语义框架匹配单元422。
其中,分析过滤接口模块41,用于解析用户所要访问的目标网站的页面信息得到待分析的文本内容;
所述语义元素分析单元421,用于对所述文本内容进行语句切分和分词处理,得到所述文本内容中的语句以及每一语句中的词语;查找预先设置的语义元素知识库,所述语义元素知识库中包括词语以及对应的属性,获取所述文本内容中的词语的属性;
所述语义框架匹配单元422,用于以所述语句为单位,将所述语句与从语义框架知识库中获得的各逻辑关系进行匹配,其中每个所述逻辑关系中待匹配内容包括词语的顺序、每个词语的属性、及至少一个词语的内容;若各项内容均匹配,则确定所述语句命中逻辑关系;
所述钓鱼识别模块43,用于根据所述命中逻辑关系的语句计算所述文本内容的命中度,若所述命中度大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。
本实施例的钓鱼网站的识别装置,通过设置钓鱼识别模块等,基于语义对钓鱼网站进行识别,解决了目前钓鱼网站识别准确率较低的问题,提高钓鱼网站的判断准确率;同时也解决了目前钓鱼网站识别灵活性较差的问题,能够很好的应对钓鱼者更改语言描述方法或增加干扰词来发起的语义攻击。
实施例四
图7为本发明钓鱼网站的识别装置实施例二的结构示意图,同样,该识别装置可以执行本发明任意钓鱼网站的识别方法实施例所述的方法,本实施例简单介绍该装置的结构,具体的工作方法可以参见方法实施例所述。如图7所示,本实施例的识别装置在实施例三的基础上,
语义抽取模块42,还可以包括预处理单元423,该预处理单元423用于判断分析过滤接口模块41得到的所述文本内容中是否存在预先设定的关键词;语义元素分析单元421在预处理单元423的判断结果为存在时,对所述文本内容进行语句切分和分词处理。
所述语义元素分析单元421,可以包括舍弃处理子单元424和分析子单元425。其中,舍弃处理子单元424,用于根据语义元素知识库44,对分词处理之后的得到的文本内容中的部分词语进行舍弃处理,所指的部分词语以及对应的属性未包含在语义元素知识库44中;分析子单元425,用于查找预先设置的语义元素知识库44,获得舍弃处理子单元424舍弃处理后剩余词语的属性。
可选地,所述钓鱼识别模块43可以包括:确定单元431和判断单元432;其中,
确定单元431,用于根据所述命中逻辑关系的语句数量和所述文本内容中的语句总数,得到所述文本内容的命中比例,将所述命中比例作为命中度;
判断单元432,用于在确定单元431得到的命中度大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。
可选地,所述钓鱼识别模块43可以包括:品牌模板知识库46;该品牌模板知识库46用于存储包含逻辑关系的模板,所述模板中的逻辑关系是根据已知钓鱼页面生成的对应所述钓鱼页面的逻辑关系;
在利用上述的品牌模板知识库46时,确定单元431,可以根据所述文本内容中的语句命中的逻辑关系、以及品牌模板知识库46中模板中的逻辑关系,得到所述文本内容与所述模板之间的相似度,将所述文本内容与相似度最大的模板之间的相似度作为命中度;判断单元432,可以在确定单元431得到的命中度大于或者等于预先设定的命中阈值,则确定所述目标网站为钓鱼网站。
本实施例的钓鱼网站的识别装置,通过设置钓鱼识别模块等,基于语义对钓鱼网站进行识别,解决了目前钓鱼网站识别准确率较低的问题,提高钓鱼网站的判断准确率;同时也解决了目前钓鱼网站识别灵活性较差的问题,能够很好的应对钓鱼者更改语言描述方法或增加干扰词来发起的语义攻击。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。