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

首先,我想知道使用最多的设备硬件卡,以在USB设备上模拟并执行模糊测试。我听说过带有Python API的FaceDancer11卡(请参阅Travis Goodspeed的一些博客文章[1,2])。但是,还有其他人吗?

此外,如果有人可以提供所需硬件设备的列表,也许还有一些有用的现有Python库,并且需要进行哪些开发工作这样的平台,会很有帮助。

#1 楼

除了Goodspeed的FaceDancer,我再也找不到类似的东西了。我个人使用FaceDancer[11 & 21],现在我构建了自己的仿真器(如果您的电子技术不熟练,那么就不那么容易了)。但是,根据您要执行的分析类型,您可能会找到其他不同类型的硬件或软件。

对于嗅探,我认为OpenVizsla是一个很棒的工具(免费和开放)。如果认为它尚不可用,您可以自己在FPGA上实现它并尝试一下。您还可以从Total Phase获得Beagle,这是相当昂贵的想法。

#2 楼

https://www.nccgroup.com/media/190706/usb_driver_vulnerabilities_whitepaper_january_2013.pdf的第4页对建立USB模糊测试平台进行了很好的介绍。


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