李鬼,出自古典名著《水浒传》第四十三回,冒用“江湖上有名目,提起好汉大名,神鬼也怕”的黑旋风李逵名号,拦路抢劫,索要李逵买路钱。后遇到李逵,被杀。
01
故事起因
Voice应该是近期EOS用户最关注的一个重磅的应用了,虽然Beta版本并不能对美国以外的人群开放,但是在你关注Voice的时候有人就开始惦记你的资产了,这不事儿就来了。。
2月13日的晚上距离Beta开始还有一段时间,突然有个朋友跟我说,Voice发Token了你知道吗?我说什么(一脸懵)!?因为我明明记得我们发的快讯里面说的很清楚:用户在测试期间收到了Voice代币是不可转让的,之后会进行重置,不过会有额外奖励。再说了Token还是发行在了测试网上。。。所以我决定来看下这个发行账号有何猫腻。
02
整理线索
先看下合约地址:eosvoicebeta,使用了合约创建账号方式(增强匿名性);账号格式工整的有点不像话,感觉国外人不能这么“起名”。继续看eospark浏览器中的账号编辑栏(下图),还是非常工整,还配了一个Voice的图标,挺“用心”的。
在简介里面看到了一个网址,https://eos-voice.io,怎么跟印象中的不一样呢,要知道Voice购买域名可是花费了3000w美元,那么就打开看下吧:
(假李鬼)
熟悉的配色、熟悉的预览图、熟悉的底部通知,那么有没有发现有什么不同呢?我们来看下https://www.voice.com 真李逵的网站长啥样:
(真李逵)
看上去就好像是两个时态(旧版和新版)不同的官网,那我们再看下两个域名的服务器所在地吧:
(假李鬼)
(真李逵)
“李鬼”的地址也是用了“心”的,直接用了美国 德克萨斯 达拉斯(让我想到了达拉斯小牛,不过已改名)服务器,具体是哪个运营商就不多查询了。
“李鬼”的网址右上角上很显眼位置看到了一个Claim VOICE的入口,而真品网站上是没有的,我们来对比下:
(真假对比)
正版网站中有专门针对Beta用户提供的登陆入口,另一个就是申请测试版的入口,我们知道平时遇到的Claim命令都是执行如Airgrab糖果的抓取等,但是当你遇到恶意的代码时,你执行的就是很有可能是自己授权把钱包控制权主动交给了对方(既完成了权限的修改)。
03
突发事件
就在这个时间,出事儿了。。。。
最先是在开发者社区看到有人提示要警惕这个Voice代币所对应的链接,通过Claim执行恶意命令,会丢失钱包控制权,而且已经有人中招了!
(发现李鬼)
没过多久,我们的客服也遇到了另一位用户反馈了同样的问题:
(惨遭中招)
ps:出于使用习惯与安全原因,桌面版钱包默认将权限变更加入防火墙(需密码解除),在未解除防火墙功能的情况下,都无法执行权限变更操作,对账号的安全有一个很好的保障。
04
深入“虎穴”
那么我们就来实际执行一下,会会这个恶意代码,防止让更多的人深受其害。为了防止EOS账号私钥被修改,我特地设置了多签账号(多签名账号,需要多人授权权重≥阈值方可执行),目的就是为了能比较深入了完成一次完整的Claim操作。下面看具体操作:
1、准备多签账号,防止恶意权限执行成功。
(准备多签账号)
2、打开“李鬼”网站并执行Claim,比较尴尬的是,我准备的账号白费了,因为账号没EOS资产(没资产就没有兑换代币的权利)。更换一个有资产账号后发现DApp浏览器打开后无法点击执行Claim命令(这个也是好事儿,最起码使用移动端操作的用户不会入坑),可能是还没有“优化”好的样子。
(无资产无获取权限)
3、既然移动端测试的方式走不通,那么就直接通过上面被坑的账号看下链上信息发生了什么吧。
(权限惨遭修改)
05
经验总结
经过测试发现,这是一个非常聪明的“钓鱼网站”,你持有的EOS越多就可以得到越多的假的voice代币(没钱都不带你玩儿),在你Claim的时候就把账号归为己有,而且还非常“贴心”帮你抵押资源来完成权限变更的操作。唯一值得庆幸的是该代币没有被钱包收录(意味着看不到代币显示在资产列表中)、自带的DApp浏览器不能执行Claim;当然了,即使可以执行,TP钱包自带恶意代码防火墙功能,遇到获取高级权限的时候会有明显的提示,以警示用户进行排查。在这里提示广大用户,不要随意执行不明来源的代码,保护自己的资产安全,备份好私钥并妥善保管,避免悲剧发生。
(恶意代码防火墙)
,