供应链安全之被忽略的软件质量管理平台安全
背景
随着我国信息化进程加速,网络安全问题更加凸显。关键信息基础设施和企业单位在满足等保合规的基础上,如何提升网络安全防御能力,降低安全事件发生概率?默安玄甲实验室针对SonarQube供应链安全事件进行分析,强调供应链安全中易被忽略的软件质量管理平台安全。
近日,一个名为AgainstTheWest的组织在rainforums论坛频繁公布中国多个关键基础设施的源代码。除了对此类不法组织的痛恨之外,各位也应从中看到很多单位未重视供应链安全的问题。

图片来自网络
一、事件分析
去年十月,FBI就SonarQube未授权访问漏洞问题进行了通报。
https://s3.documentcloud.org/documents/20399900/fbi_flash_sonarqube_access_bc.pdf

图片来自网络
但由于国内外存在信息差,且不少单位对安全敏锐度相对较低,黑客利用攻防信息不对称对多个关基造成影响。当然也不乏一些响应较早的单位,例如西安交通大学网络信息中心(此处点赞)。

图片来自网络
以下为SonarQube的全球分布状况:其中美国最多,共有10,817;中国第二,2,576个;德国第三,有1,893个。

SonarQube全球分布情况(11月13日晚实时数据)
国内分布状况为:云主机和其它资产1,444个;北京第一,245个;浙江第二,198个。广东第三,168个。

SonarQube国内分布情况(11月13日晚实时数据)
二、软件质量管理平台与代码管理平台的安全
不少软件质量管理平台为B/S架构,导致黑客在寻找目标时更容易探测和获取其指纹,利用网络空间测绘技术对某个地区进行无差别批量攻击。
除了架构本身易被恶意利用外,安全产品本身的安全问题也值得关注,以Fortify为例,目前CVE已收录其25个安全缺陷。

Fortify CVE
另外,老生常谈的Gitlab、Gogs、Jenkins也可能成为源码泄露的罪魁祸首。以下为国内某互联网公司生鲜社区的代码仓库未授权访问:

图片来自网络
以下为Gogs全网的资产数量:

图片来自网络
三、如何防范类似供应链攻击
1、督促软件提供商重点关注开发工具链中的供应链风险
不管是SDL还是DevSecOps流程中,均涉及到众多开发工具或安全工具,例如上文中提到的Gitlab、Jira、Jenkins、Confluence、SAST等工具。若开发工具链中的产品出现安全风险,会直接威胁到企业业务源代码安全,因此针对开发体系中的工具,我们需要做好如下事项:
(1)控制暴露面,开发工具链中的任何工具不暴露到公网,并对企业暴露面进行周期性检查;
(2)加强工具的使用接入认证,面对异地办公、多地协作场景,建议使用零信任进行接入,管控接入风险;
(3)定期对开发工具链中的工具进行漏洞扫描,确保不存在历史漏洞;
(4)制定应急响应措施,一旦供应链厂商发生安全事件,立即响应。
-
默安科技巡哨·智能资产风险监控系统在今年4月已支持本次事件中的SonarQube漏洞检测,支持对企业内外网资产进行7*24小时持续监控,发现企业公网暴露面和内网外资产,及时作风险预警。

巡哨 PoC
巡哨(原哨兵云)是默安科技自主研发的一款智能资产风险监控系统,从攻击者视角帮助企业发现未知资产,通过漏洞风险、高危服务、外部威胁情报等多维度持续监控内外网及云上云下资产,实时更新最新漏洞扫描插件,帮助客户高效应对最新安全风险,实现资产透明化管理及安全风险监控。
-
默安科技幻阵·高级威胁狩猎与溯源系统已支持构建SonarQube沙箱,诱导攻击者发起攻击,远离真实资产,精准检测高级威胁,并实时捕捉SonarQube最新漏洞威胁情报。

