荷兰拉德堡德大学的两名研究人员日前发表论文,描述了固态硬盘流行加密软件Bitlocker中的关键漏洞。固态硬盘需要口令来加密和解密其上存储的内容,但该口令可以被绕过。

荷兰拉德堡德大学的两名研究人员日前发表论文,描述了固态硬盘流行加密软件Bitlocker中的关键漏洞。固态硬盘需要口令来加密和解密其上存储的内容,但该口令可以被绕过。只要能接触到设备,固态硬盘(SSD)所用加密系统中的漏洞可被黑客用于轻松解密数据。

固态硬盘会用其存储的密钥来加密和解密其上存储的内容,但问题在于,用于加密和解密数据的密钥不是从用户的口令导出的,也就是说,只要能拿到硬盘,通过调试端口对其重编程,就可以重设任意口令。没错,固态硬盘的加密设计就是这么令人无语。

两名研究人员测试了3块英睿达(Crucial)和4块三星固态硬盘,发现它们或多或少都不能免疫上述攻击。这几款固态硬盘都试图实现 TCG Opal 加密标准,但显然未能成功。

研究人员分析发现多款固态硬盘的加密都能被完全绕过,不用任何密钥或口令就能完整恢复出数据。尤其是,固态硬盘未能将用户的口令与实际数据加密密钥(DEK)相关联,二者都存储在硬盘上。固态硬盘的内置处理器和固件都能自由使用该DEK,但只在接到正确口令的时候才选择这么做。如果固件被人通过调试端口重编程或加以篡改,就能跳过口令验证环节直接使用DEK。

DEK其实应该在某种程度上出自用户的口令。没有口令,就没有完整密钥。但实际上,固态硬盘并没有遵守这一原则。不仅如此,很多硬盘整颗盘都只用一个DEK加密——尽管这些硬盘提供不同分区使用不同口令加密的功能。

两名研究人员表示,通过连接硬盘电路板上的调试接口,修改固件中的口令核对流程,使硬盘在获取DEK以加密或解密设备之前可以接受任意口令,他们成功解密了多款固态硬盘上的数据。

其他案例中,研究人员可以修改硬盘固件,或利用可修改口令核验流程的代码注入漏洞来获取密钥,当然,两种方法都需要攻击者能物理接触到硬盘。

在论文中,研究人员表示,有方法可以保护这些硬盘,那就是确保解密硬盘所需的秘密信息存储在硬盘本身以外的地方。使用运行在主机上的全盘加密软件,并在数据进入硬盘之前和离开硬盘之后用从用户提供的口令导出的密钥加密及解密数据,可以帮助达成这一目标。

论文中呈现的结果告诉我们,不能仅依靠固态硬盘提供的硬件加密来保证机密性。依赖固态硬盘实现硬件加密的用户应再加一道全盘加密软件解决方案,最好还是开源和经过审计的那种。

但不幸的是,某些流行数据加密系统,包括 Windows 10 中采用的Bitlocker工具,都没有为固态硬盘采取软甲加密防护,而是依赖硬盘本身脆弱的硬件加密。

密码学大师 Matt Green 对此也没有保留他的意见:

老实说,微软信任这些设备来实现Bitlocker的举动,真心是这家公司史上最蠢。这就好像撑把雨伞就跳飞机而不是背好降落伞再跳一样。

某些情况下,研究人员建议用户和管理员试试采用VeraCrypt之类的东西替代Bitlocker。

他们称:VeraCrypt可以在操作系统运行时就地加密,能与硬件加密共存。而且,即便通过调整组策略设置就可以支持硬件加密,Bitlocker用户也可以修改偏好强制实施软件加密。

在发给媒体的电子邮件中,两名研究人员之一写道:

因为只懂ARM架构,我们只测试了上述几款应用此架构的固态硬盘。话虽如此,TCG Opal 标准也太难以正确实现了。该规范的要求特别多,而且相当复杂。

一个简单点儿的标准可以让供应商更好实现,也可以保证其实现更加安全。从安全角度上看,应该公开一个参考性质的实现,让安全界审查其设计与实现。这样一来,供应商也就方便实现这些加密策略了。

我们对固态硬盘硬件加密用户的一般性建议是,不要完全依赖当前的硬件加密技术,应采取额外的安全保护措施,比如安装VeraCrypt软件加密。

关于该漏洞的论文地址:

https://t.co/UGTsvnFv9Y

TCG Opal 加密标准地址:

https://trustedcomputinggroup.org/resource/storage-work-group-storage-security-subsystem-class-opal/

