诸子笔会2022 | 朱文义:安全工作从“过与不及”到“恰如其分”
自2022年5月起,“诸子笔会第二季”正式拉开帷幕。经过对首届活动复盘,我们在坚持大原则、大框架、主体规则基础上,优化赛制特别是奖项设置和评奖方式。13位专家作者组成首批“笔友”,自拟每月主题,在诸子云知识星球做主题相关每日打卡,完成每月一篇原创。除了共同赢取10万元高额奖金,我们更要聚焦甲方关注,发掘最佳实践,弘扬分享精神,实现名利双收。本期发文,即诸子笔会月度主题来稿之一。
安全工作:从“过与不及”到“恰如其分”
文 | 朱文义
朱文义
某企业高级应用安全架构师
经常听到开发人员抱怨安全人员吹毛求疵或者言过其实,也不时听到安全人员抱怨开发人员敷衍了事或者屡教不改,这种抱怨一定程度上反应了开发人员与安全人员之间长久以来存在的嫌隙。究其原因是开发人员和安全人员工作的具体目标并不一致,目标不一致引发考核指标不一致,考核指标不一致导致工作方式不一致,安全团队在具体工作中的发力点和着重点与开发团队的预期不一致,对开发团队的工作造成了一些困扰。
下面我列举了应用安全工作中“过”与“不及”的现象,针对现象提出了自己的一些想法和见解,在此与各位读者进行交流。
现象一:安全责任集中之“过”与分散之“不及”。
有的组织选择将安全团队作为应用安全的第一责任人,出现问题后也会将安全团队作为第一问责对象,没有明确开发团队对应用系统的主体安全责任。这种做法要求安全团队以非常有限的人力资源承担了无限责任,容易让开发团队形成依赖感和懈怠感。如果作为应用实际控制人的开发团队不重视应用安全问题的话,安全团队在外围做的事情也只能是隔靴搔痒,效果有限。
现象二:安全管控之“过”与安全支撑之“不及”。
最早的安全是从满足合规要求发展起来的,安全人员通常对监管条文滚瓜乱熟,对系统开发则懵懵懂懂如坠五里雾中,于是为了满足监管要求安全人员往往会本着谨慎的态度要求开发人员按照对规范条文的机械化理解并进行整改。具体整改的方案和实现会依赖于项目组对要求的理解不同而有所不同,导致最终实现结果可能并未完全满足安全要求。
现象三:安全产品之“过”与自主掌控之“不及”。
传统的安全思想依靠堆砌安全产品,由于安全产品的专业性和安全团队开发能力短缺,安全团队为了快速实现安全效果往往倾向于采购外部成熟的安全产品。另一方面安全产品的厂商也因为安全产品比安全服务的收益高而倾向于夸大安全产品的防护效果并持续在单一安全产品上叠加更多功能。由于甲乙双方这种“不约而同”的默契造成了组织内部安全产品出现“烟囱式”建设的现象,安全产品之间缺乏互联。
现象四:安全覆盖度追求之“过”与应用标准化之“不及”。
虽说安全工作是“七分靠管理,三分靠技术”,但是应用安全的落地效果离不开安全技术。安全技术最大的特点是与不同的应用场景结合就会衍生出不同的具体安全实现,这就决定了安全技术的落地场景是多种多样的。以最简单的日志框架为例,假设我们要统一实现对日志中的个人信息进行脱敏,如果日志框架不统一的话,我们就需要针对不同的日志框架开发日志脱敏组件,这就会给提供安全组件的团队提出很大的挑战。
为了解决这些“过”与“不及”现象引发的问题,笔者建议组织在以下几个方面开展工作:
正式明确安全团队和开发团队的安全责任:组织机构应大力弘扬安全人人有责的风气和文化,安全是安全团队和开发团队共同的责任,特别是在应用安全方面,安全团队与开发团队的人数通常相差悬殊,组织应将开发团队作为对应应用的首要安全责任人。
这个道理是显而易见的,正如小区保安无法帮助业主承担所有的财产风险,特别是房子自身的脆弱性引发的财产风险,业主需要自行安装防护栏和防盗门。安全团队的主要职责是宣传、管控和赋能,协助开发团队开发出更加安全的系统,安全团队应在开发团队中发展懂安全的人员作为业务应用的安全伙伴(通常由应用架构师来承担这一角色),这一角色负责将安全的要求具体落地到应用的软件需求和设计方案中并对应用的安全性负责。
加强安全支撑能力建设:当组织内的安全团队发展到一定阶段时,为保证各方面安全要求的落地效果,安全团队应提供企业级的方案类和代码类的安全支撑能力,如常用安全设计模式和安全组件等,将公共安全要求转换为开发人员可以理解的开发语言。对于应用级的特色方案设计和代码实现则由应用项目组的安全伙伴负责在应用中落地。安全支撑能力一方面有助于落地各类安全要求,另一方面可以加快业务应用的开发效率,提高安全团队在开发团队中的美誉度。
加强安全产品自主可控力度:一方面针对安全产品之间的重复功能,应从企业级统一的角度确定最合适的承载应用并持续进行开发完善;另一方面加强安全产品在接口方面的标准化设计,方便与内部系统或其他安全产品对接,同时有利于实现安全产品的统一配置管理,保证安全建设和运营效果;再一方面针对安全产品的数据字段进行标准化设计,加强安全数据的分析处理能力,利用大数据技术挖掘更多的攻击信息,提供应用安全水位。
加强安全与应用架构协同:安全的本质是攻防,“井井有条,如数家珍”是安全所需要的,“一夫当关,万夫莫开”是安全所追求的,“车轨共文,一招制胜”也是安全所向往的,架构管控的标准化统一化要求非常有助于安全达成这方面的目标。仍然以日志脱敏为例,如果组织内部可以通过架构的角度统一内部各应用的日志框架,就可以大大减少安全团队和开发团队的开发成本。
综上所述,安全团队有些工作做得“过”,有些工作做得“不及”,根本原因在于组织架构分离等原因导致安全团队总是习惯于在应用系统的外围做工作,造成与开发团队长期以来处于分离状态。笔者希望,无论从人员角度还是系统建设方面,安全和开发都能够加强融合,因为只有了解彼此取长补短,才能将应用安全工作做到“恰如其分”。
【10月主题:过与不及】
【9月主题:查漏补缺】
【8月主题:红与蓝】
刘志诚 张永宏 王忠惠 孙琦
肖文棣 孙瑜 杨文斌 陈圣 回顾
【7月主题:误区与陷阱】
刘志诚 张永宏 孙瑜 王忠惠 肖文棣
朱文义 杨文斌 孙琦 陈圣 回顾
【6月主题:远程办公与安全】
王忠惠 于闽东 刘志诚 孙琦 朱文义
张增斌 肖文棣 杨文斌 张永宏 孙瑜 陈圣 回顾
【5月主题:安全之变】
王忠惠 张永宏 朱文义 于闽东 刘志诚 杨文斌
孙琦 孙瑜 半藏咸鱼 肖文棣 王振东 陈圣 回顾
2021首届诸子笔会
齐心抗疫 与你同在