中国IDC圈1月7日报道,1月5-7日,第十届中国IDC产业年度大典(IDCC2015)在北京国家会议中心隆重召开。本次大会由中国信息通信研究院、云计算发展与政策论坛、数据中心联盟指导,中国IDC产业年度大典组委会主办,中国IDC圈承办,并受到诸多媒体的大力支持。
中国IDC产业年度大典作为国内云计算和数据中心领域规模大、具影响力的标志性盛会,之前已成功举办过九届,在本届大会无论是规格还是规模都"更上一层楼",引来现场人员爆满,影响力全面覆盖数据中心、互联网、云计算、大数据等多个领域。
百度云安全资深安全专家郝轶出席IDCC2015大会并在大数据应用与安全技术论坛发表主题为《全息安全:互联网空间中的导弹防御系统》的精彩演讲。
百度云安全资深安全专家郝轶
以下为郝轶演讲实录:
我今天的议题分几个部分,是我们在信息安全方面有关大数据的思考以及百度的时间和我个人的态度。
五年前经常说的一个事,我们信息安全风险管理有三个要素,这边是我们的资产,外面是威胁,资产有脆弱性,所以我们需要控制措施,需要这些豌豆、坚果做防护。信息安全在以往的思路上大家讲纵深防御,如果一道防线防不住的话,后面还有别的防线。那个时候我主要做内网安全,又过了五年,我觉得这个事有别的思路,我们站在攻击者的角度和防护者的角度是不同的,我们希望我们能够形成纵深防御,假设攻击者的路线比较曲折,要一步一步来,假设我们是攻击者,为什么要按照防御者规定好的路线和方向来攻击呢?二是传统的内网里面的结构里一定的复杂度,互联网上中小网站结构比较简单,买一个云主机就结束了,没有这么大的空间让你部署这些防护系统,很难形成纵深防御,就这个想法我做了一些展开。
比如在伊拉克战争的时候,站在防护者的视角,就是萨达姆这一端,他们想说我们有很多军队,如果一旦发生战斗我们要把敌人引到我们的巷子里面去,引到复杂的胡同、楼宇里进行巷战,做纵深防御是他们当时的想法。站在旁观者的角度,这个靠谱,纵深防御有很多人,我们在陆地上做防护,一个萨达姆需要一二十个国家非常难。有另外一个问题,如果站在攻击者的角度,美国叫斩首行动,由于陆地上攻击、推进的话需要耗费大量的人力财力,而且有死亡的危险,他更希望派飞机和无人机直接斩首掉对方的领袖,比如本拉登,这是攻击者的想法。实际上攻击者没有必要按照防护者的思路去走他的攻击路线和攻击路径。我后来找到了一个图,战争五环,这也是国外关于防护的理论,战争中有几层,最核心的是领导、关联系统要素、基础设施、民众和军队,从攻击者的角度来讲,他并不想直接和防御者的军队进行直接接触,他希望直接灭了对方的领导,就是斩首行动。
防护一个系统之前做很多建设,我们试图把我们的防御机制,把我们要保护的对象比如我们的网站做得更安全,我们要不停地上防护的设备,增加安全的控制措施,这就像是我们设一座堡垒,我们有资产。昨天还是前天据说我们的邻居朝鲜造出来一个武器氢弹,看报道它发射得不准,这导致一个问题,很难把中小的网站每一个都防护得足够承受攻击,如果有人发射导弹,一种防护方法是把堡垒修得足够结实,能扛得住导弹,还有一种是中小网站的成本不适合做这么高强度的控制措施,一般的国家怎么防护,监控这种攻击从预谋到开始、到途中、到快打到你这儿,争取在空间中把你拦掉,这就是我今天要讲的我们在互联网空间中对中小网站的防护思路。我们一方面给予网站一个基本的防护,同时我们在整个空间中形成周密的监测和系统,争取在攻击尚未打到你这儿时把它打掉。
我们做的过程中还有一些困扰。内网APP威胁,很多针对互联网中小网站的攻击是程咬金的方法,属于三斧子买卖或者一锤子买卖,打一下就好,像威客这种,一个中小的网站不需要你长期持续性的攻击把它拿下,有这么多白帽子,对中小网站来讲拍你一下就闪了,半小时就把你数据导走了,这种方法我们怎么做到。一个立方体,我们能不能看得更全面,站在甲方的业务的角度,你是做什么的,你能付出多少成本,你有多大财务上的影响,你安全人员的考虑,站在攻击者的角度考虑怎么考虑你,安全行业对这件事情怎么考虑,你是处于什么行业,同行业对安全这件事情的看法。多个角度在视角上对目标进行分析。同时我们考虑到距离和范围,原来关注更多的是你的外部,你的外部应用防火墙,现在同时考虑到你的链路,比如百度自身的CDN监测里面有没有恶意的数据,监控攻击源,从不同的角度看这个事。比如我站得越来越远,我看的范围会越来越大,从资产、行为、时间、身份多个维度进行分析,这就是我们全息安全要做的事。
还有一个比较脑洞的事情,原来我们说信息安全这么多年来没有高科技,我的同事说我给你出一个高科技的东西,叫穿越分析,如果我遇到了攻击,能穿越到被攻击之前把攻击者灭掉那么我们就实现了防御,但实际上这件事不靠谱。我们唯一能做到的是,人们在宇宙中找跟地球相似的星星,去观察这个星星怎么产生怎么消亡的给地球作为参考,关于这一点我说这个方式有可能实现,假设存在平行空间。我们认为一个网站有DNA,这么多网站之间有什么区别,先说共同点,可能用到共同的底层中间系统,相同的中间件、相同的业务,不同点是里面的文字不同、模板不同、logo不一样。
如果关注数百万的网站的话,就可能在数百万的网站中发现100个和你极其相似的网站,我认为是你的影子或者是你的兄弟,你们DNA很接近,你们只是内容文字不一样,技术上是不一样的,但内容上有区别,没关系。如果你的100个兄弟中有一个被入侵了,我们分析那个入侵的时候就能找到漏洞,能把漏洞补上,这个时候我们就可以利用从他那儿得到的教训先把漏洞补上,别人再入侵我们就入侵不了了。这是我们的一些想法。
考虑到其他的困扰,长期以来我们都到处布节点、探头,去抓数据,做数据分析,这是基础环节。我们通过实践还是要把这件事情做好。我们如何做的呢?我们期待日志丰富、工具联动、高效维护、持续可用,但实际遇到的问题是日志匮乏,不是日志本身匮乏,大家不愿意把日志献出来。工具要联动,这个事没多难,国内的设备不是一家做的,每家数据的字典不一样,对同一个日志的格式不一样,对同一个漏洞的描述也不一样,一件事可以分三条描述也可以分五条、一条描述,多厂协调很难。不是不能协调,过去五年里我就干过这个事,可以协调但很慢,两边的研发人员对数据字典,协调好了某一方面临着系统升级,这事又白做了,又得从头干,周期非常难,成本很高。硬件故障。设备里有很多硬件要插在里面。
我把我的东西做得足够好,愿意下大本去做,还有一种方法是多平台,从监测端各种监测工具,扫描、防护、加速都是我们自己的,我们集中维护,全是自己的人都放一起,这是现在百度云安全的做法。我们并不是克服了传统的困难,而是绕过了这些困难,没有这些协调的问题。日志也不需要你上传,直接在链路上就把数据抓过来,对中小用户用比较有亲和力的方法把数据拿过来。在分析的过程中,我们也遇到了一些困扰。现在机器学习非常火,尤其以百度为首的百度大脑,开会如果不说这件事实在对不起自己,这是一个方向。攻击情报,后来我们发现机器学习再先进,总有漏报误报的问题,我们只用机器学习和大数据的方法发现异常中的线索,机器比人快,但是不够准,我们用人工分析的方法让你准,标定你的这些问题,得出结论,再把结论反退给规则,这样形成闭环,我们后来认为方法有很多种,没有谁强不强的问题,大家一起用,它其实是个闭环。
我们以分析的角度来看,这里面有一些例子大家可以看一下。我们能够分析查询数据库查询中的这些字段,正常的字段和有攻击的字段,通过机器学习的方法把它分类,这是我们的方法,这样我们能识别出原来这些查询可能有出入。还有一个更简单的是我们读页面的关系,正常的网站页面和页面有超链接,某个页面不连别的别的也不连它可能是问题。我们通过模型对URL里的参数分布、请求频率和请求宽度、404比例进行分析,分析人和机器,一个正常人的访问,他打开网页一定有一半图片一半文字,如果是扫描器的话,大部分都是文字内容,他不会对图片那部分进行读取。一个扫描器访问你的网站的时候会出现页面不存在的问题,正常人在页面上点比例没那么大,我们就是基于这些去找出异常。我们做了这些事,基于我们有很多的数据源和这些算法得出能够在空间中谁准备干这个事,因为他已经动了别人家,谁正在对你干坏事,我们去阻断,总有漏掉的东西,我们溯源出来,找到尚不能防御的攻击。我们过去找到一个攻击过程,我们总有漏掉的时候,但我们可以通过分析得出你怎么进我们的系统,什么时候来链接我。
百度做这件事情的时候做了大量基础性的工作,各个方面都有这些储备,全国有大量的IDC和CDN分布,我们能够在IDC和CDN的节点流量来获得这些数据,这是数据源的来源。我们自身也提供加速和外部防护的服务,现在服务数差不多100万,有非常大的请求,对DDOS压制能力达1T。我们也能在事后对这个事实进行审计,出一些审计报表,也能对后门进行识别。我今天讲的内容是实践,既讲到了对风险的防护,也讲到了我们在营销和对数据的分析,我们能够对用户进行画像。大家都知道百度是弱用户的系统,大家上百度的时候不需要登陆,我们可以通过对访问的分析分析出你是谁,你有什么样的爱好,这也是现在我们安全部门做的一件事。我们分析攻击者的基础上对正常访客也做了一些分类。
最后说一下我自己的态度。高大上的方案不一定适合你。大家一定听说过N多专家讲,我认为工具主要分为四类,有很多自己购买商业工具,效率很高但比较贵,还有自行研发工具、使用开源工具、云服务化工具,很多大公司讲我们用开源的和自行研发的,这个是很好,但它需要大量的人员去投入,需要花很多钱。对中小用户来讲购买商业工具很贵,使用开源工具需要有很强的运维人员,自行研发需要你有很强的研发人员,而你要花钱雇研发和运维人员。无论是购买商业工具、使用开源工具、自行研发工具都要投入很大成本,我们提了很多高大上的方案,你回去根本用不了。百度有1000个信息安全人员,我们内部做得很好,但是你没有那么多人,这就是问题。我们怎么办呢?我们把自己研发的工具实现云服务化的工具,百度内部自己用,自己用效率会比较高,然后给用户用,然后给愿意少量付费的用户。但是用户有问题,百度对自己的运维和研发对大客户直接提供服务,这就是百度在安全方面能力的建立与分享,我们愿意把我们的研发和运维以及成形的云服务化工具给大客户分享能力。
先进的技术不一定适合所有场景,我在反思我们自己,我讲了很多大数据的事,一加一等于二这个结论我一拍脑袋就出来了,可以用大数据算,也可以用塔罗牌算,如果用塔罗牌算和大数据算一样准确,为什么还要用大数据?如果有逻辑分析就能分析出来的富矿,为什么非要用大数据?大数据是好东西,但希望我们建立在已经挖掘了很丰富的信息富矿的时候再考虑大数据或者同时考虑,无论你用什么技术,无论先进还是不先进,最重要的是找到富矿,而不是用了什么技术名词,名词确实挺多的。高难度的技术不一定带来高价值,技术人员的鄙视链,操作系统漏洞挖掘和安全配置。到运维或者乙方售后工程师这一层,我们做的事情是安全配置,在鄙视链的高端是做操作系统级的漏洞挖掘,但我有一个疑问不同操作系统下操作系统的漏洞挖掘一定比安全配置人员有价值吗?技术难度一定等于高价值吗?
我们是一个创业型的互联网公司,我们有几台服务器,雇一个搞漏洞挖掘的人,他给你找出Windows的漏洞,你找到这个漏洞,国际上很关注你,你等着微软发现你把漏洞补上。你如果找一个安全配置人员,能够跟着不停地找漏洞并把漏洞补上,他很便宜,而且关注的面也大。对很多甲方来讲,处于鄙视链低端的人,工程师们给我们带来了更高的价值,远远高于那些能找漏洞的,他找出一个漏洞你的系统里可能还有一百个。高技术不一定带来高价值,希望大家选择给你带来更高价值的人。
最后要说工程师最重要的是解决问题,技术只是手段,谢谢大家!