我想分析(和模糊)一个 USB 设备,我需要一些指导来设置一个完整的平台来与设备进行讨论。
首先,我想知道在 USB 设备上模拟和执行模糊测试最常用的硬件卡是什么。我听说过带有 Python API的FaceDancer11 卡(参见Travis Goodspeed的一些博客文章 [ 1 , 2 ] )。但是,他们是其他人吗?
此外,如果有人可以提供所需硬件设备的列表,也许还有一些有用的现有 Python 库,以及设置这样一个平台需要哪些开发工作,这将是有帮助的。
我想分析(和模糊)一个 USB 设备,我需要一些指导来设置一个完整的平台来与设备进行讨论。
首先,我想知道在 USB 设备上模拟和执行模糊测试最常用的硬件卡是什么。我听说过带有 Python API的FaceDancer11 卡(参见Travis Goodspeed的一些博客文章 [ 1 , 2 ] )。但是,他们是其他人吗?
此外,如果有人可以提供所需硬件设备的列表,也许还有一些有用的现有 Python 库,以及设置这样一个平台需要哪些开发工作,这将是有帮助的。
除了FaceDancer
Goodspeed之外,我一直找不到类似的东西。我个人使用FaceDancer[11 & 21]
并且现在我构建了自己的模拟器(如果您的电子技能生疏的话,这不是那么容易)。但是,根据您要执行的分析类型,您可以找到不同的其他类型的硬件或软件。
对于嗅探,我认为OpenVizsla
是一个很好的工具(免费和开放)。认为它还没有出售,您可以自己实现并FPGA
尝试一下。你还有来自 Total Phase的Beagle,这是非常昂贵的想法。
https://www.nccgroup.com/media/190706/usb_driver_vulnerabilities_whitepaper_january_2013.pdf 的第 4 页很好地介绍了设置 USB 模糊测试平台。
在主机上测试 USB 驱动程序并不是一个简单的过程,因为您需要模拟 USB 设备或代理设备和主机之间的流量。由于该协议的工作方式,将 USB 主机(例如 PC)转换为 USB 设备是极其困难的,因此,如果您不通过某种挂钩或代理解决方案修改途中的流量,则需要使用基于硬件的方法。本节详细介绍了测试 USB 主机的各种不同方法,并比较了每种方法的相对优点...