我的蚂蚁网商三年:如何系统性解决复杂问题的思考和实践

简介: 怎么样系统性解决问题?工作中一直在思考和实践,现在将最新学到的知识和实践,系统性的整理并分享出来。

前言

本篇文章的写作契机来源于公司去年发布的新版Job model以及上次谈绩效时主管给的一个命题:怎么样系统性解决问题。一直在思考和实践,现在将最新学到的知识和实践,系统性的整理并分享出来,其中可能涉及的几个核心观点如下:

  1. 复杂问题是相对的,不是所有复杂问题都需要系统性思考。
  2. 系统性思考=全面思考+深度思考+动态思考,系统性的典型体现是:一张大图+关键要素。
  3. 系统性解决问题是找到和掌握链路中所有的可能性,体现到现象层面是被打脸的次数越来越少,直至在这个领域内没有人能完成对你的打脸。
  4. 还得从实际案例出发,反复对比看过去、现在的思考和实践的过程与结果。


什么是复杂问题?

首先,问自己,什么是简单问题?什么是不简单问题?什么是复杂问题?如何解决复杂问题?如何系统性解决复杂问题?什么是系统?什么是系统性?做到什么程度算是系统性解决?

简单和复杂问题,没有绝对,是有参照物的相对。对于一个幼儿,1+1等于几是个复杂问题,而对于小学生,1+1是个简单问题,同样,对于小学生来说,开根号是个复杂问题,对中学生来说,是个简单问题。对于哥德巴赫猜想,对于地球人都是复杂问题,可能对于外星人就是个简单问题。

对于同一个参照物,怎样区分是简单问题和复杂问题?看确定性的程度。如果完全确定以及肯定,无疑是个简单问题,如果完全不确定,很可能是个复杂问题。


复杂问题为什么需要系统性思考?

不是所有的复杂问题都需要系统性思考和解决,只有需要被深度解决的复杂问题需要(好像是废话)。前段时间卫天抛了个问题“同样一个问题,P6、P7、P8分别来解决,差异会在哪里”引导我思考。第一反应首先是结果差异,职级高的会解决的更好,而且越是复杂的问题,结果差异感觉会越明显。第二反应是过程差异,解决的更好的原因是职级高的会考虑的更全面、更有深度。现在想来,造成结果和过程差异的原因,归根结底是思维上的差异。因为按照公司job model能力模型标准,职级越高,对思维的要求越系统性和前瞻性,想到是做到的前提,首先得考虑到,才有可能解决的更全面、更彻底。


什么是系统?

百度百科对系统的定义

系统一词来源于英文system的音译,即若干部分相互联系、相互作用,形成的具有某些功能的整体。
中国著名学者钱学森认为:系统是由相互作用相互依赖的若干组成部分结合而成的,具有特定功能的有机整体,而且这个有机整体又是它从属的更大系统的组成部分。

定义已经很清楚了,这里几个关键词是:若干部分、相互作用和依赖、特定功能的整体。“特定功能”是指系统会拥有其单独部分不具备的特征。比如一张桌子有四条腿,桌子拥有桌腿本身没有的功能。


什么是系统性思考?

我理解系统性思考的涵义是完全搞清楚一个系统,搞清楚系统的每个组成部分、每个组成部分之间的关系、组成的整体及特定功能,看见全貌和演化方向,提升决策力。

我认为系统性思考=全面思考+深度思考+动态思考,如果是从能力模型角度,前两者构成了一个空间的T字型模型,加上第三者的时间维度,就是时空的T字型能力模型。如果是从拼积木角度,全面思考可以看作是找到了所有的积木,以及积木最终要拼成的样子,深度思考是考虑每块积木的形状、相互间的互补关系,怎么样才能拼的又快、又准。

系统性思考的典型体现是:一张大图+关键要素,前者正对应全面思考,后者对应深度思考。

全面思考:首要目标是防止分母有遗漏。要看到问题的全局,不能盲人摸象仅从单点、局部看待问题。在公司,经常会面对来自各方的挑战“到底有多少个威胁场景”、“到底要建设多少安全策略”,这里挑战的本意是全面性,防止遗漏。

