安全专家 Michael Howard 和 Keith Brown 提出了十条技巧来帮助您解脱困境。
安全问题涉及许多方面。安全风险可能来自任何地方。您可能编写了无效的错误处理代码,或者在赋予权限时过于慷慨。您可能忘记了在您的服务器上正在运行什么服务。您可能接受了所有用户输入。如此等等。为使您在保护自己的计算机、网络和代码方面有个良好开端,这里展示了十条技巧,遵循这些技巧可以获得一个更安全的网络策略。
1. 信任用户的输入会将自己置于险境
即使不阅读余下的内容,也要记住一点,不要信任用户输入。如果您总是假设数据是有效的并且没有恶意,那么问题就来了。大多数安全薄弱环节都与攻击者向服务器提供恶意编写的数据有关。
信任输入的正确性可能会导致缓冲区溢出、跨站点脚本攻击、SQL 插入代码攻击等等。
让我们详细讨论一下这些潜在攻击方式。
2. 防止缓冲区溢出
当攻击者提供的数据长度大于应用程序的预期时,便会发生缓冲区溢出,此时数据会溢出到内部存储器空间。缓冲区溢出主要是一个 C/C++ 问题。它们是种威胁,但通常很容易修补。我们只看到过两个不明显且难以修复的缓冲区溢出。开发人...[ 查看全文 ]