404notfound 发布的文章

安全团队的演进及个人定位思考

1
作者:404notfound@柳星。此文仅代表个人观点,与团队、公司无关,如有不妥之处,一定要提醒我,我改!

背景

我所在的网商银行信息安全部于2019年初正式成立,其成立契机主要来自安全和合规等要求,发展至今已有三年,有幸在19年团队初创时进入实习,2020年正式入职,截至现在,也算是见证了团队发展的大部分历程,因此尝试将过程中的部分观察和思考总结成文,分享给大家。

为了便于理解,我将发展历程分为三个阶段,2019年的救火阶段、2020年的夯实阶段、2021年至今的拔升阶段。

团队1.0阶段

问题和解法:这个阶段主要围绕人和事。建立组织和分工,先后成立了基础架构安全、应用安全、移动安全、威胁感知与响应、数据安全、安全产品几个方向,方向成立之后,大体分工也就确定了下来。团队主要目标是用最短时间提升网商银行安全水位至蚂蚁同等水平,主要的挑战,在于有很多历史的负债,所以这个阶段主要是救火,阻止随时可能发生真实安全事件。

解决方案的话,因为背靠蚂蚁和阿里,所以有很多已有的资源和经验,可以参考和复用。但是也遇到了很多问题,比如蚂蚁安全产品适配网商遇到兼容性和定制化需求的问题,安全团队间、安全团队内部方向间人员磨合问题,这些问题其实还好,可以靠沟通和时间来缓解,甚至抹平。

2

问题:这个阶段存在的比较难解决的是工作内容的重复和遗漏问题。重复造成不必要的成本,方向间也即是小团队间,对于同一块风险,可能在做重复的事情,重复并不可怕,因为交叉覆盖是必须的,但是过多交叉,就造成了低效和资源浪费。遗漏导致预期外的风险,老板以为这块风险是完全覆盖的,但是可能只覆盖了90%。因为对于需要多个方向一起协作的横向事项,比如基础架构安全和应用安全的事前建设、威胁感知与响应的事中建设,在老板不亲自下场组织或有专人统筹的前提下,自发合作很容易导致遗漏,不能彻底解决风险。

团队2.0阶段

3
解法:横向项目,高效协同。为了保证团队间紧密合作,不能只依靠个体之间自发、积极、主动逼近对方,因为人都是有惰性的,不能假设每个人都是主动的,所以需要一种机制的牵引,横向项目驱动机制也就产生了,用最小成本连接团队人和事,使模糊地带最小。举个例子,此前,事前安全建设,有基础架构安全和应用安全等几个方向,对于横向的事情可能需要两方一起参与,你做一点我做一点,彼此都在为自己的结果负责,但是没人为整件事情的风险负责。

自从有了横向项目默认安全,现在,不说彻底解决某一块的风险,但是起码有人对这一块的风险整体负责,从顶向下驱动,将这一块的风险努力收敛到最小。横向项目可信纵深防御,和默认安全,一个是上线前,一个人上线后的防御,用最小成本保障事前安全建设不重不漏。同样的道理,横向项目威胁路径图驱动威胁感知与响应、蓝军在事中、事后、实战检验阶段达成同样的目标。横向项目机制很大程度上解决了团队1.0阶段必然存在的重复和遗漏问题,看上去这种架构或者说是机制已经很好了,但是还有不足。

问题:这个阶段努力保证了工作内容的不重不漏,但是还有个问题:如果不以目标为导向,向前驱动安全建设,会导致安全建设侧重点不明确或者不符合客观情况。因为无论是默认安全、还是可信纵深防御,亦或是威胁路径大图,我理解都是技术、过程、手段,是对攻击者达成目标的过程中的安全卡点,还需要引入额外的一些信息,指导在哪些部位进行多重交叉安全卡点,这些信息就是对风险的认识。直白地说,哪里的风险大,就在哪里多交叉覆盖几层安全策略。

团队3.0阶段

4

解法:纵向项目,交叉覆盖。最终风险主要有两种:数据类风险和资金类风险,要注意的是被入侵虽然也是风险,但只是过程风险,不是最终的结果风险。攻击者在达成窃取数据和资金的过程中,可能要经过一系列的链路。因此,从数据泄漏风险和资金损失风险的视角,对攻击链路中直接操作数据和资金的节点进行卡点检测。交叉覆盖的好处除了有侧重点地安全建设,还可以弥补仍然可能存在的工作内容遗漏问题。

俗话说,多大碗吃多少饭,看清了团队的历史演进,也就很容易理解团队的盘子分布及人员配比。哪里卷,哪里不卷也就显而易见。

