导语:研究人员总结了从Air-gapped计算机中窃取Cold Wallet密钥的方法,其中包括物理、电磁、电、磁、热、声等途径。
背景知识
冷钱包(Cold),也叫离线钱包(Offline Wallet),是一种脱离网络连接的离线钱包,将私钥、交易数据存储于冷钱包将免疫网络黑客、木马病毒的袭击,并且避免出现丢币、盗币的情形。冷钱包是加密货币存储的最安全方式,但也不是绝对安全的,硬件损坏、丢失都可能造成加密货币的损失,因此需要做好密钥的备份。
Air-gapped计算机,是不通过任何方式与互联网连接的电脑,因为所有的恶意软件都是以互联网作为主要的传播途径,因此Air-gapped计算机也被认为是最安全的一种形式。
以色列研究人员发表一篇名为BeatCoin的文章,证明了如何从冷存储(air-gapped计算机)的加密货币钱包中窃取私钥。
攻击:钱包渗透
对钱包应用进行渗透攻击一共分两个阶段,第一个是钱包应用安装后,第二个是钱包应用安装前。钱包应用安装后对进行攻击的方法我们主要在下一节密钥窃取进行讲解,本节主要描述应用安装前。
钱包应用安装前,air-gapped计算机被黑主要通过修改操作系统,修改钱包应用两种方式。
修改操作系统和修改钱包应用
攻击者可以在操作系统和钱包的下载地址修改操作系统和钱包的代码。2016年就有一个很有名的攻击,黑客修改了Linux Mint镜像文件,并安装了后门,成功黑进了官方网站替换了官方网站上的镜像原文件。同样地,恶意软件也用同样的方式进行传播。2017年,官方版本的CCleaner被黑,传播的版本中就有植入的后门。
下载后感染
钱包应用和操作系统一般都是从互联网下载,然后用USB设备安装在air-gapped计算机中。恶意软件可以在软件下载后和安装前感染可移除设备或钱包的镜像。
攻击:密钥窃取
在研究密钥窃取时,我们需要了解都有哪些攻击入口。
Air-gap covert channel(隐蔽信道)是与air-gapped计算机进行通信的一个隐蔽信道,也是数据泄漏的主要途径。在钱包攻击类型中,冷钱包的密钥是通过隐蔽信道传输到附近的热计算机,智能手机,摄像头等其他接收器中的。Air-gap covert channel可以分为很多种,分别是物理,电磁,电,磁,热,声等方式。
物理
虽然冷钱包是与互联网物理隔离的,但USB这样的可移除设备可以插入到air-gapped主机中。攻击者可以利用这个机会窃取密钥。一个最常见的场景就是交易签名。交易在冷计算机中签名后,必须广播到比特币网络中去。而USB存储设备正是完成了这样一个从冷计算机到互联网网络的转移过程。
利用USB设备来维护隐蔽信道已经是恶意软件和蠕虫常用的技术了。许多APT组织还通过在USB设备中创建隐蔽分区来收集系统信息并存储在隐蔽分区中。当USB设备插入接入互联网的计算机后,数据就泄漏了。
攻击向量如图所示,当USB设备插入air-gapped计算机后,恶意软件会在隐藏分区中存储私钥。一旦USB设备插入热钱包计算机,恶意软件就可以读取私钥信息,并通过互联网发送给攻击者。
电磁
基于电磁的隐蔽信道传输从上世纪90年代就开始研究了。1998年,科学家就发现计算机的显示线会产生电磁辐射,而从发出的信号可以模型化后变成二进制信号。但在这种攻击中,接收信号的无线电接收器需要在发出电磁辐射信号的设备的附近。所以,在攻击中是不容易实现。
AirHopper
在AirHopper攻击中,研究人员利用附近的手机屏幕从附件的airgapped计算机中接收收据。这种攻击的距离只有几米,传输速率为100-480b/s。攻击的时效性也很短,只有几秒钟。
GSMem
与AirHopper类似,GSMem会与GSM,UTMS,LET频段产生干扰。附近安装了rootkit工具的手机可以接收到传输信号。在GSMem攻击中,手机也需要与air-gapped计算机距离较近,有效的传输速率为1-2b/s。GSMem攻击可以用来泄漏air-gapped钱包中的私钥到附件用户的手机中。
RADIoT
在RADIoT攻击中,可以从air-gapped嵌入式系统中泄漏数据,IoT设备利用无线信号接收数据。同样,AF/FM接收设备需要为泄漏的设备相对较近。基于嵌入式设备的类型,数据传输的速率从几十比特到几百比特每秒不等。
电
2018年初,研究人员提出PowerHammer可以通过电线从air-gapped计算机中窃取数据。Air-gapped计算机中安装的恶意软件可以通过改变CPU负载来控制系统中计算机中电力的消耗。而这种电力的消耗最终会体现为一定的数据表现形式,这种攻击的数据泄漏速度大约为10b/s。这种攻击方式需要获取air-gapped计算机中电力服务面板的物理访问。
磁
ODINI和MAGNETO攻击可以利用计算机处理器产生的磁信号来窃取数据。磁信号可以通过读写硬盘驱动来产生。
光
私钥可以通过air-gapped计算机钱包发出的光信号泄漏。这种光信号也是需要通过附近的含有摄像头的设备进行接收,比如智能手机,网络摄像头和安全摄像头等。
Keyboard LEDs。Loughry说可以利用计算机键盘的LED等来通过光学的方式窃取数据。这种攻击方法的缺点是信道并不完全是隐蔽的。用户可能会观察到LED等的闪烁,并发现攻击。
Hard-disk-drive LEDs。2017年,Guri发表文章LED-it-GO,文中描述了用HDD的指示灯来从air-gapped计算机中窃取数据的隐蔽信道。同时,他还发表了通过路由器和交换机的LED等来从air-gapped计算机中窃取数据。因为HDD和路由器的指示灯是经常闪烁的,所以很少会引起用户的怀疑。
Invisible image (VisiSploit) / QR stenography。一些air-gapped钱包中,签名交易可以通过扫描二维码而不是拷贝到移动设备的方式拷贝到网络。Gur说数据同样可以通过LCD屏幕传递泄漏给用户。因为QR码对人是不可见的,而在攻击示例中,私钥和签名交易的AR码同时出现在屏幕上。
声
在声音隐蔽信道中,私钥可以通过不可听的声波进行泄漏。Hanspach就证明了如何在带有扬声器和麦克风的air-gapped设备上建立通信链路。研究人员在两台距离19米的计算机间建立了通信链路,传输速率为20b/s。
预防措施
主机入侵检测
一些基于主机的入侵检测系统和入侵防御系统或可以用来防止air-gapped钱包感染恶意代码。主流的方法是使用静态扫描和运行分类每个可移除设备上的文件。但恶意软件作者仍然可以使用0day漏洞等技术来绕过检测。
隐蔽信道检测
文中提到的很多隐蔽信道都是可以检测和拦截的。习惯分析,机器学习和异常检测技术等都可以用来进行一些预警。
基于策略的措施
关于air-gapped钱包可以定义一些策略,比如不许计算机、智能手机、摄像头和其他接收器的使用。也就是常说的红/黑隔离,也就是系统之间的物理隔离。这种方法对私人来说,可能是不适用的,而且,一些air-gapped钱包本来就是用智能手机来进行冷热钱包之间的交易传输。
基于硬件的措施
基于硬件的措施主要是使用电磁屏蔽设备来拦截设备发出的电磁信号,这可以限制基于电磁攻击的有效范围。但因为成本非常高,所以也是不适用于个人的。还有一种信号干扰的方式,通过专业的硬件传输器来产生随机的噪声来与钱包产生的潜在信号传输来产生干扰。信号干扰的方式主要用于电磁和声信号的拦截。