相关疑难解决方法(0)

在基于Maven POM的自动构建系统中验证依赖性认证

我刚刚指出一篇非常有趣的文章,关于一个名为Cross Build Injection(XBI)的安全问题.基本上,它是一个奇特的名称,通过自动构建系统(如ant,maven或ivy)在构建时将不良代码走私到应用程序中.

通过引入加密签名验证可以缓解这个问题,因为它目前已经存在许多用于下载包的操作系统.

要明确:我不是在谈论简单地为工件提供md5或sha1哈希.这已经完成,但这些哈希值存储在与工件相同的位置.因此,一旦恶意黑客破坏了存储库并且可以替换工件,他们也可以替换哈希.

因此,实际需要的是某种PKI,它允许开发人员签署他们的工件和maven以验证这些签名.由于签名是使用开发人员的私钥完成的,因此只有存储库被泄露时才能被篡改.

有没有人知道这个在maven中的状态?

security build-automation pom.xml maven

12
推荐指数
2
解决办法
3821
查看次数

如何实施严格的Maven依赖策略(依赖链攻击)

我想强制执行严格的Maven依赖策略,该策略超出了基本checksumPolicy=fail方法.

这是尝试提供针对修改的版本依赖性的保护,该依赖性仍然具有有效的摘要值,也称为"依赖性链攻击".

这种情况可能来自以下情况:

  • 依赖项已更新,但作者尚未更新版本号并设法覆盖早期版本(或其回购帐户已被泄露)
  • 中间人攻击到位(使用动态重写/散列)
  • 存储库本身已被泄露

在与其他开发人员的讨论中,一种解决上述问题的方法是在pom.xml中列出已知的MD5/SHA摘要,并让Maven验证下载的依赖项具有相同的摘要.这确保了只要源代码存储库保持安全,就会检测到已被破坏的任何包含的依赖项.

因此我的问题是双重的:

  1. 有没有其他方法可以更有效地工作?
  2. 是否有任何现有的实现/插件来完成这项工作?

security maven

4
推荐指数
1
解决办法
1895
查看次数

标签 统计

maven ×2

security ×2

build-automation ×1

pom.xml ×1