SOFAStack软件供应链安全产品解析——SCA软件成分分析

近年来,软件供应链安全相关攻击事件呈快速增长态势,造成的危害也越来越严重,为了保障软件供应链安全,各行业主管单位也出台了诸多政策及技术标准。基于内部多年的实践,蚂蚁数科金融级云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代码扫描Pinpoint,软件成分分析SCA,交互式安全测试IAST,运行时防护RASP,安全洞察Appinsight等,帮助客户应用软件实现“发布前检测,运行时免疫”。

本文将着重介绍针对开源组件风险发现场景的软件供应链安全产品——SCA软件成分分析

开源组件安全的挑战

为提高开发效率、节约开发成本,企业在软件开发过程中引入的开源组件比例越来越高,而因此存在的开源组件安全隐患却未被重点关注。因此从开源软件治理层面出发,开源组件安全面临的挑战包括:

  • 组件通用漏洞风险急剧上升。黑客组织逐渐将目标转移在开源软件上,可以轻易找到源代码漏洞从而入侵和攻击,危及响应系统或数据的完整性和机密性。据Synopsis相关数据统计,开源代码仓库中至少存在一个漏洞的仓库占整体开原仓库的比例已上升到了84%。
  • 开源软件许可证繁多且复杂。开发人员使用的开源软件许可证繁多难以一一维护,并且存在误使用黑客冒充的合法开源或系统组件名称的组件致使开发者无法识别,另外,违规使用开源软件也会造成许可证合规性风险。
  • 组件过维护期或未更新。由于开发人员更侧重业务自身规划和版本改动频繁易引起兼容性问题,从而导致对于其使用的运行时版本、组件版本陈旧过维护期甚至从不升级。
  • 堆积“技术债”问题。开发人员为加速业务开发,使用开源软件或其他方案,从而导致组件依赖过多、缺陷过多的“技术债”,反向阻碍产品演进。
  • 软件开发人员安全意识淡薄。多数开发人员对代码安全质量重视程度不够,未遵守应用程序安全开发标准,同时其信息安全技术能力水平也是参差不齐的。

因此,SCA(Software Composition Analysis)工具应运而生,可以通过分析源代码识别引入的开源组件漏洞、许可证证书、开源协议等信息,帮助企业开发者深入掌握软件成分中潜在的安全问题。

SCA产品价值

SOFA Stack软件开发安全平台SCA是一款智能开源组件风险发现与分析产品,它能够分析软件结构并判断开源组件的风险,从而帮助开发人员和安全人员快速识别开源组件的风险,并将安全风险前置处理,实现软件供应链安全中的安全漏洞修复、开源风险规避等价值。

产品具备四大核心价值:

一、灵活的扫描接入方式

在SCA建设阶段,对应用程序引入了哪些组件是企业最为重要的一步,蚂蚁SCA面向不同场景提供不同接入方式,从信息安全视角摸排研发技术栈、流程链路,并做相应的数据卡点,完成相关风险数据的收集,协助企业盘点软件资产。

1、Air Gap接入,不需要触碰代码。适合二进制代码静态分析和软件溯源分析场景,用户可审计所有外发内容,不会存在代码泄露的风险。

2、API接入,授权访问私有源码。适合大部分代码分析场景,尤其是凯源代码的检测以及小规模试用场景,能直接生成完整的分析报告。

二、智能扫描分析流程

用户通过授权或上传代码包到SCA程序分析平台上,平台获取到用户创建的任务利用智能分析引擎判断适用的代码分析方式并分别进行代码缺陷、精准匹配、模糊匹配、情报聚合等分析技术和文件元数据特征比对技术进行特征提取以确定组件关系,然后将结果聚合到统一平台上再进一步验证许可证是否冲突,最终生成质量报告。在此流程中,支持的许可证数量多达4000+、仓库数超520w,扫描分析速度达到了百万组件分钟级扫描粒度。

