NSC2014百度资深架构师周晓波

自然语言处理和病毒防护技术在网购安全中的应用

各位下午好,我介绍一下百度安全在网购安全当中的应用,大概包括四个方面,首先简单介绍一下我们现在用的网银,举几个网络上相关网络欺骗的案例。然后讲如何防护,我们做的工作,之后有一个简单的结论。

这是网银给我们带来的便利,大家可能想不到,但是仔细想一想,其实网银已经在我们生活的方方面面了,尤其是微信出来之后,大规模的使用,已经形成了金融行业一个巨大的基础设施,这是一个数据,是艾瑞资讯的,现在的网购市场有这么大的规模,预期未来也会高出很多。这是支付宝的,存款被划走,一小笔一小笔的,没有得到任何的通知。而且转过去的帐户也非常多,有69个帐户。现在Wi-Fi已经非常普遍了,有大量没有密码的,很有可能就是一些陷阱,一旦接入之后,你的网络交互的数据都能够被掌握住,所以信息泄漏是非常彻底的。

有很多的支付方式是依赖于二维码的,这个案例就是他买了一个产品之后,说你有一个返多少钱的优惠,就是你扫一下这个二维码就可以了,结果他扫了以后,发现了银行卡的盗刷,对方就不知所踪了。这个案例技术上来讲没有什么技术含量,但是成功率是很高的,假冒一些网站,比如退款,这里面有取宽密码和银行卡号的信息,一般的用户没有警觉性,一输入就点了,他这不是一个退款,而是一个支付。前面讲了很多的案例,总体来讲可以归结为两点,包括欺骗用户的一些信息,包括用户名和密码之类的,另外可以诱导用户进行付费操作。

从技术层面来讲有什么样的途径呢?首先是恶意木马,这种是技术含量比较高的,传统的恶意木马可能利用一些权限做一些事情,这种情况越来越少了,对于黑客的要求是比较高的。另外现在大量的使用一些浏览器的扩展,这里列出了很多,浏览器的扩展其实具有本地的一些权限,可以访问网页里面的内容,比如你在里面做的操作,它是有的,它可以操作浏览器,可以知道你很多的东西,极可能会泄漏信息。

大家关注的是网站的安全,利用网站的漏洞去篡改网页,把它的数据库拖下来。大家要关注一下的就是,现在其实这是一个很严重的严重,就是DNS的设置。一些木马的恶意软件,修改你本地的服务器的设置,据我们观察,有5%左右的流量都是通过这种方式被劫持掉了,会是别人的网页,搜索的结果有可能也是别人添加进去了,他搜索的结果可能会插入一些广告,是盗用百度的流量的。钓鱼网站,它是属于社会工程学的一些手段,大部分的损失其实是这样的一种形态的攻击造成的。

针对刚才说的那些手段,我们有这样一些建议。首先就是简单密码,这个其实说过很长时间了,但是很难做到。再就是自己的数字证书,现在网银什么都是有数字证书或者是UKEY之类的,使用的时候要注意安全,然后就是提高网银密码的保密性,因为密码盗用的成本还是很高的,不在公共场所使用网银业务,不扫描来历不明的二维码。然后就是安装杀毒软件,像百度杀毒、百度卫士之类的。这里我就要我过渡到我们为什么会做这个事,就是百度安全中心为什么要做这样一件事情。从安全软件的角度来看,安全能力就体现在两个方面,一个就是对所谓的文件安全,就是你的计算机里面的文件有没有病毒,有没有木马之类的,有没有恶意软件之类的。还有一个就是所谓的网址安全,就是URL安全。URL安全可以分为两类,一类是大量病毒和木马的来源,要从源头上去卡住,另一类就是欺骗,大量欺骗的东西是以网址的形式传播出去的。而百度其实是一个非常重要的传播渠道,所以说我们就非常有必要去做这样一件事情。

所谓的网络安全就是我们从网址安全的角度入手,来帮助用户去防范这样的一些恶意程序。它的操作原理是什么?当用户在本地访问一个网址的时候会先过一下百度安全软件,安全软件会到云端安全,针对这个访问的网址给出一个安全与否的答案。如果安全的话会放行,如果不安全的话会提醒。简单的过一下,云端安全基本的原理其实很简单,可以这样说,就是说我们牺牲掉第一个用户或者最初的几个用户,然后以后的用户没有问题。当用户用百度杀毒来进行防护的时候,我们会知道这个我们不认识,我们会抓下来跑一遍,大概一分钟的时间就会知道它的结果了,然后把这个结果写到缓存系统,海量查询系统里面去,等这一分钟之后的用户来访问的时候,就知道他是安全用户,基本的逻辑大概是这个样子。

对于一个不认识的网址怎么判断呢?就是下面这个大的方块里面,有一个比较复杂的运营系统,首先他会去过各款引擎,这下面列了有四款,引擎会给出一个结果,结果再进行汇总,汇总的时候就有些策略,相信哪一块,不相信哪一块,其实这就是一个投票机制。然后判决出来的结果再回写到缓存里面去,这其中会进行一些人工的干预,比如说对于热度和广度非常高的这些网站的话,我们会重点关注。热度就是访问的用户量非常大,广度就是访问的用户非常多,这是整体的系统架构。

