今年在安全会议的分享次数相较于往年有点多,先说下出发点,一是希望锻炼自己在台上台下表达能力,尤其是台上,因为在这方面还是做得不够好。还记得2021年第一次在成都网络安全大会进行台下试讲的时候一点不紧张,但是真正到了台上,面对上百人的时候,还是难免紧张,导致现场发挥没达到自己预期。二是希望可以总结自己做的工作,用几年的工作经历讲一个完整的故事,并和外界做更多连接和交互,一方面是走出去,给到同行一些信息,为安全行业的发展做一点微小的贡献,另一方面是引进来,也希望过得到同行的一些反馈,帮助把自身工作做的更完善。三是提升个人的影响力,为职业生涯长期发展做铺垫。
近期陆续做了三场线下分享,包括成都网络安全大会、Xcon安全焦点信息安全技术峰会、Freebuf企业安全俱乐部金融科技安全与数据安全高峰论坛。总结下来讲的是一个环环相扣的小故事。在讲故事之前首先是简单的几句自我介绍,一般我都会开个玩笑说我10年工作经验,虽然面上正式工作经验才3年,但是加上本硕7年安全经验刚好满10年。
下面正式讲故事。2015年的时候,由蚂蚁集团发起成立了一家银行:网商银行,全国首批互联网民营银行之一,到现在已经八周岁了。从成立之初,网商银行就将数字化的理念植入公司基因,核心业务系统全面上云,而且没有一个线下实体网店和柜台,是一家典型的数字银行,数字银行顾名思义,所有的服务都是通过数字化的形式去提供给客户。
用互联网的一套打法来做银行,天然就带有互联网的高效率,但数字银行以数字化提供服务的过程中,不能仅仅追求高效率,安全也同样至关重要,3.0T的发动机一定要配以可靠的安全防护系统。但理论上来说,前者做的越好,后者就越难做好,因为高效和安全是一对矛盾体,历来如此。所以也因此实际面临着很大的安全挑战。以数据泄漏为例。
我把历来的数据泄漏归因为三类,一类是无为之错,因为成本太高,导致完全没做该要的事情,比如数据隔离、脱敏、加密等等,第二类是无知之错,简单的事情不知道自己做错了,比如未鉴权、弱口令,还有配置网络访问ACL策略,简单吧,但也会做错。第三类是无能之错,没有能力彻底解决困难的问题,比如身份冒用、接口滥用等问题。
当数据泄漏风险遇到了互联网的高效率,无疑会把风险成倍放大。因为互联网高效率的副产物是极为复杂的威胁路径。比如做了网络硬隔离的老牌银行,很多理论上的威胁路径实际上都直接被消灭了,所以威胁路径比较少。而互联网高效率的内部网络联通性较为发达,威胁路径相对前者不是一个数量级。这都是兼顾高效率的代价。因此说实际面临着很大的安全挑战,一点都没有夸张。
时代的进步来源于生产力的提升,提高效率是社会发展的必然趋势。因此眼前的安全挑战不能影响到,也不应该影响到事物本身应该发展的进程。从马车时代过渡到汽车时代的历程,不能因为汽车车速快在人们刚开始的认知内是不安全的,就不造车了,而是要造更加安全的车。所以必须要解决风险。我们的做法是基于可信纵深安全理念的安全实践,包括但不限于对每条威胁路径做两层以上白名单卡点防御和检测。
最终实现的覆盖效果是:
这里面的具体工作主要分为三大块:互联网及互联网边界防线,主要防的对象是外部攻击者,办公网防线,主要保护对象是内部员工和办公后台,生产网防线主要保护的是数据存储载体。
互联网及边界防线这块工作主要是由攻击者画像系统支撑,覆盖的范围是所有对公网的威胁路径,包括邮件、vpn等非http的公网暴露面服务。
这块可信策略和标准可信策略的做法有些不同。标准可信策略的白名单的定义是预期内的正常行为,然而在公网边界这里,每天都会发生数以万计的攻击尝试,其中有些攻击习以为常见怪不怪是预期内的,因此这里可信策略的定义是预期内的攻击行为,尝试筛选出非预期的攻击行为,以此达到攻击态势监控预警的目的。
办公网防线和生产网防线主要是由数据防盗系统支撑,保护的对象是数据及载体。整体构思是在数据流转的各个环节如发起端、访问行为、数据载体进行卡点保护。
举2个具体的例子解释这里可信策略的具体做法。从数据存储实体往前倒推,做来源可信,只允许预期内的网络环境A、浏览器指纹A、身份凭据A、应用系统A访问数据存储实体A。
这里有个现实的问题是刚才说的是理论和预期,如果要问我我们可信策略具体做到了什么程度,我会如实回答,理论和实际确实存在一定差距,理论上我们预期是全链路可信,实际上现阶段可能只做到了部分可信,未来我们的工作是无限缩小理论和实际间的差距。
从数据存储实体再向前倒推一步到应用系统,具体到应用系统视角的可信策略如何做。既可以向前做来源可信,例如只允许预期内的浏览器访问,又可以向后做数据存储可信,例如只允许访问预期内的数据。至于预期内的浏览器和数据如何定义,需要寻找到恒定不变的底层规律。这里底层规律有时候都是一些常识,就像操作系统版本越高,越不容易受病毒感染一样,浏览器版本是越来越新的,版本号是越来越高的。有时候也是一些业务规律,比如业务的预期内行为都是从生产网某个应用发起的调用,其他应用来调用就是非预期行为。我们要做的是把容易忽略的技术和业务规律转化为可执行的可信策略。
随着时间的检验,我们发现根据专家经验做的可信策略确实能够解决一些黑名单无法解决的问题,但事物总有两面性,随之而来的是另一个问题:成本问题。这也是预期内的一个副作用,更复杂的做法在带来更好效果的同时也一定会带来更高的成本。具体到可信策略的上线需要经过一系列的流程,无论是高度复杂化的白名单的制定,还是运营和维护,都会吃很多的人力成本,而且不容易做到批量可复制、可迁移。
为了解决成本问题,我们尝试做自动化和智能化的工作。自动化就是将一些可以被标准化的流程程序化,智能化是将一些不可直接被标准化的流程,先标准化再程序化。
关于用大模型做可信策略这个方向我们内部还在持续探索,现阶段的研究进展后续会以单独文章分享出来。
最后说下实践经验和总结。从系统性的角度,有四点经验和教训,一是防止面上的遗漏,要每个大点都拆解到位,二是防止点上的绕过,要每个小点都做到最深,三是考虑协同作战,兼听则明,四是外部环境不是一成不变的,因此要保持动态思考。
总结的话,列了7小点,其中有些点是以往不认同的,但随着时间的推移和实践,慢慢体会到了其中的含义。
最后再回到做分享的出发点,刻意练习后已经达成了部分目的。当有了一些舞台经验后,现在在台上面对观众已经可以做到脸不红、心不跳、慢思考地讲一个完整的故事了,时不时还能穿插着再讲几个段子。
同时经过一番台下互动交流,发现2个有趣的现象,一是挺多人对办公网员工画像挺感兴趣,推测原因可能是办公安全方向受到重点关注,可能是个不错的创业方向。二是有金融业同行来咨询我们的实践是否有和考虑对外商业化输出。以前视角确实比较局限完全没有想过商业化这个点,现在想来所有的实践想要发挥出最大的价值,都要经历商业化的挑战,直接服务更多的客户。