软件供应链安全:如何防范潜在的攻击?

在这里插入图片描述

来源:https://thehackernews.com/2024/06/practical-guidance-for-securing-your.html

在这里插入图片描述

软件生产组织面临越来越大的监管和法律压力,要求其保护供应链并确保软件的完整性,这不足为奇。在过去几年里,软件供应链已经成为攻击者越来越有吸引力的目标,他们看到了将攻击增加几个数量级的机会。例如,看看2021年的Log4j漏洞,Log4j(由Apache维护并用于无数不同应用程序的开源日志框架)是使数千个系统面临风险的漏洞的根源。

Log4j的通信功能很容易受到攻击,因此为攻击者向日志中注入恶意代码提供了机会,这些代码随后可以在系统上执行。发现后,安全研究人员看到了数百万次尝试利用,其中许多变成了成功的拒绝服务(DoS)攻击。根据高德纳的一些最新研究,到2025年,近一半的企业组织将成为软件供应链攻击的目标。

但是什么是软件供应链呢?首先,它被定义为组织内外所有代码、人员、系统和流程的总和,这些代码、人员、系统和流程有助于软件工件的开发和交付。保护软件供应链如此具有挑战性的原因是开发现代应用程序的复杂性和高度分布式。组织雇佣全球开发人员团队,他们依赖于前所未有数量的开源依赖项,以及用于构建和部署应用程序的广泛代码存储库和工件注册表、CI/CD管道和基础设施资源。

尽管安全性和合规性一直是企业组织最关心的问题,但保护组织软件供应链的挑战越来越大。然而,许多组织在实施DevSecOps实践方面取得了实质性进展,其中许多组织仍然发现自己处于弄清楚该做什么的早期阶段。

这正是我们把这篇文章放在一起的原因。虽然以下绝不是详尽的列表,但这里有四个指导原则,可以让您的软件供应链安全工作朝着正确的方向发展。

在应用安全性时考虑软件供应链的各个方面

鉴于超过80%的代码库至少存在一个开源漏洞,OSS依赖关系理所当然地成为软件供应链安全的核心焦点。然而,现代软件供应链包括其他实体,这些实体的安全状况要么被忽视,要么在组织内没有得到足够广泛的理解,无法得到适当的管理。这些实体是代码存储库、CI和CD管道、基础设施和工件注册表,每一个都需要安全控制和定期合规性评估。

框架,如用于CI/CD和CIS软件供应链安全基准的OWASP Top-10。遵守这些框架将需要细粒度的RBAC,应用最小权限原则,扫描容器和infrastructure-as-code漏洞和错误配置,隔离构建,集成应用程序安全测试,以及正确管理机密——仅举几例。

SBOM对于修复零日和其他组件问题至关重要

白宫于2021年年中发布的旨在加强国家网络安全态势的第14028号行政命令的一部分要求软件生产商向其联邦客户提供软件材料清单(SBOM)。SBOM本质上是正式记录,旨在提供对构成软件的所有组件的可见性。它们提供了详细的机器可读清单,列出了所有开源和第三方库、依赖项以及用于构建软件的组件。

无论组织是否受到EO 14028的强制,为软件工件生成和管理SBOM都是一种有价值的做法。SBOM是修复组件问题或零日漏洞的不可或缺的工具。当存储在可搜索的存储库中时,SBOM提供特定依赖项存在的地图,并使安全团队能够快速追踪漏洞回到受影响的组件。

使用策略即代码管理软件开发生命周期

在现代应用程序开发的世界中,坚如磐石的护栏是消除损害安全性和合规性的错误和故意行为的必不可少的工具。在整个软件供应链中的适当治理意味着组织已经使做正确的事情变得容易,而做错误的事情变得极其困难。

虽然许多平台和工具提供了可以快速执行的开箱即用策略,但基于开放策略代理行业标准的策略即代码支持创作和执行完全可定制的策略。根据供应商、版本、包URL和许可证等标准管理从访问权限到允许或拒绝使用OSS依赖项的所有策略。

能够使用SLSA验证和确保对您的软件工件的信任

