CN105956472B - 识别网页中是否包含恶意内容的方法和系统 - Google Patents

识别网页中是否包含恶意内容的方法和系统 Download PDF

Info

Publication number
CN105956472B
CN105956472B CN201610313359.3A CN201610313359A CN105956472B CN 105956472 B CN105956472 B CN 105956472B CN 201610313359 A CN201610313359 A CN 201610313359A CN 105956472 B CN105956472 B CN 105956472B
Authority
CN
China
Prior art keywords
webpage
feature
identified
result
url
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.)
Active
Application number
CN201610313359.3A
Other languages
English (en)
Other versions
CN105956472A (zh
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.)
Quantum innovation (Beijing) Information Technology Co., Ltd
Original Assignee
Baoli Nine Chapters (beijing) Data Technology Co 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 Baoli Nine Chapters (beijing) Data Technology Co Ltd filed Critical Baoli Nine Chapters (beijing) Data Technology Co Ltd
Priority to CN201610313359.3A priority Critical patent/CN105956472B/zh
Publication of CN105956472A publication Critical patent/CN105956472A/zh
Application granted granted Critical
Publication of CN105956472B publication Critical patent/CN105956472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

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)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了识别网页中是否包含恶意内容的方法,其中一种识别方法包括步骤:解析待识别网页的URL以从URL中提取URL特征以生成第一特征集;根据第一特征集生成第一特征向量;以及利用第一特征模型来处理所述第一特征向量,并输出第一结果以表征所述待识别网页是否包含恶意内容。本发明还公开了另外三种识别方法,以及与之对应的识别网页中是否包含恶意内容的系统。

Description

