| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 专家有料 | 李中文:美团软件成分安全分析(SCA)能力的建设与演进 -> 正文阅读 |
|
[大数据]专家有料 | 李中文:美团软件成分安全分析(SCA)能力的建设与演进 |
文丨李中文(e1knot) 现任美团安全高级工程师,负责公司基础安全运营相关的能力建设工作,拥有丰富的安全运营能力建设经验。曾在DEFCON China、ISC等多个会议分享安全运营相关议题。 前言 随着DevSecOps概念的逐渐推广和云原生安全概念的快速普及,研发安全和操作环境安全现在已经变成了近两年行业非常热的词汇。在研发安全和应急响应的日常工作中,每天都会收到大量的安全风险信息,由于目前在系统研发的过程中,开源组件引入的比例越来越高,所以在开源软件治理层面需要投入很多精力。但是由于早期技术债的问题,很多企业内部在整个研发流程中对使用了哪些开源组件,这些开源组件可能存在严重的安全隐患等相关的问题几乎是没有任何能力去收敛,所以多年前的SCA(Software Composition Analysis,软件成分分析)技术又重出江湖,变成了这一部分风险治理的神器。本文主要探讨的范围是利用SCA技术实现对开源组件风险治理相关能力的建设与落地。 SCA概念其实出现很久了,简单来说就是针对现有的软件系统生成粒度非常细的SBOM(Software Bill of Materials,软件物料单)清单,然后通过风险数据去匹配有没有存在风险的组件被引用。目前市面上比较出色的商业产品有Synopsys的Blackduck、Snyk的SCA、HP的Fortify SCA等,开源产品有国内悬镜的OpenSCA。但是通过对这些产品的调研和分析后发现,这些产品由于诸如风险数据库完整度、与现有研发流程耦合程度、性能和社区支持不完整等原因,不能很好地融入企业内部的研发流程,但是这一部分能力在企业内部对于SDL工作而言又是不可或缺的能力。所以企业内部的信息安全团队需要结合业务团队的需求,安全团队自身对于风险的理解,企业内部的研发流程现状和现有的技术与数据能力、应用成本和ROI等现状和问题进行综合考虑,打造自己的SCA能力,从而帮助业务团队多快好省地解决软件供应链层面上的信息安全问题,安全团队也可以更好地对组件风险问题进行全局视角下的治理。从上面的内容大家也许听出来了,在企业内部建设SCA能力的过程中会涉及到很多的产品和运营方面的问题,诸如跨部门协作、系统稳定性、业务和安全部门对于风险的定义不一致等问题。本文主要介绍SCA能力在企业内部实际落地的过程、遇到的问题以及对SCA技术的看法和展望,旨在为业界提供一个可以参考的解决方案和范本。 安全视角下的研发风险 在企业内部的信息安全团队看来,很多企业内部实际上在整个研发流程当中遇到的风险面实际上是蛮多的,通过对于各种攻击面的梳理和分析之后,实际上在研发流程中被经常提及的风险主要包含以下三类。 一、通用漏洞风险 在组件安全层面上,首先遇到的问题,也是最容易发现的问题就是漏洞问题,造成的影响也十分直观,可以导致系统因为恶意的利用导致出现非预期的功能,进一步破坏系统的完整性和可用性。根据2021年Synopsys放出的软件供应链相关的数据显示,开源代码仓库中至少存在一个漏洞的仓库占整体开源仓库的比例从2016年的67%上升到了84%,至少存在一个高危漏洞的代码仓库占全部仓库的比例从2016年的53%上升到了60%,最高的时候是2017年,这一数字是77%。 ?而根据2020年Snyk发布的另一份开源组件与供应链安全的报告显示,漏洞的数量仍然需要提高警惕,XSS漏洞仍然占据数量榜首,紧随其后的是命令执行类漏洞,这些漏洞会严重影响系统的稳定性。 ?在上述所罗列出来的风险当中,当注意力集中到恶意包(Malicious Packages)上时,我们可以发现该类型的风险是2019年度上升幅度最快的威胁之一,这也引出了下面的问题。也就是软件供应链相关的风险。 二、供应链相关的风险 开源组件的生产-构建-发布过程其实是与企业内部常规的系统研发上线的流程是一致的,简单来说可以抽象成下图中的样子: ?开源软件作者完成代码编写后push到源代码管理平台(GitHub、码云、Gitlab私服平台)等,然后在CI/CD平台上发起构建编译打包的流程,在这个过程中,CI/CD平台会从组件依赖平台(Sonatype Nexus私服或是MVNRepository官方源)上获取需要依赖的包,在CI/CD平台完成打包/镜像封装过程后,通过项目分发平台分发到生产环境上,更为现代的方法是直接拉取Docker镜像做部署,完成系统的上线。 这个过程看似简单,但是实际上环节还是有不少的,我们把每个环节拆解来看,实际上每个环节都是会有很多风险的,如下图所示: ?
三、过维护期的组件 在实际的生产环境中,有很多的开发者使用的运行时版本、组件版本以及CI/CD平台版本都是已经很久未更新的。虽然说站在安全的角度上讲,我们希望所有的系统都用上最新版本的组件和中间件,但是事实情况是,基于业务自身的规划迭代、大版本改动较多容易引发兼容性问题导致升级迁移成本过高等诸多原因,使得落地这件事情就变的不是那么容易。为了让安全性和易用性达到平衡,企业内部往往会妥协到通过其他手段收敛攻击面并且建立旁路的感知体系,保证除了安全问题可以及时发现和止损。但是长久看来引入过时版本的组件会引发诸多问题:
综上,在安全团队的视角看来,风险无处不在。但是在一个非安全业务的安全公司,往往业务对于风险的理解和要求与安全团队可能大相迳庭。 业务视角下的安全研发风险 实际上在业务同学看来,他们也十分重视信息安全的相关工作,有些公司的业务技术团队甚至成立了专门的安全团队来协助研发同学处理安全相关的问题。可见业务不是排斥甚至抵制安全工作,而是缺乏合理化和可操作的安全指导,导致业务同学不知道我们有什么风险。在实际的组件风险修复过程中,我们也收到了很多业务同学的反馈和吐槽。总结起来有以下几种情况:
从实际情况来看,业务同学并不是不想做安全,很多时候是缺乏一个有效的机制,告诉他们引入的软件依赖是否安全,需要完成那些操作和配置才能让开源组件用着安全。作为安全工程师而言,我们需要站在业务的立场上去设身处地想想,这些问题是不是真的不能被解决。由于业务和安全双方都有关于组件安全相关的需求,恰好SCA这项技术可以很好地满足业务和自身的需求,所以在整个SCA建设的过程中,我们需要不断去挖掘这些需求。 SCA建设的过程 SCA其实并不是一项很先进的技术,只是在现代的研发过程中随着流程的标准化、组件的丰富化、开源社区的活跃以及开发成本的降低等诸多原因,使得一个项目中纯自己写的代码占整个项目中全部代码的比例越来越低了。也就意味着供应链的问题产生的影响会越来越大,随着DevSecOps的火爆,重新带火了SCA这一传统的技术。 根据很多企业内部的实践以及业界对于SCA技术的理解,我们认为SCA比较核心的功能有以下几点:
正所谓罗马不是一日建成的,虽然现在确定了SCA建设需求和建设的方向,但是落地起来的话仍然需要分阶段完成。正如建设其他的安全子系统一样,安全团队需要按照从基础数据/SOP建设到平台化系统化的建设来完成整个SCA能力的落地。所以在实际操作过程中,应该将整体建设分成三个阶段进行: 第一阶段:数据盘点与收集。在项目建设前期,信息安全团队应当和企业内部的基础架构相关的团队,完成企业内部基础组件的数据资产盘点,旨在从基础技术和信息安全的视角实现对研发技术栈、研发流程链路的摸排,在合适的位置进行数据卡点获取相关数据,完成对资产数据的采集。另一方面,信息安全部门在现有的威胁情报经验和数据上,对组件数据进行数据封装和整合,建立一个单独的开源组件风险数据库,旨在收集来自于全量互联网上披露的风险,方便与后面的资产数据进行联动。 第二阶段:SOP(Standard Operating Procedure,标准运营流程)和概念验证建设。信息安全团队通过自己的漏洞修复经验进行SOP的固化,通过不断地调优,完成一个通用的漏洞修复SOP,通过实际的演练和概念验证(PoC,即Proof-of-Concept)证明该SOP可以在现有的技术条件下很好地完成风险修复这一部分工作。同时结合SOP,对之前收集的资产数据和风险数据进行查漏补缺,完成对数据和数据链路的校验工作,保证系统高可用。在这个阶段,SCA的服务提供方需要开放部分的核心API给部分业务的质量效率团队,帮助进行测试并收集使用反馈,让其融入自己的风险治理环节。 第三阶段:平台化及配套稳定工作的建设。当SOP初步成型并且完成了概念验证之后,应当需要建设对应的平台和子系统,让这一部分工作脱离手动统计,使其接近100%线上化。得益于内部SOC的模块化设计,可以在现有的平台上轻松构建出SCA相关的子系统,完成能力的数据。针对终端用户可视化风险这一问题,SCA子系统会提供核心的APIs给面向研发同学端的SOC平台完成风险信息的同步。为了保证服务的高可用,后续还会建设配套的数据链路检查机制,不断完善数据可用性。 ?一些比较重要的工作如上图所示。三个阶段完成之后,SCA的能力大概就建设好了,但在建设过程中,安全团队需要考虑很多东西。笔者个人认为如果说安全厂商的安全产品和服务可以被认为是问题解决的分子的话,甲方安全团队的工作更多的是做大做全分母,要把各种情况都考虑面面俱到,才能保证风险不被遗漏。? 首先来说在资产建设方面,企业内部的安全团队、质量效率团队以及数据平台团队等存在研发流程的技术团队,需要配合完成自己所辖的CI/CD系统数据和数据服务构建数据的采集工作,同时也在为IDE插件团队提供了SCA的API,完成了从代码开发环节到应用上线环节的数据采集。但是我们在应用这一部分数据之后发现了很多问题,除开数据本身质量和准确度不谈(不谈不代表重要,相反这一部分很重要,后面会介绍这一部分),按照前面提到的场景,还会有很多额外场景,比如说业务在灰度了一部分之后就忘掉了还没灰度完,导致一个服务下面只修复了一部分机器,再比如有很多的“小可爱”会绕过企业本身的CI/CD流程进行部署操作(有些甚至还是自己人)。为了考虑到这些额外的情况,我们应该从主机的粒度重新考虑这件事情,也就是说通过主机实例(docker容器、虚拟机、物理机)本地的HIDS agent,完成文件信息、进程信息、环境变量、shell-log等信息的分析,确定主机实例修复完毕了。这样我们就建立了一个构建链路-主机维度的数据正反校验机制,理论上讲主机端HIDS agent覆盖度和存活率都达标的话,我们几乎可以得到一份详细的软件资产的数据(当然数据不准、延迟这些问题是肯定还会有的),详细的落地核心工程和结构关系看下图: ?在数据确定覆盖的差不多的时候,我们需要通过数据总线传递给数据仓库和计算引擎,完成数据的交叉和分析工作,得出的结果便是存在哪些风险和风险进度。在这里实时引擎一方面需要承担增量资产数据的分析,另一方面也会保存很多聚合的CEP规则进行分析。离线引擎则是完成存量风险的周期性发现和治理工作。 讨论完资产数据的采集之后,我们来谈论风险数据的收集。早在威胁情报体系化建设阶段,组件漏洞情报就作为基础安全情报应用场景下漏洞情报的一个子集一直存在,但由于之前局限于“漏洞=风险”的观念,导致实际执行过程中只存放了组件漏洞相关的风险信息,在综合评估完现有的需求和实际情况之后,发现当前组件漏洞数据,只能承担一部分研发安全风险的治理工作,而像对于供应链投毒、开源组件基线情况等其他类型的风险数据,由于当时还没有数据能够提供成熟的能力输出给业务方使用,经历过充分的讨论和调研之后,决定将组件相关的漏洞数据独立出来,并且新增采集供应链安全的其他风险数据,重新建立一个组件安全相关的数据库,完成风险数据的存储和应用。通过结合自身威胁情报的实践和业界关于组件风险收集的最佳实践来看,打算从5个维度实现对组件相关的风险进行收集和存储:
通过上面的信息,我们发现这里面绝大部分数据都是非结构化的,换句话说就是不可以直接拿来使用,需要处理(异构数据、自然语言数据)后才可以使用,所以我们在处理时会引入NLP分析引擎并且对漏洞风险数据打标后(主要工作是添加RepoID用来和资产数据联动),才可以向下传递给数据引擎和APIs。(从威胁情报数据建设的角度来看,2019年前后,基础安全相关的威胁情报实现了结构情报和非结构情报约为1:1,现在非结构的情报数据远高于结构化的情报数据,这也越来越接近于设计的目标),具体的落地核心工作内容和关系结构如下图所示: ?在风险信息处置环节,实时计算引擎和离线引擎的作用与资产数据处理的时候是一致的,主要解决增量和存量的问题。同时考虑到业务自身会有自助排查风险的需求,SCA平台也会提供一些核心的APIs给业务方。 在开始着手建设这些数据相关的基础设施时,需要提出一些建设指标,防止一些关键的功能因为平台本身的问题,导致服务大规模不可用。在资产方面,目前资产数据库的基础设施可以支持TB级别资产数据的检索能力,返回时间不超过100毫秒;而在风险数据建设方面,目前覆盖了共计10个技术栈(包含主流的Maven/Gradle、PyPi、NPM、SPM、APT/Yum、CocoaPods在内)共计约59万条风险数据,更新周期在两小时以内,通过计算引擎可以和资产数据进行快速匹配,节省了将近95%的受影响资产排查时间,大大提升了运营效率。 在匹配规则建设方面,因为数据来源较多且杂乱,通过自研的NLP分析引擎进行大规模的训练和处理数据之后,可以统一到一个比较固定的数据结构里面,在打标处理后可以实现和资产数据的高效联动。鉴于NLP模型的训练过程和训练方法不属于SCA建设过程中比较重要的技术,所以本文中不会展开叙述详细的训练过程和情感推断训练过程。除了资产信息关联之外,风险数据库可以同时实现对CVSS(即Common Vulnerability Scoring System,即通用脆弱性评分系统)的匹配,及时推送满足CVSS影响范围(这里不是指CVSS分数,而是指CVSS的描述表达式)的漏洞信息,提醒安全运营的同学关注相关风险并及时进行研判。 ?对于风险的基线数据,目前基线建设数据没有一个相对完整的参考标准,但是Google推动成立的OpenSSF基金会(Open Source Security Foundation,在Google等互联网企业和美国政府的推动下成立的开源组件安全基金会)在2021年下旬发布的ScoreCard功能是一个很好的参考标准,结合同样是OpenSSF推出的AllStar基线检测工具,可以完美补充组件基线相关的数据。 ? SCA建设中遇到的问题 在SCA建设过程中,实际上并不是一帆风顺的,总结一下困难的地方,有以下几个方面:
2. ?数据质量与数据链路的可靠性:数据质量和可用问题是自打立项开始一直到后期运营都会出现的问题,问题可能来自于上游采集逻辑不完备或采集错了的原因,还有数据链路不稳定导致写入计算引擎出现大批量丢失的问题,还有数据链路没有检查机制导致不知道具体问题出在哪里,甚至由于使用的数据分析技术栈的原因,导致打过来的数据是错乱的,错乱的数据有可能会影响CEP规则的准确性和有效性。这当中的有些问题不是偶发的,甚至有些问题是在真实应用的场景下仍旧会高频出现,所以建立一个长效的数据拨测机制和数据污点追踪能力是必要且必须的。 3. ?风险数据的数据结构与准确度:由于在风险数据中引入了过多的来源,且大量引入了机器学习和NLP技术把非结构化数据转换成结构化数据,考虑到模型训练的精度、训练样本数据、训练网络等问题,导致平台提取出来的漏洞信息很多时候会有一定的出入,并且由于风险情报数据比较依赖上下文和实效性,所以需要在各方面做取舍,这个问题其实和数据的问题一样,不是一朝一夕能解决的,需要大量的实践运营和拨测机制case by case地去推动解决。 4. ?CI/CD管制与非标准资产的治理:这一方面实际上与SCA落地的关系不是很大,但是拿出来的原因是SCA本身是一个需要强关联研发流程的能力,好的SCA平台除了可以提供标准化的APIs和GUI让用户快捷操作,同时也需要兼容非标准的发布流程和上线标准,这就是为什么除了主要的几个技术栈之外仍旧覆盖了一些偏小众的技术栈,如C#/Powershell的NuGet、ErLang的Hex包管管理等。 5. 资产透视深度:这一部分其实是SCA核心能力的体现,从理论上讲,SCA是有能力分析诸如FatJar这种开源组件嵌套的jar包,但实际上受制于数据质量和技术能力,往往无法分析到一个非常细的粒度,所以这一部分需要去设计一个MTI(maximum tolerate index在这里表示可接受的最粗分析粒度)指标去指导相关的设计。 SCA技术未来的展望 在建设过程中,我们参考了很多公司和商业产品对于组件风险分析和治理的最佳实践,翻阅了大量与软件成分分析技术以及软件供应链安全治理相关的论文文献、公开的专利以及企业的博客。其中OpenSSF基金会的一些研究成果让人印象深刻。在2021年6月份OpenSSF发布SLSA(Supply chain Levels for Software Artifacts,即软件供应链安全等级)之后,围绕SLSA这一套标准陆续发布了很多有助于我们分析的数据服务和产品,比如准SCA产品Open Source Insight,漏洞风险库OSV(Open Source Vulnerabilities,开源组件风险数据),软件安全基线检查工具AllStar和ScoreCard,开源组件风险奖励计划SOS Rewards(可以理解为是开源组件的漏洞奖励计划)。可以初步看到未来SCA的建设路线一定是三个方向:追求足够细粒度的资产和风险透视能力,风险的主动识别能力和开源软件的基线检查能力。换句话说,SCA如果想做到足够有效,需要覆盖从软件开发到上线的所有环节,包括代码完整性、流程完整性和基线巡检功能,都会需要SCA的核心能力。 除了SCA提供的风险透视能力,在整个DevSecOps环节,安全团队、质量效率团队、运维团队和业务团队需要非常默契的配合,大家各司其职共同解决研发方面的风险,在这其中,安全团队能够提供的,除了风险数据和修复建议之外,还需要提供一些对应的基础设施帮助业务团队更高效地处置风险。扩展到整个开源软件风险治理方面,也可以给大家一个cheatsheet做参考。 ?当然想要做到以上所有的项目,实际上对于企业的基础架构和基础设施有一定的要求,但好在目前开源社区对于供应链安全治理提供了一些安全的解决方案,诸如国外由OpenSSF或者商业公司牵头设计开发的一系列工具链,如ChainGuard.dev,SigStore,Anchore等,当然国内也有很多优秀的开源解决方案。可以在进行一定修改之后,集成到现有的基础架构中。 考虑到安全的对抗属性在里面,SCA工具如果融合进企业内的研发流程中,必然会引发很多对抗SCA检测的路子,况且在调研过程和实际处置过程中,绕过固有研发流程的情况是比较常见的,所以后续在继续建设SCA能力的过程中会逐步加入对抗的检测和加固,防止漏网之鱼。 结语 以上为在整个SCA能力建设过程中的一些想法和实践,在建设SCA能力的过程中,通过与各团队的协同工作和沟通,了解了很多业务对于组件安全方面的想法和真实需求,通过需求得出需要建设的能力,在技术方案落地中,企业内部部署的很多安全产品,诸如HIDS Agent和RASP等,可以从主机的角度去反向验证建设的过程是否正确。SCA能力的落地离不开安全团队与业务团队的配合。实际上在SCA的建设过程中,我们如果再往更深层次去看,会发现诸如闭源软件、开源软件的跨架构、跨编译器的识别、其他载体(比如容器镜像、软件成品)的安全分析等,这些技术挑战对于实际企业内落地SCA能力而言还是蛮高的,考虑到目前的解决方案还停留在PoC阶段,故不在本文中提及。 如果抛开整个落地的过程,考虑到各家在基础设施、核心技术栈、主机信息监控能力的参差不齐,所以必定会有不能落地的地方。而站在安全服务提供商的角度上看,SCA相关的产品未来建设的过程中可能需要更加轻量化和开放协同化。所谓轻量化,是指产品的核心功能可以在脱离基础设施多种多样的前提下,能够稳定高效的去提供核心能力,做到很好地与客户的研发流程完美衔接,从调研结果来看,目前市面上所有的SCA产品,基本上都存在一个架构设计比较重的问题,不能很好去融入现有的CI/CD流程。所谓开放协同化是指,可以通过多种方式去和其他的安全产品和安全能力提供数据的共享机制,实现与其他安全设备在数据上的联动,互相补齐对应的风险发现能力,做到简洁和高效。 以上是我们对SCA能力建设过程当中的想法。从长远的角度看,我们是希望从源端建立起一套完整的零信任供应链风险管控体系,覆盖从引入-开发-编译-部署-使用的全生命流程,做到真正意义上的secure-by-default,从纵向来看,我们需要在研发流程的框架下尽可能全的理清整个系统的SBOM级的数据依赖情况,同时从横向来看,我们还需要保证目前收集到的组件相关的风险数据和极限数据所覆盖的技术栈足够的全面和准确。恰好这两部分能力是SCA能力中比较核心的两个能力,也就说明了SCA能力这是这一体系当中比较重要的一环,可以为整个体系提供一套完整的知识库,为后续供应链风险检测逻辑提供一套完整的数据。最后,特别感谢质量效率团队、基础技术团队、到店事业群技术部餐饮的测试团队在整个SCA能力建设过程中提供帮助和建议。如有兴趣探讨,可联系SRC运营同学索要我的微信,我们继续可以讨论。 参考文献链接地址: https://www.gartner.com/reviews/market/software-composition-analysis-sca https://snyk.io/blog/visual-studio-code-extension-security-vulnerabilities-deep-dive/ https://www.reddit.com/r/HobbyDrama/comments/nku6bt/kernel_development_that_time_linux_banned_the/ https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/ https://portswigger.net/daily-swig/webmin-backdoor-blamed-on-software-supply-chain-breach https://www.mandiant.com/resources/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor https://blog.sonatype.com/open-source-software-is-under-attack-new-event-stream-hack-is-latest-proof https://www.cs.arizona.edu/sites/default/files/TR07-02.pdf https://www.microsoft.com/security/blog/2020/07/20/open-source-security-managing-risk-software-composition-analysis/ https://www.microsoft.com/security/blog/2020/01/16/introducing-microsoft-application-inspector/ https://csrc.nist.gov/CSRC/media/Projects/cyber-supply-chain-risk-management/documents/C-SCRM_Fact_Sheet_Draft_May_25.pdf http://go.anchore.com/rs/603-AEB-887/images/Anchore%20Software%20Bill%20of%20Materials%202021.pdf?mkt_tok=NjAzLUFFQi04ODcAAAGD5M9YCkwNcfKEavmNJ2xAVSBbU6YN6NBY7Er1PH6DD81eqWLXigqRla69Zy3jJFDbhLmPe4t4iMiTwcOm648mXy2ytLVplQi5Tg0tIQ https://csrc.nist.gov/Projects/cyber-supply-chain-risk-management https://opensource.googleblog.com/2021/06/introducing-open-source-insights-project.html https://security.googleblog.com/2021/06/announcing-unified-vulnerability-schema.html https://www.techrepublic.com/article/google-stakes-new-secure-open-source-rewards-program-for-developers-with-1m-seed-money/ https://security.googleblog.com/2021/06/introducing-slsa-end-to-end-framework.html https://cloud.google.com/docs/security/binary-authorization-for-borg https://research.google/pubs/pub49962/ https://security.googleblog.com/2021/08/allstar-continuous-security-policy.html https://therecord.media/google-open-sources-allstar-a-tool-to-protect-github-repos/ https://security.googleblog.com/2021/07/measuring-security-risks-in-open-source.html https://www.synopsys.com/software-integrity/resources/analyst-reports/open-source-security-risk-analysis.html https://snyk.io/open-source-security/ https://github.com/CycloneDX/specification https://blog.chainguard.dev/4-key-sigstore-takeaways-recap-of-twitter-space-with-kelsey-hightower/ https://blog.chainguard.dev/slsa-vs-software-supply-chain-attacks/ https://www.whitesourcesoftware.com/resources/research-reports/the-state-of-open-source-vulnerabilities/ http://oss.x-lab.info/github-insight-report-2020-en.pdf https://www.sonatype.com/resources/white-paper-state-of-the-software-supply-chain-2020 https://www.trustar.co/blog/making-sense-of-unstructured-data-using-nlp https://github.com/XmirrorSecurity/OpenSCA-cli https://github.com/murphysecurity/murphysec-jetbrains-plugin https://patents.google.com/patent/US8627270B2 https://patents.google.com/patent/US8473894B2 https://patents.google.com/patent/US9141378B2 关于悬镜安全 悬镜安全,DevSecOps敏捷安全领导者。由北京大学网络安全技术研究团队“XMIRROR”发起创立,致力以AI技术赋能敏捷安全,专注于DevSecOps软件供应链持续威胁一体化检测防御。核心的DevSecOps智适应威胁管理解决方案包括以深度学习技术为核心的威胁建模、开源治理、风险发现、威胁模拟、检测响应等多个维度的自主创新产品及实战攻防对抗为特色的软件供应链安全服务,为金融、能源、泛互联网、IoT、云服务及汽车制造等行业用户提供创新灵活的智适应安全管家解决方案。更多信息请访问悬镜安全官网:www.xmirror.cn |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 1:02:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |