写点什么

开放原子开发者工作坊|大咖论开源项目的安全之道

  • 2023-09-25
    北京
  • 本文字数:4185 字

    阅读完需:约 14 分钟

“开放原子开发者工作坊”是由开放原子开源基金会发起的面向广大开发者的线下开源交流活动,旨在分享开发者参与社区建设的心得和体会、分享开发经验。与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。

 

随着科技的飞速发展和数字化进程的加速,开源软件已经成为了软件开发的重要趋势。而开源安全问题也日益突出,如何夯实开源安全基石,构筑安全的开源“护城河”,已成为企业实现高质量发展的重要课题。

 

9 月 15 日,由开放原子开源基金会主办的“开放原子开发者工作坊”第三期活动成功举办。活动以“源安全——论开源项目的安全之道”为主题,邀请深信服千里目安全技术中心 CTO 王振兴,Linux 基金会亚太区总监杨轩,中兴通讯 OSPO 主要成员李响,OpenSSF 董事、华为开源发展总监 &开源安全 Leader 崔锦国四位大咖齐聚一堂,展开一场精彩纷呈的思想碰撞。白鲸开源高级社区经理曾辉主持活动。

 

 

识漏洞、甄风险

开源安全日常之道

主持人:开发团队日常如何有效管理开源依赖和及时更新,降低组件漏洞的安全风险?需要哪些工具或计划来改进现状?

 

Linux 基金会亚太区总监

杨轩

 

杨轩:使用开源软件需要综合多方面的考虑。一是人员能力,开发者需要对开源体系有完备的认知,并了解每一种开源软件许可证的特点,以避免不必要的麻烦;二是开发者需要为自己的项目建立软件使用清单,了解如何控制版本,是否有漏洞、补丁等问题;三是针对企业、团队建立开源安全框架也非常重要。目前市面上有很多工具能够自动化扫描并生成使用清单,从而提高工作效率。同时,团队参与人员需要充分了解其所使用软件的开源社区属性,以便出现问题时能够迅速响应。

 

 

深信服千里目安全技术中心 CTO

王振兴

 

王振兴:改善计划涵盖了“管理”和“技术”两个层面,以技术角度为例,一是物料清单方面,借助于良好的工具可以直接对开源软件所依赖管理的数据进行梳理;二是风险识别方面,国内的 CNVD 和 NVDB,以及国外的 CVE 漏洞,都能够保证漏洞的全面覆盖,并能及时进行更新;三是面对漏洞可能被利用的风险,可以进行污点追踪,并梳理代码中的函数调用关系;四是在修复方面,可以考虑集成安全的 SDK,以及利用 RASP 技术进行代码育苗。在 OpenSSF 基金会有多个专注于不同领域的工作组,通过适用不同场景的技术解决实际问题。

 

 

OpenSSF 董事、华为开源发展总监 &开源安全 Leader

崔锦国

 

崔锦国:在管理方面,首先,许多开源社区都设有专门的安全工作组,而商业公司则更需要建立与软件开源和安全相关的模块、组织和技术工具,以承担更多的法律责任、客户交付和合同责任,因此建立一套与开源安全相关的管理实践至关重要。其次,在安全规范的基础上,还需对开源软件供应链建立相应的管理机制,包括开源软件生命周期的管理,使其能够在管理框架下开发更多高质量的软件。最后,需要相关执行团队和相应的工具提供支撑,只有具备了工具、人员和管理规范,并在不断地规范约束下,开发人员才能形成肌肉记忆,保证社区开发出安全、高质量的软件。

 

 

中兴通讯 OSPO 主要成员

李响

 

李响:首先,引用开源软件确实存在一定的风险,一般情况下,企业需要制定相关规章制度来治理开源软件的使用,确保将产品中引入开源软件造成的风险降到最低。其次,针对依赖和更新问题,我们倾向于保持产品的稳定性,并且尽可能将版本保持在相对合理的区间,通常这个周期是 4 年之内。最后,为确保产品的安全性,需要在产品发布前进行 SCA 扫描,形成 SBOM,治理所有高危漏洞和可能对产品产生影响的低危漏洞。

 

