作者:木沐 / 来源:白话区块链
作者 | 木沐
出品|白话区块链(ID:hellobtc)
资产安全一直以来都是加密行业老生常谈的重要话题,然而根据白话区块链观察,尽管经常做安全科普,但真正关注安全问题的并不多,因为很多人普遍的心态是:“这完全是概率事件,轮不上我这「仨瓜俩枣」”,反而往往却认为比这概率更低的彩票中奖一定会轮到自己。
事实上,随着加密资产的主流化,针对个人用户资产的安全事件频发,而且不论大户还是散户,很多时候,这些事件就发生在我们身边,已经不是小概率事件了。
那么从近来最常见的个人用户资产安全事件出发,一起来捋一捋那些和我们息息相关的安全问题吧,最首当其冲的就是:如何确保你正在用的平台和钱包APP是安全的?
01
“官方渠道”就一定安全吗?
大部分人都觉得确保平台和钱包APP安全很简单,认准“官方渠道”不就行了?其实也未必……
1. 比官网更像官网的“官网”
大家都知道找“官网”,但以常见的主流钱包为例,你能马上列出它们准确的官网地址吗?马上“做题”检测:
大部分人可能会选A和B,根据日常惯例,很多人会认为品牌名+.com或者io后缀的才是“具有品牌实力”的官网,可事实上很多团队早期都是创业小团队起家,当时注册的官网域名很是“潦草”,正确答案其实是C。
还是同样的原因,这些钱包官方团队起家时可能连商标都没有考虑注册……然后品牌商标被别人抢注了,接着别人拿着商标就可以在某些搜索引擎上购买品牌保护服务,在搜索结果上打上“品牌官方”的认证标签,或者购买推广服务,永远排在前面,这就极具迷惑性了,这个事也就发生在前两年。至今在某些主流搜索引擎搜索“xxx钱包官网”前几页结果大概率都是假货。
这些比官网还官网的“官网”,着实“坑”了不少人,因为对于黑客来说也是成本较低、成功率较高的方式之一。
2.知道官网地址又如何?
很多人觉得,确保输入正确的官方域名,下载的app一定是安全的。不过,依然还是会出事。这不近期的Bitkeep钱包安全事故中,BitKeep发布公告称,经过团队初步排查,疑似部分APK包下载被黑客劫持,安装了被黑客植入代码的包。
简单的说,就是部分用户下载的APK包过程中被黑客“劫持”,下载成了黑客特殊加工过的“钱包”进行安装,我们暂且把它纳入一个非官方“假钱包”行列吧。
公告提到的主要原因是“劫持”,由于“劫持”方法和环节众多,目前暂不清楚是什么环节出的问题,但我们可以聊聊黑客通常是怎样让一个用户明明输入的是“官网”域名,却下载到假钱包的:
第一种,本地Localhost文件动手脚
本地PC设备被诱导或者通过漏洞安装了恶意软件、病毒后,通过修改本地主机Localhost文件,这种方法可将指定的域名直接指向非官方服务器的IP(比如黑客准备的“官方”页面),也就是说,浏览器打开后,输入准确的域名,访问的去却是黑客提供的网站,下载的也是假APP。
第二种,直接在本地浏览器或App打开的页面动手脚
当你打开某些平台网站、钱包网页时,通过浏览器插件直接修改特定网页展示的内容,例如将APP下载按钮指向的APP下载链接地址替换成黑客准备的地址、将资产充提地址替换成黑客的,也可以读取和修改剪贴板中的钱包地址或者私钥。至于浏览器插件是否有修改网页的权限,这点不要担心,因为几乎大部分浏览器插件都有这样的权限,如果你有仔细观察的话,你会发现即便我们常用的小狐狸钱包也有这样的权限……不久前也有因下载了头部CEX的会发现即便我们常用的假APP导致充提地址被替换导致资产丢失的事件发生。
第三种、远程DNS劫持、域名解析记录修改、APP厂商服务器被黑
这种属于远程互联网服务商的问题了,很少出现,成本和难度系数也非常高,但确实出现过,也是通过类似“投毒”的方式,让你访问的域名解析到黑客的地址。另外是服务商自己的域名服务商账户被盗导致域名解析被修改等均可能造成输入官方网址,却进入黑客网站的情况。另外APP厂商自己被黑那就没话说了,这些都是我们无法左右的情况。
02
白话区块链的安全提示
在得知黑客连官网都能劫持,就不得不感叹“防不胜防”了,那如何是好?实际上这些安全问题并不仅仅存在加密领域中,进入数字化时代,任何APP都存在安全问题,包括银行、第三方支付APP都存在不少假“APP”的现象,因此我们结合过去的经验总结了一些对应的安全防范提示供大家参考:
1.使用HTTPS防劫持
输入正确官方域名时,务必在域名开头加上 https:// ,它的作用很大,打开网址时,如果有本地劫持、远程DNS劫持风险,通常浏览器地址栏上方会有“不安全”的红色警示以及页面安全隐患等多种警示,具体原理就不展开了,简单的说这也是非对称加密的一个广泛应用之一,用于防劫持,通过加密签名的不对称验证来确保访问的是官方提供的网页。
这里插一句题外话,事实上很多项目方的网站,甚至DeFi网站都没有使用或者强制使用Https来部署网站,这完全说不过去,很难感受到团队上心的态度和专业度。
2. 检查APK文件哈希
由于某些特殊原因,国内安卓手机用户无法直接通过GooglePlay下载APP,只能下载APK安装包,而大部分假APP安全事件就出在APK被替换、下载了假APK的问题上,那么就我们就一定要确保APK是官方提供的才行。
首先用Https打开官网后,进入下载页面,细心的同学可能会看到一些下载页面通常会有一个“验证应用安全性”或者SHA256等字样链接,预计80%的人不会看安全提示,90%的人没有点开验证链接查看过里面的内容并进行验证…
点开安全验证链接或者SHA256链接后,我们会看到官方公布的APK安装包文件对应的哈希值(如果文件有任何修改,哈希值将彻底改变),我们在下载APK文件后,计算它的哈希值与官方公布的一致,就可以说明文件没有被替换掉。
下载APK后,关键的一步来了,打开谷歌旗下的virustotal.com查毒网站,上传刚刚下载APK文件,我们可以获得这个文件的哈希值进行对比的同时通过数十个病毒库以及进行检索这个文件是否携带恶意代码等情况,可以说是一箭双雕的神器。
最后,如果要再再严谨一点,也要注意打开官网下载页面时担心哈希值和下载链接被本地病毒、插件同时篡改,那么可以通过手机等不同环境浏览器二次确认哈希值是否一致。
假如,你准备下载的钱包官网下载页面不支持Https,你首先要怀疑的是这是不是真的官网,另外如果不提供APK文件哈希值核对,同样你可以怀疑这个钱包团队对安全性的严谨态度,出现如此疏漏是非常不应该、不负责任的,请谨慎考虑是否要使用该APP。
3. 如何检查当前安装的平台、钱包APP是否安全?
事实上,最好的方法就是通过官网的下载页面进入安卓的 Google Play、IOS AppStore 下载安装,因为理论上谷歌和苹果应用商店的安全系数比钱包官方的安全系数高太多了,它们平台具有世界顶尖级别的安防软硬件和人才储备,钱包或者平台和它们比起来完全不是一个量级的。
因此通过钱包、平台官网下载页面打开GooglePlay、 AppStore页面,再次确认开发者公司名称、下载量、评论量(主流钱包这些量很大)没有问题的情况下,此时我们可以认为下载的APP是安全的。
如果当前设备正在使用的apk包安装应用不确定是否安全,可以按照前面2个安全提示的方法,确定官方并验证哈希以后下载到手机覆盖安装即可,不过千万不要忘了先备份好助记词,以防覆盖过程出错导致丢失数据无法恢复钱包(不过一般覆盖安装或者更新应用不会导致数据丢失)。
4. 关于钱包安全的其它建议
如果不用冷钱包、硬件钱包,喜欢热钱包的朋友,最安全的是iphone设备安装,一来只需要一个海外ID不需要安卓这样的各种折腾,二来iPhone锁定后加密数据没有密钥无法解锁。
海外很多主流APP(比如Metamask)都是不支持APK单独下载安装的,就是因为安全问题太多,但很多厂商为了拉新迫于无奈、安卓用户太庞大等原因才开放APK下载,安卓如果要绕开APK问题,需要谷歌服务框架(含Google Play)、谷歌密码验证器这些必备软件,现阶段因为某些原因已经非常难安装了,很多人找的第三方解决方案来源本身就非官方可能也不安全,也不够严谨。
当然一定要用安卓手机,可以选择一些目前尚且还原生支持谷歌全家桶框架的厂商,比如三星,另外将钱包安装到支持安全芯片隔离的安全文件夹的设备可以成为第二重安全保障,可以达到和苹果手机一样丢失后无法解锁获取敏感数据的额外安全效果。
5、关于平台APP的建议
由于大部分平台CEX都采用了多重验证,不太受假APP的影响(对黑客来说难度系数较高),但也要注意确认APP中的充提地址是否与官网页面提供的一致,另外一定要开启平台内的“白名单”功能,只能将资产提到安全的白名单地址。
另外,平台CEX面临最大的风险除了前文中的两个本地劫持修改充提地址外,就是钓鱼了,因为大多数人的APP、短信、谷歌验证器,实际上是安装在同一设备上的,这就造成了,黑客只要控制或者监听一台设备,即可大概率掌控你这三个信息进而操控你的平台资产。
因此安全起见不是非常建议一个设备同时操作多重验证,可以把谷歌验证器安装在另一台安全手机上,也可以不在手机上安装app而通过在PC或者PC网页端操作平台账户,这样可以防止单点“爆破”,最大限度保护资产安全。
03
小结
安全无小事,白话区块链认为安全问题值得每天讲、是时时刻刻讲,在日常操作过程中,或许只需要多1秒钟时间留意这些细节,就能够做到为资产提升99%安全的可能性,何乐而不为?
END