三、全面精细的风险透视能力

以全面地、精细化地可视化报表呈现开源组件的安全风险,并提供解决方案,帮助安全人员精细化运营风险数据,同时也为开发人员指导修复,做到风险透视的简洁、高效。

四、高可用部署

SCA依赖mysql的master-slave双机房部署模式或minio的双机房mirror实现高可用部署,同时为实现产品服务高可用可讲两个机房的服务器节点加入k8s集群,依托其管控能力实现应用级别的高可用。通常情况下,每个应用部署两个实例且分布在两个不同机房可确保产品服务的可靠性。

未来展望

目前,SOFA Stack软件开发安全平台SCA产品源自于蚂蚁集团多年沉淀的代码安全分析技术,持续在金融、制造、汽车、互联网等各个行业落地实践,建设起来完善的软件供应链安全和开源治理解决方案,积累了丰富的实践经验,并不断致力于提供更细粒度的资产风险透视和更丝滑的融入CI/CD流程能力,助力企业安全治理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

保护云数据安全的关键环节是什么?

云数据安全是维护数据隐私和保护关键信息的关键一环。在云中存储和处理数据提供了巨大的便利性和效率,但同时也伴随着风险。本文将介绍保护云数据的关键环节是什么! 1、数据加密:在传输和存储数据时使用强加密是保护数据的基本步骤。确保数据在云中存储时…

Iterator迭代器

