首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google运行安全问题

Google运行安全问题
EN

Stack Overflow用户
提问于 2020-04-26 21:11:23
回答 1查看 279关注 0票数 1

我测试谷歌云运行,我有一些安全问题。假设我使用二进制程序处理用户输入。如果程序易受攻击并被注入容器中的恶意代码,该怎么办?攻击者将能够访问我的数据库或存储或容器具有访问权限的任何资源。

问题是,这是否一个真正的关注,我如何防止它?

我最好的想法是将另一个容器放入其中,它只保存潜在的易受攻击的二进制文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-26 21:36:11

这确实是-however真正关心的问题,这类攻击并不是特定于云运行的,并且适用于任何不受信任的二进制文件中的计算平台。

假设您在一个容器中运行ffmpeg,而您的一个用户给您一个视频输入以进行转换。这个视频可以利用ffmpeg中的漏洞(因为它不是用内存安全语言编写的,所以有很多),并且可能执行任意代码。这个任意代码可以通过查询来增强您的环境,包括GCP的访问令牌:

代码语言:javascript
运行
复制
curl -H "metadata-flavor: Google" http://metadata/computeMetadata/v1/instance/service-accounts/default/token

您向容器中注入的秘密和此令牌可能是在发生攻击时需要提取的最敏感的工件。

为了防止自己受到这类攻击,我建议:

  • 在Cloud上创建一个单独的服务,其唯一的任务是向不受信任的可执行文件(正如您已经提到的)提供服务。
  • 使用没有权限在对象中执行任何操作的服务帐户(--service-account)运行此服务。通过这种方式,攻击者可以提取一个无法完成的令牌(但是,可能会了解您的GCP项目ID或此服务帐户的电子邮件地址)。
  • (据我所知,在云中运行还不可能)以只读模式运行容器的文件系统,以防止攻击者更改容器上的可执行文件或库,这可能会影响容器处理的后续请求。
  • (目前缺少只读容器文件系统)如果您正在执行的不受信任的二进制文件是/可以“静态编译”的,请考虑在每个请求中创建一个包含该二进制文件的新临时目录。然后,在那里执行色色并在这个目录中执行二进制文件(这样它的副作用不会影响容器的其他部分),并在请求完成之前清理这个目录。

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61448152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档