设置 USB 仿真和模糊测试平台?

逆向工程 硬件 模糊测试 USB
2021-06-09 06:08:35

我想分析(和模糊)一个 USB 设备,我需要一些指导来设置一个完整的平台来与设备进行讨论。

首先,我想知道在 USB 设备上模拟和执行模糊测试最常用的硬件卡是什么。我听说过带有 Python APIFaceDancer11 卡(参见Travis Goodspeed的一些博客文章 [ 1 , 2 ] )。但是,他们是其他人吗?

此外,如果有人可以提供所需硬件设备的列表,也许还有一些有用的现有 Python 库,以及设置这样一个平台需要哪些开发工作,这将是有帮助的。

2个回答

除了FaceDancerGoodspeed之外,我一直找不到类似的东西。我个人使用FaceDancer[11 & 21]并且现在我构建了自己的模拟器(如果您的电子技能生疏的话,这不是那么容易)。但是,根据您要执行的分析类型,您可以找到不同的其他类型的硬件或软件。

对于嗅探,我认为OpenVizsla是一个很好的工具(免费和开放)。认为它还没有出售,您可以自己实现并FPGA尝试一下。你还有来自 Total PhaseBeagle,这是非常昂贵的想法。

https://www.nccgroup.com/media/190706/usb_driver_vulnerabilities_whitepaper_january_2013.pdf 的第 4 页很好地介绍了设置 USB 模糊测试平台。

在主机上测试 USB 驱动程序并不是一个简单的过程,因为您需要模拟 USB 设备或代理设备和主机之间的流量。由于该协议的工作方式,将 USB 主机(例如 PC)转换为 USB 设备是极其困难的,因此,如果您不通过某种挂钩或代理解决方案修改途中的流量,则需要使用基于硬件的方法。本节详细介绍了测试 USB 主机的各种不同方法,并比较了每种方法的相对优点...