2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践

项目背景:近年来,云计算、AI人工智能、大数据等信息技术的不断发展、各行各业的信息电子化的步伐不断加快、信息化的水平不断提高,网络安全的风险不断累积,金融证券行业面临着越来越多的威胁挑战。特别是近年以来,开源生态的不断完善与发展,越来越多的企业引入了开源。对于金融证券行业而言,开源生态共建与安全威胁也呈现了“共生共存”的状态。同时,某某证券正在进行数字化转型能力建设,众多业务都在从传统开发到敏捷式开发转变,迭代速度的加快与发版周期的缩短带来了一系列安全问题:

漏洞难以发现:在开发过程中缺乏安全知识、代码规范等,导致开发出的系统或者容器存在SQL注入、密码重置、XSS、XXE、命令执行等漏洞难以被发现,可能对整个应用系统框架乃至整个公司造成不可估量的影响。

缺乏安全工具:DevOps平台以CI/CD流水线为基础,无论上线前,还是上线后,整个流程中缺乏SAST、IAST、PTE、SCA、RASP等安全工具,同时安全部门也希望引入相关安全工具,完善整个安全体系。

整体安全缺失:公司内安全部门更侧重人工渗透,根据以往测试结果来看,应用安全和组件安全漏洞检测结果已经表现极为突出,需要针对这个现状进行改善。

管理规范落地艰难:目前制定的安全流程规范停留在纸面,难以执行,研发过程难以监控、度量、改进,同时漏洞修复工作推动也是困难重重。

DSO体系搭建概念空洞:现有的业务系统,并结合已有流程、安全人员赋能,还不足以保证业务系统安全运营。

项目方案:

  1. 总体架构

图1 某某证券DevSecOps开发安全一体化管控项目框架

该证券公司DevSecOps开发安全一体化管控项目分为源头治理阶段、研发过程治理阶段、上线运营治理阶段。

源头治理阶段主要针对供应商提供的合作开发或者直接提供的产品进行管控。依托二进制SCA能力及软件采购规范、SBOM要求、供应商管理规范、风险控制模型等管理制度,配合软件SBOM审查、组件/许可风险审查、供应链安全审查等工作实现软件源头引入安全。

研发过程治理阶段,针对SDLC的开发、测试与交付环节,通过引入SAST(静态应用安全测试)、SCA(软件成分分析)、IAST(交互式应用安全测试)等安全扫描工具提升左移代码安全扫描的能力,通过工具与CI/CD自动化流程的对接配合质量门禁管理实现自动的发版质量控制,进而融入devops,建立标准的devsecops体系。

ASOC平台的引入可以有效支持实现漏洞数据的统一分析及整体关联全程治理。首先,通过对接安全工具链、OA、电子邮箱、即时通讯,对各安全场景进行工作流编排定制和统一管理,配合统一的质量红线控制,实现对安全活动过程透明化、管理自动化管理。其次,整合SCA、SAST、IAST等检测结果,进行互相风险验证和整合关联,实现业务部门聚焦真实风险,降低漏洞管理工作量,提升验证修复效率。

  1. 主要能力与关键技术特点
  1. 供应商开源安全管控

图2 供应商开源安全管控效果图

对于供应商提供的合作开发的产品,可以通过源码或者二进制检测对其中的软件成分进行分析,发现其中的安全漏洞风险和许可证合规风险。上线后通过运行时监控,随时对开源组件进行监控管理。

对于供应商直接提供的产品,要求对方在交付时除提供安装包外,还需提供相应的SBOM清单。通过二进制SCA对安装包扫描生成SBOM,并于供应商提供的SBOM清单做一致性比对审查差异,实现源头管控。

  1. 研发过程的入口管控,数字供应链防火墙

图3 入口管理与数字供应链防火墙

针对研发过程管控,首先要针对入口进行管控。就好比针对水库进行水污染治理一定要先从进水口的污染封堵开始,后续的治理才有意义。通过建立私服库、数字供应链防火墙可以实现这一目标:本地仓库在拉取中央仓库时需要经过供应链防火墙,对有风险的组件拉取行为进行阻断,禁止进入内网;开发侧进行本地引入组件本地开发时,经过防火墙对有风险未及时清退的组件进行拦截;安全管理人员根据企业实际情况和使用阻断记录等信息,对防火墙策略进行及时调整。

  1. 研发过程管控之DevSecOps落地

图4 devsecops实施图

上图说明如下:

通过私服制品仓库的建立、数字供应链防火墙与门禁规则配合,严格控制第三方和开源组件的来源;研发人员需要安装SCA与SAST工具提供的IDEA、VisualStatio等IDE插件,在编码过程中经常使用插件进行代码质量扫描,此时的修复成本是最低的;针对代码仓库提供发版触发SCA与SAST工具进行扫描,通过质量门禁进行发版质量管控与阻断。同时针对代码仓库进行定时全量回扫,严格保障代码仓库的清洁;测试阶段通过引入IAST工具实现安全测试左移,在测试人员进行功能测试、性能测试的同时完成低侵入自动化渗透测试。由于IAST可以精确定位到漏洞的具体位置到代码行和相关参数,并且提供相应的修改建议和代码示例,可以帮助研发人员更早期发现安全漏洞,更低成本地解决安全漏洞,降低因安全问题导致返工的概率;建立安全编码规范和安全测试标准:建立编码规范、对安全人员进行安全培训、引用相对安全的开发框架。建立统一的测试标准(测试项),尽可能覆盖各种类型的安全漏洞;通过ASOC进行总体调度,将开发安全、漏洞管理、开源组件安全、供应链安全进行统一管理,实现漏洞数据的统一分析及整体关联全程治理。

  1. 构建供应链上完整的SBOM信息

图5 构建供应链上完整的SBOM信息

通过明确识别和详细记录软件组件及其相互关系以提升软件透明度,可以增强软件供应链的安全可控能力。

  1. 数字供应链安全情报的支撑

图6 构建供应链上完整的SBOM信息

依托悬镜数字供应链安全情报预警平台能力,建立开源风险情报响应机制,应用漏洞事件预警、供应链投毒事件、开源许可纠纷事件等开源组件风险情报,实时预警企业行业内安全事件,提前响应及防护。

单独的漏洞信息实际很难被应用,只有围绕漏洞所能导致的真实风险来提供漏洞情报,才是抵御漏洞威胁的突破口。悬镜数字供应链安全情报预警平台聚合全面的多维度漏洞信息,通过漏洞复现、标签标定、补丁验证、POC/Exp测试等一系列流程,形成精准可靠的漏洞情报,实时赋能在相关产品上。

项目亮点:

智能代码疫苗技术:本项目的实践应用基于智能代码疫苗技术。智能代码疫苗技术作为数字供应链安全的核心关键技术,旨将智能风险检测和积极防御逻辑注入到运行时的数字应用中,如同疫苗一般与应用载体融为一体,突破性地实现对潜在风险的自发现和对未知威胁的自免疫。基于智能情境感知的代码疫苗单探针技术,统一融合了IAST(交互式应用安全测试)、SCA(软件成分分析)、RASP(运行时应用自保护)、DRA(数据风险治理)、API分析、APM监控(应用性能管理)等能力,仅需一次部署解决应用面临的组件漏洞、敏感数据泄漏、运行异常、0Day攻击等风险,减轻多探针运维压力的同时,为应用植入“疫苗”,实现并推动应用与安全的共生。

基于DSDX SBOM格式做统一安全评估标准:本项目是率先支持DSDX(国内首个自研SBOM软件物料清单格式)的DevSecOps开发安全一体化管控项目作为DevSecOps敏捷安全的落地治理条件之一,DSDX能够统一软件信息接口,对采购软件和自研软件风险评判进行标准统一。关于SBOM信息数据的组成,可通过安全检测工具链接实现,因此通过引入的悬镜源鉴SCA工具和悬镜SAST工具,支持管理过程中必要的技术控制卡点和SBOM输出。

基于大数据的VPT漏洞关联分析和漏洞自动化编排:本项目采用自动化的安全编排方法,灵活调用并获取各类型应用安全检测工具的检测结果,将各阶段的检测结果进行统一归化、关联、操作并统一分析,多维度对漏洞优先级进行划分,实现了安全度量指标化及统一威胁可见,有效解决不同检测工具检测的漏洞数据难以统一评估、管理、分析的问题;同时对接效能平台,自动推送漏送信息和接收漏洞处理结果,轻松地设置跨团队的工作流,跟踪漏洞处理状态,方便闭环安全风险、大幅提高处理风险效率。

项目效果:本项目满足了银保监会和证监会等行业监管机构针对开发安全管理规范、重要信息系统上线前执行程序和源代码安全审查的建设要求,在响应国家政策号召的同时,实现了企业开发安全管理能力水位的提升。