我们就这几款引擎来介绍一下。这其实就是我们在网址安全方面核心的能力部分,对于挂马这一类大概有四种方式进行拦截:一是虚拟机蜜罐,其实就是跑一遍,看看有没有问题;二是浏览器模拟,浏览器模拟的效果会更好,有时候用百度的爬虫去爬的时候是好的,但是用户访问的时候又是坏的,所以用浏览器模拟是最有效的;三是黑白名单,这需要人工去运营,比如说百度有官方网站的资质信息,这个肯定就是白名单里面的,黑名单可能就是我们常年累积下来的,以及下面有安全联盟,安全联盟主导的一个样本交换的这样一个机制,其实就是累积黑样的一个方式;四是PE引擎,有一类威胁来自于网页里面嵌入了有空键,或者是诱导你下载一些软件,就是之前的快播模式,下载一些木马。这个时候我们就借助于另外一个安全能力,就是文件安全的能力,这个引擎就是文件安全能力的,把这个文件扔给它,然后它告诉你这个文件有没有问题。如果这个文件有问题的话,那你这个网页肯定也有问题。

从虚拟机的层面来看,恶意网页的密码可以从几个层面威胁到系统。首先是应用层面,利用浏览器的漏洞执行一些Shellcode,如果你事先已经被植入了木马的话,那在网页里面可能和本地进行一些交互,就会带来更高的权限。甚至还有可能到硬件的层面,其实跟病毒的模式是一样的,只不过它会通过网页去激发执行。

我们怎么做呢?其实浏览器的模拟也是类似,首先就是利用堆的溢出,就指向一个代码,跟操作系统类似。我们检测的时候就是,当你发现脚本申请消耗大量内存的时候,就可以对上下文的属性进行判断。这是其中一个例子,其中有一个DoCmd函数,没有检测长度,然后就被植入的一段,导致了它的溢出去执行那个恶意代码。检测的时候对于这样一些函数,这个代码是检测器的一个代码,在里面用自己的函数去取代它,就是包一下,然后在它上面做一些参数长度的监测。这是病毒防护技术的使用,如果网页上面本身嵌入的可执行的东西是有害的,我们通过另外一部分安全能力检测出来,就是你下载网页的时候把文件下下来,然后去走病毒鉴定中心去监督一下,如果有问题,反过来证明网页也有问题。

这是自然语言处理技术的部分,这个图很复杂,其实可以这样理解,就是把一个网页给他,就是一个巨大的字符串,对这个字符串进行各种分类。我们现在有大概40种类别,比如像色情、博彩、欺诈、钓鱼等等,比如模仿淘宝的,其实也是钓鱼的一种子类,最后把这个问题归结到一个分类问题。这里我们主要用到了四类,这是处理的流程。可以注意一下,基于自然语言处理的技术需要有一些训练的样本集,这个其实是最困难的。但是好在我们百度这边有巨大的数据支撑,所以样本集是非常庞大的,甚至可以包含整个中文互联网所有的信息。所以说在这一点上,其实百度的平台是给了我们很大的帮助的。做过自然语言处理的都知道,样本是非常困难的,拿到样本,拿到一个好的训练集是非常困难的。

这是其中一个分类就是Bayes,其实很简单,对于一些欺诈类的,或者有问题的网站中经常出现的关键词会有一个权重,在分析这些网页的时候,根据这些权重会给出一个计算公式,当超过一定阈值的时候会认为它有问题。

最大熵是信息论里面的一个概念,就是给出一个符号序列,比如说在右侧的,其实是一种方式,就是HTML的标签,我们以HTML的标签为一个序列的话,以它作为信号源的话,我们对于每一个网页算出它的信息熵,当它的熵达到某一个阈值的时候,我们就会认为有问题,基本原理是这个样子。

另外一个就是非常直接有效的办法,我们叫做传播路径。比如已经知道有问题的东西,在这个网页中出现了,那么这个网页肯定很大程度上是有问题的,最典型的就是恶意号码。那种欺诈类的,基本上上面都会有一个电话号码让你打过去,我们如果知道这个电话号码有问题,那个网页也会有问题,邮件、汇款信息、QQ号之类的都可以。在这里也欢迎大家能够一起来共享这样一些数据。

对于自然语言处理技术的使用我们有这样两句话来总结一下,就是通过对大数据的挖掘,我们能够做到闻风而动,因为有大量的客户端在那里支撑,有大量的用户群行为在那里,一个风吹草动,就会在数据层面有一个体现,就会触发我们这边一个应急的预案,就知道可能什么地方有问题了,这个是非常明显的。票务是最典型的,一旦到节假日的时候,票务类的欺诈就直线上升,我们这边就会预警,我们就会投入更多的力量在这方面去做。反过来,利用我们已经知道的信息,反过来通过机器学习给出来预测的模型,模型的作用就是未卜先知,就是你还没有在这里面出现的时候我们就知道你有问题。

总结一下,我们对于网络欺诈类猖獗原因的认知。其实主要的原因就是追回率太低,因为案发非常频繁,很难立案,每一个单价都很小,但是数量巨大,这也是互联网的特点,手段变化多端。很多网站本身的安全意识也不强,用户的安全意识不强,这是非常重要的。出现问题的时候相互推诿,网站说是银行的问题,银行说是网站的问题。自然语言矗立在这个里面有一些什么样结论性的东西可以给出来?它主要是提高恶意程序传播的门槛,病毒防护技术就是防止交叉感染,文件类的病毒和欺诈类的网页相互作用。这两种技术的综合应用可以提高恶意行为的检出能力,降低网络风险。

再回过头来讲我们之前说的那个问题,我们为什么有必要做这样的一些事情?为什么安全软件有必要去做网址安全?在我们的角度来看,导致最后结果的都会经过一个网址,无论是二维码、电话号码、网页、恶意木马,因为现在毕竟是互联网时代,像之前那种用U盘,甚至用软盘传播的病毒已经很少了,就是互联网的传播,这是我们的切入点。

我的分享就是这样,感谢大家!

上一篇:NSC2014国家信息中心信息与网络安全高级顾问章恒

下一篇:沈逸:沉着应对美国网络安全新攻势