聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

韩国研究员开发了针对某些固态驱动 (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 技术公司尚未就此事置评。


推荐阅读

在线阅读版:《2021中国软件供应链安全分析报告》全文

联发科固件现窃听漏洞,影响全球约三分之一的手机和物联网设备

很多IP摄像头厂商都在用的固件中存在多个严重漏洞

立即更新!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)

国内首个专注于软件开发安全的产品线。

 觉得不错,就点个 “在看” 或 "赞” 吧~

固件攻击可在隐藏的SSD区域释放持久性恶意软件相关推荐

  1. Echarts之map地图隐藏港澳台等区域

    只是提供一种思路: china.js中找到echarts.registerMap('china', {中的"features"KEY值 形如: {"id": & ...

  2. vue-print-nb实现页面打印,如何隐藏打印打印区域中的某个div?

    问题: 设置好打印区域后,如何隐藏打印区域中的某个div呢? 解决: 1.设置css类名 @media print {.hidden{display: none;} } 2.div上面设置这个css类 ...

  3. 什么方式可以通过影子系统传播恶意代码_将恶意代码隐藏在图像中:揭秘恶意软件使用的隐写术...

    概述 本周,许多Facebook用户都会发现,一些用户发布图片上出现了原本应该隐藏的图像标签.由此可以证明,图像可以携带大量表面上不可见的数据.实际上,Facebook和Instagram所使用的图片 ...

  4. 攻击链路识别——CAPEC(共享攻击模式的公共标准)、MAEC(恶意软件行为特征)和ATTCK(APT攻击链路上的子场景非常细)...

    结合知识图谱对网络威胁建模分析,并兼容MITRE组织的CAPEC(共享攻击模式的公共标准).MAEC和ATT&CK(APT攻击链路上的子场景非常细)等模型的接入,并从情报中提取关键信息对知识图 ...

  5. 厨具巨头员工数据在攻击中遭泄露、伊朗国家广播被恶意软件攻击|2月22日全球网络安全热点

    安全资讯报告 勒索软件攻击后,Expeditors关闭了全球业务 总部位于西雅图的物流和货运代理公司Expeditors International在周末遭到网络攻击,迫使该组织关闭其全球大部分业务. ...

  6. 基于DCT离散余弦变换的自适应水印算法的设计

    文章目录 前言 一.目的和需求分析 1.1项目设计目的 1.2项目需求分析 二.图像预处理 2.1 图像预处理的作用 2.2 Logistic混沌映射置乱 2.2 细胞自动机处理 均值滤波平滑处理 三 ...

  7. excel打开空白不显示内容 没有隐藏_办公软件操作技巧097:如何隐藏excel表格中没有数据的空白区域...

    在日常工作中,我们编辑好了excel表格以后,有时为了突出显示表格数据内容,或者为了后期编辑表格数据区时不受干扰等原因,可以把表格中没有数据的多余空白区域隐藏起来,如下图一为数据正常显示,图二为隐藏空 ...

  8. 新型钓鱼攻击竟然开始利用摩斯密码来隐藏URL

    ????????关注后回复 "进群" ,拉你进程序员交流群???????? 作者丨Alpha_h4ck 来自丨FreeBuf.COM https://www.freebuf.com ...

  9. Excel如何一键隐藏工作表中未选中的数据区域?

    今天要和大家分享的是,Excel如何一键隐藏工作表中未选中的数据区域呢?今天这个分享有点突兀啊,大家好好理解下是隐藏的未选中区域,也就是我们只显示下图中标蓝的部分-- (方方格子插件) 1.先看动图演 ...

最新文章

  1. js实现当前导航菜单高亮显示
  2. 【CentOS Linux 7】实验1【Linux文件目录管理】
  3. Swift - 从字典(或者Alamofire)直接创建Model文件的工具
  4. HRBUST 1909——理工门外的树——————【离线处理,差分前缀和】
  5. 【数据结构与算法】字符串匹配 BF算法 RK算法
  6. Navicat怎么看oracle作业,[数据库] Navicat for Oracle基本用法图文介绍
  7. json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)...
  8. linux 上安装 Node.js和npm
  9. 判断malloc申请内存_Linux内存使用情况与监测
  10. PHP打出来的数字和成语,php批量将词语 成语 导入数据库
  11. 呼叫中心系统建设方案
  12. 网络工程师成长日记140-机遇都是碰出来的
  13. 时事点评——红芯浏览器事件
  14. 使用Bmob云端代码开发微信公众平台教程
  15. CDH 6.3.2部署flink 1.14.3出现/opt/cloudera/parcels/FLINK/lib/flink/bin/flink-yarn.sh:17: rotateLogFilesW
  16. Stable Diffusion 2.0来了,皮卡智能AI早已“抢先”优化升级
  17. WATCHMEN 守望者,好看。
  18. Unity3d 防止相机“穿墙”功能
  19. 计算机与艺术传媒用英语怎么说,经济学人:艺术评论和计算机 数字图画
  20. varbinary 转换成 varchar

热门文章

  1. bzoj 3519: [Zjoi2014] 消棋子 题解
  2. Zend AMF 相关文章
  3. 2018 Python 开发者调查报告发布,数据出乎你意料吗?
  4. windows用户态程序的Dump
  5. java类读取properties里内容
  6. 【java集合框架源码剖析系列】java源码剖析之ArrayList
  7. 解决Linux下ArcGIS Server的Tomcat不稳定问题,nginx配置反向代理时的一个小问题
  8. 如何学习一个新的PHP框架
  9. MySql表以及数据导入导出
  10. android 路径中含有中文的解决方法