查看原文
其他

诸子笔会2022 | 刘志诚:查缺补漏——安全运营可观测性与有效性能力的目标之旅

刘志诚 安在 2022-09-24



自2022年5月起,“诸子笔会第二季”正式拉开帷幕。经过对首届活动复盘,我们在坚持大原则、大框架、主体规则基础上,优化赛制特别是奖项设置和评奖方式。13位专家作者组成首批“笔友”,自拟每月主题,在诸子云知识星球做主题相关每日打卡,完成每月一篇原创。除了共同赢取10万元高额奖金,我们更要聚焦甲方关注,发掘最佳实践,弘扬分享精神,实现名利双收。本期发文,即诸子笔会月度主题来稿之一。





查缺补漏——安全运营可观测性与有效性能力的目标之旅


     文 | 刘志诚





刘志诚


信集团信息安全中心总监





关注企业数字化过程中网络空间安全风险治理,对技术风险治理拥有丰富的理论和相关经验。


在讨论9月主题的时候,社群里两个大佬精彩地对了一副对联:“开源组件漏洞紧急修,修修修,何日是个头,问君如何做,才能枕无忧;安全策略补丁即刻补,补补补,今朝提重议,看汝怎谏言,方可处安泰。”如此一来,就形成了“查缺补漏”的9月主题。

笔者最近几个月一直在关注有效性验证和观测性两件事,发现本质上也是朝着如何实现安全风险以及安全控制措施满足安全目标这个主题探索。在8月份的时候,笔者已经写了两篇关于安全控制有效性验证从技术到产品实战的文章,那么今天不妨从这件事的源头捋一捋——为什么查缺补漏成为重中之重,为什么可观测性以及有效性验证的理念、技术和产品成为当下炙手可热的方向。

一、开源组件与供应链安全的长尾工程


沿着开源组件漏洞这件事说起。为什么开源组件作为开发安全难以逾越的屏障,成为软件供应链安全和软件成分分析(SCA)热门的赛道?根源在于互联网和数字化导致的信息系统自主研发,打破了商业产品的研发安全过程管理(SSDLC),在关注持续集成与交付的DevOps浪潮中,开源组件成为信息化系统密不可分的一部分,而忽视了开源组件自身的特征,以及管理措施不到位,造成大量的技术欠债需要整改,翻工。

各种团队怀着各种目的开源自家的软件产品,开源组件已经成为互联网和数字化产业技术能力对外输出,以及技术路线众包和商业产品活跃、打磨、验证的绝佳路径,但这也带来了和商业软件与组件不同的安全风险。

开源组件难以保持持续的活跃度,无论是技术路线还是团队,缺乏约束和管控,极有可能活跃度下降,商业闭源。如果开源组件出现安全风险,及时地修复和升级缺少商业产品的服务水平协议(SLA)保障,有可能都无法单纯地从版本升级的角度进行升级。另外,如果企业缺少开源组件引入的评估、审核、使用控制机制,可能出现多研发团队采用多版本组件,自定义二开开源组件的问题,在发现开源组件漏洞时,造成即使开源组件升级新版本,仍难以直接升级和体系化升级的问题。第三,由于开源组件的丰富性,SCA安全厂商仅能针对威胁情报和扫描工具做漏洞的检测工作,难以实现POC验证以及代码级修复的建议,仅通过第三方漏洞情报的评级机制,忽略了应用场景和过程,评级的客观性遭受研发团队质疑。

这些问题纠结在一起,导致安全团队在发现大量漏洞并推动研发升级的过程中,需要痛苦的沟通、协调和逐个的排查、确定、实施,从而形成了开源组件漏洞修复的长尾工程。


如何有效地实现开源组件的风险管控,根据笔者自己与SCA厂商、业界同仁的沟通交流来看有几个建议。

一是实现可信制品库的管控机制。研发的架构部门要从整体技术体系的角度对开源组件的引入进行评估评价和审核,开源组件的团队、活跃度、技术相关性等可用性与可持续性指标要进行评估评价,纳入可信制品库供研发团队使用,避免随意的开源组件引入,对开源组件的使用建立明确的规则,二开统一进行,避免使用上的随意性。

