聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

专栏·供应链安全

数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。

随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。

为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。

注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。

1974年,计算机科学家 Jerry Saltzer 曾指出,“系统的每个程序和每个权限用户都应当使用完成工作所必需的最小权限。”

VMware 公司现代应用平台首席技术官 James Watters 在今年举办的“DevOps 全天大会 (All Day DevOps)” 上指出,近半个世纪后,最小权限原则仍然在软件开发中起着非常重要的作用。他指出,虽然在多样化的多云环境中越来越难以管理风险,但 DevOps 团队现在拥有强大的技术途径来遵循最小权限模式。

Watters 是大会的主旨演讲人之一,他表示,自动化和“运行时行为的根本改变“都减少了总体系统权限,而这在20世纪70年代是不可能办到的。VMware 公司的高级副总裁兼首席技术官 Kit Colbert 表示,对访问控制的结构化操作越多,开发人员不慎将自己暴露到风险之中的可能性就越小,也能够阻止恶意人员的入侵。Cobert 还提到,”操作系统中的用户身份概念“根本不存在开放互联网中(IP地址不算),而这正是 YubiKey 通过”以物理密钥精装身份“改进web编程来解决的。

短生命周期构建

短时性是大会演讲中另外一个被反复提到的词。

Watters 表示,“系统工程的新边界是如何通过权限使既定进程的生命周期足够短。Equifax 事件后,所有人突然都更加极度谨慎地对待系统中可能存在的长期共享机密问题。“

VMware 公司的安全、合规和隐私工程副总裁 Ashok Banerjee 指出,短生命周期构建尤为重要,“因为在生产系统中,恶意人员一般不会在虚拟机中持久地开展恶意活动,因为我们不会修复昨天所使用虚拟机中的漏洞。“ 他还指出 ”我们会扔掉旧虚拟机并构建一个新的。因此,必须以某种方式改变配置。基于基础设施即代码而构建的短生命周期环境不允许这么做,因此它是非常强大的工具。“

攻击构建管道

Bannerjee指出,从针对开源代码的依赖混淆攻击到针对软件交付阶段的程序包镜像攻击,CI/CD 管道的每一层都在遭受攻击。但在中间阶段即构建管道的攻击,可能要比针对源代码系统的攻击更加糟糕,“因为恶意人员不喜欢版本历史“。例如,SolarWinds 攻击事件,攻击者通过交换构建系统上的文件更好地伪装自己的活动。

攻击者一般会在首次攻击后等待两周的时间,“这样你无法将新行为和生产安装程序关联在一起。即使它们每周都在重新部署,但你仍然能够在它们造成损失之前将其清除。”

蝴蝶效应

谈到最关心的 DevSecOps 现状问题,Bannerjee 提到了“措手不及的补丁,等待12小时可能太久了。“

Watters 提到了践行代码变更一对多范式的缺点。他表示,“我们已经创建了云自动化宇宙,向并非后台系统的大量机器推出微小变更,而这些变更实际上正在运行我们的经济。在软件供应链中扇动翅膀的蝴蝶可以引发台风。”幸运的是,Equifax 和 SolarWinds 攻击事件使得信息安全行业成为“现代软件操作的核心工程学科之一”。

Watters 提到了另外一个前景广阔的开发:管道 “被分解为各种角色”,将为缺少人力资源的组织机构“把DevOps 方法民主化“。Colbert 展望了从架构上消除所有的潜在风险或漏洞类型。他指出,正确地做事,实现“根本性的安全”,而不仅仅是针对大量威胁时“玩打鼹鼠”。

推荐阅读

“木马源”攻击影响多数编程语言的编译器,将在软件供应链攻击中发挥巨大作用

GitHub 在 “tar” 和 npm CLI 中发现7个高危的代码执行漏洞

流行的 NPM 包依赖关系中存在远程代码执行缺陷

速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年

Npm 恶意包试图窃取 Discord 敏感信息和浏览器文件

微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析

速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年

SolarWinds 供应链事件后,美国考虑实施软件安全评级和标准机制

找到软件供应链的薄弱链条

GitHub谈软件供应链安全及其重要性

揭秘新的供应链攻击:一研究员靠它成功入侵微软、苹果等 35 家科技公司

开源软件漏洞安全风险分析

开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析

集结30+漏洞 exploit,Gitpaste-12 蠕虫影响 Linux 和开源组件等

限时赠书|《软件供应链安全—源代码缺陷实例剖析》新书上市

热门开源CI/CD解决方案 GoCD 中曝极严重漏洞,可被用于接管服务器并执行任意代码

GitKraken漏洞可用于盗取源代码,四大代码托管平台撤销SSH密钥

因服务器配置不当,热门直播平台 Twitch 的125GB 数据和源代码被泄露

彪马PUMA源代码被盗,称客户数据不受影响

原文链接