深度思考:首要目标是保证解决的问题都是彻底的、高效的解决,保障分子都是持续、稳定、可靠、有效的。要透过现象看本质,不能停留在现象层面思考。现在还记得百阿时候,老师举的一个XY问题例子。X问题是:一个路人问路去火车站的路怎么走。X问题的回答可能是:坐地铁几号线怎么走怎么走blabla。但是如果深度思考一下路人的原始需求,问他为什么要去火车站,路人可能回答:不都是去火车站现场才能买票么。所以Y问题是:怎么买火车票,因此Y问题的回答就是:上支付宝的12306小程序网上买票。XY问题出现的原因可能是路人记忆还停留在只能现场买票的以前,不了解最新的讯息。通过深度思考得到的Y问题的答案相较于X问题的答案更接近问题的本质,更能高效解决问题。

动态思考:首要目标是保证即使外界环境和时间在变化,我们也要能抓住重点,不能停留在某个时刻看待问题。例如随着国家颁布《网络安全法》,随后又颁布《个人信息保护法》、《数据安全保护法》,还有国家发布的《关于构建更加完善的要素市场化配置体制机制的意见》,还有俄乌网络战,诸如此类事件,无一不证明了安全、数据以及数据安全已然成为国家层面顶层设计中的重点事项。外界环境的变化,会强有力的影响到每一个人,不紧跟时代就只能被时代的齿轮碾压过去。


如何达成系统性思考?

解决同样一个问题,从现象来说,一个经验丰富的工程师要比一个新手,做的又快又好。两者最大的差别在于经验,那么经验具体是什么?抽象来说(只能抽象),经验是人脑中的一种神经通路,出现A,立马想到B。经验越丰富的,可能神经网络通路越多,会想到C、D、E可能性。这还只是一跳链路,如果是多跳呢,理论上的可选性更多,当然经验越丰富的人,实际掌握的通路或死路越多。从神经通路的角度来说,系统性解决问题是找到和掌握链路中所有的可能性,体现到现象层面是被打脸的次数越来越少,直至在这个领域内没有人能完成对你的打脸。

如何掌握所有的可能性?如果是完全没有经验的情况下,可用的方法是用时间换空间,自下而上反复进行大量的盲人摸象式的学习、联想和实践,不断交叉扩大知识面,逐步触达到边界。当然有时候触达到的边界是假的,只是因为不知道自己不知道,可能一经过交叉性的检验就可以发现。那什么时候边界是真的呢,似乎是个无法证真的问题,事实上也是这样,无法完全证真。但和高等数学中求极限的思想类似,我们可以通过和多方进行交叉,和同组、同部门、跨部门、同领域、同行业的人做交互,不断反哺我们的认知模型,无限逼近极限或边界,在自己的领域内,知识和能力边界达到最大,和人对线时,自动加领域buff。在此过程中,不断沉淀系统性思考能力和沟通表达能力(所谓的经验),面临新问题时,用空间换空间,通过一波迁移学习复用经验,系统性思考,自顶向下,目标清晰、路径明确。

如何快速掌握所有的可能性?这让我想起来之前和一位高年级同学做1V1请教时,问的一个问题得到的类似答案。还记得当时问的问题是如何用最短时间达到下一个层级,得到的是答案是:你觉得同领域内的下一个层级最牛逼的人是谁?向他学习。现在看来,确实是这样,牛逼代表着一种能力边界,最快逼近边界的前提是首先要看到这个边界。


如何使用系统性思考解决实际问题的案例

问题定义

这里我们定义一个复杂问题:外部攻击者导致的数据泄漏问题。目标是:系统性解决。

思考过程

从全面思考的角度,首先会考虑这么几个问题,外部攻击者都是什么?数据泄漏的数据是什么?存放在哪里?泄漏的渠道都有哪些?每一个子问题又都比较复杂,也都需要系统性思考。

从深度思考角度,重点思考优先级、关联性和技术深度问题。优先级方面,面对众多子问题,如果精力只允许做一件事,做什么?如果允许做三件事,做哪三件事。关联性方面,如何实现互为犄角,1+1》2。技术深度方面,从威胁对抗的角度,如何高效、彻底解决遗漏问题,守住底盘。

