近期,我们邀请资深安全专家在“金融业企业安全建设实践”微信群、实践2群、读者群,进行在线直播分享系列。本期我们邀请到的嘉宾是张欧。如需查阅更多嘉宾分享,请关注本公众号。

【分享议题】数字银行可信网络实践

【分享嘉宾】张欧

【嘉宾简介】2010年毕业于西安电子科技大学信息安全专业,加入蚂蚁金服,负责过应用安全、威胁感知与防御、安全产品能力建设等工作,参与蚂蚁金服整体安全体系的建立。2019年负责网商银行信息安全工作。

【活动时间】3月21日本周六晚上19:00-20:00,60分钟。

【活动形式】嘉宾通过文字形式,在“金融业企业安全建设实践”微信群内就“数字银行可信网络实践”话题直播分享(约四十钟),之后是互动提问和回答,约二十分钟。

请大家安排好时间,准备好问题,积极参与。


下是实录:

我去年才被公司调到网商银行负责信息安全,对于金融行业和银行的安全建设还在学习阶段,还算是个新人,还需要大家多多指导。

小宇和Lenx都是我老板,他们都在群里,如果讲的不对的,请以老板的观点为准。

今天分享的话题是和零信任网络相关。零信任网络其实已经不算是很新的技术,国内外都已经有很多实践和分享的文章。我今天的分享主要是还是零信任在蚂蚁网商银行业务场景的一些实践方面的思考和经验,希望能带给大家些许启发和帮助,促进交流。

今天分享内容会包括为什么要做零信任的方案、落地的思路和方案、过程中的一些挑战和思考这几个部分。

首先聊聊为什么需要的问题。其实我在来网商银行之前,正在蚂蚁负责安全产品能力方面的工作,已经做了零信任产品方案在蚂蚁落地的一期。在网商银行的场景和落地方案也是和蚂蚁一脉相承。首先还是从实际的安全攻防业务的场景中的痛点出发。我们在实际红蓝攻防方面已经做了有几年的时间。在红蓝攻防演练中,我们发现红军要想快速响应和阻断蓝军的攻击并不是一件容易的事。以最常见的员工钓鱼攻击为例。有些没有针对性的钓鱼邮件,员工是比较容易识别的。

比如这种,没有针对性和定制化。但如果钓鱼邮件和公司的实际情况相结合,员工就很容易中招。比如在公司的体检结束之后,给员工发以体检报告为主题的钓鱼邮件。如下面这种:

特别是这种涉及到人的攻击场景,很难彻底防护,人总会有粗心、情绪化的时刻,总会有不足够理智的时候。

人性的漏洞是难以修复的。

张欧

还有另外一种威胁也是很难应对的,那就是0Day漏洞,当应用数量足够多的时候,线上应用中存在漏洞就不是一个小概率事件了。0Day漏洞的攻击也是很难避免的。这意味着,最外层的防护可能会被突破。0Day漏洞和APT攻击不可避免,那怎么办呢?必须做检测和响应。

在最近几年,随着大数据和机器学习的发展,行业内对于检测和响应给予了非常大的重视。但做好检测和响应真的够吗?很多公司的情况都是内网是办公/测试/生产几张大网,进入内网畅通无阻;如果真的遇到了APT、0Day漏洞攻击场景可能根本来不及响应。特别是7*24的的运营,及时响应时间上能保证,排查的深度是保证吗?很多时候一线的运营同学的判断结果可能是「应该没有风险」,然后就标记为误报了。为什么会出现这种情况?很可能是因为误报太多了。如果事前的管控没有做好,检测和响应的误报增加。

对于银行来说,当风险发生以后,损失已经产生了,这个损失可能是不可接受的。如何把事前的纵深防御做好,是我们面临的挑战,目标是纵深防御,不仅仅是各个层面的纵深检测。具体到我们今天讨论的范围,主要聚焦到网络层面的纵深防御。在去年一年的时间,我也学习和调研了很多家银行的做法。很多银行的网络隔离做的还是很不错的,值得我们学习。生产变更区和办公网络会进行隔离,同时生产网内部也会划分为不同等级的网络区域。

