您的加密USB驱动器是否安全?黑客又是如何攻破的?
您如何确定您使用的“安全”USB驱动器是否真的安全,并且您存储的数据无法提取?这正是Google公司和中国网络安全研究人员在最近的2018年黑帽美国大会上以艰难的方式攻击加密的USB密钥”的问题。

研究人员表示,目前,安全USB驱动器制造商正在遵循由NIST(美国国家标准与技术研究院)开发的FIPS140认证标准,该标准适用于各种硬件和软件加密模块。认证涉及密码安全公开和验证过程。
正如研究人员所说的那样,保持认证目前很重要,因为披露的信息有助于他们找出可能的问题。但这还不够;并非所有可能的攻击媒介都被FIPS140覆盖。正如您在下面看到的,一些加密的USB驱动器通过了认证,但仍然容易受到攻击,有时甚至容易发生。
这就是为什么研究人员建议开发专门用于评估加密USB驱动器安全性的新审计方法。研究人员首先将安全问题分为三类:
1、弱点:使进一步黑客过程更容易的问题
2、单驱动器中断:攻击者只能攻击一个特定驱动器的漏洞
3、完全中断:可以让攻击者访问同一模型的任何驱动器上的信息的漏洞

另外,利用某些漏洞需要特定的技能和资源。甚至对于一个不熟练的黑客攻击者来说,其中一些问题也可以使用,其中一些问题需要大量可用的资源,主要用于国家资助的黑客。因此,危险等级可以表示为三类:
1、偶然:以最少的资源向机会主义攻击者开放-基本上,在这个级别上,你会发现一个人可能已经找到或窃取了一个驱动器,并且渴望得到它(可能)包含的信息
2、专业:适用于资源有限的攻击者。大多数情况下,这个级别的攻击者有兴趣收集大量的信息
3、国家资助:需要有充足资源的攻击者。通常情况下,这些攻击者是在具体数据和值得大量投资的密钥之后

针对加密USB驱动器的威胁的进一步分类涉及将可能的攻击媒介划分为若干组,取决于设备的这个或那个组件:整个驱动器的设计和制造特征,认证因素(简称输入),USB/加密控制器,加密算法和闪存。我们来快速浏览一下这些类别。
首先,加密USB驱动器的设计和制造必须采用一定的保护级别。首先,一个加密设备显然是非常好的,如果有人与含有珍贵文件的USB驱动器混淆,您应该看到一些折衷指标。
访问电子组件越容易,攻击者就越容易研究硬件并找到设备中的这个或那个漏洞。为了防止这种情况,电路板应浸入环氧树脂中。值得一提的是,环氧树脂一定是真实的东西,而不是一些替代品:研究人员发现,至少在某些情况下,制造商声称他们使用环氧树脂,但实际上他们使用的是一些不太稳固的聚合物。结果,涂层可以很容易地用丙酮去除,提供硬件的完全访问。
在黑客入侵硬件的情况下,一旦他们接触到电子设备,攻击者首先要查找的是组件标记。这对于查找手册和规格非常重要,并且探索进一步的攻击可能性。如果所有的型号名称,序列号等都被仔细地从芯片上删除,攻击者会发现自己正在考虑一个黑匣子-他们必须做更复杂的研究才能知道哪些攻击实际上可以应用到驱动器上。

有时甚至当制造商试图从芯片上清除标记时,他们也没有做到这一点。使用允许攻击者绕过保护的调整版本替换固件是一项艰巨的任务。然而,拥有大量资源的技术娴熟的攻击者可能会付诸行动,更糟糕的是,这种类型的攻击是可复制的:一旦攻击者逆向工程设计固件并找出如何进行必要的调整,他们就可以破解同一型号的任何驱动器。
它允许攻击者通过电磁辐射来窥探设备内部正在发生的事件,这种攻击非常复杂,而且很可能不会经常发生,至少不会对正规人员和企业造成影响。然而,任何想要确保自己的秘密都是国家资助的黑客安全的人,应该使用带有铜箔屏蔽层的USB驱动器。
另一个问题在于验证合法用户和解锁设备的USB驱动器部分的保护级别。首先,黑客身份验证比在硬件级别上对闪存进行黑客攻击或黑客加密算法要容易得多。其次,制造商在开发认证机制方面犯了一些错误。因此,对于任何攻击者来说,认证可能是最明显的焦点。
有4种方法可以对用户进行身份验证:使用密码键盘,使用无线徽章,使用指纹或使用软件PIN输入。
制造商可能犯的第一个错误是将PIN存储在软件中。即使是一个不熟练的黑客攻击者也可以弄清楚如何提取它,从而不仅破解一个特定的设备,而且破解同一个模型的任何驱动器。在某些情况下,软件可能存在重播攻击可以使用的漏洞。
PIN输入板可能会受到非常简单的攻击,某些按钮会显示磨损迹象,从而显示可用于解锁驱动器的组合。