从动态思考角度,面对内外部环境的变化,工作的重点也可能随时发生变化。内部环境方面,安全有时候比较被动,业务-》产品-〉架构-》研发-〉测试-》运维-〉技术风险-》安全风险,前段链条煽动下翅膀,安全都可能抖一抖。业务没了,还要安全干嘛,底层架构动了,安全又得从0开始建设了。往小了说,对于事中事后阶段安全工作,在风险敞口存在且事前没有安全解决方案时,需要重点投入挡住风险,可能做着做着,上游有了突破,下游也就没了继续做的必要了。外部环境方面,网络安全及法律法规如网络安全法、数据安全法、个人信息保护法、俄乌网络战,数字生产力方面如《关于构建更加完善的要素市场化配置体制机制的意见》、中共中央、国务院印发的《数字中国建设整体布局规划》、国内外如火如荼的大模型,无一不在发生深刻的变革,深处这样的时代,既幸福也无奈。

思考结果

基于对问题的系统性思考,抽象了一张大图,包含一些关键要素和关键事项。

image.png

其中每一个实体、每一条边范围都比较大,实践中都还需要继续拆解到位。比如“数据存储”,可能包括了oss、sftp、odps、ob、sls、mq等等。比如“互联网边界”,不止是开放到公网的Web、app和小程序,还有更广泛的非http类型服务,比如邮箱系统,VPN等等,只要起点是外部,终点是内部的所有渠道。再比如办公应用系统,数以千计,如何拆解,感兴趣的可以了解我们团队紫军的基于威胁路径大图的实战检验系统。

在实践的过程中,我承担解决/在解决/要解决的部分问题如下,其中有一些也是学习兄弟团队经验或是团队合作的结果。

  1. 入向流量侧透明化打标(学习兄弟安全团队经验)
  2. 入向邮件侧钓鱼检测
  3. 入向oss侧异常检测
  4. 攻击者知识图谱
  5. 攻击者身份、意图识别和态势监控预警
  6. 办公终端数据盗取和外发检测
  7. 出向办公终端失陷外连检测
  8. 办公后台非预期查询(五类)
  9. 生产主机数据盗取和外发检测
  10. 出向生产主机失陷检测
  11. sftp/oss/odps服务端检测
  12. 数据库异常检测
  13. 数据泄漏类漏洞监控
  14. 数据蜜罐(我们组又帅还单身的小哥哥在做)
  15. 联动个人信息防火墙
  16. 风险发现和治理建议

事项跨度包括应用层、流量层、网络层、终端层、主机层、数据层,子事项一一对应到大图中:

image.png

哪儿的风险比较多,肯定这方面拆解比较多。今年比较关键和重点投入的事项是:公网侧的攻击者身份、意图识别和态势监控预警,办公网侧的办公后台非预期查询。动态思考的角度,在特殊时期,关键事项可能又是其他,比如钓鱼检测。

至于具体如何做,怎么实现,过程中有哪些坑点,限于篇幅和安全的特殊性,这里不谈,欢迎找我交流。其实整体的指导思想还是可信和纵深的理念。

实践结果

实战检验效果方面,已经大幅提升对已知攻击手法的预期内和实际检测比例,同时提升可以对抗未知攻击手法的白名单策略占比。举个具体的例子,比如在本年度外采演练中,我们在邮件方面做的白名单检测策略,对所有已知钓鱼邮件应检尽检。但还是要客观看这个结果和过程,因为复杂度的问题,网商的员工体量也就几千号人,换到主站几万人,同样的策略是否还能达到同样的效果呢。

技术沉淀和技术影响力方面,经过系统性总结过去三年的实践,我们沉淀了一套白名单策略生成经验和方法,规模应用到了各个安全业务场景,因此也在1个月内申请了10+个专利,但距离预期目标把idea写完为止还有一段距离。

团队合作效果,也因事和团队内外有了更多的连接,结识了一批可靠的全天候战略合作伙伴。


展望和期望

对事,懒人更勤奋。目前我主要是人工做白名单策略,缺点很多,一是整个流程环节较长、成本较高、效率较低,做一条白名单策略可能需要几个工作日,二是经验和方法不易复用,沉淀的经验和方法更多是在个人脑子里。因此,计划探索打造一个基于专家经验和大模型的可信策略智造中心(开始做一些想法的探索:我让大模型替我做可信策略,和前段时间OpenAI新出的网络安全资助计划异曲同工),短平快做策略。大处着眼,黑名单替换为白名单已经成为趋势,因此防御和感知等各安全业务方都会有共同的强需求,所以设计之初也需要考虑到这些因素。小处着手,计划先以我自己这块业务作为试验田先承载起来,验证可行再横向扩展。

