随着软件供应链攻击的显著增加,以及 Log4j 漏洞带来的灾难性后果和影响,软件供应链面临的风险已经成为网络安全生态系统共同关注的最重要话题之一。根据业内权威机构 Sonatype 发布的2022软件供应链现状报告,在过去三年中,针对上游开源代码存储库的恶意活动,旨在将恶意软件植入软件组件的攻击数量增加了742%。
幸运的是大家逐渐开始意识到软件供应链攻击的巨大风险,这也促使各企业积极采取一系列避免或缓解软件供应链安全风险的行动。例如美国政府就应对软件供应链安全风险发布了网络安全行政命令。除此以外,许多大公司开始共同推出有助于打击针对软件供应链的恶意行为者日益增长的威胁的措施。
2022 年 10 月,Google 宣布了一个新的开源项目,称为 Graph for Understanding Artifact Composition(简称 GUAC)。该计划尚处于早期阶段,但有望改变行业对软件供应链的理解。GUAC 的目标是解决整个生态系统不断涌现的生成软件构建、安全性和依赖性元数据的需求,旨在通过让每个企业组织(而不仅仅是那些拥有企业级安全和 IT 资金的组织)免费访问和使用这些安全信息,有效提高这些信息的可用性。
作为一个组织,Google 的核心使命是整合全球信息,使人人都可以访问并从中受益。就网络安全世界而言,GUAC 符合该使命。GUAC 的目标是为所有组织提供顶级安全信息,包括那些没有 IT 预算或企业级安全基础设施来为自己获取此信息的组织。GUAC 是一种将有价值的软件安全元数据聚合到高保真图形数据库中的尝试。该数据库不仅包括不同软件实体的标识,还将详细说明它们之间的标准关系。
不同团体之间的社区协作产生了软件物料清单(SBOM) 等政策文档、详细说明软件构建方式的签名证明(例如SLSA)以及可以更轻松地发现和消除漏洞的数据库,例如 Global Security数据库(GSD)。GUAC 将帮助组合和综合所有这些数据库中可用的信息,并将这些信息组织成更全面的格式。这样任何人都可以找到有关他们打算使用的任何软件资产的高级安全问题所需的答案。

图片来源:Google
GUAC 有四个主要功能:
GUAC 可以配置为连接到各种软件安全元数据源。一些数据来源可能是公开的(例如,OSV);有些可能是企业自有的(例如,企业的内部存储库);有些可能是专有的第三方(例如,来自数据供应商)。
GUAC 从其上游数据源导入有关工件、项目、资源、漏洞、存储库甚至开发人员的数据。
从不同的上游来源获取原始元数据后,GUAC 通过规范化实体标识符、遍历依赖树和具体化隐式实体关系(例如,项目→开发人员)将其组装成一个连贯的图;漏洞→软件版本;artifact → source repo,等等。
针对组合图,可以查询附加到图中实体或与实体相关的元数据。查询给定的工件,反馈其 SBOM、出处、构建链、项目记分卡、漏洞和最近的生命周期事件——以及其传递依赖项等。

