回顾达令智库之前讲解过定义加密钱包安全性的“三有一无”要素:三有是加密钱包要具备网络隔离、系统完整性保护和种子保密性;一无是“无系统攻防假设”。“三有一无”要素是从防守角度分析钱包应该具备的安全特性。本文则从包括攻击、可用角度的两个维度去分析加密钱包安全性设计的指导原则:一、可攻击性维度密深科技首席科学家郭伟基从技术门槛、经济成本、犯罪成本、预期收益四个方面将攻击钱包的成本收益分解为三个层次:第一层次,高可攻击性,对应技术门槛低、经济成本低、犯罪成本低、预期收益高;第二层次,中可攻击性,对应技术门槛低,经济成本低,犯罪成本高,预期收益低;第三层次,低可攻击性,对应技术门槛高、经济成本高,犯罪成本高,预期收益低。
可攻击维度对比,来源:达令智库这三个层次可以指导我们采用针对性的安全设计。二、可用性维度加密钱包的可用性包括安全性与用户体验。有别于通常把可用性等同于用户体验的常规做法,我们在这里把安全性列为可用性的一个关键指标。原因很简单,作为钱包产品,安全性至关重要。如果某个加密钱包安全性差,使用上就有很多限制,特别是其管理的资产规模只能是非常小、即便损失掉也关系不大的,这就导致钱包在很多情形下不可以使用。另外,不好的用户体验也会导致安全性流失。例如,如果某款钱包的安全性主要依赖用户输入一个比较复杂的密码,那么用户体验就会很差;而出于人性的懒惰,用户可能使用看似复杂其实容易破解的口令。理想的加密钱包安全性高,用户体验又非常好。但是这两者极难兼顾。为此,郭伟基提出一个公式:技术先进指数≥安全指数x用户体验指数在给定的技术水平上,安全指数和用户体验指数最多成反比关系,无法兼顾。幸运的是,通过采用更加先进的技术,可以同时提升安全指数和用户体验指数。可以认为,加密钱包可用性的天花板取决于所采用的安全设计及其技术实现。
可用性维度对比,来源:达令智库从可攻击性维度和可用性维度分析各种钱包架构的优劣之后,本文将进一步提出一个指导钱包安全性设计的思维范式。三、维度分析之软件钱包1.可攻击性维度由于攻击软件钱包的技术门槛低、经济成本低、犯罪成本低、预期收益高,软件钱包的可攻击性高。从技术门槛上看,软件钱包不具备“三有”要素:连接网络会导致助记词的不安全保存,交易密码设置弱口令,货币价格走势数据被替换等;系统不完整性的话主要是基于安卓系统,安卓系统会导致手机不能觉察到物理攻击;由于前两者不能保证安全性从而导致钱包种子保密性也不会安全。因此攻击软件钱包的技术门槛相对并不高。从经济成本上看,因为软件钱包时常联网,黑客只需坐在电脑前即可远程攻击无数的软件钱包,而且是同一种攻击手段反复可以用,不需要很多人配合以及很大的运作成本。从犯罪成本上看,黑客通过互联网可以跨国进行盗窃,而且可以把自己IP隐藏起来或者放置到其他的地方,几乎很难追踪到黑客的真身。从预期收益上看,现阶段投资者还未能足够重视加密资产的保密性,所以很多用户都是把加密资产放置到软件钱包存储,给黑客很大的可攻击用户基数。黑客可以比较轻松地在电脑背后攻击大量的软件钱包,一旦成功则收益十分可观。2.可用性维度目前软件钱包上能够运用的安全技术选择并不多。较低的技术水平造成安全性与用户体验极难平衡,因此总体的可用性处于比较低的水平。在国内,软件钱包往往等同于手机App钱包,较少用户使用PC上的软件钱包。然而无论如何,软件钱包面临的首要问题就是私钥或者种子如何保密。PC上流行过勒索病WannaCry,加密用户的资产文件并索要赎金。其实能够勒索,就能够转移文件。另外一种就是从PC或手机上盗取加密私钥文件,进行撞库,或者再利用加密方案实现的缺陷进行破解。当然后者的技术门槛就更高了,但也没有高到天际。一项MIT计算机科学与人工智能实验室的研究结果表明,超过10%的错误密码学实现体现为把解密密钥硬编码在代码里面。读者们不要觉得这好像天方夜谭。仔细思考一下软件钱包还能把解密密钥保存在哪些地方?混淆一下放代码里面是很显然的一个选项,其它选项也好不到哪里去,除非底层操作系统提供足够坚固的安全措施。好一点的做法是要求用户输入一个密码进行加密,但是这里又会有其它问题,弱密码、撞库等等是一方面,利用木马获取键盘输入从而取得用户密码是另一方面。上面对软件钱包的安全性做了理论上的分析。而真实的现实安全状况远远比理论分析的还要糟糕。例如,有的软件钱包业者认为,钱包应用的安全性无须超出其所在系统的安全性,只要手机系统没有被攻破,资产就是安全的;而如果系统被攻破,那么用什么手段都保护不了资产。为了提高用户的体验,许多钱包干脆把用户的钱包种子或者私钥明文存放在手机里面,给用户的资产安全造成极大的潜在危险。日前,区块链安全研究中心BSRC公布了一段针对某安卓版软件钱包的攻击视频,该视频显示,攻击者可以通过USB连接用户手机直接获得用户的助记词种子,并在本地破解后获得用户的十二个助记词明文,从而进入用户的账户。在这个攻击案例中,如果钱包种子进行了哪怕是简单的加密保护,攻击也不会如此顺利。为了用户体验而牺牲安全性,本质上是一种安全错觉。从可用性的角度看,安全性和用户体验都是必不可少的,便利但不安全的加密钱包使得用户资产面临本不必要的风险,其可用性水平很低。因此,可攻击性高的软件钱包是黑客青睐的“攻击”对象,而糟糕的、缺乏理论指导的、在总体可用性有限约束下牺牲安全性去照顾用户体验的设计,使得软件钱包的安全性更是雪上加霜。这就是为什么会产生硬件钱包的需求。四、维度分析之安卓硬件钱包1.可攻击性维度基于安卓系统开发的硬件钱包,在可攻击性维度上属于第二层次,也就是中可攻击性,具体来说是技术门槛低、经济成本低、犯罪成本高、预期收益低。从技术门槛上看,攻击安卓系统并不是太难的一件事情。这主要是由于安卓缺乏系统完整性保护,各种安全漏洞也比较多;更重要的是,基于安卓系统的硬件钱包一旦发布之后,往往很难再对底层操作系统作什么重大升级,造成安卓硬件钱包不断被后续发现的新漏洞所威胁。甚至可以说,如果已发布产品无法打补丁,任何人只要了解到新的漏洞,就可以利用来攻击安卓硬件钱包,造成技术门槛偏低的状况。实战上,Bitfi执行总裁、网络安全先锋JohnMcAfee曾把Bitfi冷钱包称作是全球首个“无法被黑”的设备。为了证明自自己,McAfee于7月24日发起10万美元的悬赏寻找可以攻破此设备的黑客。一周不到,一个十五岁的孩子据悉成功攻破了JohnMcAfee大力支持的Bitfi钱包。在7月举办的看雪安全峰会上,来自知道创宇的安全专家胡铭德利用USB接口缺陷破解了某国产安卓钱包。从经济成本上看,无论是供应链攻击还是邪恶女佣攻击,成本可能就是植入恶意软件或者利用已知漏洞窃取私钥数据,不需要很高的代价。但是其中存在一定的犯罪风险。无论是黑客直接接触设备还是买通他人,攻击者都面临身份被识别的可能性。从预期收益上看,由于攻击者需要先接触到设备,才有可能窃取里面的数字资产,这就使得攻击不能大面积实施,其效率变得十分低下,预期收益也因此较攻击软件钱包大为降低。从可攻击性分析来看,安卓硬件钱包综合评测预期收益低会导致黑客在一定程度上不会攻击硬件钱包,但是随着硬件钱包的使用人数逐渐提高,黑客的收益也会随之升高,导致硬件钱包也会逐渐受黑客的青睐。2.可用性维度目前市场上已有的安卓硬件钱包产品基本都是强调其离线、通过二维码传递签名信息,用户体验比软件钱包要差很多。同时由于仍存在设备丢失或被他人接触的可能,安全措施也不能简化。如果需要用户使用比较复杂的密码组合来保密钱包种子,这对用户体验又是一种伤害。当然,随身携带体型硕大的设备本身对用户体验也是一种伤害。同时,由于安卓系统缺乏系统完整性保护的先天不足,在攻击者能够接触设备的前提下,安卓硬件钱包的安全性并不比软件钱包高,甚至低于某些较好运用了iOS安全机制的软件钱包。综合来看,安卓硬件钱包相对软件钱包的主要优势在于其保持离线,造成可攻击性,或者说作为攻击目标对攻击者的吸引力,相对没那么大;其用户体验则逊色于软件钱包。总体来说,是为了安全性牺牲用户体验的典型。如果既要很高的安全性,又要良好的用户体验,则根据前述公式,只能靠采用更好的技术平台了。这就是芯片级硬件钱包。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。