“中关村大数据产业联盟”推出“大数据100分”论坛,每晚9点开始,于“中关村大数据产业联盟”微信群进行时长100分钟的交流、探讨。
【大数据100分】谭晓生:大数据安全和利用大数据解决安全
主讲嘉宾:谭晓生
主持人:中关村大数据产业联盟 副秘书长 陈新河
承办:中关村大数据产业联盟
嘉宾介绍:
谭晓生: 360公司首席隐私官、副总裁、2013中国互联网安全大会主席。全面负责360公司网站技术、技术运维、企业安全、云查杀、云存储等业务的团队管理。历任3721技术开发总监、雅虎中国技术开发总监、雅虎中国CTO、阿里巴巴-雅虎中国技术研发部总监、MySpace CTO兼COO等职务。
以下为分享实景全文:
谭晓生:各位朋友,晚上好。今晚的话题是网络安全、大数据.
2014年05月:Ebay要求用户修改密码,爆用户数据泄漏
2014年04月:Java Struts 2漏洞还魂
2014年04月:Open SSL“心脏流血”漏洞
2014年03月:携程存储并泄露用户信用卡CVV码事件
2014年01月:DNS故障,国内多家网站域名解析受影响。
2013年10月:慧达驿站软件漏洞导致连锁酒店数据库拖库事件
2013年08月:.cn域名根服务器被攻击,.cn域名解析缓慢或中断
2013年07月:Java Struts 2报高危漏洞,传某著名电商被拖库,超过5亿用户信息被盗
2013年03月:韩国3家电视台、2家银行系统瘫痪
2012年06月:LinkedIn证实部分用户密码遭泄露需重置密码
2012年04月:VMware确认源代码被窃
2012年04月:DNSChanger肆虐全球400万台电脑被感染
2012年01月:赛门铁克公告证实两款企业级产品源代码被盗
2012年01月:美国电子商务网站Zappos遭黑 2400万用户信息被窃
2011年12月:CSDN用户信息泄漏,多个网站遭遇类似情况
2011年09月:日本三菱旗下军工企业遭黑客入侵
2011年04月:索尼PSN平台7700万用户数据泄漏
2010年:伊朗核电站遭受震网病毒攻击,伊朗核计划被延迟3年
先给大家看看最近几年出的部分网络安全事件,2014年尤其不太平,大的安全事件一个月都会有好几次。
去年的Java Struts2漏洞导致国内某大电商数据库被拖,5亿多条用户记录泄露,这些事儿连曝光都曝光不出来。
结果前几天Java Struts2又出漏洞,OpenSSL的漏洞后面可能还会出,我们阅读了Open SSL的源代码,对代码质量比较担忧
去年国内网站安全情况数据如下:
65.5%的网站存在漏洞
29.2%的网站存在高危漏洞
8.7%的网站被篡改
33.7%的网站被植入后门
这是对120万网站进行安全扫描的结果,中国的合法网站有300多万,我们经过授权,扫描了其中的1/3。
而国家与国家之间的网络对抗由来已久。
据《纽约时报》报道,日前爱德华·斯诺登(Edward Snowden)曝光的一份文件显示,多年来美国国家安全局(NSA)一直在对中国电信巨头华为采取秘密行动,行动内容包括入侵华为总部的服务器,监视华为高层的通信等等。据称NSA把这次行动命名为“狙击巨人”(Shotgiant),早在2007年就已经开始。
Stuxnet(震网病毒)也可以定性为国家之间的攻击——美国与以色列对伊朗的核设施的攻击。
过去20年间信息安全经历一个变迁过程,从一开始的病毒、蠕虫,后来的木马,到钓鱼欺诈、Web攻击,到现在以情报偷窃与破坏为重点的APT攻击
安全防御遇到空前挑战
过去的防御武器包括:防火墙、IPS(入侵防护)、IDS(入侵检测)、UTM(统一威胁管理)、防病毒、终端安全管理等
但面对社会工程学、漏洞利用等攻击手段,过去的网络安全防御手段的有效性打了很大折扣。
我们测试过几家主流厂商的IPS,10个远控木马样本,平均只能检测出来5个,而且据说已经是比较好的指标,说一般的测试值只有3个,即可以检测及拦截30%左右的攻击。
这些防御手段依然有用-能挡住一部分毕竟比没有一点格挡要好,但,需要想办法提高防御的效率
来说说什么是漏洞吧
微软对漏洞的定义:
即使使用者在合理配置了产品的条件下,由于产品自身存在的缺陷,产品的运行可能被改变以产生非设计者预期的后果,并可最终导致安全性被破坏的问题,包括使用者系统被非法侵占、数据被非法访问并泄露,或系统拒绝服务等。我们将这些缺陷称为安全漏洞
Exploit的英文本意为“利用”。在计算机安全术语中,这个词通常表示利用程序中的某些漏洞,来得到计算机的控制权(使自己编写的代码越过具有漏洞的程序的限制,从而获得运行权限)。
漏洞利用与病毒、木马有很大区别。防病毒软件的防护对象是文件,而漏洞的利用,完全可以在整个利用过程不产生文件。通过网络,攻击某个主机的某个端口,造成溢出后恶意代码在内存中执行,接着攻击其它主机。
比如最近大家比较关注的XP停服之后所面临的安全威胁,有人认为能杀病毒就行了,其实是很幼稚的看法,因为如果能通过漏洞成功攻击计算机,可以获取计算机的管理员权限,甚至可以把杀毒软件阉割掉——杀毒软件还在,但会被骗过。
漏洞利用防护办法有防火墙拦截、漏洞修补技术、漏洞缓解技术、沙箱技术等。
这两年,漏洞得到了较大重视,挖漏洞的团队也多起来,比如前一段比较出名的Keen-Team,吴石等,是挖漏洞的高手,360的袁哥也是挖漏洞的高手。
漏洞有多少呢?这里有一个数据:
2013年 CVE总共记录了5191个漏洞
2013年漏洞排名微软排第四,前三名为 Oracle、Cisco、IBM
那如何在这样的环境之下生存呢?作为360这个安全公司的信息安全负责人,我给了自己四个假设,以及针对这些假设的应对策略,如下:
信息安全防御的4个重要假设
假设1:系统有未发现的漏洞
应对1:如何发现有漏洞被利用/攻击行为检测?
假设2:系统有已发现的漏洞未修补
应对2:找出哪些漏洞还没有修补,进行修补
假设3:系统已经被渗透
应对3:如何发现系统已经被渗透了?清理!如何重现攻击过程?如何溯源?
假设4:员工不可靠
应对4:如何发现员工的异常行为?如何检测/拦截来自内网的攻击?
这个4个假设,其实是把自己的防线建设在流沙之上,我们是在不稳固的基础上做防护。最终,在一些传统的防御技术之上,我们走到了利用大数据进行信息安全防御的道路上。
我们每时每刻监听100Gbps的带宽,抓包并做协议还原;每天要存储经过抽取、清洗之后的50TB的数据;每天存储4000亿条网络记录;对网络攻击的反应可以在10秒内做出。
思路是:数据化一切。
首先是把流经网络的所有文件提出出来,找出通过文件进行的攻击——90%以上的。
APT攻击是通过文本文件(office文档,PDF,JPEG,甚至是TIFF,GIF图)进行的,这些看似无害的文件其实可能被嵌入恶意代码
拿到这些文件后会扔到检测引擎中进行多重检测,我们的沙箱、轻量级沙箱可以有效发现嵌在文件中得恶意代码,检测到这些代码所触发的行为。
比如:是否在栈上执行了二进制代码?是否在堆上执行了二进制代码?是否在数据区执行了二进制代码?是否释放可疑文件?是否创建可疑进程或线程?是否修改注册表?
钻空子者,必定行迹诡异!
安全从业者的目的是要让系统更安全。如果不分享漏洞,系统安全性不提高,做安全的累死,系统也安全不了。
有不少朋友会问,病毒是不是你们这些安全公司做出来的?实话告诉大家,根本用不着我们做,做病毒、木马的人太多了,杀都杀不过来,没必要自己费劲儿做。
现在一天要捕获30万-50万种不同的木马,2011年初最高峰的时候曾经一天逮过1000万只木马,您说,还用得着我们做木马么?做安全软件,首先还是要有效,能解决用户的问题。
接着说安全与大数据:
360有着中国最大的程序文件样本库:有50亿个可执行程序样本,其中大约7500万是好程序,19-20亿可以确认是坏程序,还有大约30亿没有再去进一步识别。
也就是说,如果拿100个程序来,98.5%的程序是坏的。于是,我们拿自己手中的样本,用机器学习算法进行大数据挖掘,做了一个叫QVM的引擎。
因为样本量大,加上训练算法得当,这个引擎可以识别出很多恶意程序。这个QVM引擎树立了一个比较高的门槛,不是说我们工程师比别人聪明多少,而是在于我们样本量实在是太大了,机器学习训练之后模型的效果就好很多。
国内不少安全公司对我们的样本直流口水啊,这就是大数据的力量之一。
除了提取文件之外,我们还讲网络流量还原到每一次的网络访问,然后把这些网络访问行为数字化。
比如,每15分钟内,对某个网站、某个IP的访问都有多少次?对某个地址的访问多少次?这些访问都待了哪些参数?这些参数取值都是什么样子的?这些访问的返回值是多少?等等。
拿到这些数据后,可以对用户的网络行为画像。而寻找攻击的过程,首先是从这些海量访问中找到“不寻常”的访问,首先就是找出小概率事件,比如一个不同寻常的网络参数.......
北大袁晓如教授给我们做了一个总结,说这叫“在高维数据中找出离散点”
具体说,包括如下工作:
1.网络的异常请求
2.网络里的攻击特征
3.大数据存储与计算
4.高性能分布式实时计算
5.机器学习与规则提取
6.威胁模型的建立
如果很不幸,前面没有检测到攻击行为,主机被攻陷了,那么大数据分析还能帮我们找出隐蔽的通信信道——木马进来肯定不是溜溜弯儿,是要偷东西走,或搞破坏的。
比如:
1.加密通信,其实通信的内容的加密“熵”会有不同,即因为加密,让信息熵变大了。
2.向比较奇怪的目标通信地址发起了通信,我们成功逮出来一个向希腊的某个IP发伪造的DNS请求的木马。
希腊DNS这个不是机器学习,仅仅是因为这个通信协议竟然请求希腊的服务器,概率太小了,被发现的。
去年2月参加RSA大会的时候,美国那边刚开始说大数据来解决安全问题的思路,今年再去参加RSA大会,已经有不少产品出来了,很庆幸的时,我们两年多前就开始搞了,并且去年就已经投用,效果还挺不错的
用大数据方法做网络安全的攻击检测,几个要点是:
1、大数据基础架构——存储与计算能力;
2、样本量——否则没有机器学习训练的基础;
3、懂安全的人——模型是活的,需要不断演进;
谭晓生:
我说完了,朋友们有啥问题开问吧!
交流互动
杨静:
你们这个是什么方法?用的并行计算?
谭晓生:
基本没有用到并行计算,还是分布式计算,Hadoop,Storm为主。用MPI集群做了一些事情,但基本没有用到多机并行处理的特性。
卿刚:
360本身有漏洞否?如何自我防御?
谭晓生:
360本身当然有漏洞,应对措施是:
1、自己投入精力挖自己的洞;
2、给报告360漏洞的白帽子奖励;
3、用大数据方法主动发现别人对360漏洞利用过程;
卿刚:
如果它攻击你的漏洞或从硬件设备上破坏你的样本库呢
谭晓生:
我前面的4个假设......,就是假设我有漏洞。样本库,不止一份实例。服务器硬件,我有多家供应商。
卿刚:
样本全,程序执行效率很慢甚至死机,请问如何改善?
谭晓生:
样本全,都是放在云端处理,不是在用户的计算机中处理的。一个云端的文件查询,典型是在70毫秒内完成的。
杨静:
我问一个题外话,请问为什么要给自己冠名为“土人”呢?
谭晓生:
在深圳工作的时候,有一个女同事被派驻香港,她口头禅,称我们这些同事为“土人”,我们给了她一个绰号“洋人”,2003年我到北京,进入互联网公司的时候,发现这个同事是哈佛的博士,那个是斯坦福的硕士,还都喝咖啡......,公司用IM,让每个人起个昵称,我觉得我自己是个纯粹土鳖,没喝过洋墨水,就起了个自嘲的名字”土人”。
丁蔚:
360会和业界或政府分享漏洞信息,比如CERT, 以便尽快提示风险么?
谭晓生:
我们是Cert,国家信息安全测评中心,公安部十一局等单位的技术职称单位,也是国家漏洞库的支撑单位。
彭永红:
如下的总结不太合理,有堆积之嫌!网络的异常请求、网络里的攻击特征、大数据存储与计算、高性能分布式实时计算、机器学习与规则提取、威胁模型的建立
谭晓生:
疑问是有些道理的,那些term是有些堆砌,不算严密。
彭永红:
建议:网络安全的讲座应该做成公益
谭晓生:
最近两年360到处做了不少网络安全讲座,包括到大学里撺掇学生搞信息安全
黄明峰:
请问:信息安全除了技术安全之外还有您提到的APT攻击,我觉得APT攻击的防范才是大数据思维的应用精髓,漏洞、后门都是技术层面,离不开采集特征码这种相对滞后的手段。
谭晓生:
不完全赞同,大数据用于APT攻击,是因为APT攻击的检测太困难了,特征不明显,通过大数据分析是能见效的方法,而漏洞等是更低一个层面的东西,是APT攻击所用到的技术之一
彭永红:
数据可以与科研人士共享吗?
谭晓生:
不行。可以做项目合作,运算之后的模型可以拿走,但原始数据不能拿出360机房。
陈新河:联盟副秘书长;《软件定义世界,数据驱动未来》@谭晓生再次感谢谭总的精彩分享!
原文发布时间为:2014-05-24
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号