terraform校验和验证试图解决哪个安全问题



.terraform.lock.hcl是terraform的依赖锁文件。在以下示例中,它有一个hashes字段,其中包含指定提供程序版本的所有有效校验和。

provider "registry.terraform.io/hashicorp/aws" {
version     = "3.63.0"
constraints = ">= 2.7.0, >= 2.42.0, >= 2.49.0, >= 3.4.0, >= 3.40.0"
hashes = [
"h1:lf8Qex8bhCmh8TUEAU6H4brzjy3+d4BXB6gcOYnNtNY=",
"zh:42c6c98b294953a4e1434a331251e539f5372bf6779bd61ab5df84cac0545287",
"zh:5493773762a470889c9a23db97582d3a82035847c8d3bd13323b4c3012abf325",
"zh:550d22ff9fed4d817a922e7b84bd9d1f2ef8d3afa00832cf66b8cd5f0e6dc748",
"zh:632cb5e2d9d5041875f57174236eafe5b05dbf26750c1041ab57eb08c5369fe2",
"zh:7cfeaf5bde1b28bd010415af1f3dc494680a8374f1a26ec19db494d99938cc4e",
"zh:99d871606b67c8aefce49007315de15736b949c09a9f8f29ad8af1e9ce383ed3",
"zh:c4fc8539ffe90df5c7ae587fde495fac6bc0186fec2f2713a8988a619cef265f",
"zh:d0a26493206575c99ca221d78fe64f96a8fbcebe933af92eea6b39168c1f1c1d",
"zh:e156fdc964fdd4a7586ec15629e20d2b06295b46b4962428006e088145db07d6",
"zh:eb04fc80f652b5c92f76822f0fec1697581543806244068506aed69e1bb9b2af",
"zh:f5638a533cf9444f7d02b5527446cdbc3b2eab8bcc4ec4b0ca32035fe6f479d3",
]
}

Terraform Documentation表示,校验和验证旨在代表首次使用的信任方法。

我不是安全专家。你能解释一下地形校验和验证试图解决哪个安全问题吗?

它是否用于防止人们从不受信任的存储库安装恶意软件包?

库上的校验和验证用于防止恶意代码安装在库中。只要库的初始版本有效,通过中间人或闯入包管理器安装的恶意版本将导致校验和失败。

但是,如果开发人员最初安装的版本受到损害,则将使用折衷版本。这是";首次使用时的信任"-初始版本被认为是正确的,因此应用程序只有在代码更改时才易受攻击,而不是在运行时。这并不能保护您免受来自不受信任来源的安装程序包的攻击,只能保护您免受受信任来源被破坏的攻击。

验证文件的校验和有助于确保文件在下载过程中没有损坏,或者在下载之前没有被恶意第三方修改。

这有助于检查文件完整性或二进制文件的完整性。换句话说,它是一个检查数据有效性的总和。校验和通常用于比较两组数据,以确保它们是相同的

最新更新