安全 咨询
简介:已发现违反SSE-C安全保证的问题,并已在RELEASE.2018–07–10T01–42–11Z中修复。
严重程度:低
受影响的对象:使用S3 SSE-C API存储对象并使用相同的客户端提供的密钥(至少两次)用于不同对象的所有用户。
针对用户的建议操作:建议所有用户将其Minio部署升级到最新版本。版本RELEASE.2018–07–10T01–42–11Z中已解决此问题。用户必须重新上传其对象或使用S3 SSE-C键旋转。
例如:
如果您bucket对服务器上的所有对象进行了加密myminio并且使用256位客户端密钥,32byteslongsecretkeymustbegiven1则可以运行:
mc cp --recursive --encrypt-key“ myminio / bucket = 32byteslongsecretkeymustbegiven1” myminio / bucket myminio
这将解决存储桶的问题bucket。用户必须对所有加密的存储桶/对象使用SSE-C密钥旋转。有关更多详细信息,请运行:mc cp -h。
说明:每当用户请求使用客户提供的密钥(SSE-C)进行服务器端加密时,Minio服务器都会对对象进行加密。我们的加密应该保证加密的对象不能被修改-在S3指定的S3分段上传的情况下,丢弃的部分除外。但是,加密的对象并未通过密码绑定到对象路径。这使攻击者知道两个对象已使用客户端提供的相同密钥加密,并且可以完全访问存储后端以交换两个对象。假设您有两个SSE-C加密对象my-bucket/object-1,my-bucket/object-2并且两个对象都使用相同的客户端密钥加密,那么这样的攻击者无需检测即可替换object-1为object-2。但是,攻击者无法解密或修改对象本身。
该问题是通过内部安全审核发现的,并且已提交修补程序,以加密方式将加密对象绑定到对象路径来修复此漏洞。这样可以防止在不知道客户端提供的密钥的情况下修改对象路径。该补丁已通过审核并被接受,并且已发布新版本。
攻击者可以在特殊情况下滥用此问题,以将意外对象呈现给S3客户端。