去中心化交易所并不代表安全性低!

in #cn7 years ago


(图片来源:quicksnake的微信朋友圈截图)

上一篇币安的文章发完,就有朋友(这位就是上次我们转发过的公众号“区块链卡咪”大佬的私人微信,他也希望更多的朋友能够加他交流,有兴趣的可以看他的文章加他哈)提出了这样的问题(如上图),去中心化交易所资产也会被盗啊,看起来没有比中心化好太多。刚好最近在我们superledger的客户里发生了一件很有趣的事情,我只能从一个方面来说,去中心化的交易系统虽然同样有客户被盗的安全风险,但是大大增加的透明性给了事件责任方认定还有线索追查更方便快捷的途径。

事情是这样的,3月1号早上我们的CTO跟我说他之前介绍的一个熟人客户的账户被盗了,通知了他。被盗的账户是duncan7#520416。于是我马上对该账户的交易记录进行了检查,这里就体现区块链去中心化交易系统的一个最大优势:交易记录的透明性。很多人说区块链系统不是匿名的吗?从某种程度上说的是的,那是在区块链内部地址和外部信息没有建立价值连接的基础上。而在任意一个点对点的区块链系统的内部,地址和地址之间,其实都是不具有实际匿名性,交易双方在达成交易签名的瞬间,就在区块上留下了交易双方的信息。(实际上所谓的匿名性就是因为存在着共同的第三方交易中心,在交易中心里发生了混币,会让识别价值转移的过程变得复杂。第三方交易中心常见的形式就是交易所和系统临时设立的对手方节点,主要出现子在专门的隐私交易里。)因此我们很快发现了应当被标记的代币转出目标账户:todo7#757855。从这里我们开始观察推理盗号者所做的操作,然后猜测他背后的动机,意图,和手段。   

盗号者2月23日 上午11:10:39在Superledger的水龙头完成了账户注册,而一般只有使用我们网页轻钱包的新客户才会在我们网站上使用我们的水龙头做账户注册。而我们网站并不是什么特别出名的网站,目前只是我们自己测试和交易的平台(UI都没更新到最新),因此当时就觉得盗号者应该是个偶然来到我们网站的新手。又因为被盗号主的账户名duncan7和盗号账户名todo7都有个“7”,当时一度怀疑是不是被盗号主不会操作然后又建了个新号结果自己怎么搞错了就说自己被盗了。  


(图片来源:Superledger网页轻钱包截图)

然后对被盗账户duncan7的交易记录首先进行了分析,其实除了这个图上的情况的话,还发现duncan7的账户权限在账户模式的注册条件下,被人添加了代表新密码的新公钥对,而加新的公钥是一定要有激活的达到权限阀值的公钥进行签名才可以的,因此可以确认是盗号者获得了账户权限私钥(有私钥才能激活公钥),或者是解锁公钥的激活状态(后来发现真的是这样)。这里是比较倾向于第二种情况的,因为你在知道密码的情况下备份下来就不需要往里面加密码了。当时由于发现了这种状况,马上通知号主修改了密码,并且把原先旧的公钥全部进行了删除,因此错过了截图的机会,不过这也不重要了。同时,就像图上标示出来的那样,我们发现盗号者做了很多奇怪的操作,首先他是想直接把BTS转走的,但是不知道为什么使用了提议交易,然后又不懂怎么通过提议(这些都是多重签名账户权限才需要的高级操作),而我们网站自己提供的初级入门教程又没有写这样复杂的操作内容,盗号者可能就觉得自己是不是因为没有私钥密码,所以发不出钱。他就开始仔细读我们的教程,然后发现了抵押这个功能!我也不知道是不是他不知道比特股可以直接在内盘市场卖成CNY(教程里有教),还是想要试下这个功能。总之他觉得BTS不是RMB,他想快点把这个东西变成钱然后出手(因为看到我们的网关有CNY的提现选项),反正他就把被控制的这些BTS抵押成了CNY,然后添加了新密码之后,突然发现原来转账是不需要做提议交易的,在3月1号这天直接将1200CNY转去了todo7帐号。  

我额外注意到,这个新人整个学习过程也花费了整整5天的时间,说明BTS就官方UI来说真的很不清晰,指引也要摸索很长的时间才弄明白最基础的转账和抵押原理。之后才实施了盗窃,关键是他还不知道BTS的这些操作是完全透明的,已经完全暴露在了我这个观察者视野之下。而且不只是我,这个网络上的所有用户都可以看到这些记录。 


