首页 > 其他分享 >RSAC创新沙盒十强出炉,这家SCA公司火了

RSAC创新沙盒十强出炉,这家SCA公司火了

时间:2023-04-21 18:12:07浏览次数:34  
标签:依赖 SCA RSAC Labs 漏洞 开源 Endor 沙盒


引言

 

近日,全球网络安全行业创新风向标RSAC创新沙盒公布了本年度入围十强的名单,软件供应链安全企业Endor Labs凭借基于依赖关系建立应用开发生命周期的解决方案获得了广泛关注。

 

Endor Labs简介

 

 

Endor Labs成立于2021年,是一家专注供应链安全管理的美国公司,并于去年十月获得了2500万美元种子轮投资。在开源软件大行其道、软件供应链安全事件频发的背景下,Endor Labs基于SCA发展出了独具一格的“依赖生命周期管理”解决方案,其合作伙伴与商业客户中不乏Microsoft、Google、Uber、Zoom、Atlassian等知名企业。

 

依赖生命周期管理

 

传统SCA工具的核心功能是对代码中引入的开源组件及它们的依赖关系进行盘点,形成SBOM清单,并在此基础上掌握代码中所有由开源组件依赖带来的漏洞风险。

 

在研发运营的整个周期中,有了这份透明化的资产清单,研发阶段可以及时替换安全版本的组件或修复漏洞,运营阶段新的漏洞爆发或出现新的利用方式时能够按图索骥,快速定位漏洞位置及影响范围,协助制定更高效合理的修复方案。

 

 

然而,作为一种相对简单且容易落地的安全工具,SCA工具也有其局限性。首先,SCA仅能基于已有的知识库进行风险梳理,也即只能检测已知开源漏洞;其次,SCA基于标准的漏洞库提供的漏洞风险等级并不能完全适配代码实际运行的场景,所以会导致部分并不会实际被触发的风险出现在SCA工具输出的漏洞风险中,需要人工加以判别。

 

为了解决上述已知场景的局限和“噪音”带来的额外成本,Endor labs以依赖关系为中心,建立起了一整套依赖生命周期管理体系。

 

第一阶段,在依赖引入前,可以在Endor Labs的知识库里查询由组件的质量、受欢迎程度、最佳时间使用、支持性和其他指标组成的整体风险评分,综合判断是否引入该组件。

 

 

 

依赖引入后,Endor Labs的工具会梳理代码中包含的所有的依赖情况并输出可视化的SBOM清单,同时会统计单个依赖被引入的次数,记录组织中最常用的依赖版本,便于减少依赖项的总量、控制依赖面。

 

对所有引入的依赖执行漏洞检测后,工具会对这些依赖进行可达性分析,即分析该依赖是否会在程序运行中被实际调用,并由此代替漏洞严重性的指标,产生对应漏洞修复的优先级建议,降低开源漏洞的“噪音”。

 

 

最后,考虑到随着软件项目推进越来越膨胀的依赖清单,对于长期未使用及冗余的依赖项,工具还可以提供删除建议,精简依赖资产、避免依赖膨胀。

 

对于安全团队,Endor Labs的解决方案可以协助团队建立起对依赖关系的全面了解,同时消除大量“噪音”,降低鉴别成本,同时支持对自身和第三方的SBOM管理;对于开发团队,可以协助做出更好的依赖引入选择,同时获得更合理的漏洞修复优先级,进而实现安全的无痛嵌入。

 

另外,Endor Labs的产品还接入了ChatGPT,支持以对话形式提供相应的开源组件引入建议(含风险评分),以便帮助用户选择更优的开源软件。目前该功能尚在内测阶段。

 

 

更进一步:未知漏洞防御

 

Endor Labs的方案对“噪音”的解决方案确实有独到之处,但对SCA工具只能解决已知漏洞这个天花板的拓展仍然相对有限:在引入前通过对知识库中所有组件进行多维风险评分协助引入决策本质上仍然是对已知资源的再整合,于效率可能也并无益处。

 

在SBOM的基础上,解决上线后运营阶段的安全问题、实现安全研发和运营的闭环,不能仅仅局限于单个的SCA工具,而需要与其他更适配持续运营场景的工具结合,形成整体联动的解决方案。

 

 

首先,使用SCA输出SBOM是必不可少的。“噪音”的控制手段多种多样,可达性分析、运行态SCA、黑白名单管理都是可选的方案。

 

下一步,需要多渠道收集开源漏洞情报,实时监控应用代码的开源风险,并根据SBOM进行风险自查,结合业务环境评估修复优先级,根据应用版本计划自行安排修复节奏。

 

 

