聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
韩国研究员开发了针对某些固态驱动 (SSDs) 的一系列攻击,可导致攻击者在用户和安全解决方案无法触及的地方指入恶意软件。
这些攻击模型适用于具有flex capacity(弹性能力)特性的驱动,针对的是设备上被称为“预留 (over-provisioning)” 的隐藏区域。当前该区域被SSD厂商广泛应用于对于NAND 闪盘存储系统上的性能优化中。
硬件级别的攻击具有持久性和隐秘性特征。过去,复杂的攻击者想方设法对HDDs 实现此类概念,将恶意代码隐藏到不可触及的磁盘部分。
Flex capacity 的运作原理
Flex capacity 是 Micron Technology 公司生产的 SSD 中的一个特性,可使存储设备自动调整原始空间和分配给用户的空间大小,通过吸收写入负载量来实现更好的性能。动态系统创建和调整空间缓冲区即“预留空间”,通常占磁盘总容量的7%至25%。“预留”区域对于操作系统和在其上面运行的任意应用程序(如安全解决方案和反病毒工具)都是不可见的。
当用户启动不同的应用程序时,SSD管理器自动根据负载量的写或读的密度来调整该空间。
攻击模型
研究人员建模的攻击针对的是具有不可擦除信息的位于可用SSD空间和预留空间之间的不合法数据区域,它的大小取决于这两个空间。论文解释称,黑客可以使用固件管理器更改预留空间的大小,从而生成可利用的不合法数据空间。问题在于,很多SSD制造商选择不擦除不合法的数据区域以节约资源。该空间充满了扩展时期的数据,它基于这样一种假设:打破映射表的连接就足以阻止越权访问。因此,威胁者利用该弱点可获得对潜在敏感数据的访问权限。
研究人员指出,NAND闪存上的取证活动可暴露6个多月前未被删除的数据。
在第二种攻击模型中,预留空间用作用户无法监控或擦除的秘密位置,可被攻击者用于隐藏恶意软件。
论文指出,“它假设两个存储设备SSD1和SSD2 连接到某个信道以便简化描述。每个存储设备都拥有50%的预留空间。黑客在SSD2中存储恶意软件代码后,立即将SSD1的预留空间减少到25%并将SSD2的预留空间扩展至75%。目前,恶意代码包含在SSD2的隐藏区域中。具有SSD访问权限的黑客能随时通过重新调整预留空间的大小来激活嵌入式恶意代码。由于普通用户维护频道上100%的用户区域,因此检测此类恶意行为并非易事。”
此类攻击的另外一个特点是隐秘性。检测预留空间中的恶意代码不仅耗时而且要求具备较高的取证技术。
应对措施
对于第一种攻击类型,研究人员建议SSD厂商通过不影响实时性能的伪擦除算法擦除预留区域。对于第二种攻击类型,一种有效的阻止恶意软件注入预留空间的方法是实现有效-无效数据率监控系统,实时观察SSD中二者的比率。当不合法数据比率突然急剧上升,则用户可得到警报信息并在预留空间提供可验证的数据擦除函数。
最后,SSD管理app的访问权限也应当部署健壮的防御措施,防止越权访问。
研究人员解释称,“即使并非恶意黑客,被误导的员工也能轻松释放隐藏信息并随时使用预留空间变量固件/软件的方式泄露它。”
虽然研究表明,Micron SSD 上的预留空间用于存储恶意软件,但这类攻击目前不可能发生在野外。
目前, Micron 技术公司尚未就此事置评。
推荐阅读
立即更新!SonicWall 公司再次发布SMA 100 0day 固件更新
原文链接
https://www.bleepingcomputer.com/news/security/firmware-attack-can-drop-persistent-malware-in-hidden-ssd-area/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~