本项目通过将SAST(静态应用安全测试)、SCA(软件成分分析)、IAST(交互式应用安全测试)能力无缝嵌入到DevOps全流程中,同时经过ASOC平台自动化编排及统一管理,实现全生命周期漏洞闭环管理,研发和测试人员在完成应用功能测试的同时即可透明实现深度业务安全测试,有效覆盖95%以上的中高危漏洞,包括各种复杂的Web漏洞、第三方开源组件漏洞及业务逻辑漏洞等,高效实现应用上线前的安全审查,防止应用带病上线,从而有效避免了应用发布后因漏洞风险造成业务中断等直接经济损失。

本项目基于自动化安全工具,不增加现有团队的工作量、不改变工作流程,漏洞修复周期缩短50%,并帮助安全人员将漏洞检测及修复工作前置左移,从软件开发源头发现安全问题,大幅减少上线运营后的修复成本,显著提升开发人员的安全编码水平和工作效率,帮助人员工作效能实现最大化。

本项目通过二进制文件检测、CI/CD流水线检测、系统运行时检测、仓库扫描检测、第三方平台接入数据同步、手动导入等,完整覆盖公司所有开源与第三方组件,以及成品软件资产信息,在供应链使用排查、0day漏洞爆发应急处置、监管单位要求信息报送方面实现最快速高效工作方式。

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

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

相关文章

Java高级 | 【实验二】Springboot 控制器类+相关注解知识

隶属文章: Java高级 | (二十二)Java常用类库-CSDN博客 系列文章: Java高级 | 【实验一】Spring Boot安装及测试 最新-CSDN博客 目录 一、MVC模式 二、SpringBoot基础——控制层Controller详解 (一)主要工…

MySQL 事务深度解析:面试核心知识点与实战

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Java 中 MySQL 事务深度解析:面试…

【趣味Html】第11课:动态闪烁发光粒子五角星

打造炫酷的动态闪烁发光粒子五角星效果 前言 在现代Web开发中,视觉效果的重要性不言而喻。今天我们将深入探讨如何使用HTML5 Canvas和JavaScript创建一个令人惊艳的动态闪烁发光粒子五角星效果。这个项目不仅展示了Canvas的强大功能,还涉及了粒子系统、…

6.RV1126-OPENCV 形态学基础膨胀及腐蚀

一.膨胀 1.膨胀原理 膨胀的本质就是通过微积分的转换,将图像A和图形B进行卷积操作合并成一个AB图像。核就是指任意的形状或者大小的图形B。例如下图,将核(也就是图形B)通过微积分卷积,和图像A合并成一个图像AB。 2.特点 图像就会更加明亮 …

机器学习实战37-基于情感字典和机器学习的股市舆情分析可视化系统

文章目录 一、项目背景数字时代情感分析情况二、项目流程1.数据采集与预处理2.复合情感分析模型构建3.舆情分析可视化:三、机器学习算法原理1.支持向量机基础2.核函数与高维映射3.情感分类特征融合4.模型训练与优化四、实现代码五、系统特点与优势1.复合情感分析模型2.多维度可…

STM32F407VET6学习笔记9:编译输出固定大小.bin文件

今日学习如何输出固定大小的.bin编译文件 目录 Keil_V5 fromelf.exe 软件目录: 魔棒添加命令输出bin文件: 输出固定大小的bin文件: 计算bin文件大小: 安装 SRecord 工具集: 使用SRecord: 参考文章&#…

【Web应用】若依框架:基础篇14 源码阅读-后端代码分析

文章目录 ⭐前言⭐一、课程讲解⭐总结 标题详情作者JosieBook头衔CSDN博客专家资格、阿里云社区专家博主、软件设计工程师博客内容开源、框架、软件工程、全栈(,NET/Java/Python/C)、数据库、操作系统、大数据、人工智能、工控、网络、程序人生口号成为你…

Java 单例模式详解