这里有几个关于卷的误区。有侧重点建设不等于卷。以数据和资金为核心,就近原则安全建设,比如多个方向和数据安全方向都会在做数据安全相关的事情,可能看起来很拥挤,但只要不严重重合,就不是卷,因为在重点保护区域,交叉覆盖是必要的。

看上去卷不等于卷。这里引用一个我老板关于隐私保护技术是否卷的理解。现阶段,受安全合规大背景的影响,隐私保护技术火热发展,许多人都知道,在蚂蚁有很多个安全团队都在“卷”隐私保护技术。仔细分析下来,你是TEE,我是MPC,具体做的技术都不一样,怎么叫卷呢。认为卷的原因主要是认知层面对隐私保护技术的精细化了解程度不够。

到这里,算是对整个团队的版图有了全面且准确的认知。还要结合对自己的定位,才可能获得自己最想要的。

个人定位

有三条原则可以共同评判个人定位选的好与不好:

与自己,由内而外认同:从心底里真正认同一个事情、一个定位是需要同时满足很多条件的,比如要是自己现阶段垫垫脚就能够到的,满足自己对成长的渴望,还需要是可持续性的,长期满足自己对成长的渴望,这样才可能真正认同这件事,不需要老板拿鞭子,也能够自我驱动完成目标。

与同事,不卷:每个人都希望快乐工作,但总难免满身戾气,变成了自己最不想变成的样子。这其中很大一点原因是卷,一旦卷起来,无人可以幸免,因此不卷也是一条重要评判原则。

与团队,有价值:人类是群居动物,不可能独善其身,要实现自我价值,需要得到其他人和组织的认同。所以对团队贡献价值也是一个重要衡量标准。

具体寻找个人定位的方法,在认清自己能力的优势和不足的前提下,可以参考发展成熟度高的兄弟团队。他们团队中都有哪些角色,每个角色发展的如何,都会遇到哪些问题,其中有没有一个角色是未来的自己,比如个人定位成安全团队最懂AI的同学,是不是满足上面三个原则:自己认同、不卷同事、团队价值。这是一个fuzz的过程,是search和research的过程,是找准个人定位的必经之路。

通过一些手段,还可以加速fuzz、search、research的搜索过程,奔着优化目标去优化过程不失为一个不错的方法。如何不卷同事,除了深层次、精细化认知事物、合理分工之外,还需要关键的一点:利他心态。以前不明白利他这点,觉得自己一个人就可以搞定全盘,后来随着问题复杂度的不断上升,发现每个人都有每个人的角色和价值,利他就是利己。

实现个人定位的方法:

增加输入:连接更多团队和人。每个人的学习能力千差万别,学习能力是一个结果,拆解来看,学习能力=输入能力+吸收能力+应用能力。归根结底是三个阶段能力总和的差异,短期比较难改变的是吸收能力,因为人的基因是写死的,好比模型初始化参数已经确定了,初速度也就固定了。但是增加输入是每个人都可以立刻做到的, 输入多了,一定程度上可以优化初始化模型,优化吸收能力,突然某一天开窍了,形容的就是模型性能达到拐点的现象。

计算:从上到下拆解定义好关键问题。

输出:明确动作、从下到上坚定执行、收割结果。

最后谈一谈个人的定位,目标是借此达到专家层级。在工作的前两年,做的是加法,针对安全、数据、算法三个面做广度搜索,搜索得到一个个可做的安全业务点及其数据和算法交叉支撑点。而专家的定位需要是连点成线的系统化能力,所以现在要对个人定位进行聚焦,做减法,明确自己想划哪条线。

正巧今年job model更新了,在安全技术线进行了细分,分为安全攻防、安全治理与运营、安全算法等。在安全攻防和安全算法间思考了一下也就有了答案,走安全攻防方向。

因为,一方面,从团队层面,在小CISO环境下,安全算法岗相较于安全攻防,发展可能会受限,另一方面,从个人来说,还是想以攻防为本,攻防是安全的本质,算法只是众多工具中的一种。安全攻防方向也聚焦于入侵检测到数据泄漏风险这条线。所以我的专家定位目标是成为入侵检测方向甚至整个安全团队最懂数据和算法的同学。

从当下来看,自己的整体工作状态还不错,精力旺盛,对技术有热情,同时能够挖掘增量、持续成长,应该算是一名不错的p6水平,不过在接下来的一年里要达到下一个层级的要求,目前来看还是有些差距的,还需要结合个人的定位,从根本上寻求一些差异和突破。