识别网页中是否包含恶意内容的方法和系统
技术领域
本发明涉及网络安全技术领域,尤其是识别网页中是否包含恶意内容的方法和系统。
背景技术
随着互联网发展,基于WEB的应用也日益普及,人们通过浏览器可以查询银行账户、网上购物等,WEB为人们提供了方便快捷的交互方式。但随之而来的问题是:大量的恶意网站攻击逐年成倍递增,其通过一系列技术手段伪装身份来骗取用户的信任,进而谋取非法利益,用户在恶意网站的攻击下遭受巨大的经济损失。因此如何识别网页中的恶意内容、防范恶意网站,成为网络安全领域一个非常有意义的研究课题。
现有的防范恶意网站的技术主要是给定一个可疑网页的URL,将其发送至黑名单数据库进行查询,然而由于钓鱼网站不断更新换代,这种方法对钓鱼网站等恶意网站的检出率不高并具有滞后性。或者是通过扫描网页内容,查找网页中是否存在恶意关键词;或是提取网页图像的基本特征,计算可疑网页与真实网页之间的相似度,以此来判断可疑网页是否具有模仿嫌疑,但上述方法都有各自的局限性,造成误判率较高。
发明内容
为此,本发明提供了识别网页中是否包含恶意内容的方法和系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种识别网页中是否包含恶意内容的方法,包括步骤:解析待识别网页的URL以从URL中提取URL特征以生成第一特征集;根据第一特征集生成第一特征向量;以及利用第一特征模型来处理所述第一特征向量,并输出第一结果以表征所述待识别网页是否包含恶意内容。
在根据本发明的识别方法中,还包括预处理步骤:提取待识别网页的URL,判断待识别网页URL与预存数据库中的URL是否一致,若待识别网页URL在第一预存数据库中,则判断该待识别网页包含恶意内容;以及若待识别网页URL在第二预存数据库中,则判断该待识别网页不包含恶意内容。
根据本发明的另一方面,提供了一种识别网页中是否包含恶意内容的方法,包括步骤:抓取待识别网页内容,对所抓取的网页内容进行分词处理得到词序列;根据词序列中是否存在第二特征集中的特征词来构造维度为第一预定数目的第二特征向量,其中第二特征集中预存了第一预定数目个特征词;以及利用第二特征模型处理所述第二特征向量,并输出第二结果以表征所述待识别网页是否包含恶意内容。
根据本发明的一方面,提供了一种识别网页中是否包含恶意内容的方法,包括步骤:根据待识别网页的URL提取待识别网页的第一身份信息;提取该待识别网页的所有外链接;根据外链接确定该待识别网页的第二身份信息;以及比较第一身份信息和第二身份信息,输出第三结果以表征该待识别网页是否包含恶意内容。
根据本发明的一方面,提供了一种识别网页中是否包含恶意内容的方法,包括步骤:执行如上所述的识别方法以输出第一结果;执行如上所述的识别方法以输出第二结果;执行如上所述的识别方法以输出第三结果;对第一结果、第二结果、和第三结果进行加权算法,得到最终结果;若最终结果大于阈值,则判定该待识别网页中包含恶意内容;以及若最终结果不大于阈值,则判定该待识别网页中不包含恶意内容。
相应地,本发明还提供了分别与上述四种识别方法相对应的四种识别网页中是否包含恶意内容的系统。
基于上文的描述,本方案旨在提供一种高效、适用性强的识别恶意网页的方案,该方案包括了以下几种识别方法:
首先,通过黑白名单对待识别网页的URL进行过滤;
然后,解析待识别网页的URL并提取第一特征集,利用机器学习模型来处理第一特征集,输出第一结果以表征待识别网页是否包含恶意内容;
同时,根据待识别网页的网页内容提取第二特征向量,利用机器学习模型处理第二特征向量,输出第二结果以表征待识别网页是否包含恶意内容;
或者,通过分析待识别网页和其对应外链接的网页身份信息,判断待识别网页是否具有模仿嫌疑,并输出第三结果以表征待识别网页是否包含恶意内容;
最后,还可以将上述第一结果、第二结果、第三结果做加权运算,以达到更全面的识别判断的目的。
这样,本方案在传统的黑白名单识别方法的基础上,结合机器学习模型和模仿嫌疑识别方法,同时考虑了URL特征和网页内容,既解决了黑白名单识别的滞后性,又有一定的检测未知恶意网站的能力,还节省了人力资源,通过自动的方式对待识别网页进行识别。并且,可以根据应用场景的需求,灵活选择上述识别方法进行组合,以便于快速、准确地识别网页中是否包含恶意内容。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的识别网页中是否包含恶意内容的方法100的流程图;
图2示出了根据本发明另一实施例的识别网页中是否包含恶意内容的方法200的流程图;
图3示出了根据本发明又一实施例的识别网页中是否包含恶意内容的方法300的流程图;
图4示出了根据本发明又一实施例的识别网页中是否包含恶意内容的方法400的流程图;
图5示出了根据本发明一个实施例的识别网页中是否包含恶意内容的系统500的示意图;
图6示出了根据本发明另一实施例的识别网页中是否包含恶意内容的系统600的示意图;
图7示出了根据本发明又一实施例的识别网页中是否包含恶意内容的系统700的示意图;以及
图8示出了根据本发明又一实施例的识别网页中是否包含恶意内容的系统800的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的识别网页中是否包含恶意内容的方法100的流程图。
根据本发明的一个实施例,为提高恶意网页的识别效率,对输入的待识别网页做预处理操作,也就是采用黑白名单过滤待识别网页,以删选掉易于识别出的网页。具体地,提取待识别网页的URL,判断该待识别网页URL与预存数据库(即黑名单和白名单)中的URL是否一致,若待识别网页URL在第一预存数据库(即,黑名单)中,则判断该待识别网页包含恶意内容;若待识别网页URL在第二预存数据库(即,白名单)中,则判断该待识别网页不包含恶意内容;对于剩下的没有匹配到的待识别网页,则进行步骤S110的操作,以对其继续分析。
如下示出了黑白名单过滤时的代码执行逻辑,其中whitelist指白名单,blacklist指黑名单:
通过预处理步骤,先简单筛选掉易识别的网页,再分析待识别网页。该预处理步骤可以与其他识别方法相结合,本发明对此不作限制。
在步骤S110中,解析待识别网页的URL以从所述URL中提取URL特征以生成第一特征集。
URL的每个片段都向客户端和服务器传达特定的信息,一个网页的URL可以被分解为几个主要部分,如下所示:
其中协议(protocol)、主机(host)、路径(path)等各基本组成部分的介绍此处不作展开。以如下URL为例:
http://www.baidu.com/path/index.hrml?q=adf
解析后得到:
protocol:http
host:www.baidu.com
path:path/index.hrml?q=adf
pathname:path/index.hrml
query:?q=adf
然后提取URL特征以生成第一特征集。
根据本发明的实施例,一共提取了URL的18个结构特征和7个词汇特征,如下(以Fi表示第i个特征):
F1:url_len,URL长度,通常恶意网页的URL长度都过长;
F2:http_n,http协议的使用次数,包含恶意内容的网页,例如钓鱼链接通常会多次使用http协议,以此改变链接导向,将用户导向设计好的钓鱼网站中去,如,http://www.taobao.com/url?q=http://www.59adfadss123.com,该链接看起来似乎是导向淘宝主页,而事实上当用户点击时会被重定向到后面的钓鱼网站上去。因此,多次使用http协议的链接很有可能是钓鱼链接;
F3:tld_inht,顶级域名是否合法,其中,用1表示合法,0表示不合法;
F4:is_ip,链接中是否含有IP地址,通常含有IP地址的链接很可能是钓鱼链接,而合法的链接基本上不会包含IP地址,同样,用1表示是,0表示否;
F5和F6表示URL链接中含指定字符的个数,分别为:
F5:url_n_percent,链接中字符′%′个数,通常含有′%′的URL是采用unicode编码,如,
http://www.taobao.com@%77%77%77%2E%70%68%69%73%68%2E%63%6F%6D;
F6:url_n_token,链接中含有′_′、′-′、′&′、′#′、′?′等分隔符的数目;
F7:host_len,主机字符串的长度;
F8和F9表示主机字符串中含指定字符的个数,分别为:
F8:host_n_dot,主机字符串含有点号分隔符的数目;
F9:host_n_token,主机字符串含有′_′、′-′、′&′、′#′、′?′等分隔符的数目;
F10:host_max_len,主机字符串按点号分隔符分割后最长字符串的长度,如www.taobao.1242.59adfadss123.com按照点号分割后的字符串为:"www"、"taobao"、"1242"、"59adfadss123"、"com",其中F10=12;
F11和F12表示路径中含指定字符的个数,分别为:
F11:path_n_dot,路径中含有点号分隔符的数目;
F12:path_n_token,路径中含有′_′、′-′、′&′、′#′、′?′等分隔符的数目;
F13:pathname_len,路径名的长度;
F14和F15表示路径名中含指定字符的个数,分别为:
F14:pathname_n_dot,路径名中含有点号分隔符的数目;
F15:pathname_n_token,路径名中含有′_′、′-′、′&′、′#′、′?′等分隔符的数目;
F16:pathname_max_len,路径名按′/′分割后最长字符串的长度,同F10
F17:n_subdir,路径深度,路径名中用′/′表征路径的深度,通常恶意的链接都通过加深路径来混淆用户;
F18:query_len,query字段的长度;
F19~F25:分别表示URL链接中是否包含字符串"secure"、"account"、"webscr"、"login"、"signin"、"banking"、"confirm",通常恶意链接会包含这些字符串。
本实施例只是给出了第一特征集的一个示例,第一特征集可以包含上述至少一个URL特征,也可以提取其他的URL特征,本发明对此不作限制。
随后在步骤S120中,根据上述第一特征集生成第一特征向量。
a)先对第一特征集中的每个特征进行数值化得到特征值,将所有特征值组成一个特征向量。以上面的25个URL特征为例,对于如下的URL:
http://www.dyfdzx.com/js/?app=com-d3&ref=http://jebvahnus.battle.net/d3/en/index
提取F1到F25特征得到特征值,组成一个25维的特征向量
b)再对上述特征向量中的每一维特征值进行归一化处理,生成第一特征向量。
根据本发明的一个实施例,按如下公式将特征向量中的每一维特征值归一化到[-1,1]之间:
其中,Fi为第i维特征值,为第i维特征值的平均值,Fi,max为第i维特征值的最大值,Fi,min为第i维特征值的最小值。
因此,步骤a)生成的特征向量经归一化后为:
随后在步骤S130中,利用第一特征模型来处理步骤S120中得到的第一特征向量,并输出第一结果以表征该待识别网页是否包含恶意内容。
根据本发明的实施方式,采用支持向量机算法(SVM)对第一特征向量进行分类,输出0或1作为第一结果,具体地,若输出第一结果为1则表示待识别网页包含恶意内容;若输出第一结果为0则表示待识别网页不包含恶意内容。
支持向量机(Support Vector Machine,SVM)是基于统计学习理论的一种机器学习方法,其核心是找到一个超平面(hyperplane)将训练数据分隔开,保证这个hyperplane两侧的间隔(margin)最大,也就是说,SVM算法通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。理论上它是一个二元分类器,但是可以被拓展成多元分类器。应当注意的是,本发明用于训练的特征模型(例如,第一特征模型)不受限于此。
例如,对于待识别网页A,其URL为:
http://ssol.iitk.ac.in/wp-content/onlineinformationnabaustralia/informationsec ureonline/login.php?NAB82515Reset-Online-Account7137
提取其URL特征生成特征向量为:
再经归一化得到第一特征向量:
输入第一特征模型,输出的第一结果为1,表示该网页A包含恶意内容。
又如,对于待识别网页B,其URL为:
http://www.annyway.com/annyway/MMSC.84+M5d637b1e38d.0.html
提取其URL特征生成特征向量为:
再经归一化得到第一特征向量:
输入第一特征模型后,输出的第一结果为0,表示该网页B不包含恶意内容。
根据本发明的实现方式,该识别方法100还包括训练第一特征模型的步骤:
(1)选取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的URL作为样本数据,并对样本数据执行步骤S110的操作,得到样本数据的第一特征集。
(2)同步骤S120,根据样本数据的第一特征集生成对应的第一特征向量,作为训练参数。
(3)利用机器学习算法(支持向量机算法)训练步骤(2)中的训练参数,得到原始的分类学习模型SVM-Model,即第一特征模型。
根据本发明的实施例,为应对恶意网站攻击的多变性,该识别方法100还包括在线更新第一特征模型的步骤:在预定时间内更新样本数据,再执行上述步骤(1)、(2),生成新的样本数据的第一特征向量,将更新的第一特征向量输入第一特征模型进行训练,生成新的第一特征模型并取代旧的第一特征模型。
再者,由于恶意链接经常变化,本方案也会对第一特征向量的生成算法进行更新,比如增加新的URL特征、删除现有的某个URL特征、改变第一特征向量的维度……
根据上述对识别方法100的描述,解析待识别网页的URL以提取第一特征集,再将第一特征集对应的第一特征向量输入到第一特征模型中,得到待识别网页所属的特征空间,以判断该特征空间是否属于包含恶意内容的网页的特征空间,若是,则输出1表示该网页包含恶意内容。方法100无需人工识别URL,也不需要人工制定规则,从而节省了人力。另外,考虑到恶意网站的多变性,定时更新第一特征模型,也改进了现有识别方法滞后的缺点。
图2示出了根据本发明另一实施例的识别网页中是否包含恶意内容的方法200的流程图。如图2所示,该识别方法200包括如下步骤:
步骤S210中,抓取待识别网页内容,对所抓取的网页内容进行分词处理得到词序列。
根据本发明的一个实施例,采用scrapy框架对网页内容进行爬取,然后采用MMSEG对爬取的网页内容进行分词处理得到词序列。MMSEG是中文分词中一个常见的、基于词典的分词算法,具有简易直观,实现不复杂,运行速度快的优点。简单来讲,该分词算法包含“匹配算法”和“消除歧义规则”,其中匹配算法指如何根据词典里保存的词语,对要切分的语句进行匹配;“消除歧义规则”是说当一句话可以这样分,也可以那样分的时候,用什么规则来判定使用哪种分法,比如“设施和服务”这个短语,可以分成“设施/和服/务”,也可以分成“设施/和/服务”,选择哪个分词结果,就是“消除歧义规则”的功能。在MMSEG算法中,定义匹配算法有两种:简单最大匹配和复杂最大匹配;定义的消除歧义的规则有四种:最大匹配(Maximum matching,对应上述两种匹配算法)、最大平均词语长度(Largest average wordlength)、词语长度的最小变化率(Smallest variance of word lengths)、计算词组中的所有单字词词频的自然对数,然后将得到的值相加,取总和最大的词组(Largest sum ofdegree of morphemic freedom of one-character words)。
随后在步骤S220中,根据词序列中是否存在第二特征集中的特征词来构造维度为第一预定数目的第二特征向量,其中第二特征集中预存了第一预定数目个特征词。
首先,根据本发明的一个实施例,第二特征集采取如下方法生成:获取预置网页的网页内容,对所获取的网页内容进行分词处理得到词序列,对词序列中的每个词语,计算表征该词语重要性的第二特征值,根据第二特征值从高到低的顺序选取第一预定数目个(例如,500)词语作为特征词,组成第二特征集。
其中,第二特征值被定义为在出现某词语的条件下,网页中是否包含恶意内容的概率分布和网页是否包含恶意内容概率分布的距离,也就是词语的期望交叉熵(ExpectedCross Entropy),一般而言,词语w的期望交叉嫡越大,区分样本的能力就越强,期望交叉熵的计算公式如下:
其中,P(phish|w)指在词语w出现的条件下待识别网页是钓鱼网页的概率,P(phish)指钓鱼网页的概率,P(nophish|w)指在词语w出现的条件下待识别网页不是钓鱼网页的概率,P(nophish)指非钓鱼网页的概率。
然后,根据词序列中是否存在特征词来构造第二特征向量的步骤包括:
①对于第二特征集中的每个特征词,依序查找词序列中是否存在该特征词:
若词序列中存在该特征词,则将该特征词在第二特征集中对应位置处的值赋为1;
若词序列中不存在该特征词,则将该特征词在第二特征集中对应位置处的值赋为0。
②根据特征词对应位置处的赋值生成维度为第一预定数目的第二特征向量,例如,选取N个词语作为特征词(根据本发明的实施方式,N一般取450~550之间),那么第二特征向量就可以表示为:
随后在步骤S230中,利用第二特征模型处理步骤S220生成的第二特征向量,并输出第二结果以表征待识别网页是否包含恶意内容。根据本发明的实施例,若输出第二结果为1则表示待识别网页包含恶意内容;若输出第二结果为0则表示待识别网页不包含恶意内容。
同识别方法100所描述的那样,该识别方法200也包含训练第二特征模型的步骤:
(1)选取大量已经被标记为包含恶意内容的网页和不包含恶意内容的网页的网页内容作为样本数据,同步骤S210中一样,对所抓取的网页内容进行分词处理得到词序列。
(2)根据第二特征集中的特征词,执行步骤S220中的操作,生成作为样本数据的网页内容的第二特征向量作为训练参数。
(3)利用机器学习算法(支持向量机方法)训练步骤(2)中的训练参数,得到原始的分类学习模型SVM-Model,即第二特征模型。
同样地,该识别方法200还包括在线更新第二特征模型的步骤:在预定时间内更新上述样本数据,重复(2)、(3)的训练步骤,以生成新的第二特征模型取代原有的第二特征模型。
根据上述对识别方法200的描述,识别方法200不同于传统的基于网页内容的关键词扫描方法——只要简单地对每个关键词进行加权评分,而是将抓取的网页内容向量化,然后用机器学习算法自动对网页进行归类,以提高网页识别的准确性。
通常,恶意网站的拓扑结构简单并且外链的域名和自身域名不一致,基于这一点,本发明提供了又一用于识别网页中是否包含恶意内容的方法。如图3所示,该识别方法300主要通过待识别网页的外链接数目和网页身份来判断该网页是否包含了恶意内容。
该方法300始于步骤S310,根据待识别网页的URL提取待识别网页的第一身份信息。具体地,首先解析待识别网页的URL,获取待识别网页的域名,然后将该域名作为该待识别网页的第一身份信息。例如待识别网页的URL是:
http://likersgames.netne.net/
解析URL得到其域名为netne.net,故该待识别网页的第一身份信息是netne.net。
接着在步骤S320中,提取该待识别网页的所有外链接。
通俗来讲,外链接就是指从别的网站导入到自己网站的链接。可以根据URL链接的HTML网页,提取出其所有的外链接,本发明对提取外链接的方法并不作限制。
随后在步骤S330中,根据提取出的所有外链接来确定该待识别网页的第二身份信息。根据本发明的一个实施例,统计该待识别网页对应的所有外链接出现的次数,使用出现次数最多的外链接域名作为网页的第二身份信息。还是以步骤S310中的URL为例,提取出的外链接及外链接数目分别为:
000webhost.com:16
serviceuptime.com:1
hosting24.com:5
所以该待识别网页的第二身份信息为:000webhost.com。
在步骤S340中,比较第一身份信息(由步骤S310得出)和第二身份信息(由步骤S330得出),输出第三结果以表征该待识别网页是否包含恶意内容。
对于上面的URL,其第一身份信息(netne.net)和第二身份信息(000webhost.com)不相符,故输出第三结果为1,表示该待识别网页中包含恶意内容。反之,若第二身份信息与第一身份信息相符,则输出第三结果为0,表示该待识别网页中不包含恶意内容。
再比如待识别网页的URL为:
http://www.baidu.com
解析该URL,得到第一身份信息为:baidu.com;
提取其含有的外链接及外链接数目为:
bdstatic.com:5
hao123.com:2
baidu.com:27
得到第二身份信息为:baidu.com;
第二身份信息和第一身份信息相同,故输出第三结果0,判断该待识别网页不包含恶意内容。
综上,识别方法100、识别方法200、识别方法300分别示出了识别恶意网页(包含恶意内容的网页)的3种方法:识别方法100解析网页的URL,提取URL特征并采用机器学习模型对网页进行分类;识别方法200抓取网页内容,根据预置的特征词将网页内容向量化,并采用机器学习模型对网页分类;识别方法300对网页身份进行分析,以识别具有模仿嫌疑的恶意网页。以上3种方法从不同的角度来识别网页中是否包含恶意内容,根据本发明的一个实施例,可以结合上述3种识别方法,综合分析待识别网页是否包含恶意内容,即识别方法400。
该识别方法400的流程图如图4所示。如前所述,识别方法400在传统黑白名单过滤的基础上,综合考虑网页的URL特征和内容特征,同时考虑到恶意网站惯有的模仿伪装技术,分析网页身份以识别具有模仿嫌疑的恶意网页;在实现方法上,采用机器学习模型对网页进行分类;既解决了传统识别方法的滞后性缺点,又有一定的检测未知恶意网页的能力,提高了识别的准确性。
具体而言,识别方法400的步骤如下:
步骤S410中,执行如图1所示的识别方法100以输出第一结果。
步骤S420中,执行如图2所示的识别方法200以输出第二结果。
步骤S430中,执行如图3所示的识别方法300以输出第三结果。
然后,在步骤S440中,对上述第一结果、第二结果、和第三结果进行加权算法,得到最终结果,并进行判断:
若最终结果大于阈值(在本实施例中,阈值为0.5),则判定该待识别网页中包含恶意内容;
若最终结果不大于阈值,则判定该待识别网页中不包含恶意内容。
根据本发明的一个实施例,可以采用简单的加权算法对第一结果(r1)、第二结果(r2)和第三结果(r3)进行运算处理得到最终结果(r):
r=w1×r1+w2×r2+w3×r3
其中,w1、w2和w3分别代表第一结果、第二结果、第三结果对应的权重,且根据本发明的一个实施例,其分别取值0.4、0.4、0.2。
相应地,图5至图8示出了根据本发明实施例的用于实现如上4种识别方法的识别系统,下面将分别进行介绍。
图5示出了根据本发明一个实施例的识别网页中是否包含恶意内容的系统500的示意图。该系统500包括至少包括URL提取器510、第一特征提取器520和第一识别单元530。
根据一种实现方式,系统500还包括判断过滤单元540,适于判断待识别网页URL与预存数据库中的URL是否一致:
若待识别网页URL在第一预存数据库(即,黑名单)中,则判断该待识别网页包含恶意内容;以及
若待识别网页URL在第二预存数据库(即,白名单)中,则判断该待识别网页不包含恶意内容。
对于通过上述黑白名单未识别出的URL,再将其发送给URL提取器510。
URL提取器510适于解析待识别网页的URL。
第一特征提取器520适于从所识别的URL中提取URL特征以生成第一特征集。根据本发明的一个实施例,第一特征集包括下列中的一个或者多个:URL长度、http协议使用次数、顶级域名是否合法、是否包含IP地址、URL中含指定字符的个数、主机字符串长度、主机字符串中含指定字符的个数、主机字符串中最长字符串的长度、路径中含指定字符的个数、路径名长度、路径名中含指定字符的个数、路径名中最长字符串的长度、路径深度、查询参数字段长度、URL中是否含指定字符串。对各特征的详细介绍参见基于图1的描述。
第一特征提取器520还适于根据第一特征集生成第一特征向量。根据本发明一个实施例,第一特征提取器520包括数值化子单元522和归一化子单元524。
数值化子单元522适于对第一特征集中的每个特征进行数值化得到特征值,将特征值组成一个特征向量。
归一化子单元524适于对数值化后的特征向量中的每一维特征值进行归一化处理,生成第一特征向量。例如归一化子单元524被配置为将特征向量的每一维特征值归一化到[-1,1]之间:
其中,Fi为第i维特征值,为第i维特征值的平均值,Fi,max为第i维特征值的最大值,Fi,min为第i维特征值的最小值。
第一识别单元530适于利用第一特征模型来处理第一特征向量,输出第一结果以表征待识别网页是否包含恶意内容。其中,若输出的第一结果为1,则表示待识别网页包含恶意内容;若输出的第一结果为0,则表示待识别网页不包含恶意内容。
根据本发明的实施例,系统500还被配置为执行训练第一特征模型的操作。
其中,URL提取器510还适于提取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的URL作为样本数据。第一特征提取器520还适于根据上述URL形成第一特征集,并根据第一特征集生成对应的第一特征向量,作为训练参数。此外,系统500还包括与第一特征提取器520相耦接的第一训练单元550,适于利用机器学习算法(例如,支持向量机方法SVM)训练由第一特征提取器520提取的训练参数,得到第一特征模型。
在本实施例中,为了应对恶意网站攻击的多变性,系统500还可以包括第一更新单元560,适于在预定时间内更新样本数据,生成新的样本数据的第一特征向量、并且将更新的第一特征向量输入第一特征模型进行训练,以定期更新第一特征模型。
再者,第一更新单元560还适于通过增加、删除第一特征集中的特征,改变第一特征向量的维度,以生成新的第一特征向量。
图6示出了根据本发明另一实施例的识别网页中是否包含恶意内容的系统600的示意图。该系统600至少包括:网页分析器610、第二特征提取器620和第二识别单元630。
网页分析器610适于抓取待识别网页内容,对所抓取的网页内容进行分词处理得到词序列。根据一种实现方式,网页分析器610中包括适于对网页内容进行分词处理的分词器,该分词器适于采用基于词典的分词算法对网页内容进行分词处理,其中分词算法可以是包含一个词典、两种匹配算法和四个消除歧义的规则的MMSEG算法。
网页分析器610还适于获取预置网页的网页内容,并对所获取的网页内容进行分词处理得到词序列。
第二特征提取器620适于根据词序列中是否存在第二特征集中的特征词来构造维度为第一预定数目(例如,选取第一预定数目在450-550之间)的第二特征向量,其中第二特征集中预存了第一预定数目个特征词。
根据该实现方式,第二特征提取器620还包括匹配子单元622。匹配子单元622适于对第二特征集中的每个特征词,依序查找词序列中是否存在该特征词:
若在词序列中匹配到某特征词,则将该特征词在第二特征集中对应位置处的值赋为1;
若在词序列中未匹配到某特征词,则将该特征词在第二特征集中对应位置处的值赋为0。
第二特征提取器620还适于根据特征词对应位置处的赋值生成维度为第一预定数目的第二特征向量。
该系统600还包括特征集生成单元640,适于对词序列中的每个词语,计算表征该词语重要性的第二特征值、并根据第二特征值从高到低的顺序选取第一预定数目个词语作为特征词,组成第二特征集。其中,第二特征值被定义为在出现某词语的条件下,网页中是否包含恶意内容的概率分布和网页是否包含恶意内容的概率分布的距离,可以用词语的期望交叉熵来表示:
其中,P(phish|w)指在词语w出现的条件下待识别网页是钓鱼网页的概率,P(phish)指钓鱼网页的概率,P(nophish|w)指在词语w出现的条件下待识别网页不是钓鱼网页的概率,P(nophish)指非钓鱼网页的概率。
第二识别单元630适于利用第二特征模型处理所述第二特征向量,并输出第二结果以表征所述待识别网页是否包含恶意内容。其中,若输出的第二结果为1,则表示待识别网页包含恶意内容;若输出的第二结果为0,则表示待识别网页不包含恶意内容。
同系统500一样,系统600也被配置为执行训练第二特征模型的操作。此时,网页分析器610还适于抓取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的网页内容作为样本数据。第二特征提取器620还适于根据第二特征集中的特征词,生成作为样本数据的网页内容的第二特征向量作为训练参数。此外,系统600还包括第二训练单元650,适于利用机器学习算法训练所述训练参数,得到第二特征模型。
再者,为了应对恶意网站攻击的多变性,系统600还包括第二更新单元660,适于在预定时间内更新样本数据,重复训练步骤,以定期更新第二特征模型。
图7示出了根据本发明又一实施例的识别网页中是否包含恶意内容的系统700的示意图。该系统700包括:第一信息获取单元710、第二信息获取单元720和第三识别单元730。
第一信息获取单元710适于根据待识别网页的URL提取待识别网页的第一身份信息。具体地,第一信息获取单元710适于解析待识别网页的URL,获取待识别网页的域名、并且将该域名作为该待识别网页的第一身份信息。
第二信息获取单元720适于提取该待识别网页的所有外链接,并根据外链接确定该待识别网页的第二身份信息。根据一种实现方式,第二信息获取单元720可以包括统计子单元722,适于统计提取出的该待识别网页的所有外链接出现的次数,第二信息获取单元720,适于选取出现次数最多的外链接的域名作为第二身份信息。例如对于如下URL:http://www.baidu.com,提取出其外链接分别为bdstatic.com(出现5次)、baidu.com(出现27次),那就确定baidu.com为该URL的第二身份信息。
第三识别单元730适于比较第一身份信息和第二身份信息,输出第三结果以表征该待识别网页是否包含恶意内容。具体而言,若第二身份信息与第一身份信息不相符,则输出第三结果为1,表示该待识别网页中包含恶意内容;若第二身份信息与第一身份信息相符,则输出第三结果为0,表示该待识别网页中不包含恶意内容。
图8示出了根据本发明又一实施例的识别网页中是否包含恶意内容的系统800的示意图。该系统800综合了上述系统500、系统600、系统700、以及加权单元810和第四识别单元820。
识别系统500适于输出第一结果;
识别系统600适于输出第二结果;
识别系统700适于输出第三结果;
加权单元810适于对第一结果、第二结果、和第三结果进行加权算法,得到最终结果。
根据本发明的一个实施例,可以采用简单的加权算法对第一结果(r1)、第二结果(r2)和第三结果(r3)进行运算处理得到最终结果(r):
r=w1×r1+w2×r2+w3×r3
其中,w1、w2和w3分别代表第一结果、第二结果、第三结果对应的权重,且根据本发明的一个实施例,其分别取值0.4、0.4、0.2。
第四识别单元820适于若最终结果大于阈值(例如,0.5),则识别出该待识别网页中包含恶意内容,若最终结果不大于阈值,则识别出该待识别网页中不包含恶意内容。
识别系统800在传统黑白名单过滤的基础上,综合考虑网页的URL特征和内容特征,同时考虑到恶意网站惯有的模仿伪装技术,分析网页身份以识别具有模仿嫌疑的恶意网页.
在实现方法上,采用机器学习模型对网页进行分类,既解决了传统识别方法的滞后性缺点,又有一定的检测未知恶意网页的能力,从而提高了识别的准确性。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
A3、如A1或2所述的方法,其中第一特征集包括下列中的一个或者多个:URL长度、http协议使用次数、顶级域名是否合法、是否包含IP地址、URL中含指定字符的个数、主机字符串长度、主机字符串中含指定字符的个数、主机字符串中最长字符串的长度、路径中含指定字符的个数、路径名长度、路径名中含指定字符的个数、路径名中最长字符串的长度、路径深度、查询参数字段长度、URL中是否含指定字符串。A4、如A1-3中任一项所述的方法,其中根据第一特征集生成第一特征向量的步骤还包括:对第一特征集中的每个特征进行数值化得到特征值,将所述特征值组成一个特征向量;以及对特征向量中的每一维特征值进行归一化处理,生成第一特征向量。A5、如A4所述的方法,其中归一化处理步骤包括:将特征向量的每一维特征值归一化到[-1,1]之间:
其中,Fi为第i维特征值,为第i维特征值的平均值,Fi,max为第i维特征值的最大值,Fi,min为第i维特征值的最小值。
A6、如A1-5中任一项所述的方法,还包括训练第一特征模型的步骤:选取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的URL作为样本数据,并根据上述URL形成第一特征集;根据样本数据的第一特征集生成对应的第一特征向量,作为训练参数;以及利用机器学习算法训练训练参数,得到第一特征模型。A7、如A6所述的方法,还包括步骤:在预定时间内更新样本数据,生成新的样本数据的第一特征向量;以及将更新的第一特征向量输入第一特征模型进行训练,以定期更新第一特征模型。A8、如A7所述的方法,其中生成新的样本数据的第一特征向量的步骤还包括:通过增加、删除第一特征集中的特征,以改变第一特征向量的维度。A9、如A1-8中任一项所述的方法,其中输出第一结果以表征待识别网页是否包含恶意内容的步骤包括:若输出第一结果为1则表示待识别网页包含恶意内容;和若输出第一结果为0则表示待识别网页不包含恶意内容。A10、如A6-9中任一项所述的方法,其中机器学习算法是支持向量机方法。
B13、如B11或12所述的方法,其中根据词序列中是否存在特征词来构造第二特征向量的步骤包括:对于第二特征集中的每个特征词,依序查找词序列中是否存在该特征词;若词序列中存在某个特征词,则将该特征词在第二特征集中对应位置处的值赋为1;若词序列中不存在某特征词,则将该特征词在第二特征集中对应位置处的值赋为0;以及根据特征词对应位置处的赋值生成维度为第一预定数目的第二特征向量。B14、如B11-13中任一项所述的方法,其中第二特征集利用下列步骤生成:获取预置网页的网页内容,对所获取的网页内容进行分词处理得到词序列;对词序列中的每个词语,计算表征该词语重要性的第二特征值;以及根据第二特征值选取第一预定数目个词语作为特征词,组成第二特征集。B15、如B14所述的方法,其中第二特征值被定义为在出现某词语的条件下,网页中是否包含恶意内容的概率分布和网页是否包含恶意内容概率分布的距离。B16、如B15所述的方法,其中第二特征值是词语w的期望交叉熵CE(w):
其中,P(phish|w)指在词语w出现的条件下待识别网页是钓鱼网页的概率,P(phish)指钓鱼网页的概率,P(nophish|w)指在词语w出现的条件下待识别网页不是钓鱼网页的概率,P(nophish)指非钓鱼网页的概率。
B17、如B14-16中任一项所述的方法,其中根据第二特征值选取第一预定数目个词语组成第二特征集合的步骤包括:按照第二特征值从高到低的顺序选取第一预定数目个词语作为特征词,构成第二特征集。B18、如B11-17中任一项所述的方法,还包括训练第二特征模型的步骤:选取大量已经被标记为包含恶意内容的网页和不包含恶意内容的网页的网页内容作为样本数据;根据第二特征集中的特征词,生成作为样本数据的网页内容的第二特征向量作为训练参数;以及利用机器学习算法训练所述训练参数,得到第二特征模型。B19、如权利要求18所述的方法,还包括步骤:在预定时间内更新样本数据,重复训练步骤,以定期更新第二特征模型。B20、如B11-19中任一项所述的方法,其中第一预定数目在450-550之间。B21、如B11-20中任一项所述的方法,其中输出第二结果以表征待识别网页是否包含恶意内容的步骤包括:若输出第二结果为1则表示待识别网页包含恶意内容;和若输出第二结果为0则表示待识别网页不包含恶意内容。B22、如B18-21中任一项所述的方法,其中机器学习算法是支持向量机方法。
C24、如C23所述的方法,其中提取待识别网页的第一身份信息的步骤包括:解析待识别网页的URL,获取待识别网页的域名;以及将域名作为该待识别网页的第一身份信息。C25、如C23或24所述的方法,其中根据外链接确定第二身份信息的步骤包括:统计该待识别网页对应的所有外链接出现的次数;以及选取出现次数最多的外链接的域名作为第二身份信息。C26、如C23-25中任一项所述的方法,其中比较第一身份信息和第二身份信息,输出第三结果的步骤包括:若第二身份信息与第一身份信息不相符,则输出第三结果为1,表示该待识别网页中包含恶意内容;以及若第二身份信息与第一身份信息相符,则输出第三结果为0,表示该待识别网页中不包含恶意内容。
D28、如D27所述的方法,其中第一结果、第二结果、第三结果对应的权重因子分别为0.4,0.4,和0.2;以及阈值为0.5。
E30、如E29所述的系统,还包括:判断过滤单元,适于判断待识别网页URL与预存数据库中的URL是否一致,若待识别网页URL在第一预存数据库中,则判断该待识别网页包含恶意内容;以及若待识别网页URL在第二预存数据库中,则判断该待识别网页不包含恶意内容。E31、如E29或30所述的系统,其中第一特征集包括下列中的一个或者多个:URL长度、http协议使用次数、顶级域名是否合法、是否包含IP地址、URL中含指定字符的个数、主机字符串长度、主机字符串中含指定字符的个数、主机字符串中最长字符串的长度、路径中含指定字符的个数、路径名长度、路径名中含指定字符的个数、路径名中最长字符串的长度、路径深度、查询参数字段长度、URL中是否含指定字符串。E32、如E29-31中任一项所述的系统,其中第一特征提取器包括:数值化子单元,适于对第一特征集中的每个特征进行数值化得到特征值,将特征值组成一个特征向量;以及归一化子单元,适于对数值化后的特征向量中的每一维特征值进行归一化处理,生成第一特征向量。E33、如E32所述的系统,其中归一化子单元被配置为将特征向量的每一维特征值归一化到[-1,1]之间:
其中,Fi为第i维特征值,为第i维特征值的平均值,Fi,max为第i维特征值的最大值,Fi,min为第i维特征值的最小值。
E34、如E29-33中任一项所述的系统,其中,URL提取器还适于提取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的URL作为样本数据;第一特征提取器还适于根据上述URL形成第一特征集,并根据第一特征集生成对应的第一特征向量,作为训练参数;以及系统还包括第一训练单元,适于利用机器学习算法训练训练参数,得到第一特征模型。E35、如E34所述的系统,还包括:第一更新单元,适于在预定时间内更新样本数据,生成新的样本数据的第一特征向量、并且将更新的第一特征向量输入第一特征模型进行训练,以定期更新第一特征模型。E36、如E35所述的系统,其中,第一更新单元还适于通过增加、删除第一特征集中的特征,改变第一特征向量的维度,以生成新的第一特征向量。E37、如E29-36中任一项所述的系统,其中,若输出的第一结果为1,则表示待识别网页包含恶意内容;和若输出的第一结果为0,则表示待识别网页不包含恶意内容。E38、如E34-37中任一项所述的系统,其中机器学习算法是支持向量机方法。
F40、如F39所述的系统,其中网页分析器还包括:分词器,适于采用基于词典的分词算法对网页内容进行分词处理,其中分词算法包含一个词典、两种匹配算法和四个消除歧义的规则。F41、如F39或40所述的系统,其中第二特征提取器包括:匹配子单元,适于对第二特征集中的每个特征词,依序查找词序列中是否存在该特征词,若在词序列中匹配到某特征词,则将该特征词在第二特征集中对应位置处的值赋为1,若在词序列中未匹配到某特征词,则将该特征词在第二特征集中对应位置处的值赋为0;以及第二特征提取器还适于根据特征词对应位置处的赋值生成维度为第一预定数目的第二特征向量。F42、如F39-41中任一项所述的系统,其中,网页分析器还适于获取预置网页的网页内容,并对所获取的网页内容进行分词处理得到词序列;系统还包括:特征集生成单元,适于对词序列中的每个词语,计算表征该词语重要性的第二特征值、并根据第二特征值选取第一预定数目个词语作为特征词,组成第二特征集。F43、如F42所述的系统,其中第二特征值被定义为在出现某词语的条件下,网页中是否包含恶意内容的概率分布和网页是否包含恶意内容的概率分布的距离。F44、如F43所述的系统,其中第二特征值是词语w的期望交叉熵CE(w):
其中,P(phish|w)指在词语w出现的条件下待识别网页是钓鱼网页的概率,P(phish)指钓鱼网页的概率,P(nophish|w)指在词语w出现的条件下待识别网页不是钓鱼网页的概率,P(nophish)指非钓鱼网页的概率。
F45、如F42-44中任一项所述的系统,其中特征集生成单元被配置为按照第二特征值从高到低的顺序选取第一预定数目个词语作为特征词,构成第二特征集。F46、如F39-45中任一项所述的系统,其中网页分析器还适于抓取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的网页内容作为样本数据;第二特征提取器还适于根据第二特征集中的特征词,生成作为样本数据的网页内容的第二特征向量作为训练参数;以及系统还包括第二训练单元,适于利用机器学习算法训练训练参数,得到第二特征模型。F47、如F46所述的系统,还包括:第二更新单元,适于在预定时间内更新样本数据,重复训练步骤,以定期更新第二特征模型。F48、如F39-47中任一项所述的系统,其中第一预定数目在450-550之间。F49、如F39-48中任一项所述的系统,其中,若输出的第二结果为1,则表示待识别网页包含恶意内容;和若输出的第二结果为0,则表示待识别网页不包含恶意内容。F50、如F46-49中任一项所述的系统,其中机器学习算法是支持向量机方法。
G52、如G51所述的系统,其中,第一信息获取单元还适于解析待识别网页的URL,获取待识别网页的域名、并且将域名作为该待识别网页的第一身份信息。G53、如G51或52所述的系统,其中第二信息获取单元还包括:统计子单元,适于统计提取出的该待识别网页的所有外链接出现的次数;以及第二信息获取单元还适于选取出现次数最多的外链接的域名作为第二身份信息。G54、如G51-53中任一项所述的系统,其中第三识别单元适于:若第二身份信息与第一身份信息不相符,则输出第三结果为1,表示该待识别网页中包含恶意内容;以及若第二身份信息与第一身份信息相符,则输出第三结果为0,表示该待识别网页中不包含恶意内容。
H56、如H55所述的系统,其中第一结果、第二结果、第三结果对应的权重因子分别为0.4,0.4,和0.2;以及阈值为0.5。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (48)

