滴滴顾孔希:企业安全检测能力建设实践

顾孔希:尊敬的各位嘉宾下午好!我是顾孔希,名字可能大家不太熟悉,我艺名叫做鸡子,我在滴滴安全部负责系统安全,负责安全技术系统建设,是压力比较大的工作,包括PPT也没有时间写,当然我们压力比较大,挑战比较大,欢迎大家对滴滴感兴趣可以私下聊一聊。今天主要三块,安全检测能力是什么、滴滴安全检测能力历程、对未来理解什么样。

8  顾孔希

一、安全检测能力是什么?

我们觉得企业安全检测不是一个点上的东西,不是补一个漏洞就做好的事情,企业安全是体系化的对抗。体系化主要四个能力的建设:第一运营能力,贯彻整个安全建设中间,下面有三个技术能力做,分别防护能力、检测能力、处理能力,我今天讲的主要处理能力。在我们看来安全检测几个层次,设各种坎,我们用什么手段攻击我们,我们用什么手段防御他。我们分析这些人怎么攻击我的。大家阐述安全是不断提高对抗的过程,消除它的获利。

今天讲的安全检测能力是第二层面事情,分析攻击过程,把攻击手段封锁住。什么是安全检测能力?我们公司认为安全检测能力是数据加各种模型等于安全检测能力,大家看我在后边打了一个问号,我不太认同。所有安全事件都会在数据中,我们常说安全建设有木桶原理,同时攻击者有一样对应的原理在,不管用什么手段攻击,总会数据里边留下一点痕迹,我们做安全检测能力一定拿到所有的数据

我跟负责安全检测事件相应能力人聊,对于他说安全检测能力高效安全检测能力闭环,高效不光指速度,还有准确率,有很高的准确率和很快的相应速度。还有我自己的看法,我是2014年到滴滴,那会儿CNM有点预热,不是把公司各种安全设备集中一个平台上去,我更多理解把各种各样日志集中同一个平台上去,通过关联分析把所有日志打通,包括去年2015年业界热词,也离不开关联分析,把各个纬度数据拉到一起做关联分析。根据我们几个人讨论分析,安全检测能力是什么?把各种各样数据聚合一起,通过很高效的手段把数据聚合分析就是安全检测能力

二、滴滴怎么做安全检测能力?

先说我们安全技术架构是什么?我们解决两个问题,第一应对攻击、保障业务能力和安全,第二保护数据泄露。大家不会把自己企业安全防护策略拿出来讲,更多讲架构方面的东西。去年网络安全大会,京东过来讲应急,就是后边一块。真正到现在为止,没有哪个甲方把安全策略拿出来讲,毕竟是对抗核心的东西。为了达到这两个目的,主要设计一套技术架构,这套技术架构体现系统安全全貌,包括系统机构、还有人员体系。

今天讲的安全检测能力在技术架构处于中间力量位置,安全检测能力依赖核心系统就是日志监控平台。

我们滴滴发展历程大概分为四个阶段,最早出脚本阶段、第二免费软件,第三开源系统,第四自研。最早的时候脚本时代,数据量不大,我们到一台机器写点脚本基本可以搞定,为了写这个PPT上去翻一下,我发现我脚本还在运行。我们在原始时代的时候,其实做的一件事情最核心,我们关注安全检测的逻辑,到后边发现写脚本已经满足不了我们需求,我们需要一个系统做支撑,这时候我也做很多调研。2012年我接触Spiak,脚本、告警不满足我们要求可以框架,进行二次开发,他支持GS做可视化,可以满足所有数据分析需求。这款产品对于我来讲几乎完美的产品,为什么没有用下去?原因很简单,免费版500兆,以我们数据量肯定几十万才能做下来,肯定不行。比如先数据预处理,数据量一定规模的时候很难满足,后续我们寻找其他方案,我们找到ELK。

ELK是三个组件组成的,这套系统在历程生命周期非常短,我们发现运行不是特别稳定,数据量大的时候存在严重的性能危机,数据规模大的时候基本不是特别稳定。最后定来搞一套自己的系统,于是我们进入自研的时代。

我们把自己系统叫哈勃平台,我们觉得这个平台是我们探索赛博空间无限可能性的一个工具。当时这个平台我角色更偏向产品经理或者需求方,给当时ID谈这个事情,我们再造价值几千万软件出来。我们很多借鉴Spiak,比如我们搜索一样,自己实现一套查询语句,再比如支持各种数据源的导入,各种纬度的报表,我们模仿它非常自由化的告警机制,以及索引根据自己需求从不同渠道建。