(图片来源:Superledger网页轻钱包截图)

同样的,我又来检视了盗号者这边的记录,在图上做了更详细的流程分析。这里面就要讲到我们怎么锁定到他真人的了,主要原因是,这个盗号者使用了我们网关提供的CNY提现业务,露出了马脚。这也是我想说的,为什么去中心交易所,一样可以在某些环节上产生和中心化交易所一样,甚至更强的安全性。那就是在货币的价值使用阶段,他的价值确认在整个转移过程中是可以被追索的。如果盗号者要将价值提取回现实,他就必须要暴露他在原子世界中的真正价值信息。在这里,我们知道了这个人他的电话号码,同时通过电话号码知道了他的支付宝。同样的如果他是找其他的承兑商提现,我一样可以拿着这些证据和授权去找相应的转账方寻找证据。其实在这种程度上来说,去中心化交易所的透明性给了我们更多确认真相的线索,而且把交易环节放在链条之上可以让我们更清晰的确认具体发生了什么操作,是谁做的?而不是直接说一个黑客攻击了,毫无实体的声明。  

盗号者是在CNY到自己账户3天后发起的提现,其实我一开始还没注意到,因为我们网站真的没几个知道,平时也是没钱可以给人充值的,现在基本处于暂停充值的阶段(因为现在CNY充值手续费很高,我们也不做这个生意)。我是在处理微信公众号的时候发现这个留言的,一下就意识到他来了。  


(图片来源:Superledger超级网关公众号后台截图)

 然后我们通过上面得到的这个电话找到了他真人图片(支付宝)和名字(保护隐私打码)。 


(图片来源:quicksnake的支付宝页面截图)

我们将他的这些信息发给了受害者。注意!!搞笑的地方要来了!!!! 

受害者告诉我们这是他的前同事!!!他的密码应该是自动保存在了以前公司电脑的浏览器的自动保存里!!! 他的这个前同事把他的浏览记录翻出来用自动保存的密码登录了我们网站,这也验证了为什么在不知道密码的情况下可以登录解锁账户,并且要加入另一条新密码!!!!  

这也说明账号被盗完全不是我们平台方的责任,而是受害者自己没有保护好自己的密码哈。  

在这里,就要强烈告知各位区块链系统的使用者,一定不要把自己的私钥保存在浏览器的自动保存里,特别是各种拥有权不是自己的电子设备终端,以及不要登录任何来路不明的客户端网页。因为这指向了两种可能的被盗情况,一是设备被他人使用(本例),二是被木马或钓鱼网页记录了密码输入情况(更严重,因为是远程操作,受害面积大)。像我们存放公司资产的主要账户,都是放在更安全的钱包模式中,平时只在我们自己搭建的节点和网页端口登录的,平时在外面各APP直接登录的中转账户,也做了严密的多重签名处理,防止账户所有权被更改。私钥是区块链系统加密算法保证的根本,请将其备份好,并进行2次到3次以上加密再存储到云端或固态介质中。  

最后,受害人和盗号者发生了激烈的撕逼(脑补),我们也在核实了情况后将扣留的赃款退回了受害者账户。  

 
(图片来源:Superledger网页轻钱包截图)

后续故事:3月10号,我们看到todo7再次发起了新的提现,在我们的公众号留言中与他进行了实际交流后得知他已经与受害者完成了协商,并支付了现金购买了这笔CNY,也算挽回了自己的声誉。这也是我为什么要打上码的原因,对于正常人来说,很难有人能抵挡一堆钱摆在眼前的诱惑,是诱惑在勾引着人类前行。人可以犯错,但要在机制上可以监督人改错,才能让人不无法无天。  

本文首发于区块链自媒体分发点赞平台Steemit 

欢迎关注微信公众号:Superledger超级网关
目前建立了创业团队,致力于开发最好用的bts内盘钱包
希望交流的朋友可以添加我的个人微信:quicksnake
我只是一个对金融和区块链有点想法的普通青年

讨论Telegram群组:https://t.me/Superledger

Bts投票代理quicksnake-1,注册水龙头https://superledger.online/reg

Steem 区块链个人博客https://steemit.com/@quicksnake
superledger官方博客https://steemit.com/@superledger

欢迎follow骚扰 

Sort:  

赞一个,已follow

感谢大佬支持,您的称赞是我写作的最大动力。