当前位置: 首页 > news >正文

世界顶级汽车品牌源代码遭泄露 详解源代码凭据安全解决方案

  源代码凭据安全,您别忽视  !!!

一、事件回顾

2024年1月29日,RedHunt 实验室的研究员Lohit爆料:某世界顶级的豪华汽车品牌源代码面临泄露风险!人为错误致GitHub令牌事故引发重大安全担忧。

图片

RedHunt Labs在一次互联网扫描时,发现该汽车品牌一名全职员工在他的GitHub存储库中泄露的GitHub令牌。GitHub令牌提供对内部GitHub Enterprise Server托管的整个源代码的“不受限制”和“不受监控”的访问。该事件暴露了包含大量知识产权的敏感存储库,泄露的信息包括数据库连接字符串、云访问密钥、蓝图、设计文档、SSO密码、API密钥和其他关键内部信息【1】。

Lohit认为:泄露的该汽车品牌Github Enterprise Server的GitHub令牌泄漏为潜在对手打开了访问和下载该组织的整个源代码的网关。深入研究此源代码可能会暴露高度敏感的凭据,从而为针对该汽车品牌极其严重的数据泄露创造温床。

无独有偶,2024年1月27日美国科技网站Ars Technica透露,黑客通过获取一个拥有管理员权限的老旧测试帐号的访问权限入侵了微软【2】。微软表示,俄罗斯政府支持的“午夜暴雪”(Midnight Blizzard)黑客组织使用密码喷射技术,利用弱密码凭据登录了一个“传统非生产测试租户帐号”,该帐号并未启用多因素身份验证。然后,他们以某种方式获得了高管以及安全和法务团队成员的电子邮件帐号的访问权限。微软介绍“午夜暴雪”是通过滥用OAuth授权协议,获得对特权电子邮件帐号的持久访问权限。

图片

二、原因分析

不难看出,这两起安全事件基本都是源代码的凭据泄露。世界顶级的豪华汽车品牌GitHub令牌泄露,使得对GitHub托管的整个源代码的“不受限制”和“不受监控”的访问,通常都是Token硬编码导致。午夜暴雪入侵微软Office365,起因也是“利用弱密码凭据” 

其实,源代码安全并不是一个新鲜的话题,一直以来都有。只是大家都是以攻防视角、以传统网络安全视角去审查源代码。基本思路:寻找漏洞,避免遭受网络攻击。如:扫描源代码是否存在安全漏洞、是否存在恶意代码、是否留有后门等,以网络安全的视角在对源代码进行“体检”。

源代码的凭据泄露或窃取,没有真正被有效解决,主要原因正如这次的汽车品牌事件和微软事件一样,没有人从数据安全的视角去审视源代码。源代码编写不规范,导致Password硬编码、Token硬编码、弱加密算法、高熵字符串等硬编码问题,比比皆是,但往往被忽视,并且许多安全厂商还没有相应的技术手段去解决。

三、亚信安全源代码风险解决方案

亚信安全数据安全团队很早就注意到这个问题的严重性,硬编码密码问题在企业代码仓库中日益严重,“黑客盗用 OAuth 令牌,导致个组织数据泄露”安全事件层出不穷。

01 硬编码危害

  • 削弱系统安全性

大量的攻击者常通过公共代码库或反编译分析获得硬编码密码字符串,利用弱密码凭据的可读性,访问敏感数据或获取敏感操作权限。攻击者还可以进一步扩大攻击范围,进行数据勒索、帐户操纵、帐户创建、通过用户数据进行利用等,使得企业和用户都遭受严重损失。

  • 不易于程序维护 ,修复较为困难

硬编码密码的修复较为困难,密码一旦被利用无法轻易被修正。对于正在线上运行的服务或系统,修复硬编码密码问题需要停服重新发布。大型企业的服务流量较大,服务间还存在依赖,则需要灰度发布,修复流程更长,其间可能持续受到攻击者威胁。密码的蔓延也使维护变得困难。

02 产品设计方案

亚信安全数据安全团队立足于对硬编码密码危险性的分析,基于DSOP平台,研发了源代码敏感信息主动扫描功能。通过对代码仓库的跟踪扫测,以扫描报告的形式,提醒程序开发人员,仓库代码工程的硬编码情况,包括硬编码位置、快照以及修改建议,为组织的源代码安全保驾护航。方案还提供代码编辑器扩展插件,实时跟踪检测开发人员在代码编辑过程中可能出现的代码数据安全风险,并在编码界面中直接给出提示与修改建议。

