您如何确定您使用的“安全”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或固件签名密钥存储在内存芯片中。(黑客周刊)