用户和消费者如何知道一个软件是值得信赖的?在确定软件工件的可信度时,你会想知道谁写了代码,谁构建了它,以及它是在哪个开发平台上构建的。知道里面有什么组件也是你应该知道的。

一旦可以验证出处(软件的来源和保管链的记录),就可以决定是否信任软件。为此,创建了软件工件的供应链级别(SLSA)框架。它使软件生产组织能够捕获软件供应链任何方面的信息,验证工件及其构建的属性,并降低安全问题的风险。在实践中,软件生产组织必须采用并遵守SLSA框架要求,并实施一种验证和生成软件证明的方法,这些证明是关于整个软件供应链中软件工件的经过身份验证的声明(元数据)。

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

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

相关文章

odoo 自定义菜单模型等进行报表输出

由于个性化需求,要定义不同报表不同条件搜索, 所以自定义有如下: 模型字段权限菜单功能如下: 启用:创建新菜单、form视图、action动作 前提:模型已经创建好, 禁用:对菜单进行归档处理 删除数据:如若正在使用,请先禁用报表 另附资料 全部代码如下: class IframeMana…

【C++】类中的六个默认成员函数(构造函数、析构函数、拷贝构造函数、复制重载函数等)

类中的六个默认成员函数 默认成员函数为了解决C语言存在的一些问题而诞生,默认存在于类中,进行某种操作时会自动调用默认成员函数,如想在此种操作中自动实现某种操作,可以手动定义此默认成员函数,如果手动定义则取代默…

kafka与zookeeper的SSL认证教程

作者 乐维社区(forum.lwops.cn)许远 在构建现代的分布式系统时,确保数据传输的安全性至关重要。Apache Kafka 和 Zookeeper 作为流行的分布式消息队列和协调服务,提供了SSL(Secure Sockets Layer)认证机制&…

汇凯金业:如何判断黄金的买入时机

黄金,作为全球公认的避险资产,其价格波动受到多种因素的影响,包括经济数据、货币政策、地缘政治风险等。对于投资者而言,把握黄金的最佳买入点是实现投资收益最大化的关键。本文将探讨影响黄金价格的主要因素,并提供一…

八大排序之——计数排序全方位剖析!(小白也能轻松看懂!)

目录 1. 计数排序的思想动图 2. 从思想到代码的实现 >1.创建临时数组 >2.统计次数 >3.排序 >4.简单版本 3. 是否可以优化呢~ 4. 计数排序的时空复杂度 5.总结 计数排序的优点 计数排序的局限性 6、完结散花 个人主页:秋风起,再归来…

【腾讯云业务运营暑期实习面试题】

题目: (全程大概50来分钟左右,面试官挺好的,不清楚的问题也在一直引导我,总体来说非常好,挺喜欢这个面试官的) 1、自我介绍 2、讲讲文件的权限以及把目录下所有文件都修改 文件的权限 rwx --&…

动态规划(DFS -> 记忆化搜索 ->动态规划)

问题一: 首先看一个最经典的问题:上台阶问题。P1255 数楼梯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 我们首先看一下,如何用DFS的方法进行解题。 假设我们要上到第5级台阶: 可以看出上到第五级台阶时,可能是…

oak相机使用oak官网方式标定

目录 一、depthai ROS驱动 一、depthai ROS驱动 (1)驱动下载地址:2. C 开发快速上手 — DepthAI Docs 0.3.0.0 documentation sudo apt install ./depthai_2.17.1_arm64.deb //运行 Python3 utilities/cam_test.py -mres 400 -cams rgb,m …

探索大模型:袋鼠云在 Text To SQL 上的实践与优化

Text To SQL 指的是将自然语言转化为能够在关系型数据库中执行的结构化查询语言(简称 SQL)。近年来,伴随人工智能大模型技术的不断进步,Text To SQL 任务的成功率显著提升,这得益于大模型的推理、理解以及指令遵循等能…

自闭症学校排名前十:为星儿点亮未来