平台涵盖了源代码的Password硬编码、Token硬编码、弱加密算法、高熵字符串等四大类,26项硬编码风险检测识别能力。可及时提醒客户,加强代码规范建设,帮助客户提升代码安全。并根据问题闭环逻辑,针对每个问题进行复测,直至问题关闭。

03 主要功能介绍

  • 源代码扫描任务

选取代码仓库的项目代码工程对象、扫描策略以及任务执行方式,实施源代码静态扫描。

图片

图片

  • 源代码扫描结果

根据任务编排的扫描对象和扫描策略,按照报表规范,分类展示扫描结果,提供硬编码位置和处置建议,方便研发人员高效处置。

图片

  • 硬编码风险提示

在编码界面中直接给出提示与修改建议,极大方便程序员进行快速处置,避免风险问题难定位、传递衰减,根除不尽等问题发生。

图片

图片

  • 源代码资产清单

源代码,作为企业重要的数据资产的一部分,进入组织的资产盘点序列,与数据库资产、文件资产、API资产一起,进行系统性分类展示。

图片

04 方案总结

亚信安全数据安全之源代码凭据安全解决方案,围绕企业核心数据资产-源代码,以数据安全的视角,通过检测Password硬编码、Token硬编码、弱加密算法、高熵字符串以及其他硬编码问题,对源代码进行深度扫描。帮助企业识别源代码凭据泄露风险,填补组织的防护空缺,提升组织的数据安全防护能力。

参考文献

1.Lohit. https://redhuntlabs.com/blog/mercedes-benz-source-code-at-risk-github-token-mishap-sparks-major-security-concerns/. 2024.1.29

2.DAN GOODIN. https://arstechnica.com/security/2024/01/in-major-gaffe-hacked-microsoft-test-account-was-assigned-admin-privileges/. 2024.1.27

相关文章:

世界顶级汽车品牌源代码遭泄露 详解源代码凭据安全解决方案

源代码凭据安全,您别忽视 !!! 一、事件回顾 2024年1月29日,RedHunt 实验室的研究员Lohit爆料:某世界顶级的豪华汽车品牌源代码面临泄露风险!人为错误致GitHub令牌事故引发重大安全担忧。 RedHunt Labs在一次互联网扫描时&#x…...

Mysql-备份与恢复

目录 一、备份表 1.无需备份表结构 2.备份表结构 3.mysqldump方式备份表 二、备份库 一、备份表 1.无需备份表结构 CREATE TABLE a_bak as select * from a;#备份表(不包含表结构)TRUNCATE TABLE a;#清空表 INSERT INTO a SELECT * FROM a_bak;#插…...

基于STM32的UART/USART数据传输的错误检测和纠错机制研究

在STM32的UART/USART数据传输过程中,为了确保数据的可靠性,通常需要使用错误检测和纠错机制。常见的错误检测和纠错技术包括奇偶校验、循环冗余校验(CRC)、硬件流控制和重发机制等。本文将重点介绍这些技术在STM32上的应用&#x…...

「优选算法刷题」:计算布尔二叉树的值

一、题目 给你一棵 完整二叉树 的根,这棵树有以下特征: 叶子节点 要么值为 0 要么值为 1 ,其中 0 表示 False ,1 表示 True 。非叶子节点 要么值为 2 要么值为 3 ,其中 2 表示逻辑或 OR ,3 表示逻辑与 AND…...

A系统数据表同步到B系统数据表