来自中国知名黑客教父郭盛华对指纹加密方面作出了解析:
至于指纹,它们可能看起来是一个很强的认证因素,但实际上它们并不完美。存在多种克隆指纹,其中一些不需要任何物理接触,攻击者可以使用数码单反相机拍摄出相当好的指纹,并使用导电墨水在标准问题喷墨打印机上制作假人,更糟的是,你不能改变你的指纹,它们不像密码。
但实际上,攻击者甚至不一定需要伪造指纹。郭盛华表示,在某些情况下,可以更容易地解锁指纹保护驱动器。
事实证明,至少有一个受指纹保护的USB驱动器型号受到重播攻击。当这个驱动器的传感器扫描一个合法的指纹时,它只是发送一个命令到驱动器的控制器来解锁。
这个特定制造商犯的另一个错误是在电路板上留下一个功能正常的调试端口。使用这个端口,研究人员拦截了解锁命令,从而能够重放它并解锁这个模型的任何驱动器。
这些黑客可能看起来很复杂,但请不要误解:熟练的攻击者会使用这些技巧来访问您的文件。如果你想保护你的秘密免受技术娴熟或资源丰富的国家资助的攻击者的攻击,你绝对需要考虑上面提到的所有漏洞。
考虑一个驱动器的USB/加密控制器。首先,你必须确保驱动器不会受到强力攻击的破坏。他们之中有一些是。例如,使用无线标签的驱动器(例如研究人员用来演示标签克隆攻击)也容易受到暴力攻击。
为了避免暴力破坏,设备必须在经过一定数量的失败认证尝试后自行熄灭。理想情况下,当驱动器被烧毁时,驱动器闪存中的加密密钥和信息将被安全擦除。
当从USB端口移除,在一定的不活动之后,以及USB重置之后,确保设备立即锁定自身也不会造成伤害。您还需要确保无法从驱动器的控制器请求密码或PIN和加密密钥。这看起来很明显。他们能够从一个驱动器的控制器请求主密码,并且使用该主密码,他们可以轻松地创建一个新用户并访问存储在驱动器上的所有文件。

