供应链安全之被忽略的软件质量管理平台安全
背景
随着我国信息化进程加速,网络安全问题更加凸显。关键信息基础设施和企业单位在满足等保合规的基础上,如何提升网络安全防御能力,降低安全事件发生概率?默安玄甲实验室针对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文件ÿ…...
SpringBoot ApplicationListener实现发布订阅模式
文章目录 前言一、Spring对JDK的扩展二、快速实现发布订阅模式 前言 发布订阅模式(Publish-Subscribe Pattern)通常又称观察者模式,它被广泛应用于事件驱动架构中。即一个事件的发布,该行为会通过同步或者异步的方式告知给订阅该事件的订阅者。JDK中提供…...
嵌入式学习40-数据结构
数据结构 1.定义 一组用来保存一种或者多种特定关系的 数据的集合(组织和存储数据) 程序的设计: …...
k8s集群部署elk
一、前言 本次部署elk所有的服务都部署在k8s集群中,服务包含filebeat、logstash、elasticsearch、kibana,其中elasticsearch使用集群的方式部署,所有服务都是用7.17.10版本 二、部署 部署elasticsearch集群 部署elasticsearch集群需要先优化…...
【Python】清理conda缓存的常用命令
最近发现磁盘空间不足,很大一部分都被anaconda占据了,下面是一些清除conda缓存的命令 清理所有环境的Anaconda包缓存 删除所有未使用的包以及缓存的索引和临时文件 conda clean --all清理某一特定环境的Anaconda包缓存 conda clean --all -n 环境名清…...
代码随想录算法训练营第46天 | 完全背包,139.单词拆分
动态规划章节理论基础: https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 完全背包理论基础: https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9…...
rust - 将windows剪贴板的截图保存为png
本文提供了将windows系统的截图另存为png格式图片的方法。 添加依赖 cargo add clipboard-win cargo add image cargo add windows配置修改windows依赖特性 [dependencies] image "0.25.0"[target.cfg(windows).dependencies] windows "0.51.1" clipb…...
pyflink1.18.0 报错 TypeError: cannot pickle ‘_thread.lock‘ object
完整报错 Traceback (most recent call last):File "/Users//1.py", line 851, in <module>ds1 = my_datastream.key_by(lambda x: x[0]).process(MyProcessFunction()) # 返回元组即: f0 f1 f2 三列File "/Users/thomas990p/bigdataSoft/minicondaarm/…...
算法学习系列(四十一):Flood Fill算法
目录 引言一、池塘计数二、城堡问题三、山峰和山谷 引言 关于这个 F l o o d F i l l Flood\ Fill Flood Fill 算法,其实我觉得就是一个 B F S BFS BFS 算法,模板其实都是非常相似的,只不过有些变形而已,然后又叫这个名字。关于…...
Re62:读论文 GPT-2 Language Models are Unsupervised Multitask Learners
诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名:Language Models are Unsupervised Multitask Learners 论文下载地址:https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learner…...
stm32-编码器测速
一、编码器简介 编码电机 旋转编码器 A,B相分别接通道一和二的引脚,VCC,GND接单片机VCC,GND 二、正交编码器工作原理 以前的代码是通过触发外部中断,然后在中断函数里手动进行计次。使用编码器接口的好处就是节约软件资源。对于频…...
深圳宝安企业网站建设/网站建设的好公司
1创建一个SpringBoot项目2在项目里定义一个接口,放在com.cy.pj.mail.service下,写一个方法。写一个实现类取继承接口,想要定义一个日志处理,想要以AOP的方式注入。3写一个测试类,要交给spring管理。有输出结果为hello …...
网站推广渠道类型/百度官方入口
点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天 14:00 更新文章,每天掉亿点点头发...源码精品专栏 原创 | Java 2021 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框…...
跨境独立站哪个平台好/2021年网络营销考试题及答案
7-27 冒泡法排序 (20 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−…...
wordpress 采集微信公众号/建站abc
文章目录PointNetDGCNN:Dynamic Graph CNN for Learning on Point Clouds (2018)其它PointNet PointNet论文翻译(PointNet实现第1步) ModelNet40格式的理解(PointNet实现第2步) 点云数据理解(PointNet实现第3步) PointNet理解…...
专门做餐饮运营的网站/域名怎么注册
使用PyCharm编辑代码过程中,可能因为复制粘贴操作,导致运行代码报错: TabError: inconsistent use of tabs and spaces in indentation 此报错表达的意思是IDE分不清tab和空格,说明你的代码中混用了tab和空格 【解决办法】 方法一…...
网站到期请续费/湖南企业seo优化报价
今天在做一个效果的时候,由于子视图和父视图都有响应的事件,子视图的事件理所当然被父视图拦截掉了,接下来就做分析解决 1. tableviewcell可以触发点击,同时tableview的父视图有点击识别,这样点击的时候就会产生冲突。…...