Linux 服务器加固与安全验证(2)

确定攻击的潜在目标可能很难。当尝试利用一个复杂系统时,需要确定哪些攻击载体比其他攻击载体更富有成效。如果一个正在运行的进程有一个 Web 接口或连网组件,它可能是比暴露面更小的应用程序更好的目标。一个额外的指标是:是否存在专业软件。无需尝试使用拥有既定社区和支持历史的载体,寻找符合特定用途的软件或为在冷门环境中运行而构建的软件可能是更好的选择。

模糊测试

OWASP 将模糊测试定义为 “以自动化方式注入格式错误/格式部分错误的数据来寻找实现漏洞” (https://www.owasp.org/index.php/Fuzzing),这是验证系统和支持的应用程序的稳定性的另一种方法。在应用程序上执行模糊测试的一个示例,可能是在仅接受整数作为输入的程序上执行测试。当输入是浮点、字符串或其他任何不想要的格式的数据时,会发生什么?理想情况下,应用程序可处理格式错误的输入。如果应用程序崩溃或出现其他意外情况,系统的稳定性和安全性可能面临风险。强烈推荐采用的一种应用程序模糊测试工具是 american fuzzy lop (AFL),它能在 QEMU、Clang、OpenSSH、Bash 和 Mozilla Firefox 等流行应用程序中找到多个 bug。AFL 可在任何可执行的应用程序上运行,使用用户提供的 “良好” 输入执行测试,这使用户能够自定义 AFL 执行模糊测试的初始环境。另一个工具是 OWASP Zap,它既是一个 Web 漏洞扫描器,也是一个 Web 应用程序模糊测试器。该应用程序在可用链接上抓取信息,发送模糊化的输入以及已知的恶意攻击。IBM Security Appscan 在 Web 应用程序上执行类似功能,但该软件还提供了使用模糊化输入测试应用程序源代码的版本。

运行任何模糊化应用程序,都会给系统资源造成巨大负担。除了系统资源需求之外,模糊化还需要一定时间才能交付结果。但是,即使拥有大量时间,使用的伪随机输入也无法确保能够发现所有潜在问题。

结束语

服务器加固和验证需要不断努力。随着每天都能发现新的利用手段和漏洞,您系统的安全时常处于危险之中。系统审计、渗透测试和模糊测试分别从独特的视角提供了系统状态信息。除了测试标准(比如单元测试和功能测试)之外,还应使用这些方法来帮助提高您对系统的信心。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7f311dbf1b4c3e1c9cfff16ebc485cac.html