赞
踩
本文总结了开源软件供应链的关键环节, 基于近10年的攻击事件总结了开源软件供应链的威胁模型和安全趋势, 并通过对现有安全研究成果的调研分析, 从风险识别和加固防御两个方面总结了开源软件供应链安全的研究现状, 最后对开源软件供应链安全所面临的挑战和未来研究方向进行了展望和总结。
本文从开源软件供应链的环节角度对开源软件供应链进行威胁建模,总结了攻击目标环节、攻击面和违反的关键安全属性:
(下面是简要记录,详细内容看原文,主要是表1的展开举例)
开发环境:污染、操控、攻陷开发集成工具和环境等;
源码管理:绕过源码管理工具的验证管控、窃取开发人员的信任凭证等;
开发依赖:窃取分发市场的信任凭证, 借助分发市场管理上的错误绕过验证等;
分发管理:绕过分发市场的验证管控、包名误用攻击、恶意接管分发市场的管理权限等;
下载更新机制:DNS 劫持、中间人攻击、钓鱼攻击等;
运行环境:对运行环境中的数据进行篡改, 拒绝服务攻击以及提权攻击等;
开源软件供应链各个环节的攻击面风险识别技术:
各个环节的风险识别和评估总结为以下四个关键研究方向: 开源软件供应链中第三方组件
的风险识别、开源软件供应链视角下的应用软件风险识别、协作开发的风险识别及下载更新过程的风险识别;
主流第三方组件分发市场(包管理器):PyPI、NPM、RubyGem、OPKG等;
新兴第三方组件分发市场:亚马逊的语音技能市场、IFTTT平台等;
面向包管理器的风险识别,主要研究了恶意包注入的检测技术和其他支持在包管理器中中批量扫描和检测潜在具有漏洞风险的第三方包的相关研究;
MALOSS 框架是一个更普适的方案:通过元数据分析、静态分析和动态分析来对 NPM、PyPI 和 RubyGems 三大市场中的第三方包进行全面、系统的分析:
面向第三方语音技能分发市场的第三方组件风险识别:
面向自动化应用程序组件分发市场的第三方组件风险识别:自动化应用程序分发市场上发布了一系列提供特定应用功能的组件, 由下游开发者或用户对不同功能的组件进行组合配置,实现自动化的应用程序;
开源软件供应链视角下特有的软件风险及对应的风险识别方案:
针对软件系统中的第三方组件的风险识别研究中,当前的研究方案能够支持白盒和黑盒场景的分析,但是在抗混淆和可传递性上仍有较大研究空间。
多个角度研究高效检测软件系统中的第三方组件及其漏洞:
开源软件供应链中代码复用带来的 1day 漏洞及许可证违规风险;缺陷:混淆后的代码上的检测能力,下游任务如漏洞检测及许可证违规检测的相关研究;
源码
二进制 【ps:之前写过相关笔记】
分发环节中攻击者会对安全软件进行恶意篡改或者添加恶意载荷;
基于元数据的方案简单、速度快但准确率低。
基于相似度函数的相似恶意检测:
基于人工智能的代码相似性比较:训练要求高,训练花费时间长
对持续集成(CI)/持续交付(CD)管道和开发工具中的弱点进行代码仓库接受开发维护提交请求的评估、识别协作开发过程中代码提交的风险和隐私数据泄露的研究
代码提交请求中的代码风险
代码提交请求中隐私泄露风险 如:API 密钥泄露
用户在下载和更新软件时可能存在网络劫持、钓鱼网站,研究方向:更新下载渠道的风险识别
该方面研究较少,是因为希望从本质上解决下载更新渠道的安全性【但其实存在非渠道被攻击,而是供应链提供者主观作恶的情况,这方面研究就存在重要意义了】
针对开源软件供应链的主动加固和防御方案
组件及应用软件开发环节中可信开发方案的设计、组件及应用软件开发环节中代码的安全加固、应用软件分发环节中可靠的分发方案和应用软件使用环节中安全的使用方案;
协作开发过程和开发依赖中的可信开发研究
整个开发过程的安全性:通过对代码构建、编译、生成、测试和部署的每一个环节添加校验来保证程序的完整性,帮助实现安全可信的开发过程;
研究课题:减少攻击风险及构建代码补丁
可靠分发主要目标是保障应用软件的完整性和可追溯性
分发市场和应用商店通常设计并实现软件审核和检测机制以对抗伪装、虚假的应用软件,对应用程序进行 API 的扫描、代码相似性的检测以及人工审核测试程序是否能够正常运行且没有安全风险;
如何结合智能技术如混淆逻辑门、深度学习等来加强代码混淆能力以及对代码混淆的评估仍是重要研究方向之一;
当前的研究方案主要考虑到组件及应用软件开发环节和应用软件分发环节之间的供应关系【没考虑使用环节】, 设计对组件及应用软件开发和分发过程进行全面管理和监控的方案,来使得开发人员或终端用户可以从分发市场上下载可信安全的组件或应用程序。
in-toto 方案如果密钥泄露或者源代码集成环境缺陷导致绕过验证,该方案将不再有效。针对这一缺陷有两个研究方向:
这一节略写,详情看原文;
国内相关法律文件:
略;
略;类似上表;
略;类似上表;
略;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。