确保软件供应链安全,不容忽略的三大步骤

作者:JFrog大中华区总经理董任远

业务成功的关键驱动力在于企业开发和交付软件的速度。团队任务是不断寻找尽可能高效的工作新方法,通常会借助开源库和组件来加快交付速度。事实上,有研究表明市场上多达 97%的应用程序都使用开源软件。

虽然开源仓库有助于节省时间,但也成为了网络罪犯的主要目标。因为只需破坏开源库中的一个软件包,这些恶意攻击者就能获得多家企业的后门访问权限,给全球数百万开发者的工作带来安全隐患。

在“生产竞赛”中,速度绝不能以牺牲安全为代价。以下三大实用步骤能够最大限度地降低软件供应链中的风险:

1. 确保正在使用的开源库得到正确扫描

2022 年,全球 1700 家企业遭受到软件供应链攻击,超 1000 万人受到影响,其中几乎所有攻击都包含一些错误或恶意的开源代码。正如下文中的数字所示一般。

相关行业研究显示,仅仅在 1 月份,NPM 就新增了 95,000 个软件包。除此之外,75 万个新版本的现有软件包也被更新到库中。虽然这些库毫无疑问希望确保代码合法,但开源的本质意味着几乎不可能进行验证。因此,企业有责任确保这些软件包可以安全地添加到其开发供应链中。业界曾用维基百科来比喻开源关系:虽然维基百科是很棒的免费资源,但使用它的个人有责任核实信息的准确性。

企业可以用可扩展的方式实现这种程度的审查,通过连接到开源仓库并扫描与软件包或更新版本相关的元数据,以了解其上下文,如它们是否与恶意攻击或漏洞相关联,或它们是何时创建的。通过回答此类问题,开发者可以在自己的生态系统中将代码推进到下一阶段的开发,并增强对代码安全性的信心。

2. 开发一种“超越”左移的方法

左移模式对企业来说非常有帮助,因为可以尽可能地在入口点附近对开源组件进行检查。相较于软件开发的早期“狂野西部”时代(只有在最后阶段才会对代码进行检查,一旦发现问题就不得不再次从头开始),这一方法颇受欢迎。

随着软件开发不断成熟,最重视软件安全的企业将寻求一种超越左移的方法。

为此,可以在将组件引入集成开发环境之前检查组件是否存在漏洞。具体而言,可以通过创建一个气隙环境,根据企业特定需求定制的策略来检查输入的开源代码,并在进入环境前便可过滤掉不符合标准的代码。

3. 将安全措施集中于单一平台

上述两种方法将有助于以更具成本效益的方式管理软件供应链中的潜在安全问题。 此外,使用专门针对这些领域的解决方案,能够帮助把握可能在软件开发周期后期出现的安全问题。

众所周知,开源数据库的流动性非常高,并且一直处于不断变化之中。即使一个软件包通过扫描和左移前的安全措施,仍无法百分之百保证其安全性。我们可以采用能够理解此生命周期每个阶段的解决方案,一旦发现恶意内容,企业可以在整个开发过程中的任何时间点采取适当的补救措施。

以安全为重的软件供应链平台可通过上述最佳实践,帮助实现整个软件构建与发布流程的自动化并确保其安全,从而助力开发者加快软件交付速度,同时强化企业的安全态势。

优先考虑软件供应链安全

大多数软件开发所依赖的开源生态系统将持续存在。这些库的便利性和速度无与伦比,是现代开发团队的必备资源。然而,由于一些环境的性质,使用它们的个人和企业有责任确保其安全可靠。

采用上述三大步骤,能够持续推动开发工作流的创新和效率,并在企业中应用顶级安全实践操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/149308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3中祖孙组件之间的通信provide和inject

一、在vue3中新增的祖孙之间通信的方式 provide和inject是Vue中的两个相关功能&#xff0c;它们一起提供了一种祖孙组件之间共享数据的方式。父组件可以使用provide来提供数据&#xff0c;而子孙组件可以使用inject来接收这些数据。 二、使用 父组件中部分代码 <script&g…

SaleSmartly新增AI意图识别触发器!让客户享受更精准的自动化服务

AI意图识别技术是对话式AI中很重要的组成部分&#xff0c;通俗点来说就是一种可以识别用户在对话中表达的意图的技术。通过对大量数据的分析和学习&#xff0c;AI可以理解用户想要获得的信息&#xff0c;并根据这些信息来采取相应的行动或提供相应的响应。而在对话式AI中&#…

手机LiDAR-based激光雷达标定板提高无人汽车智能化程度

手机LiDAR-based 3D扫描和建模测试系统是一种利用激光雷达&#xff08;LiDAR&#xff09;技术进行三维扫描和模型创建的工具&#xff0c;它可以在手机上运行。这种测试系统可以用于各种应用&#xff0c;如地形测绘、建筑物建模、机器人视觉、无人驾驶汽车导航等。 手机LiDAR-ba…

云端援手:智能枢纽应对数字资产挑战 ——华为云11.11应用集成管理与创新专区优惠限时购

现新客3.96元起&#xff0c;下单有机会抽HUAWEI P60 Art 福利仅限双十一 机会唾手可得&#xff0c;立即行动&#xff01; 「有效管理保护应用与数据的同时实现高效互通」——华为云全力满足企业需求&#xff0c;推出全套「应用集成管理与创新」智能解决方案&#xff1a;华为云…

计蒜客T1654 数列分段(C语言实现)

【题目描述】对于给定的一个长度为n的正整数数列ai&#xff0c;现要将其分成连续的若干段&#xff0c;并且每段和不超过m&#xff08;可以等于m&#xff09;&#xff0c;问最少能将其分成多少段使得满足要求。 【输入格式】第一行包含两个正整数n&#xff0c;m&#xff0c;表示…

