当前位置:   article > 正文

企业开展开源安全治理必要性及可行性详细分析,疯狂涨知识

企业开展开源安全治理必要性及可行性详细分析,疯狂涨知识

企业开展开源安全治理必要性及可行性详细分析

面对以上五个严重的挑战,从企业解决的角度来说,可以聚焦为三个主要应对举措:

  • 多做行业头部最佳实践调研:其实近两年,互联网、金融、运营商、智能制造等多个行业的头部企业,还是有不少企业在开源安全治理方面已经有自己的一些最佳实践和成功经验了。虽然说不是100%成熟,但是还是很具参考意义的;

  • 资产盘点,分级治理:虽然问题很多很复杂,千头万绪,通常这种情况下我们的解法也很简单,那就是先对企业使用的开源组件进行一轮摸底,然后根据相关业务的重要程度及组件本身安全风险程度进行分级治理,确定阶段性的治理目标;

  • 科学的技术选型,关注运营闭环及降低修复成本:内部协同挑战大的主要原因还是各方在治理这件事上需要投入的成本太大,与各方取得的收益不成正比,从而导致大家不愿意干,所以核心解法在于降低如何降低治理过程中的成本投入,那么其实关键问题在于降低开源安全问题的修复成本;

接下来,对于以上三个问题,我对其中核心的难点和落地实践稍微展开做一些分享。

关于行业的现状和调研

大概从2021年起,log4j2事件及一些国内重要企业(不好直说啊)的重大数据泄露事件背后都暴露出来软件供应链安全威胁,再之后就是2021年底金融行业四部委发文,后来证监会及银保监又陆续发布了一些行业要求,公安部及地方公安也陆续开展了行业的检查和发文要求一些重要企业自查整改,陆续金融和运营商行业就开始有不少企业开始积极的开展开源安全治理工作。当然,对于互联网公司冲击比较大的还是log4j2和长期以来类似fastjson的0day漏洞。

所以从2021年开始,明显感觉到最起码互联网、金融、运营商这几个行业开始积极调研和探索企业的开源组件安全治理的工作及其可行性,后来到2022年开始,以国网为代表的能源行业也开始启动深入调研。在这样的大背景下,实际上互联网第一批开展治理的企业2022年就已经有一些落地积累了,再到2023年,可以说就已经积累了比较丰富的经验了,这里面我看到的蚂蚁集团一直走在比较前面,内部的软件供应链安全治理从最早的1.0阶段,到2024年已经开始3.0阶段的治理工作,这里面肯定踩了很多坑,但是也积累了相当多的经验,最起码是看的比较清楚了。此外,美团、阿里、快手、小红书等也都有非常不错的积累。

金融行业来看,其实从2019年/2020年开始有过一波治理的尝试,但是到2021年来看,效果并不是很好,主要是一开始也没有当着重点任务去看,也是抱着试试看的心态,后来踩的坑多了,才发现其实挑战非常的大,所以从2021年开始几个头部大行开始组织深入的调研,包括我了解的工行、农行等都从2021年开始又花了1-2年的时间,重新审视开源安全治理工作的重要性,同时总结过去的经验,开始全面体系化的规划如何落地,而2023年开始一些银行和证券行业就开始规模化的落地开源组件安全治理工作,目前来看也都有一些不错的积累。

而在运营商行业,移动、电信、联通等从2021年开始也陆续探索软件供应链安全治理方向,运营商行业在开源安全治理这个方面近3年发展速度是非常快的,这从根本上来说,国家层面的大型攻防演练暴露出来大量的软件供应链安全问题是一方面,另外一方面,信通院在软件供应链安全方向的大力投入和引导也起到了很关键的作用。目前来看,移动体系是跑的最快的,从集团到省公司都有深入的落地,而电信体系也非常的积极,都积累了不少经验。

所以,总体来说,从2021年开始各行业开始调研,2022年有一批试着开始落地,到目前为止,各行业已经有一批先行者积累了丰富的经验,2024年开始我相信会有越来越多的企业开始对外分享他们的治理经验和最佳实践,这对于整个行业开展开源安全治理的工作将会带来很大的帮助。

分级治理及目标设定

因为企业使用的开源软件/组件的数量非常的多,引入方式也非常的复杂,加上不同语言的开源组件的包管理生态成熟度也不一样,这就导致企业无法在短时间内对所有的开源软件的安全风险开展治理工作。这个时候通常我们需要做的事情是盘点企业使用的开源软件资产,并对这些开源软件进行分类分级,进而对存在高风险的开源软件进行高优先级治理。