1.一种识别网页中是否包含恶意内容的方法,所述方法包括步骤:
执行第一识别方法以输出第一结果,其中第一识别方法包括:
解析待识别网页的URL以从所述URL中提取URL特征以生成第一特征集;
根据所述第一特征集生成第一特征向量,其中,对第一特征集中的每个特征进行数值化得到特征值,将所述特征值组成一个特征向量,对所述特征向量中的每一维特征值进行归一化处理,生成第一特征向量;以及
利用第一特征模型来处理所述第一特征向量,并输出第一结果以表征所述待识别网页是否包含恶意内容;
执行第二识别方法以输出第二结果,其中第二识别方法包括:
抓取待识别网页内容,对所抓取的网页内容进行分词处理得到词序列;
根据所述词序列中是否存在第二特征集中的特征词来构造维度为第一预定数目的第二特征向量,其中所述第二特征集中预存了第一预定数目个特征词;
利用第二特征模型处理所述第二特征向量并输出第二结果,以表征所述待识别网页是否包含恶意内容;
执行第三识别方法以输出第三结果,其中第三识别方法包括:
根据待识别网页的URL提取所述待识别网页的第一身份信息;
提取该待识别网页的所有外链接;
根据外链接确定该待识别网页的第二身份信息;
比较第一身份信息和第二身份信息并输出第三结果,以表征该待识别网页是否包含恶意内容;
对所述第一结果、第二结果、和第三结果进行加权算法,得到最终结果;
若所述最终结果大于阈值,则判定该待识别网页中包含恶意内容;以及
若所述最终结果不大于阈值,则判定该待识别网页中不包含恶意内容。
2.如权利要求1所述的方法,其中所述第一结果、第二结果、第三结果对应的权重因子分别为0.4,0.4,和0.2;以及
所述阈值为0.5。
3.如权利要求2所述的方法,还包括预处理步骤:
提取待识别网页的URL,判断所述待识别网页URL与预存数据库中的URL是否一致,
若所述待识别网页URL在第一预存数据库中,则判断该待识别网页包含恶意内容;以及
若所述待识别网页URL在第二预存数据库中,则判断该待识别网页不包含恶意内容。
4.如权利要求3所述的方法,其中所述第一特征集包括下列中的一个或者多个:URL长度、http协议使用次数、顶级域名是否合法、是否包含IP地址、URL中含指定字符的个数、主机字符串长度、主机字符串中含指定字符的个数、主机字符串中最长字符串的长度、路径中含指定字符的个数、路径名长度、路径名中含指定字符的个数、路径名中最长字符串的长度、路径深度、查询参数字段长度、URL中是否含指定字符串。
5.如权利要求4所述的方法,其中所述归一化处理步骤包括:
将特征向量的每一维特征值归一化到[-1,1]之间:
其中,Fi为第i维特征值,为第i维特征值的平均值,Fi,max为第i维特征值的最大值,Fi,min为第i维特征值的最小值。
6.如权利要求5所述的方法,还包括训练第一特征模型的步骤:
选取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的URL作为样本数据,并根据上述URL形成第一特征集;
根据所述样本数据的第一特征集生成对应的第一特征向量,作为训练参数;以及
利用机器学习算法训练所述训练参数,得到第一特征模型。
7.如权利要求6所述的方法,还包括步骤:
在预定时间内更新样本数据,生成新的样本数据的第一特征向量;以及
将所述更新的第一特征向量输入第一特征模型进行训练,以定期更新第一特征模型。
8.如权利要求7所述的方法,其中所述生成新的样本数据的第一特征向量的步骤还包括:
通过增加、删除第一特征集中的特征,以改变第一特征向量的维度。
9.如权利要求8所述的方法,其中所述输出第一结果以表征待识别网页是否包含恶意内容的步骤包括:
若输出第一结果为1则表示待识别网页包含恶意内容;和
若输出第一结果为0则表示待识别网页不包含恶意内容。
10.如权利要求9所述的方法,其中所述机器学习算法是支持向量机方法。
11.如权利要求10所述的方法,其中对网页内容进行分词处理的步骤包括:
采用基于词典的分词算法进行分词处理,其中所述分词算法包含一个词典、两种匹配算法和四个消除歧义的规则。
12.如权利要求11所述的方法,其中根据词序列中是否存在特征词来构造第二特征向量的步骤包括:
对于第二特征集中的每个特征词,依序查找词序列中是否存在该特征词;
若所述词序列中存在某个特征词,则将该特征词在第二特征集中对应位置处的值赋为1;
若所述词序列中不存在某特征词,则将该特征词在第二特征集中对应位置处的值赋为0;以及
根据特征词对应位置处的赋值生成维度为第一预定数目的第二特征向量。
13.如权利要求12所述的方法,其中所述第二特征集利用下列步骤生成:
获取预置网页的网页内容,对所获取的网页内容进行分词处理得到词序列;
对词序列中的每个词语,计算表征该词语重要性的第二特征值;以及
根据所述第二特征值选取第一预定数目个词语作为特征词,组成第二特征集。
14.如权利要求13所述的方法,其中所述第二特征值被定义为在出现某词语的条件下,网页中是否包含恶意内容的概率分布和网页是否包含恶意内容概率分布的距离。
15.如权利要求14所述的方法,其中所述第二特征值是词语w的期望交叉熵CE(w):
其中,P(phish|w)指在词语w出现的条件下待识别网页是钓鱼网页的概率,P(phish)指钓鱼网页的概率,P(nophish|w)指在词语w出现的条件下待识别网页不是钓鱼网页的概率,P(nophish)指非钓鱼网页的概率。
16.如权利要求15所述的方法,其中所述根据第二特征值选取第一预定数目个词语组成第二特征集合的步骤包括:
按照第二特征值从高到低的顺序选取第一预定数目个词语作为特征词,构成第二特征集。
17.如权利要求16所述的方法,还包括训练第二特征模型的步骤:
选取大量已经被标记为包含恶意内容的网页和不包含恶意内容的网页的网页内容作为样本数据;
根据第二特征集中的特征词,生成作为样本数据的网页内容的第二特征向量作为训练参数;以及
利用机器学习算法训练所述训练参数,得到第二特征模型。
18.如权利要求17所述的方法,还包括步骤:
在预定时间内更新样本数据,重复训练步骤,以定期更新第二特征模型。
19.如权利要求18所述的方法,其中所述第一预定数目在450-550之间。
20.如权利要求19所述的方法,其中所述输出第二结果以表征待识别网页是否包含恶意内容的步骤包括:
若输出第二结果为1则表示待识别网页包含恶意内容;和
若输出第二结果为0则表示待识别网页不包含恶意内容。
21.如权利要求20所述的方法,其中所述机器学习算法是支持向量机方法。
22.如权利要求21所述的方法,其中所述提取待识别网页的第一身份信息的步骤包括:
解析待识别网页的URL,获取所述待识别网页的域名;以及
将所述域名作为该待识别网页的第一身份信息。
23.如权利要求22所述的方法,其中所述根据外链接确定第二身份信息的步骤包括:
统计该待识别网页对应的所有外链接出现的次数;以及
选取出现次数最多的外链接的域名作为第二身份信息。
24.如权利要求23所述的方法,其中比较第一身份信息和第二身份信息,输出第三结果的步骤包括:
若所述第二身份信息与第一身份信息不相符,则输出第三结果为1,表示该待识别网页中包含恶意内容;以及
若所述第二身份信息与第一身份信息相符,则输出第三结果为0,表示该待识别网页中不包含恶意内容。
25.一种识别网页中是否包含恶意内容的系统,所述系统包括:
URL提取器,适于解析待识别网页的URL;
第一特征提取器,适于从所述URL中提取URL特征以生成第一特征集,还适于根据第一特征集生成第一特征向量,所述第一特征提取器包括:
数值化子单元,适于对第一特征集中的每个特征进行数值化得到特征值,将所述特征值组成一个特征向量;
归一化子单元,适于对数值化后的特征向量中的每一维特征值进行归一化处理,生成第一特征向量;以及
第一识别单元,适于利用第一特征模型来处理所述第一特征向量,输出第一结果以表征所述待识别网页是否包含恶意内容;
网页分析器,适于抓取待识别网页内容,对所抓取的网页内容进行分词处理得到词序列,
第二特征提取器,适于根据所述词序列中是否存在第二特征集中的特征词来构造维度为第一预定数目的第二特征向量,其中所述第二特征集中预存了第一预定数目个特征词,
第二识别单元,适于利用第二特征模型处理所述第二特征向量并输出第二结果;和
第一信息获取单元,适于根据待识别网页的URL提取所述待识别网页的第一身份信息,
第二信息获取单元,适于提取该待识别网页的所有外链接,并根据外链接确定该待识别网页的第二身份信息,
第三识别单元,适于比较第一身份信息和第二身份信息并输出第三结果;
加权单元,适于对所述第一结果、第二结果、和第三结果进行加权算法,得到最终结果;以及
第四识别单元,适于若所述最终结果大于阈值,则识别出该待识别网页中包含恶意内容,若所述最终结果不大于阈值,则识别出该待识别网页中不包含恶意内容。
26.如权利要求25所述的系统,其中所述第一结果、第二结果、第三结果对应的权重因子分别为0.4,0.4,和0.2;以及
所述阈值为0.5。
27.如权利要求26所述的系统,还包括:
判断过滤单元,适于判断所述待识别网页URL与预存数据库中的URL是否一致,
若所述待识别网页URL在第一预存数据库中,则判断该待识别网页包含恶意内容;以及
若所述待识别网页URL在第二预存数据库中,则判断该待识别网页不包含恶意内容。
28.如权利要求27所述的系统,其中所述第一特征集包括下列中的一个或者多个:URL长度、http协议使用次数、顶级域名是否合法、是否包含IP地址、URL中含指定字符的个数、主机字符串长度、主机字符串中含指定字符的个数、主机字符串中最长字符串的长度、路径中含指定字符的个数、路径名长度、路径名中含指定字符的个数、路径名中最长字符串的长度、路径深度、查询参数字段长度、URL中是否含指定字符串。
29.如权利要求28所述的系统,其中所述归一化子单元被配置为将特征向量的每一维特征值归一化到[-1,1]之间:
其中,Fi为第i维特征值,为第i维特征值的平均值,Fi,max为第i维特征值的最大值,Fi,min为第i维特征值的最小值。
30.如权利要求29所述的系统,其中,
所述URL提取器还适于提取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的URL作为样本数据;
所述第一特征提取器还适于根据上述URL形成第一特征集,并根据所述第一特征集生成对应的第一特征向量,作为训练参数;以及
所述系统还包括第一训练单元,适于利用机器学习算法训练所述训练参数,得到第一特征模型。
31.如权利要求30所述的系统,还包括:
第一更新单元,适于在预定时间内更新样本数据,生成新的样本数据的第一特征向量、并且将所述更新的第一特征向量输入第一特征模型进行训练,以定期更新第一特征模型。
32.如权利要求31所述的系统,其中,
所述第一更新单元还适于通过增加、删除第一特征集中的特征,改变第一特征向量的维度,以生成新的第一特征向量。
33.如权利要求32所述的系统,其中,
若所述输出的第一结果为1,则表示待识别网页包含恶意内容;和
若所述输出的第一结果为0,则表示待识别网页不包含恶意内容。
34.如权利要求30-33中任一项所述的系统,其中所述机器学习算法是支持向量机方法。
35.如权利要求34所述的系统,其中所述网页分析器还包括:
分词器,适于采用基于词典的分词算法对网页内容进行分词处理,其中所述分词算法包含一个词典、两种匹配算法和四个消除歧义的规则。
36.如权利要求35所述的系统,其中所述第二特征提取器包括:
匹配子单元,适于对第二特征集中的每个特征词,依序查找词序列中是否存在该特征词,
若在词序列中匹配到某特征词,则将该特征词在第二特征集中对应位置处的值赋为1,
若在词序列中未匹配到某特征词,则将该特征词在第二特征集中对应位置处的值赋为0;以及
所述第二特征提取器还适于根据特征词对应位置处的赋值生成维度为第一预定数目的第二特征向量。
37.如权利要求36所述的系统,其中,
所述网页分析器还适于获取预置网页的网页内容,并对所获取的网页内容进行分词处理得到词序列;
所述系统还包括:
特征集生成单元,适于对词序列中的每个词语,计算表征该词语重要性的第二特征值、并根据所述第二特征值选取第一预定数目个词语作为特征词,组成第二特征集。
38.如权利要求37所述的系统,其中所述第二特征值被定义为在出现某词语的条件下,网页中是否包含恶意内容的概率分布和网页是否包含恶意内容的概率分布的距离。
39.如权利要求38所述的系统,其中所述第二特征值是词语w的期望交叉熵CE(w):
其中,P(phish|w)指在词语w出现的条件下待识别网页是钓鱼网页的概率,P(phish)指钓鱼网页的概率,P(nophish|w)指在词语w出现的条件下待识别网页不是钓鱼网页的概率,P(nophish)指非钓鱼网页的概率。
40.如权利要求39所述的系统,其中,
所述特征集生成单元被配置为按照第二特征值从高到低的顺序选取第一预定数目个词语作为特征词,构成第二特征集。
41.如权利要求40所述的系统,其中,
所述网页分析器还适于抓取大量已经标记为不包含恶意内容的网页和包含恶意内容的网页的网页内容作为样本数据;
所述第二特征提取器还适于根据第二特征集中的特征词,生成作为样本数据的网页内容的第二特征向量作为训练参数;以及
所述系统还包括第二训练单元,适于利用机器学习算法训练所述训练参数,得到第二特征模型。
42.如权利要求41所述的系统,还包括:
第二更新单元,适于在预定时间内更新样本数据,重复训练步骤,以定期更新第二特征模型。
43.如权利要求42所述的系统,其中所述第一预定数目在450-550之间。
44.如权利要求43所述的系统,其中,
若所述输出的第二结果为1,则表示待识别网页包含恶意内容;和
若所述输出的第二结果为0,则表示待识别网页不包含恶意内容。
45.如权利要求44所述的系统,其中所述机器学习算法是支持向量机方法。
46.如权利要求45所述的系统,其中,
所述第一信息获取单元还适于解析待识别网页的URL,获取所述待识别网页的域名、并且将所述域名作为该待识别网页的第一身份信息。
47.如权利要求46所述的系统,其中所述第二信息获取单元还包括:
统计子单元,适于统计提取出的该待识别网页的所有外链接出现的次数;以及
所述第二信息获取单元还适于选取出现次数最多的外链接的域名作为第二身份信息。
48.如权利要求47所述的系统,其中所述第三识别单元适于:
若所述第二身份信息与第一身份信息不相符,则输出第三结果为1,表示该待识别网页中包含恶意内容;以及
若所述第二身份信息与第一身份信息相符,则输出第三结果为0,表示该待识别网页中不包含恶意内容。
CN201610313359.3A 2016-05-12 2016-05-12 识别网页中是否包含恶意内容的方法和系统 Active CN105956472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610313359.3A CN105956472B (zh) 2016-05-12 2016-05-12 识别网页中是否包含恶意内容的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610313359.3A CN105956472B (zh) 2016-05-12 2016-05-12 识别网页中是否包含恶意内容的方法和系统