如上图所示。但这样的做法也存在一些挑战,比如网络隔离策略维护成本高,应用扩容可能需要调整网络策略;同时应用层访问允许打通,攻击仍然可以通过应用层漏洞和协议穿透。我们是一家数字银行,需要安全和效率的并重的解决方案。我系统性地调研了SDP、零信任网络、微隔离相关的技术,最终选择采用零信任网络的思路来解决网络层纵深防御的问题。在零信任网络方案的落地过程中,我们也遇到一些疑问:

  1. 零信任网络就是BeyondCorp?

  2. 解决办公网络的问题?

  3. 零信任网络解决员工身份认证的问题?

  4. 零信任和SSO/IAM有啥区别?

  5. 零信任网络是不是什么都不信任?

带着对这些问题的思考,我们设计了基于零信任的思路的网络纵深防御的方案。方案总体框架如下面这张图描述。

在这个方案中我试着回答这些问题。

零信任网络只是一个思路,不应该限于仅仅解决办公网后台系统访问管控的问题,应该扩展到存在攻击的风险的各层网络访问。

零信任网络和SSO+IAM+EDR结合的区别,我认为应该最大区别在于是否能做到默认的覆盖。

张欧

比如新上线一个应用,或者一个新的URL,能否默认覆盖?不需要安全人员去推动接入。否则还是可能会有应用没有被覆盖。因此我们在这个方案中,需要把代理做到网络接入层,做到默认不可绕过的卡点。

零信任网络的理念是,默认不信任的,总是验证。但是不可能什么都不信任,否则业务就没法做了。还是需要基于达到某种信任依据,则判定允许此次访问行为。但对于这个信任依据要做到什么强度,没有定性。比如是否只要每次访问都做用户认证,就达到了零信任的防护强度了?再加上设备身份的认证?再加设备状态的判断?再加员工角色的判断?为了定性防护强度的问题,我更愿意把目标方案定义为可信网络,目标是仅允许符合预期的网络访问行为。我们需要定义正常的符合预期的行为特征是什么样的,需要判断用户身份 | 设备身份 | 应用身份 | 设备安全性 | 账户安全性 | 应用完整性 | 应用行为等都是否符合预期,禁止非预期的行为。策略制定和运营的过程可以分阶段,逐步落地。

在这个整体方案中,办公网可信访问控制的架构和BeyondCorp并没有太大区别,就不详细展开讲了。稍微可以展开说一下的是基于ServiceMesh的生产网服务可信访问控制的这部分。安全技术的发展需要跟上业务研发技术的发展,如果大家有关注到云原生技术的发展,一定会了解到ServiceMesh技术。蚂蚁内部在ServiceMesh方面的技术实践做的相对比较早,在今年双11交易链路上已经全面覆盖了。这给了我们把安全访问控制加进去的机会。本质上,这个方案也并不复杂,就是一个生产网内部运行在每个计算节点上的一个代理。开源的方案可以参考Istion。如下图所示。

