利用代理插桩提高模糊测试覆盖率
模糊测试是一种重要的软件测试技术,旨在发现软件系统中的漏洞和异常。在传统的 IT 和企业解决方案中,模糊测试通常采用带内插桩的方法,通过观察被模糊测试的协议来检测异常。然而,对于汽车系统等复杂系统,这种方法存在一定的局限性。本文将探讨如何利用代理插桩来提高模糊测试的覆盖率,以及如何解决带内插桩无法检测到的漏洞问题。
带内插桩在模糊测试中的应用
在模糊测试典型的 IT 和企业解决方案时,带内插桩是一种常见的方法。这种方法通过观察被模糊测试的协议来检测异常,尤其适用于使用请求 - 回复通信格式的协议,如 HTTP。例如,模糊测试工具会向目标系统发送模糊化的 HTTP 请求,并观察 HTTP 响应,以识别目标系统在处理模糊化消息时的意外行为。
带内插桩的一个著名例子是 Heartbleed 漏洞的检测。在对 OpenSSL 库进行模糊测试时,通过观察模糊化心跳请求消息的响应,发现了目标系统的意外响应,从而检测到了这个严重的漏洞。该漏洞影响了超过 60 万个联网系统,可能导致目标系统泄露敏感数据。
此外,带内插桩的一种常见方法是进行有效案例插桩,即在发送一个或多个模糊化消息后发送一个正确的消息,以测试目标系统是否能正确响应有效消息。由于其他行业中常见的请求 - 回复通信格式,基于带内插桩检测异常相对容易。
汽车系统模糊测试的挑战
与许多基于 IT 的解决方案不同,汽车系统通常更加复杂,具有各种状态,并与其他系统相互连接,因此往往难以进行插桩。如果没有适当的插桩,在模糊测试过程中会有许多未知的漏洞和潜在问题无法被检测到。
例如,在对车载 ECU 进行模糊测试时,如果不使用适当
超级会员免费看
订阅专栏 解锁全文
8730

被折叠的 条评论
为什么被折叠?