二是建立开源组件的漏洞验证和代码级修复情报共享机制。无论是SCA厂商,各公共SRC、白帽社区或商业厂商,建立开源组件漏洞的POC与代码级修复情报有偿或无偿共享机制,除了升级修复外,提供代码级修复和补偿控制机制,支持二开开源组件安全升级的兼容性。

二、多源数据的动态多标签资产管理是查漏补缺的起点

从实践的角度而言,开源组件的安全风险治理,第一步是需要明确开源组件的分布范围,包括在代码库哪个工程做了集成,在发布系统哪个应用里有所体现,发布后所在的服务器等。从网络架构和安全控制措施的角度而言,利用的难度和复杂度如何,这些信息如何一目了然地呈现,安全人员可以根据工程、应用、服务器的资产归属人员,找到具体负责人实现快速的任务下达与协调推动。这说起来容易,但却需要建立在准确、有效、多标签的动态资产管理系统的基础之上。

传统的资产管理一般基于CMDB建立的录入静态资产库,面对的挑战是资产收录的完整性,资产频繁变更后资产关键属性的准确性,以及资产生命周期管理的有效性。如果是靠人工录入和扫描数据导入的静态管理方式,准确性、及时性、有效性、可用性就会大打折扣,很容易出现按图索骥时货不对版,责任人不相关等情况,大部分无效的沟通与协调都源自于资产管理的失效。

Gartner在2021年提出的EASM扩展的攻击面管理,强调了关于分支机构、合作伙伴以及新兴虚拟资产方面的用例,而传统的从运维角度关注的数字资产管理容易缺失安全属性的要求。首先是资产的范围,例如我们说的开源组件、工程、应用、API甚至当下热点的数据,都是我们关注的资产。资产之间的关系不是1:n的属性依存关系,而是n:n的多维标签关系,例如,我关心一台服务器上部署的应用、存在的组件,我也关心某一个组件分布在哪些服务器上,集成在哪些应用里,多维度、多视角、多标签是动态资产管理的核心需求。

资产和标签的多元性,如何保障准确性、及时性、有效性,首当其冲的是多源数据,不能仅依赖于手工录入和定期扫描,资产管理的规范与标准以及系统的API接口是实现资产及时性、准确性、有效性校验的前提条件,这条路仍布满荆棘和崎岖,也是我们为什么要关注可观测性的根源所在。

三、跟踪与度量基础上的可观测性是关联分析的真命天子

CNCF的云原生对可观测性的定义包含日志、度量与跟踪。日志大家并不陌生,它是数据驱动安全的第一要素,但遗憾的是在数字化时代和互联网场景下,日志其实是个难度比较大的技术活。除了需要关注数据合规与安全的风险之外,日志的粒度会引起存储和分析的指数级增长,如果不做好相应的规划,很可能日志功能仅有1-3天的周期甚至直接关闭,等到我们需要使用的时候,例如去做溯源和取证,才发现可能找不到可用的数据。

另外一个数据驱动安全的要素。大家谈的最多的是流量、全流量,基于核心交换机的分光实现数据全流量的采集和分析,从出口一个维度而言,也无可厚非,也确实起到一定的作用,态势感知、API安全都有应用。当下的问题是在容器云、微服务、零信任的背景下,缺少内部流量的分析与跟踪,仅能对外部的攻击和威胁实现基于出口节点的识别与判断,缺失了内部安全控制的风险威胁发现与预警。

当然,为了解决这个问题,行业内从20多年前SOC开始就尝试建立统一的数据体系,实现风险的发现、预警与响应管理,并且从第一代基于日志,到SIEM时代静态日志到动态流量的整合,再到今天XDR进一步整合了终端、网络的行为特征,实现多源数据的整合。随着数据存储、分析、处理能力的进步以及人工智能领域的机器学习、深度分析等无监督学习算法的崛起,似乎看到了关联分析的曙光,避免基于单点规则对威胁的检测与感知的漏报,甚至实现未知威胁的发现与预警。当然,理想很丰满,现实很骨感,人工智能在多源数据分析的实战价值仍有待考验,有效性仍需要持续的优化和验证。

