上周六受前同事 Fairy 邀请,参加了高瓴技术峰会。本想去蹭顿饭,结果感触良多,收获远超预期。为了答谢 Fairy 的盛情邀请,也是为鞭策自己做了这个札记。鉴于个人经历和视野的局限,可能会对张磊和陆奇先生的原始理念造成曲解。所以本文只代表我,有兴趣的可以参考大佬的原始演讲。
张磊演讲摘要心得
初心:中立的机构才能做好事 - 做安全的往往会接触到业务的核心数据、业务逻辑、代码。如果做不到公正、开放和中立,很难得到主顾的信任,项目也只能在外围敲敲打打,难以进入深水区,解决实质性问题,保持中立的方法有很多:
人的中立性,背景必须干净,公正、开放
文档、规范一致性:切勿有所隐藏,如开源,或者统一规范,如引用第三方一定要注明
技术中立性:在产品方案设计中,尽量植入中立和免责要素,比如密钥和算法分离,上帝、特权账户管控、审计等
第三方审计:引入权威机构或者社区评审等。
投资技术驱动、科技赋能的机构:技术是安全的核心竞争力,不仅表现在技术对抗,密码学,权限模型等专业领域。还包含安全与新兴技术的融合,包含对新兴业务模式的支持。这个我在后面的安全的驱动力里面会详细说。因此作为安全人,不仅要保持技术的同步、领先,还要保持不断学习,快速拉大优势的能力:
一个本身业务就很具有技术含量,有技术壁垒,实际上我们看到,信息安全领域的技术壁垒还是很高。个人经验,国内安全圈比较浮躁。包含很多专业的安全公司在内,核心安全理念,安全技术依然存在很多不足。因此踏踏实实把技术做精,做专,还是很容易建立起壁垒的;那么如何确认并展示这个壁垒也是一门技能,这里的壁垒不是封闭,是开放。你的技术应该能够获得更广泛的审视,创造更多的价值。
另外从更为广义的角度,技术的提升、迭代效率,也就是我们说的创新能力是另一个重要指标,就是公司的软件研发能力,技术架构体系能否支撑整个公司快速学习成长。这里大数据,人工智能肯定能起到这个作用。我认为更重要的部分:软件开发能力、 DevOPS和 微服务架构等能为价值创新提供源源不绝的动力。
一起把蛋糕做大而不是对立:这里讲的是生态、合作共赢,做安全的对抗往往多于合作、竞争多于合作。面对更为广阔的市场应该保持更为开放的胸怀,以同理心,合作共赢团结业务人员、各个领域的专业人士,乃至借助红、蓝两方的智慧,挖掘更多的创意。
聚焦,墒减,学会做减法:信息安全涉及的领域太广了,会包含几乎所有的技术领域的知识和技能。大而全不如小而美。如何保持特定领域的专业性,我希望通过安全的 “ 专家系统 ” 来诠释。保持专业性和权威性,也是获取信任的重要手段。在这个凡事论结果、看绩效的,讲求快速变现、弯道超车的浮躁互联网环境,保持耐心和专注尤其重要。
TECH 的理解
Trends 对技术趋势的理解和把握,对于安全技术人来说,往往容易自以为是,陷入自嗨无法自拔。安全圈把技术圈分为安全技术和其他技术。我想最好的办法是保持开放的心态,保持学习和分享,不怕出丑,这个在后面陆奇的总结会详细讲。 多出来看看,多看看 Youtube ,多参加安全的和非安全的技术峰会,就像今天这个会,我要是不来也写不出这么多感想,我想这些对我后面一生都会有影响。
Empathy 同理心,张磊讲了他 8 岁儿子讲的跳井理论。当你看到一个人掉井里了,你看了心疼,那叫 sympathy, 只有你也跟着跳进去了,那才叫 empathy 。这在我们行业里叫入坑。 Empathy 对技术人来说,重要的是不鄙视,不居高临下,开放、平等,服务意识。
对研发人员的同理心:研发人员是构建者,对他们的系统挑刺儿很容易。因为你占了专业技术优势,不对等。而且研发人员的 KPI 和你的不一样。快速上线产品,保证产品的效能和稳定就是他们的使命。安全人员制定策略,提供安全特性和服务时,不仅仅从安全本身考虑,而且要考虑到研发本身的技术背景,拥有的资源,因此尽量简化流程,尽量把安全功能用工具、代码封装起来,让研发在不需要太多 efforts ,就能实现安全能力,即展现了安全人员的技术能力,又表现了尊重,同理,更能获得认同和支持。 “ 人人都是安全工程师 ” 这句话充满了自嗨,连 Sympathy 都谈不上,自嘲点儿说,除了你自己,没人care安全,除非你帮我解决问题。
对产品人员的同理心:用户体验,可用性对产品来讲,可能比看不到的安全来得更重要,产品上了你的加密功能后,系统慢如牛,把用户都吓跑了,我们就都失业了。
对用户和客户的同理心:客户的水平参差不齐,往往从技术水平到安全意识都比较弱,或者安全意识强,但不知从何下手。这时你可以通过技术和知识优势,获得一定的信任,但最终能否为用户提供能用的安全保障,还是那句话,当你做好了特性,自己去用用,体验一下,吃吃自己的狗粮。
Curious 好奇心,这点对做安全技术成长的尤为重要。通常,搞安全的偏向保守,对于新生事物往往默认拒绝,看到的都是不成熟和风险,不敢冒险。我们都曾经年轻过,对技术狂热,充满激情。在某个领域成为呆久了,会产生惰性,加上随着年龄的增长,经历和体力的下降,无法照顾过多领域。这就需要做减法,精挑细选你关注的技术和业务,然后以求真求实的初心,可以让你对要保护的业务系统,使用的技术有更深的理解,知其然还知其所以然。
Holistic 通才,这个与上面的聚焦似乎有点儿矛盾,这个可能是说CEO的吧? 对安全技术专家来说,我想是需要一专多能吧?通过不断的学习,交流以及合作,拓展自己的边界,从安全防御的构建者我的理解是除了聚焦的领域,需要有以下三个知识领域,我称之为 3know :
了解你的敌人:对手使用的技术、技巧以及思路,乃至包含攻击对象和动机都在不断迭代。如不与时俱进,你的防护是不靠谱的。除了每个特定领域的专业网站和论坛外, Blackhat , DevCon 等大会,以及各个技术厂商的安全公告订阅和详细解读, CVE 等都是非常好的来源。包括一些威胁情报,新的病毒木马等。对于大的漏洞的发布,安全事件的详细解读和复盘,可以衍生出更新奇的攻击套路,也刷新自己的认知。还有,就是去和业务聊聊。
了解你的盟友:几大安全防护机制必须随时跟进,包括 NIST , CIS 的安全基线。参加 RSA , OWASP 等顶级安全峰会,除了解核心防护机制和技术外,也可以对接顶级安全厂商的安全白皮书和解决方案,也是很好的参考。当然,每个领域的专家都会有自己领域的防御矩阵,follow这些权威大佬的T以及一些技术博客,同时多看看专业的书,泡泡他们的开源代码。此外 Google , AWS 以及微软(微软鸿篇巨著、AWS实用为主、Google的代码)等核心技术提供者本身的安全防护框架,也给我们很好的参考。
了解你自己:实际上包括了解你自己的业务,业务模式,核心资产,实际业务模式,使用的底层技术栈。这些最好的方法就是安全评审。安全运维的一些方法,从另外一个角度,对核心技术的完整、深入的学习,也是了解自己的重要途径,包括陆奇讲的,我也非常认可的, LAB 全闭环学习模式。
陆奇演讲札记:
陆奇演讲给我第一印象就是这个人很高效。 PPT 完全白板没有任何修饰。我想这个 PPT 他可能准备没超过 1 小时?但却满满个人智慧的总结。
一个系统如果你不能真正构建起来,你很难去真正理解它。这是盖茨对陆奇讲的。我觉得是每个技术人的圣经,是一个学习方法和态度。从另外一个角度,构建系统,构建软件的能力也是安全人必备。所以我招人的时候,不会刻意要求他的安全经验,而特别注重他的构建能力,编写代码,端到端的搭建一个微服务甚至应用的能力。如果一个没有从头设计一套 https web 服务的人,跟你讲 TLS ,那你可能要小心了,这人很可能就是传说中的“架构师”。这里引用 Linus 的金句, “Talk is cheap. Show me the code” 。没有实际搭建过,实际踩过坑,不会理解一个技术的精髓,也没办法想到构建系统过程中遇到的困难。结果就是不接地气,不会获得业务的信任,也无法给出真正匹配的方案。要么无法落地,要么安全性大打折扣。理解一个系统的几个办法,我从做有效到最容易做了排序
全闭环构建整个业务架构和使用场景( LAB ):比如你研究容器安全,你就用 docker 和 k8s 搭一套真实的环境,从初始化、策略配置到实际编码、部署,然后把你的安全特性和方案集成进去。 这个涉及的学习曲线比较长,但效果最好;
合作模式(只读):充分阅读产品文档、代码,和业务复盘产品架构,阅读产品技术白皮书,需求文档、设计文档直至用户手册、开发手册。并在业务的支持下,进行安全方案设计,集成测试并进行推广,解决问题。这个相对来说比较快上手,因此可以实现更广的覆盖,但对某些复杂系统可能会比较难,而且这个非常依赖你的业务合作伙伴和已有的经验。
通过别人的描述,看书、博客,参会或者接受培训,这对广泛涉猎是有帮助,但需要一定的经验和甄别能力,必要特征需要自己进行验证。
那么具体如何把握? 我觉得对于聚焦的专业领域,核心技术业务,需要 LAB。 因为技术都是相通的,这样你的路会越走越宽。一切都在掌握的感觉也很棒。只读模式对于建立数据,积累经验,快速横向扩展是有必要的。对于金字塔底座的绝大多数技术领域,快速积累知识是有帮助的 。
技术驱动力:我从来没有仔细考虑过这个问题,这次也是开了脑洞了。安全技术的驱动力是什么?传统的攻防对抗只是表象,我考虑安全技术也具备技术的共性,核心驱动力也是钱吧?钱在哪儿,人才就在哪儿,这是驱动技术演进的共性动力。当然带动这些的本源可能不一定这么俗,可能是对于自由的向往,对未知领域的好奇心。但结果却是,这些都带动了新兴的技术和业务的发展。而安全技术的驱动力,实际上是这些蓬勃发展的新技术领域引发安全本身不创造直接价值,需要寄生在业务才能产生价值。所以以业务为中心,对新兴业务模式,新的数据交互模式安全必须跟随。业务有多大,安全价值就多大。安全是为业务服务的,应该使能新业务,而不是作为 blocker 。赋予业务放心跑的能力。反过来,技术的进步也反哺安全,为安全提供了新的技术属性。
移动互联网:移动支付, IM , Facebook , IOS 的革命,让手持设备成为人的另外一个属性,数字化了人民的生活,隐私,精准识别人,设备和应用都为安全提出了新的课题。而手机 app ,微信,支付宝小程序,将信任的边界推向了移动端。你不能阻止这个趋势,你还得保证业务的可用、易用,还得保证安全;
云:打破了传统数据中心的物理防护模式,租户隔离机制,把 IAM 上升了新的高度,同时在 IAAS , Paas , SAAS 等租户和资源共享业务模式下,让用户,租户和 CSP 的产生了新型的信任模式。
虚拟化和容器技术:让操作系统内核态、用户态又提升到新的高度。
移动办公:原来的 NAC 已经不适用,所谓的 BeyondCorp 等机制,实实在在为 IAM 提出了更高层次的要求。
大数据:你必须保证数据充分交换、使用,促进业务蓬勃发展,你还得保护隐私,保证用户的遗忘权。
AI IOT 无人驾驶,刷脸:软件扩展,延伸到你生活的方方面面,包括涉及生命的交通,医疗生产,核设施,军用系统。软件爆发式的扩张,对安全有多大的驱动力?
我只是举了部分例子,这个本身还会无限的扩张下去。安全的机遇和挑战也会不断的扩张下去。传统的方法,已经跟不上了,唯有靠近业务,靠近技术,通过技术驱动安全才有希望。而驱动一起的是基础研发技术的变革, DevOPS 、微服务架构和平台化。
安全防护的核心趋势
专家的价值就是在专业领域能做到墒减。实际上无边界的背后,万变不离其宗。安全还是要回归安全的本质 —— 信任。新的业务模式,技术迭代,打破了原有的信任边界和信任模型,但同时建立起新的交互渠道和新的边界。安全技术主要就是识别这种新的信任边界,并利用技术,保护信任关系。合法的人(或系统)能更顺畅的交互,使用数据;非法的人(或系统)更容易被隔离,限制。这里简单介绍一下安全防护技术的演进。
身份认证:由于物理边界被打破,认证成为更为重要的攻防前沿。这里除了传统的三因素(请搜索三因素或者多因素认证 MFA , 2FA ),逐步衍生了基于设备,运行环境以及行为数据衍生出来的用户画像,账户风控等第 N 因素正逐步发挥作用。
安全架构设计:信任边界从传统的物理、网络边界延伸到业务逻辑、租户等新边界。同时也延伸到单个系统、主机乃至应用的内部的隔离。安全架构设计需要识别并控制好更为灵活、隐蔽的边界入口。比如移动设备中不同 App 之间,小程序之间以及浏览器跨域的访问。
加密:加密要能抵抗更高算力,更廉价的存储以及大数据集群,人工智能的攻击。同时要保证加密数据兼容大数据和 AI 的计算要求。目前这部分还没有技术上的突破,同态加密等技术还没有成为量产, token 化是一种非技术的探索,能兼顾保密和数据共享,运算的需求。
攻击行为监测,威胁情报:大数据和算力存储的增长,也可以承载全球的黑色信息。一旦关联起来,恶意无处遁形。
DEVOPS安全 : 快速膨胀在给安全制造麻烦时;反过来可以把安全能力 DevOPS 化。通过自动化,自助的工具对产品,业务和人赋能,另外使能DevOPS的安全团队,更更高效的产出,更快速的上线新的服务,也更具有安全服务交付能力。
安全与生意
安全的生意随业务水涨船高,是没有界限的。这种无限并不来自传统安全领域。基于主要安全需求内核披上新技术和新业务的马甲的新的生意可以给我们无限的遐想。作为安全创业者需要处理好一些关系。我的观点是广结善缘,充分赋能。
安全与业务的关系:
安全必须为业务服务,是业务加速的垫脚石而不是减速器;
安全要追随业务,追热点,追用户,追数据(势利眼)但也要保持一定的中立性和灵活性,这就需要多一步思考;
安全也要具有前瞻性:对业务趋势和技术趋势进行总结,抽象。为新的研究方向提供指引,比如陆奇说的,从命令行到Windows、从PC到移动互联网,从数据中心到云,从人工到人工智能这些重新定义了人们行为和生活方式的技术,也会改变人们对安全的理解。
安全要保障合法,限制非法:要保持权威性和同理心,核心坚持原则,架构和实现要灵活,敏捷。
安全与技术的关系:
安全要向技术学习,保持先进性和成长性
安全要反哺技术,新的东西必然引入新的风险
安全还是一门实用科学,一定要和业务,技术相匹配,不要孤芳自赏,不要闭门造车
如何评价一家安全公司?
安全公司要想赚钱,具有长远的发展,还是要回归本源,为用户创造价值。安全公司的价值是什么?就是为用户,或者业务赋能,赋予安全防护的能力。而建立起信任是第一步。
安全公司首先是一家技术公司,技术的核心体现我的说法就是具备
专家系统:在细分领域,必须具备权威的科学家,这个科学家的专业性上面已经说过了,不再啰嗦,另外内部专业人才要形成梯队,各种层次的人才梯队外部形成影响力;
人工智能:安全赋能最终要落到软件等工程化的东西上,好的软件是把专家的专业性变现、规模化,从而创造更大价值。好的软件一定体现在,兼容性、稳定性、安全性和多种形态。还是那句话,最简单粗暴的就是实打实的安全防护能力,而最直接的防护就是产品。
形成生态形成影响力: 有平台,或者和平台合作,通过开源,技术论坛等方式先服务,共享,再收益的模式比较好。
工程化能力:也是创新的原动力。速度决定成败,交付软件的速度,低成本试错。敏捷、 DevOPS ,可复用的微服务架构。能保证在多变的业务环境下,保持实验和创新的能力,抓住风口和机遇。你只要看他产品迭代速度,和产品由 0 到用的交付时间就可以了。
架构师:产品力和架构能力,能保证产品的顶层设计。
认知以当日志 持续学习 持续交付
2019年11月29日