简单介绍我们架构,我们没有拿更多的具体策略、具体方法讲,更多讲我们架构怎么做。业务层面分四块:采集、数据、计算、运营层。采集流失、客户端、PC采集。到数据层主要接触各种各样原始数据,以及安全系统经过二次处理的数据,用的数据站四块APF,各种表的关联,为了让我们查询更快引入rds。计算层分两块:一个分析、一个规则平台,分析平台就是ES,支持各种自由化查询,离线跑MR。运营层做的比较薄弱,包括可视化没有做起来,主要更多在查询和规则这一块。我们在系统上自己实现搜狗语言做查询

我们这套数据流,数据源尽可能把公司各种各样数据采过来,输入数据采集这边,数据采集有ETL系统,把数据提取,经过特算平台,对外输出产品可以各种各样,根据采集数据不同提供不同产品。比如提供异常告警也是安全产品,比如移动端日志拉过来可以做设备的新用。举一个具体例子,我们会采集各种各样移动端数据,采集之后定义特征,根据特征最后输出服务是什么?这个设备是否可信。

我们做这套系统的时候主要困难是什么?

1、模块联合我们最初做这个事情的时候,没有一个好的指导方向来做这个事情,基本上我们说跟着需求走,我们现在需要分析能力上一套ES,现在需要做规则和自动发现就上MR,最后发现用起来非常困难。最后怎么解决这个问题?引入安全监控、安全分析熟悉人业务流梳理,重新设计模块关系,结合前端把模块打通整合起来。

2、性能优化,我们遇到最大挑战就是性能方面挑战,我们之前是20台机器吃不下公司数据量,为了结果这个问题,经过分析索引鉴定出了问题,我们对索引鉴定优化,一个优化机制,一个索引鉴定设计闭型,基本上50台机器吃下公司所有日志

3、用户体验的优化,我们用各种不同的组件在下边,用户用的时候非常困难,我们架构师怎么解决这个问题?拿一套开源设备做二次开发,把各种服务打通。架构师定义一套语法出来,后边做解析。

4、关联,我们怎么关联起来?传统方法是通过IP或者通过时间,但是我们发现并不可取,IP外网进内网各种转化,有可能转化内网接入IP,没法关联起来,时间不可怕,几万条日志没法做关联。最后我们公司把所有日志打通,里边引入ID,嵌入公司业务流中,把数据打通。通过ID后端查询日志可以查到。

现在我们这套系统现状什么样子?每天处理数据量400亿,自己感觉从开发历程到现在半年样子,现在处理这个数据量比较棒,结构化数据达到秒级响应,非结构化数据慢一点,差不多10秒出结果。

三、我们这套系统未来打算做成什么样子?

我一直觉得安全攻防有本质,它是人和人的战争。怎么理解?现在大家都提智能或者机器学习具体安全问题,我的观点,不知道大家用苹果和微软安全软件,机器跟我们聊天,并没有得到很愉快的体验,他不会理解我上下文,我两句话之间逻辑关系是什么?他没法立业逻辑,我觉得现在智能不具备理解这种逻辑,上下文关联逻辑。包括阿尔法狗对抗也是同一个维度上下围棋。攻击是什么情况?有一个朋友在另外一个公司专门做机器学习,花一个月到两个月跟踪黑产攻击,制定模型解决这个问题,他发现两个月把模型上线确实把问题解决,但是一周不到发现黑伞已经换了玩法,所以攻击者和我们不是一个层面对抗,你理解现有攻击没有用,可能更高层面是攻击。本质是人和人战争,机器达不到程度。

我觉得智能对这套系统非常有意义,这里用一个标题返璞归真,我觉得平台的智能体现什么地方?我作为一个安全专家角色,我告诉平台逻辑是什么?这就是返璞归真过程,最原始我们关注安全检测逻辑是什么,未来是什么样子?我告诉他我逻辑是什么,平台理解我逻辑输出一个结果,再告诉我想什么结果,给我想要的展示。他理解我要看什么东西?输入什么样规则,这是智能体现的地方,未来到底什么样子?极度抽象输入输出的平台,我输入并不是固定的模式,并不是写一个代码,甚至写伪代码,告诉这个事情我怎么检测他,他能理解。输出都是任意配置,我想看到图想看到列表自己可以理解,智能体现交互过程,我觉得这是未来安全检测平台一个样子。

总体来说,我们觉得现在安全检测平台才做半年,比较初期。大家如果对这一块很感兴趣,想在这一块做更深的事情,可以私底下聊一聊,我们有很大的平台,提供平台发挥你的才能,我今天演讲到这里。谢谢大家!

上一篇:信安张庆勇:移动认证与监测安全体系的研究

下一篇:对话腾讯马斌 解读互联网+安全战略