专栏首页深入浅出区块链技术币安交易所比特币被窃漏洞分析

币安交易所比特币被窃漏洞分析

知名加密货币交易所币安受到黑客攻击,目前已经有 7074.18 个比特币被窃。

发生了什么

根据币安首席执行官赵长鹏对外披露的信息,该交易所在 5 月 7 日发现了大规模的安全漏洞,该漏洞导致黑客能够访问用户应用程序接口密钥(API keys)、双重身份验证码、以及其他信息。按照安全通知中公布的一笔交易,黑客从币安交易所中取走了价值大约 4100 万美元的比特币。

被窃交易详情

对此次攻击,Beosin 成都链安科技安全团队进行了深度分析:

交易详情如下:

交易发生在 575013 块,总损失最高可达 7074 个 BTC

详细提币地址

截至目前,币安热钱包(地址:1NDyJtNTjmwk5xPNhjgAMu4HDHigtobu1s)被盗约 7000 枚 BTC. 现在币安的热钱包余额 3,612.69114593 个 BTC,说明币安热钱包的私钥安全。

经过团队分析,黑客在 05 月 08 日 01:17:18 通过 API 接口在同一时间发起提币操作。

币安交易所 API 功能

币安交易所的 API 申请后会生成 API keySecret key,如下图:

API 接口有限定用户开放 IP 限制和开放提现功能。

开放提现就是直接利用 API keySecret key 直接提现,不需要收集验证码、短信、谷歌验证码。 如下图:

API 部分官方调用代码 demo 如下(来自):

from binance.client import Client
client = Client(api_key, api_secret)
# get market depth
depth = client.get_order_book(symbol='BNBBTC')
# place a test market buy order, to place an actual order use the create_order function
order = client.create_test_order(
    symbol='BNBBTC',
    side=Client.SIDE_BUY,
    type=Client.ORDER_TYPE_MARKET,
    quantity=100)
# get all symbol prices
prices = client.get_all_tickers()
# withdraw 100 ETH
# check docs for assumptions around withdrawals
from binance.exceptions import BinanceAPIException, BinanceWithdrawException
try:
    result = client.withdraw(
        asset='ETH',
        address='<eth_address>',
        amount=100)
except BinanceAPIException as e:
    print(e)
except BinanceWithdrawException as e:
    print(e)
else:
    print("Success")

安全分析

初步分析认为是用户的 API key 和 Secret key 信息泄露导致的此次攻击。

如果用户没有限制 ip 并配置了开放提现功能,任意攻击者在获取了 API keySecret key 信息后便可以实现攻击。

用户的信息泄露途径可能有:

  1. 普通用户一般不会使用 api key,一般是高级用户用于代码中实现自动化交易,可能是用户源码泄露导致 api Secret key 泄露
  2. 用户被钓鱼攻击,输入了 API keySecret key 被黑客截取。
  3. 用户的 API keySecret key 保存的电脑被攻击窃取。
  4. 币安交易所系统原因导致用户 API keySecret key 泄露,其中只有 71 个用户开放了提现功能,被盗币。

被黑客盗取的 7074 枚 BTC 的主要 20 个地址如下:

