京东安全经理李学庆跟我们分享”互联网应急响应中心建设与运营”。
李学庆:大家好,我是来自京东商城的李学庆,现在在京东主要负责安全测试中心和安全响应中心。我2011年入职京东,当时京东对于安全来说也是空白,一点点来做。
京东的理念是让购物变得简单、快乐!
为什么今天我要分享这个议题呢?我在去年到现在为止都有很多公司问我,学庆,当我发现一些漏洞的时候,这些漏洞已经在其他平台传播了,这对公司的影响非常不好,应该怎么把安全响应中心搭建起来,后续如何运营?今天借此机会和大家一起分享一下安全响应中心如何搭建和运营。
现在为止各个互联网公司,包括电商公司,已经陆陆续续在开始搭建自己的安全响应中心。最开始就是腾讯的”二胡”是最开始搭建平台的,当时也给行业里面做了一个领头的模范作用。等它做出来之后,对大家的影响很大,但是对这个平台争论也非常多,最终走到了现在,也对于自己的平台、对于自己的公司做了很大的贡献。包括阿里、百度,还有后续跟着的携程、网易都在慢慢把自己的平台建设起来,建设起来之后,可能大家想到了一点,就是说这个平台到底做什么?它的初衷到底是什么?
安全响应中心建设初衷:1、投递无门的企业入口。当所有外面的一些黑客,外面做安全的人,发现这个网站有漏洞的时候,他没有地方去提,也不知道给谁,所以就会想到一些办法,比如有一些微博账号,用微博一种宣传的力度去告诉别人这个网站现在有一些安全问题,这样进行传播,但是在这个过程中可能给自己的公司造成一些不好的影响。2、所有的安全漏洞对于安全来说应该有一些价值的,所以在这里面需要有一些产出比,作为一个甲方公司、作为一个互联网公司、作为一个电商公司,需要合理的去兑换别人创造的这个价值。3、需要回收外界一些安全风险,可能京东现在树大招风,时不时有一些安全风险出来。2010年也没有安全中心,安全部门也是刚刚成立,在这种时候有很多其他的平台,包括一些其他人员在发一些京东信息的时候,包括有一些恶意炒作的时候,就会给京东带来很大的影响。这种影响不仅仅是技术部门成本上的增加,还包括其他部门配合,非常非常多的成本。我们需要去回收未知的一些外界风险。4、招纳贤人的专业平台。圈里安全人才本身特别少,特别稀缺,这些技术比较不错的又全部被BAT挖走了,这样就会带来很多人才吸纳不到自己公司的,所以我们也需要这样一些平台,这些人熟悉我的业务的。我们也是在自己平台里面找到了一些对于京东业务非常了解,而且他的专业技能非常不错的人才,现在已经是入职京东了,所以是非常好的平台。
如何建设安全响应中心。
在建设安全响应中心中一些重要的节点,需要去注意的一些事情。
1、要建立安全响应中心的前提就是要先了解自己公司有哪些业务;2、需要把所有的业务做一个定义级别;3、评分标准;4、响应流程;5、业务自检。
1、梳理业务。
不是简简单单运维把他的一些信息给你,你用他的信息去做一些事情,不是这样去处理的,而是你作为一个安全部门,作为一个安全响应中心成员,把业务按照域名和IP这种方式去梳理,梳理的维度可以分成内外、部门、负责人。梳理完了之后是针对后续我们去评级和我们真正去定位这个问题是谁处理是非常有用的。现在京东开始筹划安全响应中心的时候,把所有业务全部梳理了一遍,按照这种形式梳理出一个非常明确的列表,我们自己平台里一直在收录和更新。
端口方面我们一直做一些事情,哪些端口可以对外,哪些端口不能对外,这个应该非常清晰。针对于所有惊动冷知IP对外的端口都要进行监控,出现异常端口了就立即会报警,这种东西是需要有一些非常明确的列表。
如果公司的业务多的话,需要把业务划成不同的业务线,这是京东从去年年底就开始做的一件事情,京东把自己所有的业务,包括自己子公司,包括自己合并拍拍的业务全部放在一起,现在划成八大业务线,其中每个业务线都有自己的安全官。安全官做的事情全权负责这个业务线里面的安全提升,包括他的安全上线检测、安全运行检查、安全培训,包括这个部门的安全开发、安全开发规范,这些东西全部都由这个人来做。这个明确好之后,一旦出现安全事件之后,第一个想到的人就是他。
确定业务安全接口人员。受到公司文化影响,可能会遇到这种情况,当你把这个问题提出来之后没人理你,或者你把这个问题提出来之后,等到一个星期或两个星期才能响应,这对于安全问题是不允许的,当出现安全问题的时候,第一时间由这个业务接口人,由这个人全权去掌控这个部门安全上面的一些漏洞修复进度,需要他去管控。需要把这些东西梳理好之后,才能再往下做。
2、定义级别。
对于自己公司来说应该会有一些内容,可能会有自己一些级别的判断,对于安全来说也是一样,可以结合自己公司业务的分级再做一些安全的分级。
内外网是比较重要的,如果这个业务是内部的,优先级稍微往后排一排,只要对外的,即使是非常简单的网站,也是影响级很高的。上面跑的是什么业务?京东跑的www主站,如果上面出现特别小的一个问题,需要第一时间去处理。交易,涉及到交易的,每一个流程都需要探讨它的优先级是什么,特别是有支付还有电商的一些平台,对于这种东西应该是非常敏感的。支付、交易、账户方面,公司规模大一些都会把这些东西单独拎出来,比如账号方面,京东会有一个部门专门做它的风控,支付也是专门有人去搞,交易是专门有一个大的部门负责,包括一些诈骗的事情都会负责
影响。这个网站如果出现问题以后,对公司的影响到底有多大,这个需要权衡。权衡好了之后再把这个东西定级,这个东西到底是哪个级别的。京东也有级别的划分,现在是针对于级别P0、P1、P2去排的,P0是最高的,包括京东6.18的时候,当时老板为了出现问题之后,问题跟踪效率提高,专门建了一个群,出现问题马上进行解决。当你知道哪些是属于自己的一些核心系统的时候,才知道哪些是需要你去快速响应的,这是需要提前定义好的。
3、评分标准。
每个公司的评分标准都是不一样的,可以根据自己公司的一些业务定,现在每个公司可以根据自己公司的一些业务情况。现在整体来看,第一排行比较高的评分标准是腾讯,其次是阿里、京东相对来说比较高一些。上面领导非常重视这件事情,觉得这个做完之后是有价值的。但是大家也要记住一点,每做一个评分标准里面的内容都是真金白银,需要自己公司里面部门的预算或部门长期的一些展望定制好。定制好之后,这个评分标准需要对外做一些宣传,而且要把这个东西直接给公示出来。如果开始建设平台的时候,建议做一个相对保守的评分标准出来,当这个平台在线上运营两三个月,OK,比较稳定了,知道我们自己公司的漏洞到底趋于什么方向、什么级别比较多了,把这些东西定义好,这个积分是否可以考虑往上调,这是一个方法。
JSRC在去年底提出一个”三个积分带你飞”,当时那个活动就是专门为我们后续把这个积分提升上去做的一个预热活动,而且作为一个参考,把这个积分提上去之后,我们的漏洞会不会增加。这个”白帽子”对于我们来说是积极程度不高,还是有些漏洞没有提上来,从这种方式能够发现一些问题,最终这个东西应用了之后,我们发现有些严重漏洞就过来了,大家响应的活跃度也高了。但是在这一个月当中,评分出今年一年的预算是多少,所以后续才敢大胆把积分全部变成三类积分,这中间用写环节需要大家去考虑,需要有些斟酌点的。腾讯开始上的时候,刷了很多的漏洞,按照这个漏洞会需要很多很多钱。这就是提前准备没有做好,另外没有明确的定义。如果大家在做JSRC的时候,评分标准先要定好,然后试运营,之后再考虑怎么上,这就是评分标准。
4、响应流程。
刚才提到对外如何去评分、如何做这个事情?现在怎么约束内部,怎么响应外部提交的漏洞。我们需要定义一个安全事件的处理以及响应规范,告诉大家我们公司分为哪几个来源的漏洞,怎么去响应,应该响应到什么级别,每个级别的响应时间是什么时间,都在这里面定出来了。
京东有几个:1、自己上线测试,和阿里是一样的,所有上线的项目都需要经过安全部门审批。安全部门没有测试通过的状态是永远上不了线的。就是上线这边会产生一些漏洞,上线的漏洞出现以后,这是自主发现,自主发现也分高中低不同的级别,如果是严重,就会把这个漏洞直接抄送到他们的部门老大、他们的VP,包括我们整个大的部门的VP。
响应时间,我们针对不同级别的响应时间,严重是1天,高是3天,中是7天,低是14天,是这样一个级别。但现在我们响应速度已经达到严重的半天就可以解决。从事件推动到业务推动,慢慢把这个东西给推起来,大家就慢慢重视起来了。
我们不仅针对于严重漏洞还有不同级别去定义,其中我们针对于严重漏洞会单独发出一个邮件,这个邮件抄送人员级别是非常高的,技术研发管理部的老大,包括CTO都会被抄送到,包括我们现在每周都会自己发现、外部发现,都会去抄,这样就会把安全的工作推上一个阶段。
例行检查,发现一些严重问题的时候,突然有一天出现一个IP启用了,之后开了20多个口,发现漏洞,第一时间短信就会发到我们手里,因为这种东西是非常严重的,严重的问题就需要有这样一个表格。如果这个问题解决了,谁来响应这个事情,漏洞的描述,包括漏洞截图都会在里面写的非常详细。基本上有这样一个详细的列表出来之后,有这样一个推送抄送机制出来以后,我相信没有任何一个部门会看到他的VP能看到的邮件而不去想这个事情的。当你用这种方式去推动这个事情来建立响应规范之后,就能够建立好内部的响应流程,这就是根据响应流程需要做的事情。
5、业务自检。
如果你现在上一个新平台,积分兑换也都可以,很多人如果关注过来了,恨不得把你的预算全部一天刷光,就会出现这种情况。大家做的一个事情是需要自己去做一些针对于所有业务的检查,包括业务梳理,当梳理完之后,先对我的外部系统、重要的业务进行检查,然后再进行P0、P1、P2级的检查。
手工排查。可能有一些重要业务需要手工去看,有没有业务上的一些问题。容易出现的一些问题,出现水客攻击,这种容易被刷爆,应该去定位一些基础通用的安全漏洞,在你公司整体的排查力,不要被别人刷单。
工具检测。现在有很多比较成熟、安全的一些工具,可以针对自己所有业务进行统一排查,很多人做这个事情都怎么做的?今天上班了,我在家里面部署的几台虚的服务器,在每台上面部署一个安全攻略,然后去跑,回家之黑就直接看有哪些漏洞,然后提交上去,非常低廉的方式。但是这种方式针对于自己公司来说可以把这个东西杜绝,所以需要提前把这些工作全部做到位,包括手工和工具上的一些检测,把这些问题全部修补以后再去考虑这些事情。
如果手工和工具都没有一些思路去做的话,现在有一些比较成型的众测项目也是比较不错的,可以投入少量费用,先让大家去评估一下安全风险,真正了解安全风险以后,把问题修复之后才有胆量去考虑这个东西我什么时间去推,什么时间正式上线。
当把这些所有内容都已经做好之后,可能就可以对外去发布了。发布之后后续就会遇到一些事情,怎么去响应外面的一些流程、响应外面的一些漏洞,这里涉及到运营。不是发现这个漏洞之后去处理,真正安全响应中心不仅仅是梳理漏洞和处理漏洞,有很多事情可做。这里给大家解读一下:
第一,安全响应中心提交过来的漏洞一定要7×24小时,一定要跟接报平台做一个监控。现在京东对于所有外部接到的漏洞都会第一时间发短信过来,而且可以看到它的级别,包括一些第三方的平台都是第一时间。但是不管是几点发过来的短信,我们有专门的安全人员会对它进行判断,如果是夜里2点发现严重漏洞,评估是严重,OK,进行处理,这是必须第一时间去处理的。一定要及时响应JSRC当中提报过来的漏洞,而且提前保证有人跟踪这个事情。当发现有漏洞之后,第一个要去识别它是哪块业务,然后再去看这个漏洞应该哪个业务线的负责人去处理,这就是他们做的事情。
第二,及时沟通。漏洞到自己平台之后,需要和白帽子直接做一个简单的交流沟通,到底是怎么发现的。其实这个过程不是我们要把这个漏洞直接拿过来或者怎么样,需要有自己的一些沉淀,针对于你发现这个问题之后,它的思路到底是什么样的,需要你去掌握,放到自己解决方法当中去。
针对于平台当中统一官方语言回复模式也是非常有必要的,前段时间有一篇文章中写到这一点,统一官方语言回复模式。每个人员自己对外的语言不是特别标准,所以出现外界媒体、外界其他比较官方人员的转播,使事态比较严重,所以我们就需要有一些官方的回复。
如果有异议,千万不要去评漏洞,白帽子觉得是一个严重的漏洞,内部觉得是一个低的漏洞,本来能评4500元,结果评了以后只能拿到500元,这样双方容易造成矛盾,这些时候需要有官方人员把这个问题解决掉。我们专门有漏洞评审人员,觉得这个东西有歧异的话和白帽子人员沟通,再有歧异就有安全专家和白帽子进行技术方面的交流。
针对于自己平台一些白帽子需要怎么去做?需要维系自己一些白帽子。因为他们能为你们找出一些安全上的问题,这是很多其他公司没有这个平台是做不到的,所以需要去分析平台的白帽子的区域,应该在哪块搞一个沙龙,让大家有一个在线上交流的方式。我们现在平台做到一点,我们所有白帽子的分布区域,包括每个区域提交漏洞的质量、提供的价值是多少,我们都在里面分析出来。今年举办了两次安全沙龙,就是我们从上面选出来的,按照TOP来排的,第一个在哪,第二个在哪,这样去排,来维系我们自己的白帽子,来看看我们白帽子在哪块,跟他们去沟通。
第三,及时将近。当所有的漏洞提交到你自己平台的时候,要做的事情就是及时去改进这些问题,包括怎么去处理,京东有自己的一个平台,叫”菊花台”,包含漏洞类型,包括获得的积分,谁提交的,提交时间。我们针对于不同级别的漏洞,给它定一个时间,当一个严重漏洞出现之后,应该是一天解决的,到了一天的70%了,就可以给这个人发警告,告诉严重漏洞没有处理完,如果这个漏洞已经到达百分之百了,直接会把这个东西上报他上级领导,这个东西已经超时了,必须紧急处理,如果不处理,需要你们部门最高领导去回复你,告诉你这个问题为什么没处理。
针对所有的漏洞会有一个状态,当提交之后会读取修复状态,当解决的时候会变成解决,关闭的时候会变成关闭。
第四,及时跟踪。所有的状态白帽子都是可以看到的,包括处理、修复,这个问题是否已经忽略,包括每一步是谁处理的都会在这里面去记录,这个评分是谁给的也都会有。这样才能保证能够快速、准确把这个问题解决掉。
及时跟踪只是我们针对这个漏洞层面去跟踪的,下一个跟踪是针对于JSRC可以运营的跟踪,今年针对于JSRC投入的多少钱,成本是多少,需要去考量,包括现在漏洞的价值是否已经超越了整体一年价值的预算,需要有一个考量。我们现在做的一件事情,每天都会把JSRC所有运营情况发给我这边,把每天、每个月的漏洞价值的趋势,到底超没超我们的预算,这个需要算出来的。如果最近一段时间漏洞价格一直在往下降,证明我们运营上面是否出现问题了,就需要有些活动,是否调研一下白帽子对京东这边有什么想法。这是有一个针对自己平台的参考。这只是简简单单可以根据自己的平台建立一些其他维度的标准。
第五,及时沉淀。我们需要有一个东西把JSRC里面的内容沉淀下来。因为我们花了很多很多钱在JSRC上面,我们拿钱去买外界提交给我们的漏洞,这些漏洞我们怎么去转化成自己的一些财富,需要我们自己去做,所以需要有一些东西及时去沉淀。我们针对于JSRC提报过来的漏洞,新的思路、新的检测方法,包括这个漏洞是否可以加入到安全规范当中,都会沉淀下来。
我们针对于每一个漏洞,当这个漏洞超出当天价值百分之多少,自己公司可以定一个值,当超出这个值以后,我们分析这个漏洞超出的根本原因是什么,如果这个根本原因是由于自己内部员工检测失误的话,必须需要去调整内部一些检测的策略,包括人员分析、后续改进措施、负责人,每天改进的进度都需要在这里面写出来。当有这样一个循序渐进的方法去运营、去建设这个平台之后,才能把所有外界JSRC提报过来的漏洞真正转化成内部的一个平台,能丰富内部知识。首先从建设到运营到沉淀,把这一套东西做出来,才是一个非常好的安全响应中心。这样做完之后,才有底气去和老板要一些资源,才可以去和老板说一些我们现在的一些成果。
JSRC平台对于一个企业来说是非常宝贵的一个财富,既然有这样一个财富的平台,为什么我们不能借着这个平台去做一些对于我们内部丰富和加强内部安全能力的一些事情呢,所以黑锅就:当这样平台的运营人员是幸福的,就像一个图书馆(图书馆的威力,你们都懂得!)
如果大家觉得这个平台可以在自己公司试运行的话,大家可以真正去实践它。