一、 事务操作 (小量数据) 事务操作通常用于确保数据的一致性和完整性。以下是一些常见的应用场景: 银行转账:当从一个账户向另一个账户转账时,需要确保两个操作(从一个账户扣款和向另一个账户存款&#x…...

Qt实现类似ToDesk顶层窗口 不规则按钮

先看效果: 在进行多进程开发时,可能会遇到需要进行全局弹窗的需求。 因为平时会使用ToDesk进行远程桌面控制,在电脑被控时,ToDesk会在右下角进行一个顶层窗口的提示,效果如下: 其实要实现顶层窗口&#xf…...

发布4-运行JRT程序

到了本章节,你需要准备好JDK17的环境和idea环境。并且安装好选择的数据库软件。这章将正式开始JRT的程序开发。 首先获取程序,我会给下载地址 下载后解压会得到下图目录的文件结构,DBFile放IRIS和PG的数据库文件,JRTClient放打包…...

利用VPN设备漏洞入侵!新型勒索软件CACTUS攻击手法分析

近期,亚信安全应急响应中心截获了利用VPN设备已知漏洞传播的新型勒索软件CACTUS,该勒索于2023年3月首次被发现,一直保持着活跃状态。CACTUS勒索软件通过Fortinet VPN的已知漏洞进行入侵(黑客首先获取到VPN账号,再通过V…...

第7章 SpringBoot安全管理

学习目标 了解SpringSecurity安全管理的功能 掌握SpringSecurity的安全配置 掌握SpringSecurity自定义用户认证的实现方法 掌握SpringSecurity自定义用户授权管理的实现方法 掌握如何使用SpringSecurity实现页面控制 实际开发中,一些应用通常要考虑到安全性问题。例如,对于一…...

【QT+QGIS跨平台编译】之二十二:【FontConfig+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、FontConfig介绍二、文件下载三、文件分析四、pro文件五、编译实践 一、FontConfig介绍 FontConfig 是一个用于配置和定制字体的库,广泛应用于基于X Window系统的操作系统中,尤其是在Linux和Unix-like系统中。它为应用程序提供了一种统一的…...

echarts中绘制3D三维地球

简介 echarts中的三维地球,需要用到世界地图json数据,我把json文件放到我的资源中,有需要的自行下载。 安装插件 // 安装echats npm install echarts --save npm install echarts-gl --save 项目中引用 1,引入安装的echarts…...

go grpc高级用法

文章目录 错误处理常规用法进阶用法原理 多路复用元数据负载均衡压缩数据 错误处理 gRPC 一般不在 message 中定义错误。毕竟每个 gRPC 服务本身就带一个 error 的返回值,这是用来传输错误的专用通道。gRPC 中所有的错误返回都应该是 nil 或者 由 status.Status 产…...

Redis实现登录的优化

目录 1 前言 2 实现步骤 2.1 软件环境准备 2.1.1 Redis的安装 2.1.2 在pom.xml中添加依赖 2.1.3 在application.yml中进行相关配置 2.2 StringRedisTemplate的常用方法 2.2.1 获取operations 2.2.2 主要方法 2.3 令牌主动失效机制 2.3.1 登录时将令牌存入Redis 2.…...

ROS方向第二次汇报(5)

文章目录 1.本方向内学习内容:1.1.自定义msg:1.1.1.定义msg文件:1.1.2.编辑配置文件: 1.2.自定义srv:1.2.1.定义srv文件:1.2.2.编辑配置文件: 1.3.服务通信案例实现:1.3.1.服务端实现…...

C# 浅克隆与深克隆

在C#中,浅克隆(Shallow Clone)和深克隆(Deep Clone)是两种常见的对象克隆技术,用于创建对象的新副本。 它们的主要区别在于复制对象的层次和属性的处理方式。 浅克隆(Shallow Copy)…...

Shell 正则表达式及综合案例及文本处理工具

目录 一、常规匹配 二、常用特殊字符 三、匹配手机号 四、案例之归档文件 五、案例之定时归档文件 六、Shell文本处理工具 1. cut工具 2. awk工具 一、常规匹配 一串不包含特殊字符的正则表达式匹配它自己 例子,比如说想要查看密码包含root字符串的&#x…...

React | Center 组件

在 Flutter 中有 Center 组件,效果就是让子组件整体居中,挺好用。 React 中虽然没有对应的组件,但是可以简单封装一个: index.less .container {display: flex;justify-content: center;align-items: center;align-content: ce…...

头歌C++之函数强化练习题

目录 第1关:结构实现复数运算 任务描述 编程要求 第2关:求亲密对数 任务描述 编程要求 第3关:计算一年的第几天 任务描述 编程要求 第4关:正整数求和 任务描述 编程要求 第5关:Pig Latin 任务描述 编程要求 第6关:打印日历 任务描述 编程要求 第1关:结…...

淘宝扭蛋机小程序:开启你的惊喜之旅

随着移动互联网的飞速发展,各种小程序层出不穷,其中,淘宝扭蛋机小程序以其独特的互动性和趣味性,吸引了大量用户。本文将为你详细介绍这款小程序的特色功能、用户体验以及如何使用,助你开启一段惊喜之旅。 一、特色功…...

Jmeter 基于Docker 实现分布式测试

基于Docker 实现分布式测试 制作Jmeter基础镜像制作工作节点镜像启动工作节点启动控制节点遇到的问题 使用Docker 部署Jmeter非常方便,可以省略软件的安装以及配置,比如jdk、jmeter。需要部署多个工作节点可以节省时间。 制作Jmeter基础镜像 下载jmeter…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

LLM基础1_语言模型如何处理文本

基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...