Publications (2)

Publication Number Publication Date
CN105956472A CN105956472A (zh) 2016-09-21
CN105956472B true CN105956472B (zh) 2019-10-18

Family

ID=56912414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610313359.3A Active CN105956472B (zh) 2016-05-12 2016-05-12 识别网页中是否包含恶意内容的方法和系统

Country Status (1)

Country Link
CN (1) CN105956472B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979560A (zh) * 2016-10-21 2018-05-01 北京计算机技术及应用研究所 一种基于多重检测的应用攻击防御方法
CN106776958A (zh) * 2016-12-05 2017-05-31 公安部第三研究所 基于关键路径的违法网站识别系统及其方法
EP3593508A4 (en) 2017-03-10 2020-02-26 Visa International Service Association IDENTIFICATION OF MALICIOUS NETWORK DEVICES
CN107679401A (zh) * 2017-09-04 2018-02-09 北京知道未来信息技术有限公司 一种恶意网页识别方法和装置
CN107644162A (zh) * 2017-09-04 2018-01-30 北京知道未来信息技术有限公司 一种Web攻击识别方法和装置
CN107992469A (zh) * 2017-10-13 2018-05-04 中国科学院信息工程研究所 一种基于词序列的钓鱼url检测方法及系统
CN112182578B (zh) * 2017-10-24 2024-07-26 创新先进技术有限公司 一种模型训练方法、检测url的方法及装置
CN108881138B (zh) * 2017-10-26 2020-06-26 新华三信息安全技术有限公司 一种网页请求识别方法及装置
CN107807987B (zh) * 2017-10-31 2021-07-02 广东工业大学 一种字符串分类方法、系统及一种字符串分类设备
CN108111478A (zh) * 2017-11-07 2018-06-01 中国互联网络信息中心 一种基于语义理解的网络钓鱼识别方法和装置
CN107888616B (zh) * 2017-12-06 2020-06-05 北京知道创宇信息技术股份有限公司 基于URI的分类模型的构建方法和Webshell攻击网站的检测方法
CN107896225A (zh) * 2017-12-08 2018-04-10 深信服科技股份有限公司 钓鱼网站判定方法、服务器及存储介质
CN108718296A (zh) * 2018-04-27 2018-10-30 广州西麦科技股份有限公司 基于sdn网络的网络管控方法、装置与计算机可读存储介质
CN109104429B (zh) * 2018-09-05 2021-09-28 广东石油化工学院 一种针对网络诈骗信息的检测方法
CN110427755A (zh) * 2018-10-16 2019-11-08 新华三信息安全技术有限公司 一种识别脚本文件的方法及装置
CN110365691B (zh) * 2019-07-22 2021-12-28 云南财经大学 基于深度学习的钓鱼网站判别方法及装置
CN110580408B (zh) * 2019-09-19 2022-03-11 北京天融信网络安全技术有限公司 一种数据处理方法及电子设备
CN111222031A (zh) * 2019-11-22 2020-06-02 成都市映潮科技股份有限公司 一种网站判别方法及系统
CN111091019B (zh) * 2019-12-23 2024-03-01 支付宝(杭州)信息技术有限公司 一种信息提示方法、装置及设备
CN111556036A (zh) * 2020-04-20 2020-08-18 杭州安恒信息技术股份有限公司 一种网络钓鱼攻击的检测方法、装置及设备
CN114885334B (zh) * 2022-07-13 2022-09-27 安徽创瑞信息技术有限公司 一种高并发的短信处理方法
CN116527373B (zh) * 2023-05-18 2023-10-20 清华大学 针对恶意url检测系统的后门攻击方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571934A (zh) * 2009-05-26 2009-11-04 北京航空航天大学 一种基于支持向量机的企业自主创新能力预测方法
CN102708186A (zh) * 2012-05-11 2012-10-03 上海交通大学 一种钓鱼网站的识别方法
CN103336766A (zh) * 2013-07-04 2013-10-02 微梦创科网络科技(中国)有限公司 短文本垃圾识别以及建模方法和装置
CN104965867A (zh) * 2015-06-08 2015-10-07 南京师范大学 基于chi特征选取的文本事件分类方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763431A (zh) * 2010-01-06 2010-06-30 电子科技大学 基于海量网络舆情信息的pl聚类处理方法
CN102880622A (zh) * 2011-07-15 2013-01-16 祁勇 一种在互联网上确定用户特征的方法和系统
CN102663000B (zh) * 2012-03-15 2016-08-03 北京百度网讯科技有限公司 恶意网址数据库的建立方法、恶意网址的识别方法和装置
CN103530367B (zh) * 2013-10-12 2017-07-18 深圳先进技术研究院 一种钓鱼网站鉴别系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571934A (zh) * 2009-05-26 2009-11-04 北京航空航天大学 一种基于支持向量机的企业自主创新能力预测方法
CN102708186A (zh) * 2012-05-11 2012-10-03 上海交通大学 一种钓鱼网站的识别方法
CN103336766A (zh) * 2013-07-04 2013-10-02 微梦创科网络科技(中国)有限公司 短文本垃圾识别以及建模方法和装置
CN104965867A (zh) * 2015-06-08 2015-10-07 南京师范大学 基于chi特征选取的文本事件分类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
恶意网页识别研究综述;沙泓州等;《计算机学报》;20160331;第3.1、4.3节及图4 *

