山海科技发展网

07月09日CVE-2019-5736:RunC容器转义漏洞提供对目标计算机的根访问

导读 摘要 鉴于大量容器技术中都使用了runC,CVE-2019-5736(其CVSS评分为7 2)具有很高的影响力。 滥用相同的利用可能使攻击者能够影响...

摘要 鉴于大量容器技术中都使用了runC,CVE-2019-5736(其CVSS评分为7 2)具有很高的影响力。 滥用相同的利用可能使攻击者能够影响从本地到

鉴于大量容器技术中都使用了runC,CVE-2019-5736(其CVSS评分为7.2)具有很高的影响力。 滥用相同的利用可能使攻击者能够影响从本地到云中的多个容器环境。 攻击者必须在容器内具有root特权才能访问必要的资源-运行特权容器,配置错误和特权升级错误。 如果攻击成功,则攻击者将完全控制主机,并可以尝试攻击内部网段中的资源。 这可以使攻击者在生产环境中部署恶意容器。

攻击的初始部分包括枚举正在运行的进程,以搜索正在运行的runC进程。 在生产环境中,这意味着攻击者可以访问现有容器,从而可以进行软件部署,并使攻击者能够在正在运行的容器内执行脚本。 可以通过利用另一个漏洞或配置错误问题来获得访问权限,也可以通过在易受攻击的环境中拥有一个容器来获得访问权限。

接下来是使用O_PATH标志访问文件描述符: fd1 = open(“ / proc / runc_pid / exe”,O_PATH)

在获得有效的文件描述符后,它将使用O_WRONLY标志打开另一个文件描述符: fd2 = open(“ / proc / self / fd / fd1”,O_WRONLY)

攻击者成功获取fd2 / second文件描述符后,尝试写入有效负载; 这是循环完成的。 触发漏洞

要触发此漏洞,攻击者必须能够以产生并终止runC的方式在容器内执行二进制文件。 此操作使攻击者可以覆盖runC二进制文件。

要执行有效载荷,攻击者将使用Shell脚本#!/ proc / self / exe重写容器内已执行的二进制文件(例如/ bin / sh)。 这将导致执行修改后的runC二进制有效负载。

各种供应商已经发布了CVE-2019-5736的修补程序和建议。 AWS和Docker的更新也解决了该缺陷。

此runC漏洞说明了容器如何在效率和安全性之间取得平衡。 但是,在开发过程中尽早设置安全措施可以防止更高的安全成本和额外的工作。 建议和趋势科技解决方案

要保护容器计算机免受诸如CVE-2019-5736之类的漏洞的影响,我们建议组织实施以下最佳实践: 定期且一致地更新计算机,以最大程度地减少利用漏洞的机会 避免使用root特权运行容器,尤其是默认配置时。 为确保正确保护计算机免受潜在攻击,请仅将它们用作应用程序用户。 确保正确配置容器,以最大程度地提高安全性。 这包括正确的API配置以及对特定主机的暴露而不是开放暴露。 此外,供应商通常具有帮助设置容器的准则。 基于角色的访问控制(RBAC)安全技术还可以通过防止runC文件被覆盖来阻止CVE-2019-5736的成功利用 对于Linux,将runC文件设置为不可变也可以用作安全措施。

以下趋势科技服务器深度安全防护系统完整性监控规则检​​测到/ usr / bin和/ usr / sbin目录中任何二进制文件的更改: 1002770-Unix-/ usr / bin和/ usr / sbin位置中的文件属性更改

由于此漏洞的独特性,我们建议管理员实施计划的和/或按需的完整性监控扫描。

此外,趋势科技服务器深度安全防护系统文件完整性监视和应用程序控制为针对容器主机的这种恶意活动提供了开箱即用的可见性。 如果在锁定模式下使用,此应用程序控件将阻止执行此恶意攻击。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