白鲸开源高级社区经理

曾辉

 

锚定位、快修复

安全漏洞无机可乘

主持人:当遇到高危漏洞,如何快速定位和修复?业界可以建立哪些信息共享和漏洞预警平台?

 

王振兴:对于高危漏洞的挖掘,可以采用工具与人工相结合的方式。在产品上线后,可以采用漏洞猎捕的方式对高危漏洞进行管理,使用多种工具进行流量监测,并通过语义语法的人工智能引擎来识别已知和未知风险点。同时,结合攻击包和响应包,对已经成功执行的漏洞进行判别,进而发现真正的漏洞。

 

目前已有工业和信息化部的 NVDB 漏洞库、国测的 CNNVD 和 CNCERT 的 CNVD。然而,市面上还没有专门针对开源漏洞的平台,开放原子开源基金会正在筹备针对开源漏洞的项目,这将是一个包含开源软件漏洞的平台,期待这个平台的推出能填补当前行业空白。

 

崔锦国:漏洞并不可怕,需要我们对其引起足够的重视。一方面我们要加强在社区推行安全编码规范,减少因编码不规范而造成的漏洞;另一方面希望大家发现漏洞的时候能尽可能上报。社区通常会建立漏洞上报机制和规范,同时在法律上也有相关的法规要求和指导,以合法合规的方式给出解决方案。针对漏洞的收录,国内外已建立了相应的漏洞平台,同时开放原子开源基金会安全委员会也正在建设开源漏洞信息共享平台,届时欢迎大家体验使用。

 

李响:关于漏洞方面的问题,SCA 软件只能发现已知漏洞,而未知漏洞需要通过其他安全工具来发现,并且需要具备在 48 小时内快速解决问题的能力。对于项目而言,应识别出重要的开源软件,并具备一定的代码维护能力,以便在紧急情况下能够及时修复漏洞并向社区提交 patch。

 

 

建社区、守安全

开发者齐心协力

主持人:如何在开源社区建立安全维护的长效机制,避免老旧组件的遗留漏洞长期未修复?代码审计和漏洞赏金计划等方式是否可行?

 

杨轩:如果我们把整个中国看成一个大的社区,Linux 基金会和开放原子开源基金会可以携手借鉴消费者委员会的模式,让开源软件的开发者也能拥有发现漏洞并报告的机制。另外,我认为中国参与开源安全领域的开发者数量还远远不够,大多数开发者都是被动等待别人发现 bug 并解决问题,缺乏主动参与安全研究和软件修复的意识和能力。为了改善这一状况,我呼吁所有开发者都能够积极参与开源安全的建设,Linux 基金会提供了一些帮助大家提高开源安全方面的免费课程,欢迎大家踊跃参加。

 

崔锦国:参与开源活动是拓展渠道的好方式,大家可以互相交流实践经验,共同提高社区和软件的安全管理水平。从实践角度来看,我们在引入开源软件时应遵循系统性规则,从开源软件的官方社区下载或引用,避免引入被投毒或被污染的软件。在建立了开源软件合规管理规范的企业,开发人员对开源软件的使用一般需要申请并经过评估后才能使用。此外,还需要对引入的开源软件进行生命周期管理,定期对其进行评估和治理。与此同时,对于老旧缺乏维护的开源软件应考虑退出机制,做到及时更新,从而保证产品的稳定性和安全性。最后,我们不应把安全当作成本,而应该将安全视为质量的组成部分,这样才能带来更好的用户体验和商业机会。

 

李响:开源社区的机制十分重要,希望企业和开源基金会等组织能够制定引入开源软件的规范和更新要求,并将其反馈到开源社区中。在开源社区中,很难约束开发者形成共识,因此需要鼓励开发人员积极参与社区并为社区做出贡献,修复安全领域漏洞,并与社区共享,帮助其他开发者避免类似问题,提升社区整体安全水平,促进社区进步与发展。

 