家电电器展示预约小程序的作用是什么

电器产品已经成为人们生活的必备品&#xff0c;如冰箱、电视机、洗衣机等&#xff0c;而这些产品的购买方式也很多&#xff0c;可以到线下门店购买&#xff0c;也可以到线上多个电商平台购买&#xff0c;如今互联网高速发展以及民众享受线上服务带来的便捷性&#xff0c;同时商…

修改docker默认数据目录

前言&#xff1a; docker默认数据目录是/var/lib/docker,根目录的存储空间有限&#xff0c;我们往往不能使用默认配置&#xff0c;需要创建空间相对较大的数据data目录 停止docker服务 systemctl stop docker 编辑配置文件 vi /etc/docker/daemon.json 增加选项 “graph”…

GCC多平台编译会遇到小问题

1、 /root/dev/rinetd/src/stdafx.h:461:28: error: ‘%d’ directive writing between 1 and 11 bytes into a region of size 3 [-Werrorformat-overflow] 461 | sprintf(temp, "%d", source); | ^~ 这个错误是…

SSL证书对网站SEO的好处

随着网络安全意识的提高&#xff0c;越来越多的网站开始采用SSL证书来保护自己的数据传输过程。那么&#xff0c;SSL证书真的能为网站SEO带来好处吗&#xff1f;下面将为您分析这个问题。 加强用户体验和信任度 SSL证书不仅能确保数据传输的安全性&#xff0c;还能让客户感受…

【rosrun diagnostic_analysis】报错No module named rospkg | ubuntu 20.04

ubuntu20.04使用指令报错 现象 rosrun diagnostic_analysis export_csv.py my.bag -d ~/Desktop报错 Traceback (most recent call last): File "/opt/ros/noetic/lib/diagnostic_analysis/export_csv.py", line 40, in <module> import roslib; roslib.load_m…

git容易出问题的命令

#首先进行git init初始化本地仓库 git init #再进行拉取远程仓库代码 git clone http://以上这种情况建立在第一次拉取仓库的操作 如果你已经拉取过仓库要进行关联的话&#xff0c;就使用这种方法 #关联远程仓库 git remote add origin https:// # 拉取代码 git pull origin/…

『亚马逊云科技产品测评』活动征文|基于next.js搭建一个企业官网

『亚马逊云科技产品测评』活动征文&#xff5c;基于next.js搭建一个企业官网 授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方…

MySQL数据库入门到大牛_基础_09_子查询(子查询分类方法;单行子查询,多行子查询;相关子查询)

前面的第三章到第八章中&#xff0c;我们讲的是查询&#xff0c;查询的基本结构已经进行了介绍&#xff0c;聚合函数学习完后已经介绍了查询语句的完整的执行流程。 子查询指一个查询语句嵌套在另一个查询语句内部的查询&#xff0c;这个特性从MySQL 4.1开始引入。本章也是查询…

String的字符串拼接

java中 String a “123” “234”; String b “123”; String c b “234”; 其中a和c的区别是什么&#xff1f; a c 为什么为false 在Java中&#xff0c;字符串的处理特别是涉及到字符串常量和字符串变量的连接时&#xff0c;会涉及到字符串池&#xff08;String Pool&a…

3D建模基础教程:编辑多边形功能命令快捷方式

一、打开3D软件并创建新模型 首先&#xff0c;打开你的3D建模软件&#xff0c;比如Blender、Maya或3ds Max。然后&#xff0c;创建一个新的3D模型。你可以使用基本几何体来创建模型&#xff0c;也可以导入现有的模型。 二、进入编辑多边形模式 在主工具栏中&#xff0c;找到并…

使用JDK自带java.util.logging.Logger引起的冲突问题

现象&#xff1a; 应用代码如下&#xff1a; import javax.script.ScriptEngineManager;ScriptEngineManager manager new ScriptEngineManager(); manager.getEngineByName("JavaScript"); 在TongWeb8上运行出错&#xff0c;日志如下&#xff1a; Servlet.servi…

WinForms C# 导入和导出 CSV 文件 Spread.NET

使用 WinForms C# 和 VB.NET 导入和导出 CSV 文件 2023 年 11 月 17 日 使用 Spread.NET 直接在 .NET WinForms 应用程序中处理 CSV 文件。 Spread.NET可帮助您创建电子表格、网格、仪表板和表单。它包括一个强大的计算引擎&#xff0c;具有 450 多个函数以及导入和导出 Micros…

安全测试工具分为 SAST、DAST和IAST 您知道吗?

相信刚刚步入安全测试领域的同学都会发现&#xff0c;安全测试领域工具甚多&#xff0c;不知如何选择&#xff01;其实安全测试工具大致分为三类&#xff1a;SAST、DAST和IAST。本文就带大家快速的了解这三者的本质区别&#xff01; SAST &#xff08;Static Application Secu…

浪涌防护器件要选对,布局布线更重要!|深圳比创达电子EMC(下)

浪涌测试&#xff0c;作为最常见的EMC抗干扰测试项目之一&#xff0c;基本上是家用消费电子必测的项目&#xff1b;其测试目的是为了验证产品在承受外部的浪涌冲击时能否正常工作。 一、比创达整改案例 1) 背景&#xff1a; 某智能插座产品在浪涌测试&#xff0c;需要过2kV差…

使用 VuePress 和 Vercel 打造个人技术博客:实现自动化部署

什么是VuePress? 以下是VuePress官方文档的介绍&#xff1a;VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容&#xff08;如文档、博客等&#xff09;&#xff0c;然后 VuePress 会帮助你生成一个静态网站来展示它们。VuePress 诞生的初…