对自己,“夹带私货”把个人目标写入绩效目标。互联网行业,工作时间能占到全天的一半,始终认为工作如果只是工作,OKR只被动罗列一些工作事项、机械式地执行,那也太无趣了,太浪费生命了。工作还是一项个人事业,所以“夹带私货”把个人目标融入工作绩效目标中,合二为一,为公司打工的同时,也是在打造自己这个产品,是不是会有趣一些。

以上这些事也算是一个对我过去近三年工作的总结和缩影,但个人的视角再怎么所谓的系统,也可能会陷入信息茧房,所以也期望得到读者的反馈和挑战,帮助我做的更好。


作者 | 柳星

来源 | 阿里云开发者公众号


相关文章
|
1天前
|
算法 测试技术 项目管理
阿里十年总结之软件测试的价值
本文是作者十几年工作经验的总结,也对“软件测试的价值”做个探讨,希望有机会跟团队一起走出当前的周期。
|
人工智能 运维 安全
职等你来 | 2023春招,牵手阿里云基础设施,期待同行
快~加入阿里云基础设施,一起打开有意思的未来!
职等你来 | 2023春招,牵手阿里云基础设施,期待同行
|
存储 云安全 人工智能
有多难?直击传统行业的“云上再创业”之路
有多难?直击传统行业的“云上再创业”之路
517 0
有多难?直击传统行业的“云上再创业”之路
|
人工智能 图形学 数据中心
超27亿人参与!“云上冬奥”背后的17天
昨晚,2022北京冬奥会正式闭幕。在过去的17天里,北京冬奥会创造了冬奥会史上的最高收视率,全球超过27亿人参与了冬奥互动。
760 0
超27亿人参与!“云上冬奥”背后的17天
|
人工智能 图形学 数据中心
|
搜索推荐
码上公益|7天解决多年档案管理难题
爱心极客用数字技术,助力公益组织档案管理高效化、精细化,守护每一份爱心。
312 0
码上公益|7天解决多年档案管理难题
|
Cloud Native 云计算 微服务
福利来了!蚂蚁金融云邀您参加有奖调研,为中国混沌工程创新发展添力
本次调研问卷由中国信息通信研究院混沌工程实验室联合infoQ、VCEC、中国云原生社区共同发起,参与问卷的用户有机会获得蚂蚁定制中秋礼盒,扫码填问卷,免费领礼品~
206 0
福利来了!蚂蚁金融云邀您参加有奖调研,为中国混沌工程创新发展添力
|
新零售 供应链 前端开发
【云栖号案例 | 新零售】危机与机遇背后的数字化韧劲 卫岗乳业上云 讲述战“疫”经历
疫情期间封店让订生鲜面临极大压力,保质期短、提前备货造成库存积压。上云后依靠数字化底座,同步构建营销中台,打通中后台系统的数据,降本增效。
【云栖号案例 | 新零售】危机与机遇背后的数字化韧劲 卫岗乳业上云 讲述战“疫”经历
|
人工智能 Kubernetes Cloud Native
开发者如何get技术趋势,实现成长破局?——MVP线上峰会
使众人行,你需要拥有的管理思维;数据库那些事儿,讲讲创新实战;AIoT新技术新场景实战,说干就干!未来已来!云原生战“疫”实操!
904 0
开发者如何get技术趋势,实现成长破局?——MVP线上峰会
|
弹性计算 Kubernetes Cloud Native
战疫情,云顶云新概念公益项目手记
紧张刺激的96小时,通过伙伴外研社团队、云顶云团队和阿里云的精诚协作,最终顺利完成,上线后用户好评如潮,我们也在全国共克时艰的时候,为抗击疫情贡献了自己的一份微薄之力,也为云顶云在云原生、微服务的探索之路上添加了重要的一笔。 以不远的将来,云顶云将继续秉持“让云计算更简单”的理念,立足于阿里云强大的技术与生态,服务更多用户,为祖国蓬勃发展的互联网事业继续贡献自己的力量。
1278 0
战疫情,云顶云新概念公益项目手记
http://www.vxiaotou.com