查找给定代码中的安全问题

mou*_*sey 9 c c++ unix windows security

有人可以告诉我一种在给定代码中找到安全漏洞的方法.例如:在给定的套接字程序中.欢迎任何好的例子或好书推荐.

感谢和问候,

像老鼠

Eva*_*ran 4

此类别中最容易实现的目标是简单地搜索经常被误用或难以安全使用的功能的源代码,例如:

  • 结构体
  • 字符串猫
  • 冲刺函数
  • 得到

然后开始寻找那些本质上不太糟糕但可能被滥用的方法。特别是任何写入缓冲区的内容如果误用都可能存在潜在危险。

  • 内存复制
  • 记忆移动
  • 接收/读取
  • 发送/写入
  • 整个 printf 系列应该始终有一个格式字符串常量

注意:所有这些(除了gets)都可以正确使用,所以不要仅仅因为使用了该函数就认为这是一个缺陷,而是看看它是如何使用的。另请注意,这始终gets是一个缺陷。

注意2:这个列表并不详尽,请对常见的误用函数以及如何避免它们进行一些研究。

就工具而言,我推荐诸如valgrindsplint之类的东西

  • 顺便说一句,我会将 `strncpy` 添加到危险函数列表中...... (2认同)