bc1qp6k6tux6g3gr3sxw94g9tx4l0cjtu2pt65r6xp           555.997 BTC
bc1qqp8pwq277d30cy7fjpvhcvhgztvs7v0nudgul5          463.9975 BTC
bc1qld27dqu6wrl4tmjdr8tl55qavmghwrr4ldh7qn         473.9975 BTC
bc1q8m9h3atn4cqeqhu3ekswdqxchp3g7d4v3qv3wm          567.997 BTC
bc1q7p6edvd4zvtya8uj366c23dan8pvlp503spucu         468.9975 BTC
bc1ql0wlnu80l8kctjzkzlzd72sdjqwuvruvgepceq            383.998 BTC
bc1q3ldtrr6xtpx8jam5gw68aaexz2wtluj0qullvr             189.999 BTC
bc1qyv4zv0wjn299kx4yz6g7v6g6400wqgzcqgw9vx          383.998 BTC
bc1q6fejm4r866tmt8ptf42juedv5gevlv2qt72agq           371.998 BTC
bc1qvstwzsrfml43jrclsp68220l4lx5lw3kwf7dp0             193.999 BTC
bc1qecs672j9dpvwr56zeldgf3swtlv3dad52wzuta          463.9975 BTC
bc1qshkncv7tkpye7z0z4a3k9yw2e73whha9gjs88z          97.9995 BTC
bc1qhlhx6lrnr0jf4zpvm788j7yeezau6s8q557p2z           279.9985 BTC
bc1qesy52g7ndy652qudr2awuk57mcaxgmn9qsmpzk          469.9975 BTC
bc1q9svj9wp68zftgejjgk6f96ukuyx8c5urkqsv69           193.999 BTC
bc1qanrl8n3flz4jftkscljx2hwuc3h50f9ynp2nyn             89.9995 BTC
bc1qtpdptcf4ngfkwq6dr36kqaeh2n5h00rx5unkgc          670.9965 BTC
bc1qvr2jxlmvckap7cg2l6mdgh5fa8glkhe4s88sax          377.998 BTC
bc1qhqap39mpkldjzvqdf3204p732krtnf56mm9aj3          370.998 BTC
3KBsR6Ld255Tw5hNR4S6KaX5SXxvRF6jv3                    1.29968018 BTC

安全无小事

各交易所和用户都应该注意信息的保护,用户在使用开放提现等高级功能时,应提高对安全性的重视,避免信息泄露导致的各种危害,不让攻击者有可乘之机。

本文分享自微信公众号 - 深入浅出区块链技术(blockchaincore),作者:Beosin 成都链安

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一步步教你创建自己的数字货币(代币)进行ICO

    Tiny熊
  • 以太坊钱包开发系列2 - 账号Keystore文件导入导出

    以太坊去中心化网页钱包开发系列,点链接观看视频课程,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号、账号Keys...

    Tiny熊
  • 使用 Ink!开发 Substrate ERC20 智能合约

    ERC20 通证标准(ERC20 Token Standard)是通过以太坊创建通证时的一种规范。按照 ERC20 的规范可以编写一个智能合约,创建“可互换通证...

    Tiny熊
  • 独家! 币安被盗原因找到了! 7074枚比特币竟是这样丢掉的

    5月8日早上8点28分,知名加密货币交易所币安承认再次受到黑客攻击。截止到目前撰文时间,已经有7074.18个比特币被盗。

    区块链大本营
  • GATK4最佳实践-数据预处理篇

    GATK4 官方针对不同的变异类型,给出了好几套用于参考的pipeline。所有的pipeline有一个共同点,就是数据预处理部分。数据预处理的目的,是将原始的...

    生信修炼手册
  • 与我一起学习微服务架构设计模式8—外部API模式

    Web应用在防火墙内部运行,它们通过高带宽、低延迟的局域网访问服务。其他客户端在防火墙之外运行,通过较低带宽、较高延迟的互联网或移动网路访问。

    java达人
  • configparser模块

    Wyc
  • 人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 的思考

    有一段时间没怎么写文章了,今天提笔写一篇自己对 API 设计的思考。首先,为什么写这个话题呢?其一,我阅读了《阿里研究员谷朴:API 设计最佳实践的思考》一文后...

    用户2781897
  • 【扯淡篇】IT Operations(IT 运营),运维的更价值化认识

    6月20号,在InfoQ高效运维群里面,对运维创业做了一次激烈的讨论,很自然地,过程中不可避免的谈到运维苦逼和运维无法产品化的问题,这是一些运维需要说服自己,证...

    用户1593318
  • 安全研究者的自我修养

    在上篇文章《推荐今年C3黑客大会上的几个议题》中提到”Attacking Chrome IPC“这个议题,我觉得该议题最大的亮点是在前半场,作者nedwill是...

    泉哥

扫码关注云+社区

领取腾讯云代金券