Also Published As

Publication number Publication date
CN105956472A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105956472B (zh) 识别网页中是否包含恶意内容的方法和系统
Rodriguez et al. Automatic detection of hate speech on facebook using sentiment and emotion analysis
Deliu et al. Extracting cyber threat intelligence from hacker forums: Support vector machines versus convolutional neural networks
CN110414219B (zh) 基于门控循环单元与注意力机制的注入攻击检测方法
WO2019085275A1 (zh) 一种字符串分类方法、系统及一种字符串分类设备
CN112073551B (zh) 基于字符级滑动窗口和深度残差网络的dga域名检测系统
CN109873810B (zh) 一种基于樽海鞘群算法支持向量机的网络钓鱼检测方法
CN111310476B (zh) 一种使用基于方面的情感分析方法的舆情监控方法和系统
CN106375345B (zh) 一种基于周期性检测的恶意软件域名检测方法及系统
CN104679825B (zh) 基于网络文本的地震宏观异常信息获取与筛选方法
CN104156490A (zh) 基于文字识别检测可疑钓鱼网页的方法及装置
CN110909531B (zh) 信息安全的甄别方法、装置、设备及存储介质
CN107180077A (zh) 一种基于深度学习的社交网络谣言检测方法
CN110572359A (zh) 基于机器学习的钓鱼网页检测方法
CN110543564A (zh) 基于主题模型的领域标签获取方法
CN107341399A (zh) 评估代码文件安全性的方法及装置
CN112217787A (zh) 一种基于ed-gan的仿冒域名训练数据生成方法及系统
CN108229170A (zh) 利用大数据和神经网络的软件分析方法和装置
KR20220152167A (ko) 도메인 네임 시스템(dns) 레코드들의 세트에서 피싱-도메인들을 검출하기 위한 시스템 및 방법
CN113438209B (zh) 一种基于改进的Stacking策略的钓鱼网站检测方法
CN111460100A (zh) 一种刑事法律文书罪名的推荐方法和系统
Pham et al. Exploring efficiency of GAN-based generated URLs for phishing URL detection
CN110704611B (zh) 基于特征解交织的非法文本识别方法及装置
CN112966507A (zh) 构建识别模型及攻击识别方法、装置、设备及存储介质
Rayyan et al. Uniform resource locator classification using classical machine learning & deep learning techniques

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200122

Address after: 100094 west side of the first floor of Building 1, yard 68, Beiqing Road, Haidian District, Beijing

Patentee after: Quantum innovation (Beijing) Information Technology Co., Ltd

Address before: 100086, A, building 1, building 48, No. 3 West Third Ring Road, Haidian District, Beijing, 23E

Patentee before: Baoli Nine Chapters (Beijing) Data Technology Co., Ltd.