前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何应对区块链黑客?维基链CTO来支招

如何应对区块链黑客?维基链CTO来支招

原创
作者头像
维基链WICC
修改2018-12-04 10:35:55
7560
修改2018-12-04 10:35:55
举报

近期,Fomo3D 第二轮最终大奖开出。安比(SECBIT)实验室分析发现,此轮游戏获奖技巧与第一轮如出一辙,均为黑客发起“阻塞交易”攻击,让自己成为最终得奖者。

黑客攻击区块链游戏,带给用户的还只是没有机会获得大奖而已,早前黑客攻击数字货币交易所带给投资者的则是资产的损失。2014年,著名数字货币交易所 “门头沟(Mt. Gox)”甚至因为黑客盗取数字货币而破产。

腾讯安全联合知道创宇发布的《2018上半年区块链安全报告》显示,2018年上半年区块链领域因安全问题损失超过27亿美元,其中11亿美元是由于数字加密货币被盗。与加密数字货币有关的黑客攻击事件,从2013年到2018年(上半年)直接增加了大约五倍的数量,2018年全年预计增加约十倍。

由于区块链交易数据不可篡改,当区块链遭遇黑客,往往面临着巨大的资产损失风险。

那么,黑客对区块链的攻击都有哪些?目前行业内是否有应对方案?

维基链CTO陈晓东先生近日就黑客问题进行了解答。

以下是陈晓东先生的部分精彩阐述。

现在的黑客和以前的黑客还不太一样。以前的黑客主要是偏技术挑战,或者是成名,或者是政治目的,宗教目的等等。现在的黑客大多是利益驱动,纯粹是为了获利,如果不赚钱的话是不会干这个件事情的。

我曾在阿里巴巴负责防信息欺诈,反地下黑产,每年在阿里平台上大约有三五千万的资损。黑客在阿里巴巴平台上的欺诈模式是这样的:黑客盗取客户信息后,冒充阿里的客服等工作人员,让客户提供银行卡、手机短信验证码、软件账户密码之类的信息,在客户上当提供相关信息后,把客户的钱划走。

在数字货币世界也是一样的。因为数字货币其实是真金白银,如果能获得对方的私钥,就能把对方私钥对应的货币转移到自己的地址。

一种情况,不是在合约层出问题,而是直接攻击区块链的软件漏洞。这个还好,除非是这个区块链链真的开发得非常弱,系统层面就有漏洞,被黑客发现进行攻击,那这个项目就完了。这个链原有的价值也很快就会归零。因为一旦被黑客获得了这个链对应的数字货币,他就可以在交易所抛售自己手中的这种数字货币,一旦大量抛售就相当于直接把这个数字货币归零了。因为他可以操控80%-90%甚至是100%的数字货币,完全可以做空它。这种情况目前还没看到。

第二种情况是合约层出问题。现在看到的主要是以太坊上面的智能合约,当然维基链也支持智能合约。以太坊上的智能合约大多是第三方写的,不是以太坊开发者社区写的,但以太坊社区提供了这么一个机制,可以上传合约代码,成为某种智能合约。大家要知道,所有代码都有可能有漏洞。这个漏洞很有可能就是开发者在设计代码的时候没有考虑安全性导致的。这时,这种代币(token)的消费者在使用时,就可以利用合约的漏洞,发起攻击,获取大量的token。遇到这种情况,就要确保合约代码是健壮的。这是一个很经典,很古老的问题。

代码本身不能有逻辑漏洞,有了逻辑漏洞,就会被别人随意耍弄。比如,发行代币时,合约一创建就发行了1个亿代币,这个代币后来分配给谁,或者谁转给谁,都必须是地址的拥有者,才有权限。如果代码里面都没做这种基本的权限管控,就可以让任意地址把别人地址上上代币转到自己的地址上。这么愚蠢的问题虽然不太可能有,但说明代码的逻辑漏洞是很容易制造的。这是第一点。但是开发者都没这么傻。更多是第二种情况。

智能合约不是所有的代码都是自己写的。通常要利用到一些第三方的代码库,代码库里有些函数,有些功能,是不健壮的。开发者的智能合约在调用代码库代码的时候要做好边界检测等检测,了解自己调用的代码是不是越界的。如果不做这个检测,很容易导致智能合约调用代码里的某些变量,超出了它们能够管控的范围,带来运行的异常。这个异常很有可能就会被黑客利用。导致数字货币的损失。这个问题相对更复杂一点。

所以开发者要对自己的智能合约用户负责,智能合约不能随便写,随便发布。智能合约必须要经过安全评审。尤其是在这个智能合约所具有的代币有巨大潜在价值,必须要慎重。通常,以太坊也会推荐安全的代码库给大家使用,调用这里面的函数功能可以大大降低安全问题。

第三种情况是平台的安全。交易平台是中心化的,很容易被定位到服务器,有攻击的目标。这是系统性的安全。系统安全一定要做好,它涉及面很广,涉及到到访问权限控制、信息安全和网络安全等。

访问权限控制涉及到用户的鉴权,功能和数据的权限管控。鉴权包括用户登入登出,会话保持等安全控制。另外,现在很多数字货币交易平台都提供程序化交易,或者称为量化交易,提供接口调用,自动化交易。这些程序接口都有安全方面的风险,需要管控。

还有数据安全,主要是平台用户和后台管理员数据访问权限的区别。后台管理员访问权限还有不同的角色、等级区分,访问的数据范围也不会一样。

真正的黑客可能会用到功能性或者数据性方面的安全漏洞。如果做得不够好的话,就很容易遭到攻击。

交易所还有很多运维方面的权限安全问题。网络方面的安全问题,比如DDoS攻击之类的。黑客就是花钱来干坏事,他们也要计算自己的成本。对付此类攻击,行业内有成熟的解决方案。

还有典型的就是“社工(Social Engneering)”攻击。通过人之间的交互,获得用户的密码、账号。然后以用户的身份登录进去,把用户的钱转到自己或其他的账户。就相当于劫持了用户的账号。这也是一种典型的做法。其实也不可小看这种威胁。尤其是有些土豪,有庞大的资产,但不了解技术,对资产的安全保护措施做得也不好,自己的手机密码、短信等重要信息随便地就透露给别人。这也很容易被黑客利用,把他们的数字资产转走。

交易所方面的风险通常就是这些。

另外,还有一种比较典型的就是钓鱼攻击。让用户看到一个网站链接,看起来非常像某些区块链项目的官网。但实际上是黑客伪装的一个网站,欺骗用户在上面下载软件,然后运行,输入账号、密码等重要信息,导致用户损失数字货币。或者泄露用户信息,黑客从中获利。

矿工方面的攻击事件,维基链观察到的不是特别多。因为矿工是挖矿者,也是区块链上的块产生者,就涉及到矿工的公私钥。如果私钥被泄露了,矿工挖的矿就相当于给别人挖了,就是把挖矿的手续费转给别人了。

但是矿工现在都是在特殊的硬件体系,比如,GPU、FPGA、ASIC这种硬件体系。维基链认为,攻击这种硬件体系的黑客应该比较少。但还是逃不了挖矿获得的数字货币之后私钥的安全问题。因为矿工要帮人家交易打包,打包成为区块链的一个块。这个打包需要私钥签名,收益也是私钥对应的币来获得,比如手续费,增发的币等等。如果私钥被泄露,矿工的币就会被转走。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档