幣安交易所比特幣被竊漏洞分析
知名加密貨幣交易所幣安受到黑客攻擊,目前已經有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 key
和 Secret key
,如下圖:
API介面有限定使用者開放IP限制和開放提現功能。
開放提現就是直接利用 API key
和 Secret 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 key
和 Secret key
資訊後便可以實現攻擊。
使用者的資訊洩露途徑可能有:
- 普通使用者一般不會使用
api key
,一般是高階使用者用於程式碼中實現自動化交易,可能是使用者原始碼洩露導致api Secret key
洩露 - 使用者被釣魚攻擊,輸入了
API key
和Secret key
被黑客擷取。 - 使用者的
API key
和Secret key
儲存的電腦被攻擊竊取。 - 幣安交易所繫統原因導致使用者
API key
和Secret key
洩露,其中只有71個使用者開放了提現功能,被盜幣。
被黑客盜取的7074枚BTC的主要20個地址如下:
bc1qp6k6tux6g3gr3sxw94g9tx4l0cjtu2pt65r6xp555.997 BTC bc1qqp8pwq277d30cy7fjpvhcvhgztvs7v0nudgul5463.9975 BTC bc1qld27dqu6wrl4tmjdr8tl55qavmghwrr4ldh7qn473.9975 BTC bc1q8m9h3atn4cqeqhu3ekswdqxchp3g7d4v3qv3wm567.997 BTC bc1q7p6edvd4zvtya8uj366c23dan8pvlp503spucu468.9975 BTC bc1ql0wlnu80l8kctjzkzlzd72sdjqwuvruvgepceq383.998 BTC bc1q3ldtrr6xtpx8jam5gw68aaexz2wtluj0qullvr189.999 BTC bc1qyv4zv0wjn299kx4yz6g7v6g6400wqgzcqgw9vx383.998 BTC bc1q6fejm4r866tmt8ptf42juedv5gevlv2qt72agq371.998 BTC bc1qvstwzsrfml43jrclsp68220l4lx5lw3kwf7dp0193.999 BTC bc1qecs672j9dpvwr56zeldgf3swtlv3dad52wzuta463.9975 BTC bc1qshkncv7tkpye7z0z4a3k9yw2e73whha9gjs88z97.9995 BTC bc1qhlhx6lrnr0jf4zpvm788j7yeezau6s8q557p2z279.9985 BTC bc1qesy52g7ndy652qudr2awuk57mcaxgmn9qsmpzk469.9975 BTC bc1q9svj9wp68zftgejjgk6f96ukuyx8c5urkqsv69193.999 BTC bc1qanrl8n3flz4jftkscljx2hwuc3h50f9ynp2nyn89.9995 BTC bc1qtpdptcf4ngfkwq6dr36kqaeh2n5h00rx5unkgc670.9965 BTC bc1qvr2jxlmvckap7cg2l6mdgh5fa8glkhe4s88sax377.998 BTC bc1qhqap39mpkldjzvqdf3204p732krtnf56mm9aj3370.998 BTC 3KBsR6Ld255Tw5hNR4S6KaX5SXxvRF6jv31.29968018 BTC
安全無小事
各交易所和使用者都應該注意資訊的保護,使用者在使用開放提現等高階功能時,應提高對安全性的重視,避免資訊洩露導致的各種危害,不讓攻擊者有可乘之機。
本文來自專注於區塊鏈生態安全的 Beosin 成都鏈安
深入淺出區塊鏈 - 系統學習區塊鏈,學區塊鏈都在這裡,打造最好的區塊鏈技術部落格。