https://portswigger.net/daily-swig/all-day-devops-2021-securing-the-software-supply-chain-with-ephemerality-and-the-least-privilege-principle

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

 觉得不错,就点个 “在看” 或 "赞” 吧~

观点|通过短生命周期和最小权限原则保护软件供应链安全相关推荐

  1. Android系统最小权限原则

    最小特权原则是系统安全中最基本的原则之一.具体来说,指的是"在完成某种操作时,赋予系统主体(用户或进程)所必须的最小特权,确保系统由于事故.错误.篡改等原因造成的损失最小". 最小 ...

  2. Linux用户与“最小权限”原则

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 作为一个Linux用户来说,我们并不需要特别关心下面的机制.但是,当我们去编写一个 ...

  3. 关于AWS中最小权限原则的理解

    目录 1. 关于最小权限原则 2. 案例分析 1. 关于最小权限原则 最小权限是指每个程序和系统用户都应该具有完成任务所必需的最小权限集合. 对于系统管理员而言,一个用户应该只能访问履行他的相关职责所 ...

  4. oracle 最小权限,基础知识6——安全和最小权限原则

    数据库安全和最小权限原则 用户只拥有执行其任务所需的最小权限,并禁止所有未被允许的权限. 默认下SYS和SYSTEM拥有所有权限. 除了使用口令配置文件外,还需要遵循一些最佳实践,特别熟授予publi ...

  5. 雪城大学信息安全讲义 3.4 最小权限原则

    4 最小权限原则 最小权限原则(最早由 Saltzer 和 Schroeder 提出): 每个程序和系统用户都应该具有完成任务所必需的最小权限集合. 限制代码运行所需的安全权限,有一个非常重要的原因, ...

  6. android onresume 后控件不能获取焦点,1.基本控件和布局 + 基本适配器 + Activity生命周期及传值和现场保护...

    1.android的项目目录结构 Android学习首先要大致了解项目目录,有些看不懂的就先记下,等之后遇到了再回头来看,印象肯定会更加深刻. src     Java源码 gen    自动生成的j ...

  7. 软件生命周期中的测试概念,IT软件生命周期中的重要概念

    在IT软件项目生命周期中有3个与时间相关的重要概念:检查点(Check Point).里程碑和基线(Base Line). 检查点:指在规定时间间隔内对项目进行的检查与复审工作,它是通过比较实际进展与 ...

  8. 长生命周期对象持有短生命周期对象的引用有可能发生内存泄漏(老年代引用新生代)

    具体类别 1.静态集合类引起内存泄漏 public class Test01 {static Vector v = new Vector(10);public static void main(Str ...

  9. er图用什么软件_从软件开发生命周期看商业智能 BI 数据仓库建模

    关于商业智能 BI 的介绍面对不同的企业客户可以从很多不同的角度展开,比如从业务角度.管理角度.数据架构角度.IT 信息化建设角度.BI 实施方法论角度等,不同的视角可以帮助企业更加全面的了解商业智能 ...

最新文章

  1. basic与python哪个容易胖_减肥看热量还是碳水化合物 脂肪和碳水哪个更容易长胖...
  2. javascript转换金额格式
  3. c++ using namespace std; - 海明威 - 博客园
  4. 使用next_permutation()的坑,你中招了么?
  5. python新手输出错误,Python 新手常犯错误(第一部分)
  6. 【STM32】STM32CubeMX教程--功能介绍
  7. 从Ibatis过渡到Mybatis-比较Mybaits较与Ibatis有哪些方面的改进
  8. 正确理解MySQL中的where和having的区别
  9. 解读阿里巴巴Java手册:为什么不建议使用Executors创建线程池?
  10. WebRTC系列-H.264预估码率计算
  11. UiPath Excel 数据筛选修改
  12. 【VC7升级VC8】将vCenter Server 7.X 升级为 vCenter Server 8 (上)—— VC 8系统要求与升级前的说明
  13. 40岁后吃不胖的秘诀 济阳高穗饮食理论
  14. opencv 涂抹区域得方法
  15. Ghost 博客 SSL 证书过期的解决办法
  16. ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1'
  17. Shell脚本采集基础监控项数据(含采集周期)
  18. 【shaderforge小实例】 水中倒影
  19. 【人脸检测】centerface唐人街探案50fps
  20. 网络控制系统仿真:Truetime2.0工具箱安装(win10 + matlab R2017b)

热门文章

  1. 大脑遗忘与数据结构中的对列相似
  2. PHP学习之会话控制session、cookie
  3. Java连接各种数据库的实例
  4. 网上课程之实例讲解(2)
  5. windows用户态程序的Dump
  6. 开启和关闭HBase的thrift进程
  7. linux 环境下git的安装与配置
  8. 311. Sparse Matrix Multiplication
  9. Host-Base、LAN-Base、LAN-Free、Server-Free存储备份结构
  10. linux 各用户内存_Linux用户空间与内核空间(理解高端内存)