SCA技术进阶系列(三):浅谈二进制SCA在数字供应链安全体系中的应用

安全研究 # 课题:二进制成分分析(Binary SCA) 从源代码编译生成二进制过程中,有很多有助于理解代码意图的信息会被丢失,比如:函数名称、变量名称、数据结构定义、变量类型定义、注释信息等;其次,为了更好的保护二进制代码的知识产权或最大程度的提升对二进制代码的理解难度,还会对二进制代码进行。计算相似性的常见方法(28种)是将一段二进制代码表示为向量或一组特征,使得类似的二进制代码具有相似的特征向量或特征集。最常见的是序列中的指令在虚拟地址空间中是连续的,属于同一函数。语义相似性是指所比较的代码是否具有类似的效果,而语法相似性则是指代码表示中的相似性。 阅读详情

数字经济时代,随着开源应用软件开发方式的使用度越来越高,开源组件逐渐成为软件开发的核心基础设施,但同时也带来了一些风险和安全隐患。为了解决这些问题,二进制软件成分分析技术成为了一种有效的手段之一。通过对二进制软件进行成分分析,可以检测其中的潜在风险,并提供对用户有价值的信息。

本文将从二进制软件成分分析诞生背景、二进制文件可以分析哪些安全风险、二进制技术原理以及实践应用等维度深度剖析二进制软件成分分析关键技术。

01 为什么需要二进制软件成分分析

在工业系统、车联网系统、银行券商系统和嵌入式系统中,有无数的二进制程序和库,这些源程序可能长期丢失或是私有的,这意味着无法使用常规方法对这些程序和库进行修补或在源代码级别上评估其安全性。

供应链场景下,对于采购的交付件制品,大多无法提供源码,对于此类采购产品需要上线,或者需要集成到自研产品中的,则需要提前进行二进制制品的检测,进行安全评估。

在整个数字供应链的场景下,二进制检测的需求越发重要。

SCA的二进制检测可以对源代码检测起到很好的补充:

  • 二进制 SCA 检测对象为二进制构建产物,无需源码。

  • 二进制 SCA 和源代码 SCA 检测阶段不同,源代码 SCA 在开发阶段检测,二进制 SCA 在测试、交付阶段检测。

  • 在语言支持上互补,对 C++、C、Java、Go 等语言良好支持。

  • 在检测结果上给予补充,可检测静态链接库和在构建过程中引入的开源软件。

当然二进制成分分析也存在一些技术挑战:

  • 无法准确地确定程序中的变量和函数名。

  • 分析过程可能会因为一些代码混淆和程序加固技术而变得困难或无法进行。

二进制软件成分分析和源代码成分分析都不可或缺,在不同的阶段和场景下具备各自的优势。

02 二进制文件可以分析哪些风险

高级语言和二进制机器语言之间存在很大的语义鸿沟,因此很难知道它们如何进行联系。编译后的程序不一定会符合开发者的意图。存在二进制级别的后门程序和恶意代码植入等可能被忽视的风险。

二进制软件成分分析可以对提供的软件包/固件进行全面分析,通过解压获取包中所有待分析文件,基于组件特征识别技术以及各种风险检测规则,获得相关被测对象的组件SBOM清单和潜在风险清单。

主要包括以下几类:

  • 开源软件风险:检测包中的开源软件风险,如已知漏洞、License合规等。

  • 安全配置风险:检测包中配置类风险,如硬编码凭证、敏感文件(如密钥、证书、调试工具等)问题、OS认证和访问控制类问题等。

  • 信息泄露风险:检测包中信息泄露风险,如IP泄露、硬编码密钥、弱口令、GIT/SVN仓泄露等风险。

  • 安全编译选项:支持检测包中二进制文件编译过程中相关选项是否存在风险。

在了解二进制成分分析是如何分析出上述风险项之前,需要对二进制文件的定义,二进制文件的生成过程,以及二进制文件的基本结构和运行时的内存结构进行了解。

03 什么是二进制文件

二进制文件通常指将属于每个程序的所有二进制代码(机器指令) 和数据(变量、常量等) 存储在一个自包含文件中。这些文件包含可在对应系统直接运行执行的二进制文件,所以它们被称为二进制可执行文件,或者二进制文件。

狭义的二进制文件被定义为除文本文件以外的文件。即:文件内容由0、1组成,均可被称为二进制文件。

ELF格式和PE格式是

【前沿探索】|大模型在二进制安全领域中的应用 本文调研和测试了截至2024年5月的所有二进制相关大模型研究方案,探讨了利用大模型技术辅助二进制分析的策略、实施方案以及成果分析。这项研究旨在分享该领域的应用成熟度,并与各位专家交流,推动进一步的产品化成熟落地。 阅读详情

相关推荐

安全研究 # 实践:二进制成分分析(Binary SCA)在DevSecOps中的落地应用

本文深入探讨了二进制成分分析(Binary SCA)在DevSecOps中的实际应用,揭示了其在识别软件漏洞和许可证风险方面的关键作用。通过案例分析和技术原理详解,展示了Binary SCA如何作为CI/CD管道的最后防线,有效发现构建过程中引入的安全隐患,并提供落地实践中的工具链集成方案和误报处理技巧。

weixin_28693447的博客 359