在企业内部,一旦一项工作涉及到了分阶段治理,那么首要的任务是说清楚总体的目标是什么?分级的逻辑是什么?预计每个阶段解决哪些问题?通常这项工作有哪些挑战呢:

  • 如何识别足够全的开源软件资产:这关系到这些治理工作是否能说清楚分母(总体目标),如果没有这个分母,那么后续阶段性的治理成果也就无法衡量。这一步我们通常建议企业从代码仓、容器镜像仓库、服务器主机等维度对公司正在使用的所有开源组件进行识别,这一步会用到一个成熟的SCA(软件成分分析)工具,这个工具应该支持很强的源代码和二进制检测能力,因为不用的形态(源码、二进制等)的不同语言的软件识别其依赖的开源组件的技术原理不尽相同,甚至同一个开发语言的同一个包管理工具的不同版本,在对开源组件的依赖管理是都不尽相同,所以需要考虑各种语言及版本特性来识别。这是一项非常具挑战的工作,不容忽视它的重要性。
  • 开源软件资产与业务的关联:如果不能将开源软件资产与业务进行关联,那么我们就没办法说清楚开源组件的安全风险对业务会有什么影响,而通常公司管理层关注的是业务的风险而不是单纯的技术问题。所以通常我们可以结合企业的CMDB及代码提交人的记录来识别不同的代码仓库及代码应用在业务部门的归属是什么?当然,更好的一个方案是从一个软件应用的代码仓库开始,就对其代码库进行配置标识身份。这样后续这个代码在打包、测试、上线发布过程就像有了身份证,随时可以读取它的关联责任人信息,方便在它出了安全问题时及时找到对应的负责人。
  • 分级策略:分级的策略通常需要考虑三个方面的因素,一方面是首先考虑业务的重要程度,该开源软件影响的业务的重要程度;另外一个方面是考虑该开源软件存在的安全风险危害程度,包括其影响范围、影响程度、攻击条件及门槛;最后一方面是该开源软件的安全缺陷在该业务场景中的实际影响,包括是否会被触发,触发的条件及几率如何。最后我们需要根据企业在不同阶段对安全风险的容忍度、投入成本、关联基础设施的成熟度(这个主要是考虑定的目标是否能落地,因为建设过程依赖和基础设施的集成)几个方面来确定我们具体的分级策略和治理规划。
  • 目标设定:很多企业非常关心阶段性目标怎么设定,指标如何定的问题。我个人建议设定两方面的目标,一方面是A面目标(主要是业务效果),另外一方面是B面目标(主要是能力积累);A面目标通常有3个,一个是存量的风险收敛率,比如我们圈定一期的治理范围是5个业务,涉及20个应用系统。那么我们可以定这20个应用系统的xx级别漏洞风险收敛率100%;此外一个目标是这5个业务的新增风险,上线前高危及严重风险整改率指标,第三个目标是这5个业务线上一旦发现新的安全风险的处置时效性目标;而B面目标我们通常建议以开源安全管控流程的覆盖率及成熟度来定,比如这5个业务线的研发、测试及发布流程,开源安全管控流程覆盖100%。
科学的技术选型,关注治理成本

当前,国内大多数的开源安全治理相关产品及技术,相对来说都非常不成熟,这个不成熟主要体现在三个方面:

问题结果原因
检测能力不成熟主要体现在检测结果的误报和漏报大,且不稳定,这会导致企业研发人员增加大量无效工作,从而质疑安全部门的专业性,抵触安全部门。以SCA为代表的开源安全治理工具,过去大家对它的技术难度有错误的预估,觉得这个工具实际上很简单,但是当你面对十多种开发语言、不同语言的包管理方式、不同语言的软件运行环境及不同软件的形态,这些因素叠加在一起,数亿版本的开源组件乘于数十万通用漏洞,如何准确检测其运行环境下的依赖及安全风险,成为一个巨大的难题和挑战。但是很遗憾,过去大家并没有对这项工作难度有正确的认知。
企业对开源安全问题处置成本高发现大量开源组件的安全漏洞,但是无法修复,安全团队陷入尴尬的境地过去行业通用的检测工具多数是对代码中使用的开源组件的版本进行匹配从而判定是否存在漏洞,这会导致大量的检测结果是误报;另外一方面单个漏洞的修复大多数时候需要升级组件版本,这对于研发来说,简直就是灾难,升级完就挂了,导致问题无法处置。
企业接入和持续漏洞知识库运营成本高安全团队无法将安全能力潜入到企业软件开发及管理流程,同时无法及时跟踪行业发现的最新漏洞并转化成安全检测能力,导致风险漏报进而产生线上事故1)很多企业的研发流程不规范不统一,这导致如果要将安全能力接入进软件开发流程,适配成本高,而且这个流程也一直都在变化和迭代,持续适配成本高。2)市面上每天都会曝出数十上百个新的安全漏洞,这些漏洞都有可能对企业使用的开源软件造成影响,企业想要及时分析这些漏洞数据并维护进漏洞检测能力,成本极高