重大漏洞:Bitlocker成摆设,多款固态硬盘硬件加密均可被绕过的更多相关文章

  1. 固态硬盘SSD与闪存(Flash Memory)

    转自:http://qiaodahai.com/solid-state-drives-ssd-and-flash-memory.html 固态硬盘SSD(Solid State Drive)泛指使用N ...

  2. 一文看懂SATA和NVMe固态硬盘用起来有何区别?

    本文摘自:https://www.sohu.com/a/203688929_615464 NVMe固态硬盘正在逐步扩张,而包括三星.东芝在内的大厂并没有停止SATA固态硬盘新品的研发.到底那种固态硬盘 ...

  3. 6款实用的硬盘、SSD固态硬盘、U盘、储存卡磁盘性能测试工具

    一.检测工具名称汇总 HDTune ATTO Disk Benchmark CrystalDiskMark AS SSD Benchmark Parkdale CrystalDiskInfo 二.各项 ...

  4. 电脑华硕A455L系列,机械硬盘换成固态硬盘,光驱位改放机械硬盘

    电脑一直以来都很卡,直到最近用的不舒服了,就去查查原因,发现是磁盘读取爆表!只好想起来换固态硬盘,光驱改放机械硬盘... 买的固态硬盘是个杂牌军,但是店家说工艺不错,只好将信将疑,用用再说吧. 首先确 ...

  5. MLC固态硬盘,与入量是3000次P/E

    固态硬盘是什么,固态硬盘寿命有多长 SSD泛指使用闪存芯片组成的SSD固态硬盘,是使用FLASH闪存颗粒作为存储单元,不再使用传统的机械存储方法,使用模拟的方式虚拟出传统 硬盘存取方式和扇区等,也可以 ...

  6. 固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异

    固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异 在看这篇文章之前可以先看一下下面的文章: SSD小白用户收货!SSD的误区如何解决 这样配会损失性能?实测6种特殊装机方式 听说固态 ...

  7. Accer 4752G添加固态硬盘 双系统

    (此文一直在草稿箱里躺了一年,略作修改后发布~) 背景:电脑是2011年年末买的,用到现在也已经5年多了,好在没坏过什么硬件,有过2年疯狂打LOL的经历,之后电脑就打不动了,FPS始终上不去,启动游戏 ...

  8. 戴尔笔记本Inspiron 7560(灵越) 加装固态硬盘从选购固态硬盘到系统迁移到设置SSD为第一启动(受不了了,网上的教程就没有完整的)

    菜鸡我的笔记本为戴尔灵越Inpsiron 7560,其实Inspiron 15 7560 和Inspiron 7560是同一个型号. 电脑拆了安过内存条,换过电池,现在又加了一块固态硬盘. 因为不想安 ...

  9. 固态硬盘寿命实测让你直观SSD寿命!--转

    近年来,高端笔记本及系列上网本越来越多的采用固态硬盘来提升整机性能,尽管众所周知固态硬盘除 了在正常的使用中带来更快速度的体验外,还具有零噪音.不怕震动.低功耗等优点,但大家对固态硬盘的寿命问题的担忧 ...

随机推荐

  1. [读书]Python学习手冊--属性管理1

    属性管理-特性 一般开发这不必关心属性的实现.对工具的构建这来说,了解这一块对API的灵活性有帮助. 大多数情况下,属性位于对象自身之中.或者继承自对象所派生自的一个类. ----python学习手冊 ...

  2. UE4 中的人工智能解析—ShooterGame为例

    在UE4编辑器中,打开内容浏览器,右击鼠标,创建传说中的行为树: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQTM2MzA2MjM=/font/5a6L ...

  3. 【金阳光測试】大话Android自己主动化測试--Android自己主动化系列(1)--金阳光于2013年4月份

    Android自己主动化測试框架和工具在四年多的发展日趋成熟. 从五年前的第一代自己主动化架构演进到眼下第四代(本系列讲座第7篇后将具体剖析第三代和第四代自己主动化框架)从曾经最早谷歌推崇的monke ...

  4. nodejs是什么

    nodejs是什么 一种javascript的运行环境,能够使得javascript脱离浏览器运行. 阅读本帖需要先复习小学语文课文,华罗庚的<统筹方法>. 比如,想泡壶茶喝.当时的情况是 ...

  5. Vue Syntax Highlight

    Vue Syntax Highlight https://github.com/vuejs/vue-syntax-highlight

  6. 青蛙的约会 poj 1061

    青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 86640   Accepted: 15232 Descripti ...

  7. CUDA笔记(11)

    CUDA提供了一种cudaEvent_t的类型,这种类型Event可以统计GPU上面某一个任务或者代码段的精确运行时间 使用常量内存的光线跟踪器的性能比使用全局内存的性能提升了50% __consta ...

  8. PostgreSQL Replication之第八章 与pgbouncer一起工作(2)

    8.2 安装pgbouncer 在我们深入细节之前,我们将看看如何安装pgbouncer.正如PostgreSQL一样,您可以采取两种途径.您可以安装二进制包或者直接从源代码编译.在我们的例子中,我们 ...

  9. NetBios, NetBios over TCP/IP, SMB 之间的关系

    首先提到的是NetBios,NetBios是Network Basic Input/Output System的缩写,提供了一种允许局域网内不同电脑能够通信的功能.严格来说,NetBios是一套API ...

  10. python 代码编写规范

    一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类 ...