阿里妹导读
前言
复杂问题是相对的,不是所有复杂问题都需要系统性思考。 系统性思考=全面思考+深度思考+动态思考,系统性的典型体现是:一张大图+关键要素。 系统性解决问题是找到和掌握链路中所有的可能性,体现到现象层面是被打脸的次数越来越少,直至在这个领域内没有人能完成对你的打脸。 还得从实际案例出发,反复对比看过去、现在的思考和实践的过程与结果。
什么是复杂问题?
复杂问题为什么需要系统性思考?
什么是系统?
系统一词来源于英文system的音译,即若干部分相互联系、相互作用,形成的具有某些功能的整体。 中国著名学者钱学森认为:系统是由相互作用相互依赖的若干组成部分结合而成的,具有特定功能的有机整体,而且这个有机整体又是它从属的更大系统的组成部分。
什么是系统性思考?
动态思考:首要目标是保证即使外界环境和时间在变化,我们也要能抓住重点,不能停留在某个时刻看待问题。例如随着国家颁布《网络安全法》,随后又颁布《个人信息保护法》、《数据安全保护法》,还有国家发布的《关于构建更加完善的要素市场化配置体制机制的意见》,还有俄乌网络战,诸如此类事件,无一不证明了安全、数据以及数据安全已然成为国家层面顶层设计中的重点事项。外界环境的变化,会强有力的影响到每一个人,不紧跟时代就只能被时代的齿轮碾压过去。
如何达成系统性思考?
解决同样一个问题,从现象来说,一个经验丰富的工程师要比一个新手,做的又快又好。两者最大的差别在于经验,那么经验具体是什么?抽象来说(只能抽象),经验是人脑中的一种神经通路,出现A,立马想到B。经验越丰富的,可能神经网络通路越多,会想到C、D、E可能性。这还只是一跳链路,如果是多跳呢,理论上的可选性更多,当然经验越丰富的人,实际掌握的通路或死路越多。从神经通路的角度来说,系统性解决问题是找到和掌握链路中所有的可能性,体现到现象层面是被打脸的次数越来越少,直至在这个领域内没有人能完成对你的打脸。
如何掌握所有的可能性?如果是完全没有经验的情况下,可用的方法是用时间换空间,自下而上反复进行大量的盲人摸象式的学习、联想和实践,不断交叉扩大知识面,逐步触达到边界。当然有时候触达到的边界是假的,只是因为不知道自己不知道,可能一经过交叉性的检验就可以发现。那什么时候边界是真的呢,似乎是个无法证真的问题,事实上也是这样,无法完全证真。但和高等数学中求极限的思想类似,我们可以通过和多方进行交叉,和同组、同部门、跨部门、同领域、同行业的人做交互,不断反哺我们的认知模型,无限逼近极限或边界,在自己的领域内,知识和能力边界达到最大,和人对线时,自动加领域buff。在此过程中,不断沉淀系统性思考能力和沟通表达能力(所谓的经验),面临新问题时,用空间换空间,通过一波迁移学习复用经验,系统性思考,自顶向下,目标清晰、路径明确。
如何快速掌握所有的可能性?这让我想起来之前和一位高年级同学做1V1请教时,问的一个问题得到的类似答案。还记得当时问的问题是如何用最短时间达到下一个层级,得到的是答案是:你觉得同领域内的下一个层级最牛逼的人是谁?向他学习。现在看来,确实是这样,牛逼代表着一种能力边界,最快逼近边界的前提是首先要看到这个边界。
如何使用系统性思考解决实际问题的案例
问题定义
这里我们定义一个复杂问题:外部攻击者导致的数据泄漏问题。目标是:系统性解决。
思考过程
从全面思考的角度,首先会考虑这么几个问题,外部攻击者都是什么?数据泄漏的数据是什么?存放在哪里?泄漏的渠道都有哪些?每一个子问题又都比较复杂,也都需要系统性思考。
从深度思考角度,重点思考优先级、关联性和技术深度问题。优先级方面,面对众多子问题,如果精力只允许做一件事,做什么?如果允许做三件事,做哪三件事。关联性方面,如何实现互为犄角,1+1》2。技术深度方面,从威胁对抗的角度,如何高效、彻底解决遗漏问题,守住底盘。
从动态思考角度,面对内外部环境的变化,工作的重点也可能随时发生变化。内部环境方面,安全有时候比较被动,业务-》产品-〉架构-》研发-〉测试-》运维-〉技术风险-》安全风险,前段链条煽动下翅膀,安全都可能抖一抖。业务没了,还要安全干嘛,底层架构动了,安全又得从0开始建设了。往小了说,对于事中事后阶段安全工作,在风险敞口存在且事前没有安全解决方案时,需要重点投入挡住风险,可能做着做着,上游有了突破,下游也就没了继续做的必要了。外部环境方面,网络安全及法律法规如网络安全法、数据安全法、个人信息保护法、俄乌网络战,数字生产力方面如《关于构建更加完善的要素市场化配置体制机制的意见》、中共中央、国务院印发的《数字中国建设整体布局规划》、国内外如火如荼的大模型,无一不在发生深刻的变革,深处这样的时代,既幸福也无奈。
思考结果
基于对问题的系统性思考,抽象了一张大图,包含一些关键要素和关键事项。
其中每一个实体、每一条边范围都比较大,实践中都还需要继续拆解到位。比如“数据存储”,可能包括了oss、sftp、odps、ob、sls、mq等等。比如“互联网边界”,不止是开放到公网的Web、app和小程序,还有更广泛的非http类型服务,比如邮箱系统,VPN等等,只要起点是外部,终点是内部的所有渠道。再比如办公应用系统,数以千计,如何拆解,感兴趣的可以了解我们团队紫军的基于威胁路径大图的实战检验系统。
在实践的过程中,我承担解决/在解决/要解决的部分问题如下,其中有一些也是学习兄弟团队经验或是团队合作的结果。
入向流量侧透明化打标(学习兄弟安全团队经验) 入向邮件侧钓鱼检测 入向oss侧异常检测 攻击者知识图谱 攻击者身份、意图识别和态势监控预警 办公终端数据盗取和外发检测 出向办公终端失陷外连检测 办公后台非预期查询(五类) 生产主机数据盗取和外发检测 出向生产主机失陷检测 sftp/oss/odps服务端检测 数据库异常检测 数据泄漏类漏洞监控 数据蜜罐(我们组又帅还单身的小哥哥在做) 联动个人信息防火墙 风险发现和治理建议
事项跨度包括应用层、流量层、网络层、终端层、主机层、数据层,子事项一一对应到大图中:
哪儿的风险比较多,肯定这方面拆解比较多。今年比较关键和重点投入的事项是:公网侧的攻击者身份、意图识别和态势监控预警,办公网侧的办公后台非预期查询。动态思考的角度,在特殊时期,关键事项可能又是其他,比如钓鱼检测。
至于具体如何做,怎么实现,过程中有哪些坑点,限于篇幅和安全的特殊性,这里不谈,欢迎找我交流。其实整体的指导思想还是可信和纵深的理念。
实践结果
技术沉淀和技术影响力方面,经过系统性总结过去三年的实践,我们沉淀了一套白名单策略生成经验和方法,规模应用到了各个安全业务场景,因此也在1个月内申请了10+个专利,但距离预期目标把idea写完为止还有一段距离。
团队合作效果,也因事和团队内外有了更多的连接,结识了一批可靠的全天候战略合作伙伴。
展望和期望
对事,懒人更勤奋。目前我主要是人工做白名单策略,缺点很多,一是整个流程环节较长、成本较高、效率较低,做一条白名单策略可能需要几个工作日,二是经验和方法不易复用,沉淀的经验和方法更多是在个人脑子里。因此,计划探索打造一个基于专家经验和大模型的可信策略智造中心(开始做一些想法的探索:我让大模型替我做可信策略,和前段时间OpenAI新出的网络安全资助计划异曲同工),短平快做策略。大处着眼,黑名单替换为白名单已经成为趋势,因此防御和感知等各安全业务方都会有共同的强需求,所以设计之初也需要考虑到这些因素。小处着手,计划先以我自己这块业务作为试验田先承载起来,验证可行再横向扩展。
对自己,“夹带私货”把个人目标写入绩效目标。互联网行业,工作时间能占到全天的一半,始终认为工作如果只是工作,OKR只被动罗列一些工作事项、机械式地执行,那也太无趣了,太浪费生命了。工作还是一项个人事业,所以“夹带私货”把个人目标融入工作绩效目标中,合二为一,为公司打工的同时,也是在打造自己这个产品,是不是会有趣一些。
以上这些事也算是一个对我过去近三年工作的总结和缩影,但个人的视角再怎么所谓的系统,也可能会陷入信息茧房,所以也期望得到读者的反馈和挑战,帮助我做的更好。
阿里云开发者社区,千万开发者的选择
阿里云开发者社区,百万精品技术内容、千节免费系统课程、丰富的体验场景、活跃的社群活动、行业专家分享交流,欢迎点击【阅读原文】加入我们。