AI安全悬镜,软件供应链安全关键入口-二进制SCA在软件供应链安全中应用

二进制SCA尤其适合闭源软件的安全评估,能够发现构建过程中工具链引入的安全问题,而源代码SCA则更适合在开发阶段提前发现风险。

分享软件供应链安全最新技术与最佳实践 1157

2025年SCA工具推荐:AI安全悬镜源鉴SCA,SBOM生命周期管理 供应链资产透明无忧

SCA技术已成为数字供应链开源治理的关键入口。

分享软件供应链安全最新技术与最佳实践 1371

AI安全悬镜:源鉴SCA在证券行业开源治理的应用实践

SCA技术已成为数字供应链开源治理的关键入口

分享软件供应链安全最新技术与最佳实践 1138

多模态深度学习在源代码漏洞检测中的应用.docx

多模态深度学习在源代码漏洞检测中的应用.docx

山东大学软件工程应用与实践——GMSSL开源库(六)——SM9密钥交换协议

2021SC@SDUSC 文章目录基本概念符号及辅助算法SM9密钥交换协议 基本概念 1976年,Diffie和Hellman在其题为《密码学的新方向》的论文中首次给出了公钥密码学的定义,并提出了Diffie-Hellman密钥交换算法。该算法解决了对称密码体制中的密钥分发问题,使得通信双方可以通过公开信道安全地交换共享密钥。 使用SM9通信的双方通过对方的标识和自身的私钥,经过两次或者可选的三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥。该密钥可以作为对称密码算法的会话密钥,其中可选步骤用来实

m0_51588039的博客 1988

CCF201803-2 碰撞的小球 python

一些话:已经不知道是第几次做这道题了(大概第三次吧),真的常做常新,每次都有新的细节想法。虽然方法简单粗暴,但好在方便理解,对于我这种菜鸟选手而言。 但在做的过程中,最开始还忽略了输入的小球初始位置有可能是无序的,输出的时候要保持相对位置。CCF真的考验细节,希望上考场时能够认真仔细一点。就酱… #碰撞的小球 #当小球坐标为0或L时,会朝相反方向移动 #当两个小球坐标相等时,会分别转向相反的方向 #计算t秒之后小球的位置 n,L,t = map(int,input().split()) location .

tanya_dre的博客 352

解决2020R2,2022R1等版本的SCDM无法编辑草图尺寸的问题

解决2020R2,2022R1等版本的SCDM无法编辑草图尺寸的问题

y_u_yu_yu_的博客 1万+

一步一步教你如何安装IP-Guard(客户端WINDOWS篇)

1、安装完服务器后,在服务器右下角有一个IP-GUARD图标:如图 2、点图标右键选注册: 3、注册成功后, 4、在开始菜单里选生成客户端安装包。 5、生成客户端安装包成功,安装名字可以任意,但是最好是英文名字。 6、将客户端安装程序复制到桌面。 7、退出所有杀毒软件、安全卫士、电脑管家等然后运行 8、安装完成后,立即重启计算机。IPguard客户端安装完成。 9、这样在控制里就可以看到已经安装客户端的计算机,在线显示蓝色,灰色表示计算机已经离线货关机 ...

IP-Guard专栏 5631

超详细教程YoloV8官方推荐免费数据集网站Roboflow一键导出Voc、COCO、Yolo、Csv等格式

YoloV8官方推荐了一个数据集网站,就是Roboflow。Roboflow是一个数据集管理平台,提供了免费的数据集,同时也支持上传自己的数据集进行格式转换。使用Roboflow,开发者可以方便地获取所需格式的数据集,无需手动转换格式。此外,Roboflow还提供了多种数据预处理、数据增强等功能,可帮助开发者更好地优化训练数据

Snu77的博客 2万+

60、新型共轴直升机建模与事件触发积分强化学习研究

本文研究了新型共轴直升机的动力学建模与控制方法,基于牛顿-欧拉方程建立了6自由度非线性模型,并设计了四通道闭环控制器实现稳定飞行。同时,提出一种事件触发积分强化学习方法,用于解决非零和博弈中的最优跟踪控制问题,在减少通信开销的同时保证系统性能。通过仿真验证了控制器的轨迹跟踪能力,并证明了算法下跟踪误差与神经网络权重估计误差的一致最终有界性。两种方法协同可提升飞行器的自主性与鲁棒性,未来可拓展至多智能体协作、智能交通等复杂系统应用。

rl6adventurer的博客 118

全志V3S嵌入式驱动开发(uboot移植)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 安装了ubuntu操作系统,有了开发板,下面就可以进行我们的开发工作了。第一步,我们要面临的问题就是uboot移植。一般来说,嵌入式的基础环境就是uboot、linux和rootfs。uboot完成一些基本硬件的初始化,比如cpu频率设置、ddr初始化、加载linux等等。早前,uboot的烧入比较麻烦,需要jtag工具才能完成。现在来说,很多soc支持系统直接从sd卡启动,这对开发

嵌入式-老费,一个分享专业嵌入式知识的blog 2822

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 版本升级 | v1.0.12发布,许可证风险早知道
下一篇: 叮~OpenSCA社区拍了拍您并发来一份开源盛会邀请函
OpenSCA社区
博客等级 码龄4年 171粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值