首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >源代码审计

源代码审计
EN

Security用户
提问于 2017-09-18 09:52:47
回答 2查看 355关注 0票数 1

关于Linux包的源代码审查,我有一个问题。

我下载了一个Ubuntu包,比如samba,我想查看samba的源代码以查找安全漏洞。

我使用flaw finder来检查samba包的代码。

Flaw finder生成了一个带有许多漏洞的报告。

例如,strcpy存在一个漏洞,表示使用strlcpystrncpy而不是strcpy,如下所示。

代码语言:javascript
复制
httpd-2.4.25/modules/aaa/mod_authn_socache.c:276:9: [4] 
  (buffer) strcpy: Does not check for buffer overflows when copying to destination. 
   Consider using strncpy or strlcpy (warning, strncpy is easily misused).

strcpy(new_context, r->server->server_hostname);
  1. 这里的重点是strcpy函数是否不安全?如果它是不安全的,那么为什么Ubuntu的公共社区还没有修复这个弱点,而在他们的最新软件包中,使用开源工具是如此容易跟踪呢?
  2. 如果我们想保护这个strcpy函数或samba本身的代码,那么有哪些选项呢?
  3. 对不起,各位,我错误地复制了apache代码,并提到了samba。
  4. 关于这一点还有一点。我从Ubuntu,S网站下载了samba和apache最新的软件包,然后我使用了漏洞查找器。关于这个问题,我需要你的建议。如果Ubuntu社区还没有在他们最新的软件包中修复这些安全漏洞,那么我是否应该为这些安全漏洞而烦恼呢?
EN

回答 2

Security用户

发布于 2017-09-18 11:04:59

例如,有一个关于strcpy的漏洞。

“完美查找”不报告漏洞。引用对程序的描述的话:

..。检查C/C++源代码,并报告按风险级别排序的可能的安全缺陷(“缺陷”)。

因此,“完美查找器”没有发现漏洞,而是只显示了程序中看起来可能是个问题的部分。这包括使用经常以错误方式使用的函数。要解释输出,确定实际风险和解决潜在问题,需要对分析的程序有更深入的理解。

要回答你的具体问题:

为此,我使用了缺陷查找器来检查samba包的代码。httpd-2.4.25/modules/aaa/mod_authn_socache.c:276:9: ... 4. strcpy

看起来您已经分析了Apache服务器,而不是samba。

这里的重点是strcpy函数是否不安全?

查看实际的上下文对编程有足够的理解时,它会在这个strcpy之前直接在行中分配足够的内存,也就是说,这并不是一个真正的问题。

如果我们想保护这个strcpy函数或samba本身的代码,那么有哪些选项呢?

这些选择是

  • 首先使用正确的源代码。如果您想对samba进行审计,请使用samba的源代码,而不是Apache。
  • 更深入地了解代码所做的事情。
  • 确定问题的实际风险是什么。
  • 如果这确实是一个问题,检查这是否已经修复上游,只是没有固定在您使用的发行版本。
  • 修复问题而不引入新的错误并向开发人员提供一个修复程序。
票数 7
EN

Security用户

发布于 2017-09-18 10:21:05

当使用strcpy函数时,它们有可能发生缓冲区溢出。但是,只有在使用不当时才会发生这种情况。对这一职能的每一次调用都需要在其本身的背景下加以考虑。您所使用的工具无法识别此上下文,因此只会为您提供使用不安全函数的一般警告。

这个特殊的例子可能是使用以前经过消毒的“server_hostname”,并且可以保证不会有缓冲区溢出。

如果您真的想要更改它,请考虑实现它的建议,但是要小心,因为strcpy和strlcpy的API是不同的。有关详细规范:https://www.sudo.ws/todd/papers/strlcpy.html,请参阅本文

只使用源检查工具作为指南。将其视为一个自动诊断,即工具只指向潜在故障的一般方向,您需要做腿的工作,并进一步诊断自己,以充分了解问题。

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

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

复制
相关文章

相似问题

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