国外的分析案例往往集中在监控和可观测性区别方面,监控仍是基于点的观察和预警措施,可观测性是基于多点跟踪的关联分析预警措施。但我国更多谈论的是可视化,甚至进一步演化为可视化大屏,通过大屏以动画的形式演示攻击的路线,绚丽多彩,不懂行的领导也看的不亦乐乎,可惜的是往往被安全厂商做成了演示Demo。本质上而言,可视化是结果的可视化而不是链路跟踪与度量层面的可视化;可观测性,是过程的可视化而不是结果的可视化。


回归到开源组件的可观测性,从资产角度可以知道开源组件引入、集成、发布、上线、应用的路径,甚至跟踪到用户业务逻辑过程中开源组件参与的功能和环节,无论从开发和运营的角度,风险都一目了然。

当然,理念如此,实现未必一帆风顺。从云原生的角度而言,互联网和数字化业务基于容器云、微服务,其基础技术架构体系与传统技术栈有较大的变革,传统安全数据的采集能力也面临着较大的调整,是否准备好了并能够实现,是个挑战。

云原生架构下,操作系统的网络栈实现也随着一个开源组件大放异彩。eBPF作为底层的网络技术栈,已经不满足传统的定位,整个开源体系中的cilium、hubbo除了关注底层的处理,替代iptables的4层网络管控策略,已经开始往7层微服务治理的角度去做延伸。在网络底层的数据采集能力,优势是每台服务器、每个容器的全量数据、网络、应用、业务安全实现全覆盖,劣势是海量数据的处理对性能的影响。

在API与微服务层面,enovy的代理lstio的管理数据与业务数据分离,结合Pod的Sidecar模式,提供微服务层的数据全量采集,同样是应用安全、业务安全的数据最佳采集点。

Java的JVM提供的Sandbox模式,实现开发语言运行环境的数量采集,除了实现应用管理(APM),质量和运维风险的跟踪监控外,也可以实现RASP、IAST的应用安全处置,以及数据安全和业务安全的全流量跟踪与采集。

三种技术路径都为数据驱动安全的可观测性提供了数据采集点,采用什么样的技术方案、场景、资源投入、目标密切相关,这也需要安全厂商和具备安全研发团队的大厂进一步探讨、实践和验证,但方向应该是毋庸置疑的。

四、总结

查漏补缺这件事是安全能力建设到一定阶段,安全运营具备一定水平之后,水到渠成的一个目标,如何做好,当然有无数条路径和值得参考与学习的实践经验。个人而言,和我目前关注的可观测性和有效性验证密切相关。

本文更多的是从开源组件治理,扩展攻击面资产管理,以及云原生技术栈下数据驱动安全的数据采集实现可观测性,这几个具体实践项目的探索给出个人的认知与经验总结陈述,由于有效性8月份已经写过两篇文章,就不再赘述。希望本文能给大家带来些思路和启发,也希望同仁们多交流、碰撞和探讨。




推荐阅读

2022诸子笔会  

【8月主题:红与蓝】

刘志诚  张永宏  王忠惠  孙琦

  肖文棣  孙瑜  杨文斌 陈圣 回顾


【7月主题:误区与陷阱】

刘志诚  张永宏  孙瑜  王忠惠  肖文棣  

朱文义  杨文斌  孙琦  陈圣  回顾


【6月主题:远程办公与安全】

王忠惠  于闽东  刘志诚  孙琦  朱文义

  张增斌  肖文棣  杨文斌  张永宏  孙瑜  陈圣 回顾


【5月主题:安全之变】

 王忠惠   张永宏  朱文义  于闽东  刘志诚  杨文斌 

 孙琦  孙瑜  半藏咸鱼  肖文棣  王振东  陈圣  回顾



推荐阅读

2021首届诸子笔会

   颁奖 | 评优投票 | 1月盘点 | 12月盘点

11月盘点 | 10月盘点 | 9月盘点 | 8月盘点

7月盘点 | 6月盘点 | 组团 | 报名


原文阅读查看往期征文合集

齐心抗疫 与你同在 



你怎么这么好看



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存