图片来源:Google
GUAC 是一个免费的开源平台,它将软件安全元数据的不同来源聚合到一个来源中。作为一种安全工具,GUAC 将在保护其软件基础架构免受供应链攻击的三个阶段中对组织有用。以下是它对每个阶段的用处:
主动阶段是企业采取措施以防止发生大规模软件危害的阶段。在此阶段,用户往往想知道他们最常使用的软件供应链生态系统的关键组件,而 GUAC 将使用户更容易识别它们。使用 GUAC,用户可以识别整体安全基础架构中的弱点,包括暴露于风险依赖项的区域。这样,就可以更好地在攻击发生之前阻止它们。
运营阶段是预防阶段,用户可以在其中确定要使用或部署的软件是否符合供应链风险防范措施的所有正确要求。使用 GUAC,用户可以验证软件是否符合要求的政策标准,或者生产中的所有二进制文件是否都能够追溯到安全存储库。
尽管采取了所有措施,软件供应链漏洞仍可能发生。反应阶段是用户决定在发现违规时要采取什么措施的阶段。借助 GUAC,受影响的企业可以查明其库存的哪一部分受到漏洞的影响、受影响的严重程度以及风险是什么。此信息将有助于减轻攻击并防止将来再次发生。
那么, GUAC 对企业来说意味着什么?由于该项目仍处于开发阶段,用户可以通过多种方式以个人或组织的身份参与。
参考链接:
https://www.nist.gov/itl/executive-order-14028-improving-nations-cybersecurity
https://security.googleblog.com/2022/10/announcing-guac-great-pairing-with-slsa.html
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:
很高兴看到google代码:google-api-ruby-client项目,因为这对我来说意味着Ruby人员可以使用GoogleAPI-s来完善代码。虽然我现在很困惑,因为给出的唯一示例使用Buzz,并且根据我的实验,Google翻译(v2)api的行为必须与google-api-ruby-client中的Buzz完全不同。.我对“Explorer”演示示例很感兴趣——但据我所知,它并不是一个探索器。它所做的只是调用一个Buzz服务,然后浏览它已经知道的关于Buzz服务的事情。对我来说,Explorer应该让您“发现”所公开的服务和方法/功能,而不一定已经知道它们。我很想听听使用这个
尝试从我的AngularJS端将数据发布到Rails服务器时出现问题。服务器错误:ActionController::RoutingError(Noroutematches[OPTIONS]"/users"):actionpack(4.1.9)lib/action_dispatch/middleware/debug_exceptions.rb:21:in`call'actionpack(4.1.9)lib/action_dispatch/middleware/show_exceptions.rb:30:in`call'railties(4.1.9)lib/rails/rack/logg
当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在
我有一堆要清理的URL。它们都包含UTM参数,在这种情况下不是必需的,或者是有害的。示例:http://houseofbuttons.tumblr.com/post/22326009438?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+HouseOfButtons+%28House+of+Buttons%29所有可能的参数都以utm_开头。如何使用ruby脚本/结构轻松删除它们而不破坏其他潜在的“好”URL参数? 最佳答案 您可以将正则表达式应用于url以清
我正在尝试为自己创建一个直接连接到我的日历的应用程序……但我从不想参与重新验证。我只想编写一次身份验证代码并完成它。授权码如下:key=Google::APIClient::PKCS12.load_key(SERVICE_ACCOUNT_PKCS12_FILE_PATH,PASSWORD)asserter=Google::APIClient::JWTAsserter.new(SERVICE_ACCOUNT_EMAIL,'https://www.googleapis.com/auth/calendar',key)@client=Google::APIClient.new@client.a
我正在尝试为使用omniauth-google-oauth2gem创建session编写测试。我是否需要将env["omniauth.auth"]变量与post:create一起传递?也许当我试图这样做时,我做错了。我得到的错误如下所示...Rake测试错误1)Error:SessionsControllerTest#test_should_get_create:NoMethodError:undefinedmethod`provider'fornil:NilClassapp/models/user.rb:6:in`from_omniauth'app/controllers/sessi
我正在使用devise登录omniauth,authid。当用户登录时,我得到user_info:name:RiccardoTacconilast_name:Tacconiemail:email@gmail.comfirst_name:Riccardouid:https://www.google.com/accounts/o8/id?id=xxxxxxxxxprovider:google_apps我找到了一个插件:http://stakeventures.com/articles/2009/10/06/portable-contacts-in-ruby获取Google通讯录。我只需要使
我想上传我在运行时用Ruby生成的数据,就像从block中提供上传数据一样。我找到的所有示例仅展示了如何流式传输必须在请求之前位于磁盘上的文件,但我不想缓冲该文件。除了滚动我自己的套接字连接之外,最好的解决方案是什么?这是一个伪代码示例:post_stream('127.0.0.1','/stream/')do|body|generate_xmldo|segment|body 最佳答案 有效的代码。require'thread'require'net/http'require'base64'require'openssl'class