随着科技的飞速发展和数字化进程的加快,开源软件在生产生活中扮演着越来越重要的角色,随之而来的开源安全问题也日益突出,如何夯实开源安全基石、构筑安全的开源“护城河”是企业高质量发展的重要命题。

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。然而,市面上还没有一个专门针对开源漏洞的平台。开放原子开源基金会正在筹备一个针对开源漏洞的项目,这将是一个包含开源软件漏洞的平台,我期待这个平台的推出能填补目前行业的空白。

崔锦国:有漏洞不可怕,怕的是不重视它。一方面我们要加强在社区推行安全编码规范,减少因为编码不规范造成的漏洞,另一方面希望大家发现漏洞要尽可能上报,社区一般都会建立漏洞上报机制和规范,同时在法律界面也有相关的法规要求和指导,要合法合规地做这个事情,避免发现漏洞之后不知所以。成熟的开源社区都建立了社区软件SBOM,以及漏洞的管理规范,针对漏洞的收录,国内外都有相应的漏洞平台,同时开放原子开源基金会安全委员会正在建设围绕开源的专门的漏洞信息共享平台很快就会推出,大家可以拭目以待。

李响:关于漏洞方面的问题,SCA软件只能发现已知的漏洞,未知的漏洞需要通过其他安全工具来发现。我赞同崔总鼓励上报漏洞的观点,上报漏洞是有好处的,对于未知漏洞,要具备在48小时内尽快解决问题的能力。对于项目来说,应该识别出重要的开源软件,并具备一定的代码维护能力,以便在紧急情况下能够及时修复漏洞并向社区提交patch。

三、建社区、守安全,开发者齐心协力

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

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

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

李响:开源社区自身的机制非常重要,我希望企业和开源基金会等组织能够制定引入开源软件的要求和更新要求,并将其反馈到开源社区中。开源社区很难约束开发者形成共识,因此需要鼓励开发人员积极参与社区并为社区做出贡献。在安全领域修复漏洞并将其分享到社区是非常有价值的,因为这可以帮助其他开发人员避免类似问题的出现,提高整个社区的安全性,有助于推动社区的进步和发展。

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

纯赏金的模式比较艰难,感兴趣的人有限,所以一方面可以考虑是否给予精神上的奖励,另一方面将安全厂商与社区结合,通过颁发证书等手段进一步把安全的力量引入到开源社区中。

四、育人才、保技能,共建和谐、安全的开源生态

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

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

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

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

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

杨轩:Linux基金会提供的云原生安全认证是一个含金量很高的证书。通过管理员认证是获得安全认证的先决条件,而获得安全认证的收入通常比其他认证要高一些。欧美出台的软件安全法规也加大了对安全人才的需求量。国内的大厂虽然垄断了大部分安全人才,不过这类认证倒是为想要加入安全领域的人提供了一个机会。

活动现场,在聆听了大咖们的真知灼见后,参会者踊跃发言,与四位嘉宾探讨自身所在领域的安全问题,专家们一一进行作答,现场研讨氛围一度热烈,干货内容持续输出。

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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