目录 1. 饿汉式(Eager Initialization) 2. 懒汉式(Lazy Initialization) 3. 懒汉式 同步锁(线程安全) 4. 双重检查锁(Double-Checked Locking) 5. 静态内部类(推荐…

从 AMQP 到 RabbitMQ:核心组件设计与工作原理(一)

一、引言 ** 在当今分布式系统盛行的时代,消息队列作为一种关键的中间件技术,承担着系统间异步通信、解耦和削峰填谷的重要职责。AMQP(Advanced Message Queuing Protocol)作为一种高级消息队列协议,为消息队列的实现…

概率单纯形(Probability Simplex)

目录 定义性质在统计学中的应用在机器学习中的应用在信息论中的应用在优化问题中的应用在其他领域的应用 定义 定义:在数学中,概率单纯形(Probability Simplex)是指在 n n n维空间中,所有分量非负且分量之和为1的向量…

项目练习:Vue2中el-button上的@click事件失效

文章目录 一、问题描述二、解决 一、问题描述 button按钮上绑定了一个click事件 对应的方法写在methods中 但是&#xff0c;测试点击时&#xff0c;无法触发函数 二、解决 1、问题代码 <el-buttonclick"changeConfirm(Y)"type"success"plainicon&qu…

十六、【前端强化篇】完善 TestCase 编辑器:支持 API 结构化定义与断言配置

【前端强化篇】完善 TestCase 编辑器:支持 API 结构化定义与断言配置 前言准备工作第一步:更新前端 `TestCase` 类型定义第二步:改造 `TestCaseEditView.vue` 表单第三步:修改后端代码中的TestCase模型和序列化器第四步:测试强化后的用例编辑器总结前言 在之前的后端文章…

HTTP连接管理——短连接,长连接,HTTP 流水线

连接管理是一个 HTTP 的关键话题&#xff1a;打开和保持连接在很大程度上影响着网站和 Web 应用程序的性能。在 HTTP/1.x 里有多种模型&#xff1a;短连接、_长连接_和 HTTP 流水线。 下面分别来详细解释 短连接 HTTP 协议最初&#xff08;0.9/1.0&#xff09;是个非常简单的…

MySQL范式和反范式

范式 是用一组规则定义的数据库设计标准&#xff0c;旨在确保数据库结构合理&#xff0c;避免数据冗余和异常。 目的 消除数据的重复&#xff0c;提高存储效率防止数据异常&#xff08;插入、删除、更新异常&#xff09;提高数据的完整性和一致性 第一范式 定义 所有列&am…

编程技能:格式化打印04,sprintf

专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏&#xff0c;故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 &#xff08;一&#xff09;WIn32 专栏导航 上一篇&#xff1a;编程技能&#xff1a;格式化打印03&#xff0c;printf 回到目录…

JavaScript性能优化实战:深入探讨JavaScript性能瓶颈与优化技巧

引言:为什么JavaScript性能至关重要 在现代Web开发中,JavaScript已成为构建交互式应用程序的核心技术。随着单页应用(SPA)和复杂前端架构的普及,JavaScript代码的性能直接影响用户体验、转化率甚至搜索引擎排名。研究表明,页面加载时间每增加1秒,转化率可能下降7%,而性能…

Java数据结构——八大排序

排序 插⼊排序希尔排序直接选择排序堆排序冒泡排序快速排序归并排序计数排序 排序的概念 排序&#xff1a;就是将一串东西&#xff0c;按照要求进行排序&#xff0c;按照递增或递减排序起来 稳定性&#xff1a;就是比如排序中有两个相同的数&#xff0c;如果排序后&#xff0c…

WPF响应式UI的基础:INotifyPropertyChanged

INotifyPropertyChanged 1 实现基础接口2 CallerMemberName优化3 数据更新触发策略4 高级应用技巧4.1 表达式树优化4.2 性能优化模式4.3 跨平台兼容实现 5 常见错误排查 在WPF的MVVM架构中&#xff0c; INotifyPropertyChanged是实现数据驱动界面的核心机制。本章将深入解析属…

低空城市场景下的多无人机任务规划与动态协调!CoordField:无人机任务分配的智能协调场

作者&#xff1a;Tengchao Zhang 1 ^{1} 1 , Yonglin Tian 2 ^{2} 2 , Fei Lin 1 ^{1} 1, Jun Huang 1 ^{1} 1, Patrik P. Sli 3 ^{3} 3, Rui Qin 2 , 4 ^{2,4} 2,4, and Fei-Yue Wang 5 , 1 ^{5,1} 5,1单位&#xff1a; 1 ^{1} 1澳门科技大学创新工程学院工程科学系&#xff0…

解决Java项目NoProviderFoundException报错

前言 在Java开发中&#xff0c;jakarta.validation.NoProviderFoundException 是一个令人困惑的运行时错误&#xff0c;常因校验框架依赖缺失或版本冲突导致。 问题复现&#xff1a;用户注册校验失败 业务场景 开发一个用户注册功能&#xff0c;要求&#xff1a; 校验邮箱…