幻阵SonarQube沙箱
-
默安科技零信任平台支持与钉钉身份认证集成,针对异地办公、远程接入场景,提供安全的身份认证,支持短信/邮箱/MFA等多种方式进行二次验证,且在用户的访问过程中持续对访问行为进行异常检测,一旦发现数据脱库、恶意攻击等行为,根据用户策略自动进行阻断或二次验证。
2、及时修改代码中的硬编码、密钥、微服务相关的API信息命名。
3、定期diff代码,避免出现类似Codecov供应链攻击事件。
相关文章:
供应链安全之被忽略的软件质量管理平台安全
背景 随着我国信息化进程加速,网络安全问题更加凸显。关键信息基础设施和企业单位在满足等保合规的基础上,如何提升网络安全防御能力,降低安全事件发生概率?默安玄甲实验室针对SonarQube供应链安全事件进行分析,强调供…...
python入门(二)
python的安装很方便,我们这里就不再进行讲解,大家可以自己去搜索视频。下面分享一下Python的入门知识点。 执行命令的方式 在安装好python后,有两种方式可以执行命令: 命令行程序文件,后缀名为.py 对于命令行&…...
Mysql,MongoDB,Redis的横纵向对比
一,什么是Mysql Mysql是一款安全,可以跨平台,高效率的数据库系统,运行速度高,安全性能高,支持面向对象,安全性高,并且成本比较低,支持各种开发语言,数据库的存储容量大,有许多的内置函数。 二,什么是MongoDB MongoDB是基于分布式文件存储的数据库,是一个介于关…...
css3 实现html样式蛇形布局
文章目录 1. 实现效果2. 实现代码 1. 实现效果 2. 实现代码 <template><div class"body"><div class"title">CSS3实现蛇形布局</div><div class"list"><div class"item" v-for"(item, index) …...
基于消失点的相机自标定
基于消失点的相机自标定 附赠最强自动驾驶学习资料:直达链接 相机是通过透视投影变换来将3D场景转换为2D图像。在射影变换中,平行线相交于一点称之为消失点。本文详细介绍了两种利用消失点特性的标定方法。目的是为根据实际应用和初始条件选择合适的标…...
Python:filter过滤器
filter() 是 Python 中的一个内置函数,用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该函数接收两个参数,一个是函数,一个是序列,序列的每个元素作为参数传递给函数进行判定&…...
Python函数学习
Python函数学习 1.函数定义 在函数定义阶段只检查函数的语法问题 2.实参形参 总结: (1)位置参数就是经常用的按照位置顺序给出实参的值; (2)关键字实参形式:key123;放在…...
IDEA中的Project工程、Module模块的概念及创建导入
1、IDEA中的层级关系: project(工程) - module(模块) - package(包) - class(类)/接口具体的: 一个project中可以创建多个module一个module中可以创建多个package一个package中可以创建多个class/接口2、Project和Module的概念: 在 IntelliJ …...
如何快速下载并剪辑B站视频
1、B站手机端右上角缓存视频; 2、在手机文件管理助手中找到android/data/80找到两个文件,video.m4s和audio.m4s,将它们发送到电脑,系统会默认保存在你的个人文件夹里,C:\users\用户名 3、下载ffmepg https://blog.cs…...
智慧矿山新趋势:大数据解决方案一览
1. 背景 随着信息技术的快速发展和矿山管理需求的日益迫切,智慧矿山作为一种创新的矿山管理方式应运而生。智慧矿山借助先进的信息技术,实现对矿山生产、管理、安全等各方面的智能化、高效化、协同化,是矿山行业转型升级的必然趋势。 欢迎关…...
Ubuntu使用Docker部署Nginx容器并结合内网穿透实现公网访问本地服务
目录 ⛳️推荐 1. 安装Docker 2. 使用Docker拉取Nginx镜像 3. 创建并启动Nginx容器 4. 本地连接测试 5. 公网远程访问本地Nginx 5.1 内网穿透工具安装 5.2 创建远程连接公网地址 5.3 使用固定公网地址远程访问 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#…...
面试笔记——Redis(使用场景、面临问题、缓存穿透)
Redis的使用场景 Redis(Remote Dictionary Server)是一个内存数据结构存储系统,它以快速、高效的特性闻名,并且它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。它主要用于以下场景: 缓…...
电机学(笔记一)
磁极对数p: 直流电机的磁极对数是指电机定子的磁极对数,也等于电机电刷的对数。它与电机的转速和扭矩有直接关系。一般来说,极对数越多,电机转速越低,扭矩越大,适用于低速、高扭矩的场合;相反&…...
数值分析复习:Newton插值
文章目录 牛顿(Newton)插值引入背景插值条件基函数插值多项式差商差商的基本性质差商估计差商的Leibniz公式 余项估计 本篇文章适合个人复习翻阅,不建议新手入门使用 牛顿(Newton)插值 引入背景 Lagrange插值每引入一…...
金融知识分享系列之:出场信号RSI指标
金融知识分享系列之:出场信号RSI指标 一、出场信号RSI指标二、RSI指标原理三、 指标用法四、RSI指标总结 一、出场信号RSI指标 名称:相对强弱指标参数:(默认14)组成:RSI线以及30轴、50轴、70轴构成 0-30是极弱:0-30的…...
基于Spring Boot的宿舍管理系统
摘 要 随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建宿舍管理系统。本文通过课题背景、课题目的及意义相关技术,提出了一种楼宇信息、宿舍信息、宿舍安排、缺勤信息…...
全量知识系统“全基因序列”程序构想及SmartChat的回复
感觉上,全量知识系统的程序起点基本确定。下一步就是程序了。程序的整个设计过程都准备同时使用两个AI工具。以下是和“百度AI”同步进行的Q&A。 Q1. 基本假设:“全基因序列”中“基因”的本质是联结collection。 做法是: 对给出的一个…...
315晚会曝光主板机产业链,如何应对工作室技术更迭
近日,央视315晚会开播,曝光了一批最新案例,聚焦消防、食品、金融、数据等多个领域。其中 “网络黑灰产”硬件设备「手机主板机」及其产业链暴露在大众视野。 手机主板机实物丨图源:央视财经 据报道,主板机的构造是将数…...
Copilot with GPT-4与文心一言4.0:AI技术的未来
Copilot with GPT-4的深度分析 Copilot with GPT-4是基于OpenAI的GPT-4模型,它是一个多功能的AI助手,能够在多种语言中进行交流和创作。GPT-4模型的强大之处在于其庞大的数据训练基础,这使得它在理解语境、生成文本以及执行复杂任务方面表现…...
注册-前端部分
前提:后端jar环境、Vue3环境、Redis环境 搭建页面(html标签、css样式) → 绑定数据与事件(表单校验) → 调用后台接口(接口文档、src/api/xx.js封装、页面函数中调用) Login.vue文件ÿ…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