过去我们创始团队在百度、贝壳、华为工作的时候,开展此项工作时往往也都会遇到这三个问题,这些问题其实很多企业和安全厂商其实也知道,但是为什么当下行业大多数的解决方案仍然并不成熟呢。我们仔细分析就会发现,在数千万的开源组件及数亿的开源软件中,我们想要把这个安全产品工具做好,实际需要三个方面的综合能力:

  • 漏洞研究技术积累:数十万的存量漏洞及数百个/周的新增漏洞,还有投毒的分析,如何准确的判断漏洞的真实影响和实际触发情况,NVD和CNVD都很难解决的问题(官方漏洞库也只能做到基础的分析),可想而知多么复杂,这不仅需要大量专业的漏洞研究人才,同时还需要大量的经验积累;
  • 工程技术积累:包括各种语言特性、各种包管理工具生态、各种软件运行环境、开发环境的适配,而且这几块都是有很强的相关性的,这加在一起就是一个非常复杂的工程技术问题;
  • 对企业软件管理及安全管理场景的深入理解:每一个行业,每一个企业都有自己的管理风格,自己的软件开发流程及对安全不同的管理理念,而这项工作又需要各个团队在全软件管理流程中协作起来,实际难度是非常大的。

过去三年,墨菲安全的团队90%的人员都主要围绕在解决以上三个问题,我们的实验室团队过去在百度、乌云一直都在专注漏洞的研究和攻防,而我们的工程技术团队在华为、贝壳都应对过非常复杂的技术架构场景,同时我们过去公司一直专注在不断打磨各类的应用场景的适配,这是一项非常需要耐心的工作。而我们的产品团队有超过十年的企业安全建设的经验,都是第一份工作就从发漏洞工单干起的。

今天我们深刻的感受到,这项工作的难度,过去非常有幸,墨菲安全能够服务互联网top20中的80%企业、金融行业的国有行、股份行、头部城商行、证券及保险客户,运营商里的移动和电信的多家企业客户,能源的国家电网这样的大型企业,这些客户在开源安全治理过程中的经验和问题反馈让我们能够快速成长和更加深入的理解客户需求。也很开心能够帮助这些企业一起完成阶段性的开源安全治理目标。未来沿着这条路,我们还有很多工作要做,当然,我们坚信这个方向的对于企业的业务价值,所以我们会持续专注的大量投入把这件事情做好。

有奖调研

当然,我们也需要持续学习不同企业在开源安全治理过程中遇到的不同的问题,基于这些问题出发,我们才能在产品及技术方案上不断的适应企业安全治理的需求,才能一起推动行业的成熟和进步,这对于参与这个行业的每一个人来说都是非常重要的,所以借此机会我也准备开展一个有奖调研活动。

有奖调研,说出你在你的公司里开展开源安全治理工作中遇到的问题和挑战?参与调研你会获得什么:

  • 我们会抽取其中提交高质量的问题的用户,送出一个定制的充电宝;
  • 对于大家提出的问题,我们内部会认真研讨后给出答复,并组织行业大佬一起交流,尽力帮大家解决问题;
  • 墨菲安全提供最新商业版的SCA/漏洞情报/源安全网关产品免费试用(时长按需提供);

参与方式(问卷)

企业开展开源安全治理必要性及可行性详细分析

其中本文有一些细节,因为篇幅的原因,没办法写的很细,也欢迎大家加我企业微信/飞书交流(添加请备注公司名-姓名)。

企业开展开源安全治理必要性及可行性详细分析

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/418354
推荐阅读
相关标签
  

闽ICP备14008679号