此外,持续安全运营的实现离不开RASP(运行时程序自我保护)技术。RASP能结合应用的逻辑及上下文,以函数级的精度对访问应用系统的每一段代码进行检测,实时监控安全状况、记录及阻断攻击,而无需人工干预。

 

对于尚无新版本组件可替换或不便升级组件的开源漏洞以及突然爆发的0day漏洞,RASP可以通过下发热补丁的方式,在不修改源码的情况下对攻击和恶意请求进行识别和阻断,实现对未知安全风险的及时治理,为审慎的漏洞修复争取宝贵时间。

 

 

OpenSCA+云鲨RASP SaaS为个人及企业用户提供0成本应用安全保护方案,协助搭建应用安全研运闭环,将积极防御能力注入应用中,实现应用安全自免疫;同时提供商业版,提供更完整的场景适配能力,欢迎联系我们。

 


GitHub:

https://github.com/XmirrorSecurity/OpenSCA-cli/

 

Gitee:

https://gitee.com/XmirrorSecurity/OpenSCA-cli/

 

OpenSCA官网:

https://opensca.xmirror.cn/

标签:依赖,SCA,RSAC,Labs,漏洞,开源,Endor,沙盒
From: https://www.cnblogs.com/openscacommunity/p/17341334.html

相关文章

  • HDU 5389 Zero Escape(DP + 滚动数组)
    ZeroEscapeTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:131072/131072K(Java/Others)TotalSubmission(s):864    AcceptedSubmission(s):438ProblemDescriptionZeroEscape,isavisualnoveladventurevideogamedirectedbyKotar......
  • scapy函数介绍
    1、读取报文>>>packets=rdpcap("d.pcap")2、查看原始数据>>>raw(packets[0])b'\x00\x16>3\x02d\x00\x16>\\\xf2\xa3\x08\x00E\x00\x00(\x00\x01\x00\x00@\x063\x18\xc0\xa8\x05;\xb5*\xcc\xa9$\xfc\x01\x......
  • 使用scapy给pcap包添加vlan
    1、使用wireshark查看pcap文件,一个没有vlan,一个有vlan  2、使用scapy查看有vlan的报文 可以看到Ether层type=VLAN,vlan层为<Dot1Q prio=0id=0vlan=10type=IPv4 3、使用scapy编辑没有vlan的文件的第4个报文fromscapy.allimport*packets=rdpcap("gen_full_......
  • 使用scapy修改pcap包ip
    1、使用wireshark打开pcap文件,查看源ip为192.168.5.59。 2、使用scapy编辑pcap文件。fromscapy.allimport*packets=rdpcap("0x534d.pcap")#打开pcap文件print(len(packets))#查看包含几个报文packets[0]["IP"].src="192.168.5.60"#修改源IPstream=[]stream......
  • context:component-scan扫描使用上的容易忽略的use-default-filters
    评:问题如下方式可以成功扫描到@Controller注解的Bean,不会扫描@Service/@Repository的Bean。正确Java代码收藏代码<context:component-scanbase-package="org.bdp.system.test.controller"><context:include-filtertype="annotation"expression="org.spri......
  • 技术文档 | OpenSCA技术原理之composer依赖解析
    OpenSCA知识小课堂开课了!今天主要介绍基于composer包管理器的组件成分解析原理。composer介绍composer是PHP的依赖管理工具。开发者受到Node.js的npm及Ruby的bundler启发,composer设计上与两者有诸多相似。composer的依赖管理文件是composer.json。开发者可以在composer.j......
  • 技术文档丨 OpenSCA技术原理之npm依赖解析
    本文主要介绍基于npm包管理器的组件成分解析原理。npm介绍npm(全称NodePackageManager)是Node.js标准的软件包管理器。npm的依赖管理文件是package.json,开发者可以在package.json中指定每个依赖项的版本范围。如果一个项目中存在package.json文件,便可以执行npminstall......
  • idea+maven配置scala环境报错
    (未解决)环境:Java1.7+scala2.10.6配置:创建maven工程,建立如下目录结构:pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-in......
  • addScalar的用法与作用
    作用:1.提高性能2.指定要返回哪几个字段,为指定的不返回(主要用于select*查询全部)3.也可指定返回字段的具体类型详细讲解如下:最基本的SQL查询就是获得一个标量的列表:session.createSQLQuery("select*fromperson_inf").list();session.createSQLQuery("selectid,name,age......
  • scanf()格式字符串中的普通字符
    scanf()函数中的输入控制符为%c时,用户输入应与引号“”中的内容一致当%c前无空格时:scanf("%c",&i);scanf会读取第一个用户输入的值,就算用户输入的是空格、制表符或回车也会读取当%c前有空格时:scanf("%c",&i);scanf()函数会将"%c"中的空格识别为空白字符(空格、制......