根据近日发布的一项调查结果显示,那些制定了开源软件(OSS)安全策略的企业,往往在自我评估就绪程度方面有更好的表现,而且他们通常都有自己专门的团队负责推动软件安全性。
本周二,软件安全公司Snyk和Linux Foundation公布了一项调查结果,发现那些制定了开源软件安全策略的企业中,10家有7家认为他们的应用开发是高度安全的、或者有一定安全性的。相比之下,那些尚未制定安全策略的企业中,只有45%认为自己是有某种程度的安全性的。
Snyk公司开发者关系总监Matt Jarvis表示,开源软件对应用开发有很大的好处,但企业也必须认识到开源软件的缺点并为此做好准备。
他说:“虽然开源是创新和构建高质量软件的一种经过验证的机制,但取得成功的同时也成为了自身的牺牲品,因为开源软件无处不在导致它成为了供应链攻击的一大目标。企业需要加深对开源工作机制的理解,包括治理和代码,并通过采用开发者优先的安全工具和方法,来加强他们的供应链管理。”
规模较小的企业在开源软件安全策略方面有所落后
总体来看,只有大约一半的企业制定了开源安全策略来指导开发者使用各种组件和框架,而更多的小公司(60%)要么没有相关策略,要么根本不知道自己是否有策略。
报告指出,对于初创公司和小型公司来说,他们从经济性的角度考虑往往会降低制定安全策略的优先级。
报告指出:“小型组织的IT人员和预算很少,业务的功能需求往往优先考虑的,这样业务才能保持竞争力。缺乏资源和时间,是组织没有解决开源软件安全最佳实践的主要原因。”
来源:《Addressing Cybersecurity Challenges in Open Source Software》报告
研究表明,对不同的编程语言也要有不同的安全考量,例如用.NET编写的应用修复缺陷的平均时间最长,为148天,其次是JavaScript的49天。
JavaScript依赖项众多导致的问题
JavaScript应用的依赖项最多,根据Snyk的数据,每个项目平均有174个——大约是依赖项最少的Python语言的7倍,后者平均每个项目有25个。
Jarvis说,虽然大型传递依赖树可能会导致修复漏洞路径迂回,但如果组织有办法跟踪不同项目之间的关系,那么依赖性高并不一定是个劣势。
“与其他生态系统相比,JavaScript包的范围往往更小,因此虽然数量更多,但用于审计潜在缺陷的代码可能更少。最重要的问题是,你要了解你正在使用哪些依赖项,特别是作为依赖项的依赖项引入的传递性依赖项,这就要使用适当的安全工具来对这些项进行扫描。”
然而数据还表明,不同的语言的缺陷程度也有所不同,例如用Java编写的项目平均有超过47个高危漏洞和28个中危漏洞,远高于排名第二的JavaScript,后者平均有18个和21个漏洞,Python平均有20个。
“在数据中,有很多因素在起作用,例如项目的复杂性、开发人员的数量和受欢迎程度,这些都会对漏洞的数量和类型产生影响。那些备受开发者欢迎的项目,可能漏洞就更多一些。”
自动化=安全成熟度
根据调查结果显示,尽管发现依赖项中的漏洞很重要,但大多数安全成熟度比较高的企业(也就是那些制定了开源软件安全策略的企业)主要依赖于行业漏洞咨询(60%)、自动监控包中错误(60%)、来自包维护者的通知(49%) )。
自动化监控可以说是那些安全成熟度高的企业和那些没有策略的企业之间一个最显着的差距,那些没有策略的企业中,只有38%使用某种自动监控,而安全成熟度高的企业这一比例达到了60%。
Jarvis说,如果企业没有制定开源软件安全策略,那么他们现在就应该着手了,可作为加强其开发安全性的一种方式,即使是轻量级的策略也是一个很好的开始。
他说:“制定策略和表达意向之间是存在相关性的,我们认为,制定策略是安全成熟度一个合理的起点,因为这说明,企业组织已经意识到这些潜在问题,并且已经开始着手了。”
好文章,需要你的鼓励
南洋理工大学研究团队开发了WorldMem框架,首次让AI拥有真正的长期记忆能力,解决了虚拟世界模拟中的一致性问题。该系统通过记忆银行存储历史场景,并使用智能检索机制,让AI能准确重现之前的场景和事件,即使间隔很长时间。实验显示在Minecraft和真实场景中都表现出色,为游戏、自动驾驶、机器人等领域带来广阔应用前景。
AWS通过升级SageMaker机器学习平台来扩展市场地位,新增观测能力、连接式编码环境和GPU集群性能管理功能。面对谷歌和微软的激烈竞争,AWS专注于为企业提供AI基础设施支撑。SageMaker新功能包括深入洞察模型性能下降原因、为开发者提供更多计算资源控制权,以及支持本地IDE连接部署。这些更新主要源于客户需求,旨在解决AI模型开发中的实际问题。
MTS AI研究团队提出RewardRanker系统,通过重排序模型和迭代自训练显著提升AI代码生成质量。该方法让13.4B参数模型超越33B大模型,在多种编程语言上表现优异,甚至在C++上超越GPT-4。通过引入困难负样本和PPO优化,系统能从多个代码候选中选出最优方案,为AI编程助手的实用化奠定基础。