王振兴:长期未修复的漏洞问题需要重视,我们可以参考等级保护制度,将安全划分为不同等级,同时对关键行业和基础设施中使用的开源组件进行识别和优先处理。除上述提到的扫描方法外,还可以考虑针对关键项目和软件采取众测模式,号召社会上攻防能力较强的人员参与测试关键软件,发现其中的关键漏洞。

 

目前,单纯以赏金的模式激励开发者收效甚微,并且感兴趣的开发者也比较少。因此,一方面可以考虑是否给予精神奖励,另一方面联合安全厂商和社区,通过颁发证书等方式将更多安全力量引入开源社区。

 

 

育人才、保技能

共建和谐、安全的开源生态

主持人:面对不断升级的开源安全挑战,专业人才必不可少,对企业开源安全人才的培养,各位老师有何建议?

 

杨轩:开源软件安全方面存在博弈过程,我们需要平衡开发任务和安全需求之间的关系。一方面,许多开源团队的负责人面临着完成任务的压力,往往主要关注软件的开发进度,而安全问题则被视为次要任务。另一方面,企业需要建立完善的制度和开源安全团队,以确保开发团队能够满足安全需求。同时,开发人员还需要充分了解安全实践,养成良好的习惯,形成肌肉记忆,从而可以大幅降低日后出现安全隐患的风险,更好地促进开源软件的安全发展。

 

王振兴:开源安全人才的培养是我们必须要面对的问题。企业可以自行培养具备综合技能和素质的复合型人才,相关人才需要具备如下关键素质和能力:一是需要了解和掌握一定的漏洞知识;二是需要具备一定的法律知识,了解合规性等方面的要求;三是需要了解市场,以便在采购第三方软硬件时能够把控安全风险。我认为,人才最好的培养方式便是在不同的岗位上进行历练,通过轮岗的方式,开发者可以接触到更多的业务和实践机会,从而更好地提升综合技能和素质。

 

崔锦国:人才培养没有固定的标准,对于开源社区来说,点燃开发者兴趣并引导开发者投入其中是发展开源社区的重要一环。当开发者对某个社区或领域感兴趣时,便愿意主动投入时间和精力去学习和探索。在开源社区中,可以通过参与技术交流会议、撰写文章等方式分享自己的经验教训,不仅可以提升自己的能力和水平,还可以为开源社区的发展做出贡献。同时,这也是一个结交朋友、拓展人际关系的好机会。

 

李响:从企业内部使用开源的角度来看,我们需要关注安全培训、中层安全人才以及开源治理等方面。首先,针对安全培训制定规章制度和流程,以确保开发人员能够按照相关规定满足安全要求;其次,每个项目都应该有负责安全方面的总监,在各个项目内依据公司整体的安全规章制度领导安全治理工作;最后,开源治理作为产品安全工作的组成部分,每个项目都需要专职副总监负责整个项目的开源治理活动,确保相关规章制度得到落实。

 

杨轩:Linux 基金会提供的云原生安全认证是含金量很高的证书。通过管理员认证是获得安全认证的先决条件,并且获得安全认证的收入通常比其他认证高。随着欧美国家不断出台软件安全法规,对安全人才的需求也越来越大,虽然国内大厂垄断了大部分的安全人才,但此类证书还是给希望加入安全领域的开发者提供了机会。

 

 

活动现场,参会者们积极发言,和四位嘉宾就各自领域中的安全问题进行了讨论,专家们逐一作出回答,现场讨论的气氛一度非常热烈。

 

后续“开放原子开发者工作坊”系列线下交流会将定期举办,每期将开展不同领域的技术话题,与大家面对面交流学习,近距离倾听社区的声音,欢迎广大开发者持续关注和参与。

用户头像

还未添加个人签名 2022-11-25 加入

还未添加个人简介

评论

发布
暂无评论
开放原子开发者工作坊|大咖论开源项目的安全之道_开放原子开源基金会_InfoQ写作社区