在平时使用百度搜索网站的时候,如果是恶意网站,百度经常会弹出“检测到XX是不安全网址”的提示。这样预先的防范可以让我们避开对恶意网站的访问,这个防范操作是借助百度网址安全中心实现的。今天就让我们一探究竟,看看这个安全中心究竟如何运作,以及对于恶意网站的检测又用到什么技术。
对付恶意网站,常见安全措施有这些
由于现在大部分威胁都来自网上,现在的恶意网站主要是钓鱼网站和暗藏木马、病毒网站。当然前者也大多暗藏木马、病毒,它的主要威胁是模仿网银、在线支付等网站,会给我们财产带来损失;后者则主要通过恶意脚本、代码等来对来访者进行侵袭。
对于这些恶意网站的防范,常规的方法是通过电脑安装的杀毒软件等安全软件进行检测,这些安全软件会在我们打开网址进行访问的时候,在后台自动对访问的网址进行检测,如果是恶意网站则会拦截浏览器对其的访问。这些常规的防范主要借助杀毒软件更新的病毒库进行检测,但是现在这类网站每天层出不穷,而且使用各种变种、难以查杀的代码来绕过杀毒软件的检测。因此为了可以更好保护网民的安全,现在百度、腾讯等公司则使用更为全面、先进网址安全中心服务来阻止我们对恶意网站的访问。比如百度网址安全中心会对互联网上数以亿计的网站预先进行检测,并将可能包含恶意代码的网站在搜索结果中进行标注,这样我们在使用百度进行搜索时就可以避免对这类网站的访问(图1)。
图1 百度网址安全中心会对恶意网站进行标注
安全检测,百度网址安全中心背后的技术
大家知道现在网上恶意网站非常多,那么百度网址安全中心是怎么对其进行鉴别?其背后又使用了哪些前沿技术?
首先对于互联网上数以亿计的网页,百度使用“搜索引擎爬虫”来进行自动访问。对于这些恶意网站的访问,网络爬虫并不是简单在网站门口“瞄一眼”(建立网页快照),因为很多恶意网站存在跳转、加密,简单的表面访问并不能发现这些暗藏的危险因素。爬虫在访问这些网站的时候会利用种种技术手段,把这些异常代码、跳转等全部记录下来。
爬虫收集到所有网站的信息后会汇总到安全服务器,接下来就是对收集到的网页进行安全检测。网址安全检测的幕后功臣则是“网址安全检测引擎”,它会针对不同种类的恶意网址使用不同方法进行检测。比如对于恶意挂马网页的检测方式是使用特征代码进行检测,百度网址安全中心工程师利用类似“沙盘”的虚拟系统对网页进行打开进行测试,如果网址报警,则在搜索引擎数据库中将这个网址标注为红色风险页面,这样搜索用户一看就知道是恶意网页(图2)。
图2 恶意网址
对于恶意网址,百度网址安全中心则使用一种名为“TF-IDF算法”来进行判定。该算法可以提取网页内能够表述网页内容的关键词,找到在这个网页中出现频繁,但是其他网页中并不普遍的词汇,比如某网址页面频繁出现那些粗俗、下流的关键字,则判定其为非法页面(图3)。
图3 TF-IDF算法原理图解
对于钓鱼网站的鉴别则借助“SIMHASH 算法”来判定,该算法把一个网页内容转换成一个64位的“特征字”(类似文件的哈希值),如果两个内容的特征字距离小于规定值,那么就判定二者相似度极高。比如百度会先将工行网站首页进行识别并生成特征字,如果爬虫收集到的某个网址,经过“SIMHASH 算法”得出的特征字和工行很类似,那么网址安全中心就会将其判定为工行钓鱼网站,并在搜索结果中进行标注,从而可以让大家不去访问这些钓鱼网站。
不过除了模仿银行钓鱼网站,还有相当多虚假中奖页面并没有模仿元素。对于这类网址,百度安全中心使用“人工智能”技术进行识别。人工智能的核心是训练机器来模拟人的判断,从而让机器拥有类似人工的智能,可以对常见的恶意网页拥有辨别的能力。如很多虚假的中奖页面大多具备如下特征:
网页中的图片比例很高,呈现瀑布流状。
而这类网页链接由于频繁变动,经常是一些和正常网址不一样的奇怪域名。
这类网站也会引用大量的外部链接。
这样工程师把虚假中奖页面这些特征特征参数放到深度学习引擎中,机器通过学习大量的中奖页面后就可以对自动对爬虫搜集到的网址进行鉴别,从而实现自动的智能识别(图4)。
图4 人工智能学习技术图解
写在最后:道高一尺魔高一丈,安全靠大家
俗话说“道高一尺魔高一丈”。对于百度安全中心推出各种安全检测手段,恶意网页的制作者也不会束手就擒。比如为了躲避类似百度安全中心的检测,一些恶意网站将原来频繁出现的关键字变化为图片,从而躲过百度对关键字的检测。对于这种变化,百度网址安全中心则使用OCR识别技术对图片文字进行识别,同时生成对应的规则让机器学习,这样通过强大的人工智能技术可以让这种恶意网页这种变化无所遁形。
不过现在网络安全形式仍然十分严峻,类似百度网址安全中心并不能完全保护我们的安全。一方面是安全中心并不能100%检测到所有恶意网页,每天在网上仍然会出现各种各样的恶意网址,另一方面出于好奇,即使明知是风险页面,很多朋友仍然会主动尝试打开,这大大增加中招的风险。因此要让自己电脑更加安全,平时我们就要养成良好操作习惯,比如类似支付宝、网银等页面,平时将其官网添加到收藏夹,访问时是通过收藏夹进行打开,这样可以避免很多钓鱼网站的攻击!