在自闭症教育领域,有许多优秀的学校和机构为自闭症儿童提供着专业的帮助和支持。 星贝育园:以其独特的教育理念和个性化的教学方法脱颖而出。学校拥有一支经验丰富、富有爱心的教师团队,为孩子们提供全方位的关爱和教育。注重培养孩子的综合能…

手机通讯录大营救,恢复sim卡联系人的3个重要方法

在数字化世界的浩瀚海洋中,手机通讯录就像一艘承载着人际关系的生命之船。然而,当这艘船遭遇风浪,即sim卡上的联系人信息意外丢失时,我们该如何进行一场惊心动魄的大营救,找回那些珍贵的联系人呢?别担心&am…

Backend - C# 的日志Lognet4

目录 一、安装 log4net 插件 (一)作用 (二)操作 (三)注意 二、配置 (一)配置AssemblyInfo.cs (二)配置log4net.config 1. 创建log4net.config文件&#xff08…

空间自回归模型及 Stata 具体操作步骤

目录 一、理论原理 二、数据准备 三、程序代码及解释 四、代码运行结果 一、理论原理 空间自回归模型(Spatial Autoregressive Model,SAR)是一种用于分析具有空间相关性的数据的统计模型。它假设观测值之间的相关性不仅取决于传统的时间或…

xxl-job从2.3.0升级到2.4.1版本遇到的问题及解决方法

一、maven升级版本 <!-- xxl-job包 --> <dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.4.1</version> </dependency> 二、在nacos对应服务的配置文件增加accessToken配…

精益创业方法论在创业实践中的应用:以乔布斯视角探索创新与变革的艺术——张驰咨询

史蒂夫乔布斯以其非凡的愿景、不懈的迭代精神与对产品极致的追求&#xff0c;成为无数创业者心中的灯塔。本文将借鉴乔布斯的创新思维与精益创业方法论相结合&#xff0c;构建一套融合理论与实践的深度框架&#xff0c;旨在指导创业者在不确定的市场环境中高效探索、快速验证并…

用C# 代码调整16位整数大小端的4种方法

四种方法: short BLC(short s) {byte high (byte)((s - s % 256) / 256); //数字减去 低8位, 得到的数字再除以256得到高8位byte low (byte)(s % 256); //数字对256取余数, 得到低8位byte[] change1 { high, low };return BitConverter.ToInt16(change1); }short BLC2(sh…

使用ffmpeg将一个目录下的mkv格式的视频文件转换成mp4格式

最近学剪辑&#xff0c;从BT种子下载的素材资源都是mkv格式的&#xff0c;不能直接导入到视频剪辑软件中。这种情况下需要用一些格式转换工具进行转换&#xff0c;也可以使用ffmpeg进行编辑。 ffmpeg是一个命令行工具&#xff0c;用来对本地的音频视频软件进行编辑。ffmpeg我也…

【动态规划】回文串问题

一、经验总结 对于回文串问题&#xff0c;传统的以i位置为结尾的状态表示已经不能满足要求&#xff0c;无法推导状态转移方程。应该创建一个二维dp表&#xff0c;将所有子串[i, j]的状态表示出来二维dp表的初始化和填表顺序略微复杂&#xff0c;有时需要借助网格图像分析 二、…

Web安全:SQL注入

一、SQL注入三要素 1、用户可以对输入的参数值进行修改。 2、后端不对用户输入的参数值进行严格过滤。 3、用户修改后的参数值可以被带入后端中成功执行&#xff0c;并返回一定结果。 二、SQL注入原理 简单来说&#xff0c;用户输入的值会被插入到SQL语句中&#xff0c;然后…

秋招突击——7/10——复习{}——新作{在排序数组中查找元素的第一个最后一个位置、搜索旋转排序数组}

文章目录 引言复习新作在排序数组中查找元素的第一个和最后一个位置个人实现参考实现 搜索旋转排序数组个人实现参考实现 总结 引言 复习 新作 在排序数组中查找元素的第一个和最后一个位置 题目链接 注意 非递减序列》元素是递增或者相等&#xff0c;并不是严格递增的找到…