图中的MOSN就是一个代理。开源的方案是Istio(https://istio.io)。方案上线了只是一个开始。

把防护策略制定出来,并部署上线,才是让方案发挥实际效果的关键,而且这将是一个持续运营的过程。

张欧

一是策略需要以数据分析为依据;二是策略的上线要避免误拦导致业务故障。零信任的字面意思让业务团队已经比较恐惧了,感觉是什么都不信任的意思,如果再产生实际故障,恐怕推进起来难度会比较大。为了避免故障,我们在策略上线前需要做好历史数据的仿真分析,上线过程中也需要先在观察模式试运行,然后再按最小力度灰度开启拦截,同时还需要支持策略的一键关闭和回滚的能力。为了做到默认覆盖,且不产生故障,方案需要和研发流程进行对接,比如新的业务接口调用需要走在线申请,生成增量控制策略。

总体可信策略运营的思路如上图。

今天介绍的内容到此为止,大家有问题可以一起交流。文字直播比预想的时间要长很多,很抱歉延长了这么久。

解答环节(A-->张欧)

Q:分享中提到的“因此我们在这个方案中,需要把代理做到网络接入层,做到默认不可绕过的卡点。” 通过网络接入层做到默认覆盖,意思是应用要入网就要接零信任吗?还是说通过业务或域名上线的时候做卡点?

A:是的。默认接入,不是靠人。

Q:想知道网络接入层是如何实现的?

A:以办公网零信任为例,需要和负载均衡层对接,将所有负载均衡的访问流量都引流到访问控制策略中心。

Q:应用服务层查询访问策略,是基于api,还是用户,还是上一层的机器,还有认证,是基于上一层,还是基于用户

其他群友补充: 有没有零信任实施前后的绩效数据对比?提升和改签了多少?

A:举个例子,会发现很多没有做好权限控制的系统,特别是第三方外采系统,都可以很好的覆盖起来了,这些都可以统计出绩效数字。

Q:请教一下,内部服务到数据库的加密认证怎么实现的?谢谢。

A:这是个好问题,思路也是加代理,但实际中落地如果业务场景上对性能和耗时特别敏感,需要做一些平衡,比如只对某些访问行为进行判断,比如建立session的访问。

Q:张总好,上文提到基于用户身份 | 设备身份 | 应用身份 | 设备安全性 | 账户安全性 | 应用完整性 | 应用行为等正常预期的行为做为判断依据,那非正常预期行为有哪些,是如何去定义的?因为我也用了网商,有时候版本更新、支付宝账户鉴权,不常用手机登录等,非正常行为是否也包含这类?或是否有更深层次的定义?

A:其实基本思路在于定义正常的符合预期的行为是哪些,只允许这些行为,其他的就拒绝了。

Q1:蚂蚁网商银行 看上去就是用istio里面sidecar的方式做流量网关,对吗?

A:对的。

Q2:网商做的办公网零信任方案有覆盖非WEB服务吗?例如tcp的服务如何解决的?

A:现在覆盖的是HTTP、JDPC、内部RPC等协议,关键在于协议的支持和扩展,这个涉及到具体场景。

Q:请问零信任解决了什么问题,没解决什么问题,或者换句话说适用范围是什么?听介绍,主要是证明“你是你”的问题,不解决数据泄露和恶意操作的问题,对么?

A:其实不应该限于认证的问题,而是判断行为是否符合预期。比如访问者使用设备状态是否符合预期?访问者的账户状态是否符合预期?访问者访问的目标功能是否符合预期?在做的更细一点就是到行为粒度,比如员工一天可以最多查多少次敏感数据?

Q:这套方案的参与实施的人员和投入有多少?

A:蚂蚁跨部门合作比较多,参与人是挺多的,但是很多人都是部分投入,比如负载均衡网关团队。

Q:蚂蚁网商银行 那么没有使用servicemesh应用,需要在各安全区域边界加网关?那么同一安全域内的各服务器之间(特别是同一ip子段)的访问怎么加这个网关?

A:如果没有用云原生技术,在主机层做软件代理agent也是可行的,需要研发。

Q:对于分享中提到的“在零信任网络方案的落地过程中,我们也遇到一些疑问:零信任网络就是BeyondCorp?解决办公网络的问题?零信任网络解决员工身份认证的问题?零信任和SSO/IAM有啥区别?零信任网络是不是什么都不信任?”

谈到了员工认证的问题,这种认证会不会增加企业网络防御的成本(我理解的通俗意思是老板会愿意掏钱吗,或者是员工会增加办公成本)?这个地方我想到了加密算法的认证,比如业界鼎鼎大名的RSA算法,以及不对称加密算法(我第一时间想到了Gpg这个东西),一个衍生问题是如果员工密匙被窃,那么攻击者可以利用员工身份成功入侵,这样的情况下如何保证损失最小?我想到了最低权限原则(比如只读权限),加上二次验证(比如员工手机接收零时的验证码),这样是否可行。

A:这样也是可行的,认证是一个基本保证,可以根据公司对安全的要求来定做到什么程度。

Q:前面您提到的定向钓鱼,在攻击者拿到用户认证后,非零信任和零信任网络是不是就没区别了?

A:也不是,经过认证的访问只是策略的一部分,策略可以做的更深入,判断设备状态、访问目标范围等。

Q: 首先非常感谢张老师的分享。有个问题请教下,关于远程办公的场景,对于零信任的接入是否对所有设备都接入呢?比如,公司的标机,家里的电脑或随意一个电脑,是否都可以适用呢?

A:这是一个很适合的场景,可以做设备做认证和检验,只允许某些设备访问,比如不允许非公司设备访问,不允许安全性差的设备。

Q1:对于分享中提到的“因此我们在这个方案中,需要把代理做到网络接入层,做到默认不可绕过的卡点。”这个点是在网络层做的控制还是在基础架构提供的框架基础上做的控制呢?前者感觉不现实,后者感觉又无法做到完全控制。

A:网络层,比如负载均衡层

Q2:相当于是waf了,且默认为白名单机制

A:可以这么理解,而且很关键,WAF能接入的场景,肯定可以覆盖。

其他群友补充:网络层的话更像软件定义的防火墙了

Q3:防火墙的粒度太粗,达不到精细控制的要求

A:的确是粒度问题,要到业务语义层。

Q:张老师,您和您的团队是怎么看待SDP和零信任网络的区别?当时技术选型时出于什么考虑选择了零信任的思路?

A:其实二者目标都是为了降低攻击面,思路是类似的,零信任说是SDP也没有太大问题,这个只是一个概念。

对于分享中提到的“方案上线了只是一个开始。把防护策略制定出来,并部署上线,才是让方案发挥实际效果的关键,而且这将是一个持续运营的过程。我们在做可信策略部署和运营的基本原则有两个:一是策略需要以数据分析为依据;二是策略的上线要避免误拦导致业务故障。零信任的字面意思让业务团队已经比较恐惧了,感觉是什么都不信任的意思,如果再产生的实际故障,恐怕推进起来难度会比较大。为了避免故障,我们在策略上线前需要做好历史数据的仿真分析,上次过程中也需要先在观察模式试运行,然后再按最小力度灰度开启拦截,同时还需要支持策略的一键关闭和回滚的能力。同时为了做到默认覆盖,同时不产生故障,方案需要和研发流程进行对接,比如新的业务接口调用需要走在线申请,生成增量控制策略。”

Q1:请问一下,当前在办公网和生产网都分别用到了哪些维度?因为生产网不会有办公网的设备信息等维度

A:首先可以做应用身份,设备身份也可以做的

Q2:还有就是这块是个强运营的活,实际又安排了几个同学进行运营?开发运营平台的又有多少资源呢?

A:产品开发和运营是不同的人负责。基于数据分析来做策略,我们至少需要1~2个同学,看业务规模

Q: 一是策略需要以数据分析为依据,需要分析哪些数据能大概说说嘛?

A:比如我们需要所有的访问必须是符合预期的用户,那我们需要先分析历史访问数据,分析策略是否可行,看看访问的应用和用户是否都没有做用户认证,如果有些没有做,那就要把这些URL先找出来整改。

Q:另外对于设备上的客户端和零信任网关的实现,是否有可以借鉴的开源实现?是否有计划对外输出该项能力?

A:办公网层的没有看到开源的。生产网的可以看看istio。暂时没有输出。

Q:感谢分享 但还是不够明白这套机制是面向内部用户的访问控制策略还是生产节点彼此之间的

A:都覆盖

Q:能问一下,现在正式启用了吗?在开启部分策略以后,因为我看你的设计方案图很多地方都有代理,这个情况下与以前的固有模式相比,安全肯定是提升了,想问的是业务的连续性和稳定性有没有太大影响,延时上有实质的数据比比差异吗?

A:基本没有影响,安全方案上做了强制的控制,比如用户访问层的判断,安全策略判断耗时不能超过10ms,内部访问的耗时和资源占用不超过5%

Q:SSO+IAM+EDR方案联动起来这个方案流程维护起来会不会很花时间精力,SSO+IAM+EDR怎么来实施推进最好?这个方案推进的时候会遇到哪些阻力?

A:阻力倒还好,关键是稳定性方案要足够充分,避免故障。

Q:分享中提到的“我们是一家数字银行,需要安全和效率的并重的解决方案。我系统性地调研了SDP、零信任网络、微隔离相关的技术,最终选择采用零信任网络的思路来解决网络层纵深防御的问题。”这个调研结果可以分享吗,我对零信任的理解是把准入覆盖到终端上,再把网络权限划分拉到安全下面。

A:是的,其实思路是差不多的,要减少攻击面,访问控制做到应用层、业务层

Q:感谢分享,目前企业关心比较多的应该是架构推进和业务契合度的问题,如何把握这个度?

A:关键应该在于能否说清楚架构推进的价值和成本,只要投入产出是ok的,业务应该也可以接受吧。

Q:张总,上面方案图里提到servicemesh服务可信,主要是:微服务和数据库,对于其他中间件比如kafka这些有覆盖么?我想问的是实践中零信任网络要覆盖全链路是不是比较难,比如在您的方案中是否取决于能不能servicemesh服务化?

A:是的,的确是和基础架构相关,动了架构。协议方面可以进一步扩展。

声明:本文来自君哥的体历,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。