摘要:顺丰集团作为快递行业的领先企业,在业务开展过程中,保存了大量涉及个人用户和商家的敏感信息,顺丰的信息安全历来被视为企业的重中之重。经过多年的不断摸索和创新,而今,顺丰集团已经建立了初具规模的信息运营与技术支持团队,一路走来,亦思亦行。顺丰集团信息安全与内控处负责人刘新凯将分享,顺丰集团信息安全团队从防护、抵御、态势感知的“御建”,逐步向智能化安全阻断的“驭剑”转换升级过程,给企业的信息安全建设路线图带来另一种别样的思考。
刘新凯 顺丰集团信息安全与内控负责人
顺丰有三个数据中心,整个公司的应用系统超过了五百套,有1.3万网络接口节点,有超过30万不同的移动终端是在随时每天每地随时在使用的,同时我们一共交易数据超过2.6个PB,跟安全有关的日志每天超过10亿条,大家看到这些数据之后,这个就是目前顺丰在内部面临整个安全需要保护的一个范围。
从我们建立之初,我们认为自己是处于青铜篇,在做防御的过程,更多是单点。第二是进入全面可视,第三是进入闭环响应的过程。接下来给大家顺丰安全是如何走过这三步的。
首先介绍青铜连连,御建设只有初,看一下单点防护,我相信也是大多数企业在建立安全的时候面临的一个通常的状态。我需要防火墙,买一个防火墙,我要建一个IDS,或者缺一个杀病毒或者其他的设备,根据不同的设备或者一些不同的解决方案来做相应的安全。这里面罗列很多当时我们做的基础性的工作,比如网关漏洞扫描、堡垒机,确实需要这些产品提供它的作用和能力。但是这种建设的过程中就跟打游戏的过程一样,属于各自为战和不懂抱团的过程,会造成什么呢?系统工具相对比较零散,企业很难有一个完整的管控体系。第二部分就是所有单个产品体系之间是缺乏信息联动的功能,在很早的时候就在谈安全联动,最早建立之初的时候,它还是各自为政,单独的系统和产品。第三就是信息整体是难以利用的。你有不同的界面管理的能力,其实都是基于你买的单个产品,而对于公司实际的负责人员或者运维人员,是很难做好的。
从2016年开始进入御建未来和全面可视的状态,我们想要达到的目标,将单点产品接入态势感知平台,从而形成有规划的网络安全部署,能够全面掌控企业内部出现的安全问题和整个发展态势。第一个,我们可以看一下我们在做的过程中,实际是增加了不同的设备,同时不同设备之间有了更多的交互和信息的联动。经过我们这几年的摸索,我们划了不同的层次。因为很多都在做这样一个态势感知的平台,来了解企业内部到底发生什么。我们建立的这个平台也分了不同的层,首先是数据源,基本上把我们现在已有的安全设备,各种网络设备,操作系统,中间件,尤其是根据我们的要求,我们建立了整个安全基线,把应用本身进行了相应的改造,把应用的日志拉入这个平台,在接入之后做不同的数据分析。在这两年变化最大的或者投入资源最多的是哪两个部分呢?是我们在数据分析和数据展示这一层。数据分析为什么重要呢?当所有的数据已经在平台之后,到底能够产生什么样的价值?规则怎么建?联动分析什么样?模型是什么?当这个能力基本有了之后,如何能够有一个更好的展示效果给到领导,给到自己的运维人员,甚至是安全事件调查人员,又变成另外一个话题,一步一步不断分层级完善的一个过程。
这个是我们在展示端尤其是整个公司大屏的时候,在做的一个基本的态势感知平台。这个态势感知平台能够基本描述现在顺丰关注非常多的一些要点到底在哪里,中间的部分我们逐渐的能描述到从整个互联网端对整个公司不同的应用和节点攻击的状态。在右侧在我刚才提到的所有网络节点中,这个节点安全状态什么样,有没有安全的漏洞或者危险,需要你对这个节点进行关注。左侧的部分是我们对整个数据中心的安全态势的认知,关键节点,中间的密罐,主机的安全状态,是能够进行一个相对比较完整的描述。而右侧的部分,更多的跟顺丰内部业务有关,一些核心系统、核心业务正在使用的一些系统,是不是有些异常数据访问!是不是有异常的操作,这些系统整个使用过程中是不是符合它以前的用户行为。这张大屏幕是我们在做整体运维的时候这样一个态势感知的平台。
通过这个态势感知平台,左侧和中间能够发现基础设施的健康状态和安全的风险,中间可以发现实时攻击和入侵的事件,而右侧是关注我们业务风险的预警,来描述整个公司现在的安全状态。在做完这一步之后,大家会关注这些预警怎么来的,预警怎么做的,会进入我们下一个环节,这是我们这几年在摸索在不断打造的这一块,有关于顺丰的安全模型,这个模型忽略了很多东西,仅供参考。这里面我们罗列了很多不同的项,首先是情报建设类,在最下面,包括有些IP的基础情报,包括有些恶意的手机电话号码的风险库,是从不同的方向收集很多外部的数据,作为模型的训练也好,或者是一些规则也好,判断的依据。第二层是基础安全类,分的比较多,有网络、web、流程、服务器和应用。为了更好发现在不同环节或者不同层次过程中的一些风险和问题,大家可以看这些不是单个设备已有的模型,是你有了日志之后,根据你的业务提炼出来适合你企业不同的模型。上面有些信息泄露类的或者信息违规使用上面的一些风险和预测模型,包括用户的异地查单,包括手机解密和用户异常行为,这个也是现在我们内部非常关注的一点,如何能够保证我们的用户内部的员工和其他的方方面面在使用数据的时候是合规合法的。一旦出现异常,如何第一时间发现他异常的操作和异常的动作,这个模型和过程是在不断积累和完善。还有一些业务上面也在做,当你有了这些数据之后,慢慢纯信息安全的概念就有机会步入到和业务风控这里面,从安全到业务风控是一线之隔,能够给企业带来的是更多的帮助和收益。
大家可以看到从单点到现在的态势感知,逐渐能够从不同的节点来做安全的防护,到整体有一个相应的概念。但是做完这些之后,我们还遇到了很多的挑战和相应的一些问题。这里面列出了一个数字,非常简单,一小时等于60分钟等于3600秒等于3600000毫秒,我们前期建完之后有了一个什么样的能力呢?单点有防护,整体有一个整体态势感知认识,遇到的挑战是什么?一旦有这种预警之后,实际是通过流程和人来进行预警的最终判断和事件的响应,长则上天,短则也是小几十。如果一小时到底能发生什么,今年上半年我们内部发生了一个案子,跟市场活动有关,就是发优惠券。大家知道羊毛党是什么状态,我们突然发现我们整个优惠券的状态异常,然后有报警。就会发现短期内用户用优惠券非常高,前端接了很多用户登录注册拿优惠券的模型或者工具,不应该发生这样的情况。到底怎么发生的?从用户开始用优惠券到后台能够把优惠券注销掉,中间系统的逻辑,因为中间有些不同的计算或者一些信息调取的问题,要跑一分钟,在后台的库这张券才会失效。而现在整个羊毛党用什么政策?拿到你的一个优惠券,把你的数据包之后,修改了你优惠券的信息,一毫秒回放一张,一张就是两块多五块,回放一分钟是多少,回放一小时是多少,它的成本是非常低的。预警之后怎么能够第一时间把风险降到最低,阻断整个预警发现的这些问题。我们就逐渐的从刚才提到第二步这种态势感知的状态在朝着第三步发展,就是驭剑之术,响应闭环,怎么能够把结果第一时间的应用到安全危险的阻断上面。
我们有一套系统也是今年刚刚开始在上半年的时候做的一套系统,我们叫做百翼,相当于有很多只手,能够发现不同环节中的问题,并且阻断。以前是人为的阻断,我们需要的是7×24的监管,时间是以天或小时计算,从风险判断到最后的拦截,非常抵销,人力投入也非常大。目标是能够实现系统自动化阻断,不管是基于AI、自动化的智能安全阻断,能够实现秒级响应。我们使用的是规则引擎,这是兜底的一个行为,第二个是关联的分析,按不同的流程、不同的系统,跨系统的数据分析,第三个是基于不管是机器学习还是人工智能的这种模型的预测。
这是我们新的一套实时做百翼系统的一个架构,这个架构上面,以前在右侧的大数据平台,更多是做离线的模型训练和离线的预警,至少是秒级分钟级的预警,这种速度非常慢。左侧是做自动化的判断和策略的下放,这种概念并不是一个新的概念,很早的时候还没有态势感知平台的时候,已经在做这样一些工作。现在的不同是什么?它的数据量,它的模型方式和跨系统的能力,在有了大数据和人工智能之后,应该能达到另外一种状态和一种水准。在这个过程中一定会遇到非常多的问题,这里面介绍一下我们会遇到的很多坑。
第一个就是安全产品能够接受命令下发,我们买的所有商用产品必须能够把日志实时拖到平台里面去,现在遇到的最大挑战是什么?他能够把它的端口开放,实时接受我们回传的命令,这是我们遇到的第一个坑。我们怎么解决的?公司体量在这里,比较大,跟各个不同的厂商谈,很现实,对于整个外购的产品是这样,对于自研的产品比较简单,直接做开发。
第二个就是旧系统的改造,旧系统是指的应用系统,普通的应用系统发现安全问题的时候,我们也会把阻断的策略下发到系统上面去,在整个过程中还有一个非常难的就是全旧系统的改造如何做,这是我们现在在大力推动的一件事。
第三个就是我们现在大多数的新应用,应该是2017年上半年,应该是2016年开始,就已经有很多新的核心系统应用转到微服务框架上面去了,微服务改造是我们跟应用有关一个比较大的重点。这里面有一个非常基础的架构图,用户会发请求给到微服务网关,在身份校验那一部分,用户身份管理的一个平台,做用户的身份认证,会遇到很多问题,比如日志质量低,取决于微服务本身。第二,发现异常无法阻断。在百翼增加之后,我们做了几个不同的相应的工作。第一个就是微服务网关和微服务在做一个修改,从用户请求的每一个操作都会有这样一个唯一ID和全生命的请求过程挂钩,哪一个用户建了网关,应用这条请求最后进了DB,在用户风险分析的时候,你能够关联到从最一开始用户的行为,包括他用的设备信息到最后DB以及数据层面的关联。第二个,有一个相应的阻断功能,大家可以看到百翼这一部分有一个黄色的D阻断的指令,经过百翼系统的分析之后,他发现了风险,会直接传递给微服务网关,进行整个应用的管控。这种变化就从以前我们要管各个不同的微服务,成百上千个不同的微服务,变成了以微服务网关为重点的管理模式,它的日志是标准的,ID是唯一的,管控或者改造的成本会相对比较低。通过这种模式,我们是做已有的微服务应用的变化。
最后还有一个,我相信也是大家在过程中最不敢把设备串接网络,就是算法模型甚至是你的规则本身并不准确。中间会带来很多误判,所有的人我相信都会遇到类似的问题。在我们做的过程中是如何面对这个问题?或者是如何来解决这个问题呢?我们引入了一个在开发过程中非常常见的概念,就是灰度,我们这个灰度发展,不仅仅是有一个系统,比如全国都在用,灰度只开了三个省五个省,除了范围的变化,我们还有一个自学习的过程。我们刚刚把一条新的策略下发的时候,不是停掉它的用户链接,不是停掉他的用户请求,我会告诉用户你现在的操作属于高危,可能违反公司的操作或者公司的安全规则,请你描述你的行为为什么会这么做。其实它是一个互动的过程,在这个互动过程中,大家可以理解为它是为了给我们模型打标签,完善标签和模型优化的过程。在一段通知或者用户的交互过程之后,你会发现模型前期带来的一些不确定性是能够得到一些相应改善的。给模型提供了一些数据,你有优化的机会,并且能够完成最终实现实时阻断的功能。
过程非常简单,简单描述了顺丰走过的过程,一开始不停买不同的设备来实现单点的功能。第二步,逐渐把不同系统、不同设备的日志归纳,做成一个可实时分析,可实时展示的态势感知的平台。第三步,把态势感知平台所积累的能力逐渐放成能够进行实时阻断,把安全遇到的威胁和风险降到最低的办法,开实时阻断的功能,来完成整个单点防护、态势感知以及到阻断的闭环,来提高整个安全的能力。借用王者荣耀的一句话,我们也在不断的打怪,不断的升级,希望能够朝着最强王者的路上奋进。相信只有更强才能更安全。