近日,韩国研究人员针对某些固态驱动器(SSD)模拟了一系列攻击,这些攻击可能允许将恶意软件植入用户和安全解决方案都无法触及的位置。攻击模型针对具有灵活容量功能的驱动器,并针对设备上称为过度配置的隐藏区域——如今SSD制造商广泛使用该区域来优化基于NAND闪存的存储系统性能。硬件级攻击提供终极持久性和隐蔽性。过去,高级攻击者一直在努力尝试针对机械硬盘的此类攻击方法,将恶意代码隐藏在无法访问的磁盘扇区中。
SSD工作原理
弹性容量是SSD中的一项功能,它使存储设备能够自动调整原始空间和用户分配空间的大小,通过吸收写入工作负载量来实现更好的性能。它是一个动态系统,可以创建和调整称为过度配置的空间缓冲区,通常占用总磁盘容量的7%到25%。当用户启动不同的应用程序时,SSD管理器会根据工作负载自动调整此空间,具体取决于它们的写入或读取密集程度。操作系统和在其上运行的任何应用程序(包括安全解决方案和防病毒工具)都无法看到超额配置区域。
SSD攻击模型
首尔高丽大学研究人员模拟攻击针对的是一个无效数据区域,该区域具有位于可用SSD空间和预留空间(OP)区域之间的未擦除信息,其大小取决于两者。其研究论文解释说,黑客可以通过使用固件管理器来更改OP区域的大小,从而产生可利用的无效数据空间。这里的问题是,很多SSD厂商为了节省资源,选择不擦除无效数据区。在假设断开映射表链接足以防止未经授权访问的情况下,该空间会在很长一段时间内保持充满数据。因此,利用此弱点的威胁行为者可以访问潜在敏感信息。
研究人员指出,对NAND闪存进行数字取证可以发现过去六个月未被删除的(无效数据区)数据。在另一种攻击模型中,威胁参与者将OP区域用作用户无法监控或擦除的秘密位置,并在其中隐藏恶意软件。
其研究论文将这种攻击描述为:假设两个存储设备SSD1和SSD2连接到一个通道。每个存储设备都有50%的OP区域。黑客将恶意代码存储到SSD2后,立即将SSD1的OP面积缩小到25%,将SSD2的OP面积扩大到75%。此时,恶意软件代码包含在SSD2的隐藏区域中。获得SSD访问权限的黑客可以随时通过调整OP区域大小来激活嵌入的恶意软件代码。由于普通用户在频道上保持100%的用户区域,因此黑客的这种恶意行为并不容易被发现。
这种攻击的明显优势在于它是隐蔽的。在OP区域检测恶意代码不仅耗时,而且需要高度专业化的取证技术。
防御对策
作为对第一种攻击的防御,研究人员建议SSD制造商使用不会影响实时性能的伪擦除算法擦除OP区域。对于第二种攻击,防止在OP区域注入恶意软件的潜在有效安全措施是实施有效-无效数据速率监控系统,实时观察SSD内部的比率。当无效数据比例突然显著增加时,用户可以得到警告并在OP空间选择可验证的数据擦除功能。
最后,SSD管理应用程序应该具有强大的防御能力,对未经授权的访问采取防御措施。研究人员进一步解释说:“即使不是恶意黑客,被误导的员工也可以随时通过使用OP区域变量固件/软件轻松释放隐藏信息并泄漏它”。虽然研究表明SSD上的OP区域可用于存储恶意软件,但目前不太可能在野外发生此类攻击。