第1页简介第2页PCB上的第2页部件第3页连接JTAG第4页注入代码第5页持久性第6页软件闪烁第7页其他用法第8页结论(+讨论/备注)。
除了这篇文章,我还在OHM2013上做了一个关于这个主题的演讲。那次演讲的视频(减去前几分钟)现在已经在网上了。
硬盘:如果你读了这篇文章,几乎可以肯定你在使用其中的一个或多个东西。它们非常简单:它们基本上表示一组512字节的扇区,按递增地址编号,也称为LBA或逻辑块地址。硬盘所连接的PC可以从这些扇区读取数据或将数据写入这些扇区。通常,使用文件系统将所有这些选择器抽象为文件和文件夹。
如果你从这个天真的角度看硬盘,你会认为硬件应该很简单:你所需要的就是连接到SATA端口的东西,然后SATA端口可以定位读/写头,从盘片读取数据或向盘片写入数据。但可能还涉及到更多:不要让硬盘也处理坏块管理和SMART属性,而且它们通常不是有一些必须以某种方式管理的高速缓存吗?
所有这些都意味着硬盘中有一些智能,而智能通常意味着可黑客攻击。我一直对可破解感兴趣,所以我决定研究一下非机械层面的磁盘工作有多难。以前已经对各种硬件进行过这样的研究:从PCI扩展卡到笔记本电脑中的嵌入式控制器,甚至是苹果键盘。通常,这项研究是为了证明这些设备的可黑客攻击能力会导致软件受损,所以我决定采取同样的方法:对于这次黑客攻击,我想制造一种可以绕过软件安全的硬盘。