这种攻击甚至可以让技术娴熟的黑客以最少的资源解锁任何此模型的驱动器。
加密显然是安全USB存储的核心。好消息是,没有足够资源的机会攻击者决不会决定使用这种攻击媒介,现代加密驱动器通常使用强大的加密算法,这些加密算法很难破解,即使它们执行得不是很好。
其他方面包括随机生成加密密钥,使用密钥和初始化向量的安全随机生成器,使用加密链接的安全算法等。但是,这主要适用于那些希望受到国家间谍活动保护的人。
正如研究人员强调的那样,这个加密魔法就在硬件中,因此探索驱动器加密和发现漏洞究竟发生了什么是非常困难的。因此,关于这个特定问题的更多披露将会有所帮助。
可能的攻击媒介的最后一类是直接读取闪存。看起来很难:攻击者需要从驱动器的电路板上仔细提取内存芯片,然后将其连接到读取设备。在某些情况下,制造商使这部分很多更容易,使用microSD卡,而不是焊接芯片。
事实上,接下来的部分会更难:从闪存芯片实际提取信息。在硬件级别上,闪存不会以良好方便的文件形式存储数据,因此攻击者必须做大量工作才能从闪存转储中提取有用的内容。
但是,制造商可能会犯下严重的错误,例如在存储器芯片中以明文形式存储PIN码。其他可能的易受攻击的行为包括将加密密钥,散列的PIN或固件签名密钥存储在内存芯片中。(黑客周刊)
您的加密USB驱动器是否安全?黑客又是如何攻破的?的更多相关文章
- 从USB驱动器运行Windows 10
我相信很多人和我一样.梦想着有个随身携带的U盘版操作系统.无论走到哪里,只要有电脑都可以随时运行自己配置好的操作系统.本篇博文就会一步步的教你如何从USB驱动器加载和运行Windows 10. 让我想 ...
- Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器
Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器 字数244 阅读197 评论0 喜欢0 把ISO镜像转换为一个可启动的USB设备.一种可行的方法是通过OS X的Terminal “浇灌”到 ...
- Bitlocker驱动器加密使用
前言 Bitlocker驱动器加密可以将磁盘加密,确保数据的安全.如果被加密保护的磁盘是Windows Server 2012操作系统磁盘,即使他被拿到另外一台计算机启动,除非已解锁,否则无法启动 ...
- 从USB闪存驱动器启动 Hiren的BootCD --制作U盘启动盘
从USB闪存驱动器启动 Hiren的BootCD 原文 http://www.hirensbootcd.org/usb-booting/ 本文基本上是翻译而来 要从USB闪存驱动器启动Hiren的B ...
- USB闪存驱动器未显示在MacOS的Finder或磁盘工具上?为什么Mac无法识别USB该如何解决?
您可能会在Mac上无法显示的闪存驱动器上形成困扰.您确定驱动器正常,但Mac计算机无法检测到. 阅读这篇文章,闪存驱动器未显示在MacOS的Finder或磁盘工具上?为什么Mac无法识别USB该如何 ...
- 用 VeraCrypt 加密闪存盘
导读 很多安全专家偏好像 VeraCrypt 这类能够用来加密闪存盘的开源软件,是因为可以获取到它的源代码.要是你需要在 Windows 系统,苹果的 OS X 系统或者 Linux 系统上加密以及访 ...
- 使用Windows EFS(怎么给文件夹加密)进行文件加密
和Windows BitLocker一样,Encrypting File System(EFS,加密文件系统)是Windows内置的一套基于公共密钥的加密机制,可以加密NTFS分区上的文件和文件夹,能 ...
- 小米手机usb共享网络mac
今天.我想去FQgoogle,mac在墙上,不便于使用.甚至只是用Android手机wifi,打开墙软件.然后usb分享到mac.然后mac互联网. 在谈到一些复杂.其实,关键一,小米手机usb共享, ...
- [区块链|非对称加密] 对数字证书(CA认证)原理的回顾
摘要:文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的 ...
随机推荐
- Linux下安装Tomcat(2)
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和 其它一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新 ...
- 微信小程序的开发框架
wxss:是一套样式语言,用来描述wxml的组件样式:小程序在css基础上做的修改和扩充的版本 css:是一套样式语言,样式表,用来描述xml和html文件样式的呈现: 设备像素:是图片在设备上显示的 ...
- 134、TensorFlow检查点checkpoint文件中的信息
# 1.你想创建多少Saver对象就可以创建多少,如果你需要去保存和恢复不同的子图模型 # 同样的变量可以在不同的saver对象中被加载 # 只有在Saver.restore()方法被调用的时候才会对 ...
- 简单了解winform
WinForm是·Net开发平台中对Windows Form的一种称谓. Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的窗体应用程序.可以访问数据库中的数据,并在窗体上显 ...
- C语言的未初始化的数组的值为什么是随机的
突然想起来前几天同学问我为什么没有初始化的数组的值是随机的,发现这个困惑自己也是存在的,所以自己总结的心得. 1. 首先,并不是所有未初始化的数组的值都是随机的.对于没有初始化的数组,分两种情况: ( ...
- StringOfChar 将一个字符重复多次 形成一个 字符串
StringOfChar Returns a string with a specified number of repeating characters. In Delphi code, Strin ...
- CentOS 7安装图形界面
之前公司的服务器都是用的CentOS 的系统,需要安装图形界面的时候我会执行以下命令 yum -y groupinstall "X Window System" "Fon ...
- Docker 官网文档翻译汇总
官方文档地址 Guide Docker 入门 Docker 入门教程 方向和设置 容器 服务 swarm 集群 stack 部署应用 概述 用 Docker 进行开发 在 Docker 上开发应用 应 ...
- HUD-2112 HDU Today(最短路map标记)
题目链接:HUD-2112 HDU Today 思路: 1.最短路spfa模板. 2.map标记建图. 3.考虑距离为0或者-1的情况. 总结:下次map记得清空orz. AC代码: #include ...
- 动态规划——稀疏表求解RMQ问题
RMQ (Range Minimum/Maximum Query)问题,即区间最值查询问题,是求解序列中的某一段的最值的问题.如果只需要询问一次,那遍历枚举(复杂度O(n))就是最方便且高效的方法,但 ...