首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何发现Go可执行文件中的已知漏洞(CVEs)?

如何发现Go可执行文件中的已知漏洞(CVEs)?
EN

Security用户
提问于 2018-09-27 05:50:05
回答 1查看 2.1K关注 0票数 2

发现CVEs的工具需要创建软件材料清单.在许多情况下,只需检查目标系统上的文件即可完成,例如RPM或NPM索引。

与Go源代码相比,可以对Go可执行文件进行组合分析吗?

有什么工具试图做到这一点吗?

编辑:问题是用go语言编写的可执行文件,以及如何在执行目标系统漏洞扫描时自动发现这些可执行文件的传递依赖关系。

EN

回答 1

Security用户

发布于 2018-10-01 04:46:52

不怎么有意思。我是说,理论上你可以,但不太可能有人会这么做。

Go是一种相对安全的语言,因此Go代码中的错误往往是逻辑错误,而不是机械错误。这意味着漏洞的标记不是二进制中的模式,而是控制流的属性。

本质上,要检测给定的CVE,您必须构造对应于易受攻击逻辑的操作码序列,并根据该模式匹配二进制代码。对于一个琐碎的模式来说,这可能很简单,但是不太可能做到这一点,这在本质上是没有好处的。

毕竟,漏洞检测从根本上说是一个供应链问题。如果上游无法提供漏洞元数据,那么整个信任模型就会被保存。如果您是上游(您构建二进制文件),那么您需要开始在您的包细节嵌入元数据(例如。源代码来源),可用于确定CVE相关性。

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

https://security.stackexchange.com/questions/194557

复制
相关文章

相似问题

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