一、基本概念 Iterator迭代器是一种接口,为不同的数据结构提供一种访问机制,即for … of 循环。当使用for…of循环遍历某种数据结构时,该循环会自动去寻找 Iterator 接口。任何数据结构只要部署Iterator接口,就可以完成遍历操作(…

SpringBoot中对Spring AOP的实现

文章目录 SpringBoot中对Spring AOP的实现AOP简介引入依赖AOP体系与概念编写AOP切面类启动SpringBoot项目然后访问controller控制器对环绕通知放行execution表达式的含义通过注解方式定义切点 SpringBoot中对Spring AOP的实现 AOP简介 AOP (Aspect Oriented Programming), 面…

智能视频监控平台EasyCVR接口调用注意事项汇总!

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

前端,CSS,背景颜色跟随轮播图片改变而改变(附源码)

首先看效果! 比如轮播图时红色,那么背景的底色也是红色,轮播图时黄色,背景的底色也是黄色,这就是根据轮播图的图片切换,而改变背景颜色随轮播图颜色一致 话不多说,直接上代码!非常简…

Python使用psycopg2读取PostgreSQL的geometry字段出现二进制乱码

1、问题 读取geometry字段出现二进制乱码 查询语句: sql "select * from public"Note: 这种写法在PostgreSQL中直接查询, 没有问题,不会报错。 但是在Python中查询,如果导出的geom还是一长串的geometry 格式的话, …

【计网 EMail】计算机网络 EMail协议详解:中科大郑烇老师笔记 (五)

目录 0 引言1 电子邮件EMail1.1 组成1.2 SMTP协议1.3 案例:Alice给Bob发送报文1.4 SMTP总结1.5 邮件报文格式1.6 POP3协议和IMAP协议 🙋‍♂️ 作者:海码007📜 专栏:计算机四大基础专栏📜 其他章节&#xf…

计算机网络(谢希仁)第八版课后题答案(第一章)

1.计算机网络可以向用户提供哪些服务 连通性:计算机网络使上网用户之间可以交换信息,好像这些用户的计算机都可以彼此直接连通一样。 共享:指资源共享。可以是信息、软件,也可以是硬件共享。 2.试简述分组交换的要点 采用了存储转发技术。把报文(要发…

每日一练 | 华为认证真题练习Day122

1、路由器所有的接口属于同一个广播域。 A. 对 B. 错 2、下列配置默认路由的命令中,正确的是()。 A. [Huawei]ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 B. [Huawei-Serial0]ip route-static 0.0.0.0 0.0.0.0 0.0.0.0 C. [Huawei]ip…

如何快速从Oracle迁移到Mysql?

database 一、使用navicat工具二、问题 一、使用navicat工具 1、选择工具中的数据传输 2、源选Oracle,目标选Mysql,一直点下一步 二、问题 1、navicat连接oracle报错:Oracle library is not loaded navicat是通过oracle的客户端连接oracle的,报这个错是因为navicat for or…

Penman-Monteith模型,蒸散发、土壤蒸发、植被蒸腾,植被总初级生产力

植被总初级生产力(GPP)是指植物通过光合作用吸收的碳,是陆地生物圈和大气之间最大的碳通量,GPP的准确量化对于理解气候变化中生态系统功能、农业生产和碳循环的动态以及对气候的反馈具有重要意义 蒸散发(Evapotranspiration,ET&a…

html iframe 框架有哪些优缺点?

目录 前言: 用法: 理解: 优点: 嵌套外部内容: 独立性: 分离安全性: 跨平台兼容性: 方便维护: 缺点: 性能开销: 用户体验问题&#xf…

线性代数-Python-02:矩阵的基本运算 - 手写Matrix及numpy中的用法

文章目录 一、代码仓库二、矩阵的基本运算2.1 矩阵的加法2.2 矩阵的数量乘法2.3 矩阵和向量的乘法2.4 矩阵和矩阵的乘法2.5 矩阵的转置 三、手写Matrix代码Matrix.pymain_matrix.pymain_numpy_matrix.py 一、代码仓库 https://github.com/Chufeng-Jiang/Python-Linear-Algebra-…

驱动开发3 ioctl函数的使用+3个实例(不传递第三个参数、第三个参数为整型、第三个参数为地址)

开发板:stm32mp157aaa(Cortex-A7*2 Cortex-M4*1)开发环境:vscode、串口工具、ubuntu 18.04 vscode编译过程: 1 引入ioctl函数的意义 linux操作系统中有意将数据的读写和读写功能的选择分别交给不同的函数去完成。就让…

【AI视野·今日Robot 机器人论文速览 第五十七期】Wed, 18 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Wed, 18 Oct 2023 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Underwater and Surface Aquatic Locomotion of Soft Biomimetic Robot Based on Bending Rolled Dielectric Elastomer Actua…

人工智能(6):机器学习基础环境安装与使用

1 库的安装 整个机器学习基础阶段会用到Matplotlib、Numpy、Pandas等库,为了统一版本号在环境中使用,将所有的库及其版本放到了文件requirements.txt当中,然后统一安装 新建一个用于人工智能环境的虚拟环境 mkvirtualenv ai matplotlib3.8…

django 商品及购物车逻辑实现

基于类视图模式实现商品分类菜单接口开发 创建菜单子应用 python manage.py startapp menu测试 apps/menu/views from django.http import HttpResponse from django.views import Viewclass GoodsMainMenu(View):def get(self,request):print("get请求")return …

Java实现连接SQL Server解决方案及代码

下面展示了连接SQL Server数据库的整个流程: 加载数据库驱动建立数据库连接执行SQL语句处理结果关闭连接 在连接之前,前提是确保数据库成功的下载,创建,配置好账号密码。 运行成功的代码: import java.sql.*;publi…

TOGAF(企业架构)

TOGAF 核心概念(官方原版) 什么是TOGAF? TOGAF?是一种经验证的企业架构方法和框架,被世界领先的组织用于提高业务效率。它是一个企业架构标准,确保企业架构专业人员之间的标准、方法和通信一致,以便我们…

【OpenCV实现图像的算数运算,性能测试和优化,改变颜色空间】

文章目录 OpenCV功能概要图像的算数运算性能测试和优化改变颜色空间对象追踪 OpenCV功能概要 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,提供了丰富的图像处理和计算机视觉算法。它支持多种编程语言&…
最新文章