每日最新頭條.有趣資訊

黑客攻擊幣安API:資訊比價值96比特幣的SYS更有意思

  在 7 月 4 號的幣安 API 被攻擊本該是一件大事,當天,有 11 個名為 SYS 的 Token 在幣安交易所內以 450 萬人民幣(96 個比特幣)的價格被成交,相對其之前價格瞬間暴漲了 320 萬倍。但這件事卻因為當時最重磅的八卦‘李笑來錄音門’所被人忽視了。

  本文作者 Anthony Xie 來自加拿大,是量化交易&智能投顧公司 Hodlbot 的創始人,作為各大交易所 API 的長期使用者,他看到了一些不同尋常的數據。

  當每個人談論的焦點都是 11 個 SYS 居然以每個價值 96 個比特幣的價格成交 (共約 700 萬美元) 時,他發現一個更驚人的事實:有 13152 個 SYS 以每個價值 1.1 比特幣的價格成交(價值約為 9700 萬美元)。後者的金額比前者要大出 13 倍,並且,作者也因此產生了更深的疑問,黑客是如何找到這些账數字貨幣大戶並‘定點爆破’的。

  讓我們來閱讀原文一探究竟。

  編譯:區塊律動 0x4

  作者:HodlBot-Anthony Xie

  關注我(原作者)的人都知道我是一家量化交易投資公司的創始人,我們利用交易所的 API 為投資者提供簡單的數字加密貨幣多樣化投資。目前,我們的平台調用 Binance 的 API 進行工作。

  可想而知,當我得到幣安(Binance)上周被黑客盜取了 4500 萬美元(7000個比特幣)的消息時,內心十分惶恐不安。

  在那之後,暴風雨似乎平息了,幣安發布聲明表示資金現在是安全的,他們將承擔起所有損失。

  但是我對這一聲明並不滿意,關於此次事件的新聞報導少得可憐,很少有資訊流露出來,正因為如此各路謠言如野火一般燎原。

  作為一個希望幣安獲得成功的人,我在寫這篇文章的時候感到很矛盾。但是我必須對自己的用戶和社區負責,對這起事件進行徹底的調查。我將盡力對事件進行全面的分析,澄清謠言。

  我們知道的事情

  在我們深入挖掘細節之前,先來利用官方來源發布的資訊整理出事件的簡要時間表。

  7 月 3 日 晚上 8:44 UTC

  SYS 的價格從 0.0004 BTC 拉升到 96 比特幣。

  7 月 3 日 晚上 9 點左右 UTC

  幣安因為計劃外的維護而關閉了交易所

  7 月 3 日 晚上 11 點左右 UTC

  作為安全防範措施,幣安重置了所有 API 密鑰。

  7 月 4 日 上午 12 點左右 UTC

  幣安重新啟用了 API 密鑰的創建。

  7 月 4 日 下午 4 點左右 UTC

  幣安完成了系統維護

  7 月 4 日 下午 6 點左右 UTC

  幣安發布了一份官方事件回顧報告,聲明該事件是由不正常的 API 交易活動造成的。

  幣安所謂的不正常的 API 交易活動是什麽?

  要理解為什麽 API 攻擊常常會帶來加密貨幣的價格被拉升到匪夷所思的高度,我們首先需要了解幣安的 API 是如何工作的。

  對於門外漢來說,幣安的 API 允許電腦以編程方式與交易所進行互動,就好像是用戶自己在操作一樣。想要啟用 API 訪問,用戶首先要生成一組 API 密鑰,這些秘鑰是為用戶账戶提供互動權限的憑證。

  在幣安的系統中,有三個不同級別的 API 權限:

  隻讀權限:獲取用戶有關持倉、交易歷史和市場活動的數據。

  交易權限:可替用戶執行交易

  提款權限:可從交易所中提款

  在默認情況下,隻讀權限與交易權限是默認啟用的,然而提款權限卻不是默認啟用的。因為提款權限涉及的風險更高,幣安強製用戶為其預先設定 IP 白名單和雙重認證。

  因此,即便攻擊者竊取了用戶名、密碼或 API 密鑰,他們往往不能獲得提款權限。在這種限制條件下,黑客必須想法設法將盜取的資金轉移到有提取權限的账戶中。

  黑客拿到 API 後通常的做法:

  在攻擊之前,攻擊者會囤積大量的某一種加密貨幣,這種被選為目標的加密貨幣通常交易量很小,訂單也很少。

  在這之後,攻擊者使用被盜账號通過 API 提交大量的購買訂單,交易價格通常高得離譜 (一般來說是正常價格的 1 萬倍)。

  攻擊者通過出售他們之前低價囤積的此種加密貨幣賺取了巨額利潤。

  最後一步,攻擊者把他們的戰利品巨額資產從幣安中提走。一旦這些資金從交易所轉移到了區塊鏈中,幾乎任何人都不可能逆轉交易。

  API 數據告訴我們的那些事

  與其在黑暗中抓瞎,不如讓我們用幣安的 API 來提取 SYS/BTC 交易的歷史數據,一探究竟。

  價格波動與交易量

  在 7 月 3 日之前 SYS 的價格並沒有什麽特別之處,然而 7 月 3 日當天價格卻十分可疑地飆升至 96 比特幣。

  與此同時,SYS 的單筆交易量和總交易量都出現了大幅上升。

  歷史訂單數據

  當我們開始從 /api/v1/aggTrades 中提取數據時,事情變得有趣起來。

  從此端點獲取的完成交易的歷史記錄顯示,同一時間,相同的訂單以相同的價格發起交易,使得交易數量迅速攀升。

  請注意,當時每個人都在談論的焦點都是 11 個 SYS 居然以每個價值 96 個比特幣的價格成交 (約 700 萬美元),但是他們更應關注的是另一個大單,有 13152 個 SYS 以每個價值 1.1 比特幣的價格成交(價值約為 9700 萬美元)。

  通過在一個氣泡圖上繪製所有的交易訂單,我們對於這種交易規模可以有更直觀的認識。圖中每一個圓圈都代表一個訂單,每個圓的大小表示以美元計算的總交易量。

  總量為13,152個SYS的交易訂單非常可疑

  因為我們掌握了所有參與交易的 ID,因此可以用它來獲取所有單個交易訂單。

  / api / v1 / historicalTrades

  我把所有交易訂單的歷史數據都放在了 google 數據表中(區塊律動BlockBeats友情提示:點擊閱讀原文查看,科學上網)。

  我們發現這 13152 個 SYS 交易總量是由 132 個獨立發起的交易訂單組成的,每一個訂單都以 1.1 比特幣的單價購買了 99 個 SYS,最後一次的購買訂單為 84 個 SYS,最終總訂單交易量達到了 13512 個 SYS,整個過程十分整齊劃一。

  我們已經聯繫了幣安,並確認了上述每一個單筆交易都來自同一個人。這就意味著用於執行這些交易訂單的帳戶數量必須在 1 到 133 之間。

  比較常見的解釋是 API 密鑰被釣魚了,這些被黑了的账戶被黑客用於發起攻擊。我覺得這種說法還是存在很多疑點,黑客們從哪裡能找到這麽多土豪账戶(账戶中至少有 69 萬美元)?

  以單價 96 比特幣的價格購買了 11 個 SYS 的訂單就更加離奇了,這意味著某人的账戶上一定有 1056 個比特幣 (約為 6,694,406 美元)。

  在這一點上,或許是黑客製造了系統故障或利用了系統漏洞提交了大量錯誤交易。

  與 VIA 幣價格暴漲進行數據對比

  讓我們將此與 VIA 價格暴漲事件進行比較,我們都知道這是一起由黑客釣魚 API 密鑰發起的攻擊。

  3 月 6 日之前,VIA 的數據還展現出正常的交易波動。就在 3 月 7 日,價格突然暴漲。

  與 SYS 一樣,VIA 的訂單數量和交易量也大幅上升。

  歷史訂單數據

  雖然 VIA 的交易活動圖和燭台圖看上去與 SYS 十分相似,但他們的歷史成交數據卻大相徑庭。

  我們看到了在 SYS/BTC 出現異常波動當天有不少大額訂單,而 VIA/BTC 出現價格波動的時候則是存在大量账戶提交了小額訂單。在我看來,VIA 這一次的價格波動是更為典型的 API 釣魚攻擊。

  這麽來看 SYS 的價格波動就相當古怪了。

  再來看看這些在圖中排成一條直線的諸多訂單。

  如果我們把所有的 SYS 交易拆分成單筆交易,並比較它和 VIA 的交易量分布,就會發現很明顯 SYS 的交易量要大得多。

  看到這兩組截然不同的數據後,我們真的能說這兩起事件都是 API 秘鑰釣魚攻擊嗎?

  有大約 7000 比特幣正在從幣安的熱錢包中被提走

  這裡被監測到的交易鏈接(區塊律動BlockBeats友情提示:點擊閱讀原文查看,科學上網)。許多人都以這個為證據到處張揚,認為這些資金是非自願從幣安的熱錢包中撤走的。

  到目前為止,幣安還沒有對這些指控做出回應,這種沉默讓謠言的野火越燒越旺。

  糾正一個常見的誤區

  我以為幣安的最大提款額度是 50 比特幣,那麽 2000 比特幣怎麽能從熱錢包裡轉出呢?

  因為有時作為輸出的金額超過了用戶想要支付的金額。在這種情況下,比特幣客戶端會創建一個新的比特幣地址,並把差額發送回這個地址,這就是比特幣的找零機制。

  比如你想從商店買一塊錢的棒棒糖,你打開你的錢包,發現裡面只有一張 20 元面值的人民幣。你能支付的最小金額是多少呢?當然不是 1 塊錢,你不能把這張 20 元錢的紙幣撕下 20 分之 1 再交給營業員。你必須把這張 20 元面值的人民幣全部交給收銀員,然後因為你只需要支付 1 元錢,收銀員會找給你 19 元。

  幣安很聰明地對一組提款進行了批量處理,並在一次交易中將它們全部發送出去。因此,將大量的找零發送回幣安的找零地址這種事情並不少見。

  我使用 Blockexplorer API 提取了從 4 月 30 日到 7 月 6 日交易輸出列表,並以輸出量進行降序排序。

  如圖所示,有許多大筆交易輸出都超過了 2000 比特幣,這是因為找零被發送回了返回地址。

  我不是說我確信這一種提款行為得到了幣安公司的授權,但是超過 2000 個比特幣的高額交易並非罕見,當然它們也不能被當成盜竊的證據。

  針對 SYS 的 51% 攻擊

  我不想詳細討論這個話題,因為 SYS 開發團隊已經發布了一份完整的情況報告。長話短說,他們聲稱這一起事件是一個奇怪的巧合,SYS 並沒有被黑。

  在 SYS 3.0.6 的更新中,許多礦工將自己需要的交易費用設定在高於違約率的水準之上。因此,許多收費低於這一費率的交易並不會被人知曉。

  由於活躍的礦工較少,通常需要一分鐘就能結清的交易往往會在記憶體池中等待數小時。當這種情況發生時,許多交易就會被集中到一個單獨的區塊中。這導致了巨大的批量輸出,有些輸出甚至超過 10 億 SYS,同時還存在相當數量的未確認交易累積在一起。

  在這些未經確認的交易中,SYS 團隊監測到了一些企圖從 SYS 價值最高的账戶中提款的交易,這些價值最高的账戶被懷疑是幣安交易所的熱錢包。

  一開始,SYS 團隊認為這是一種可疑的行為並通知了交易所。在那以後,他們從交易所得到確認這種交易並不是黑客攻擊的產物。

  *本文翻譯自量化交易投資公司 HodlBot 的 Medium 文章,因為該公司使用幣安交易所的 API 進行投資交易,與幣安有直接利益關係,所以相關涉嫌軟廣的內容已做淡色處理,讀者請自行斟酌內容的合理性,本文重點討論幣安API重置事件的經過和分析,不討論去中心化和中心化交易所利弊

  保衛中心化交易所

  在這種時刻,你總是可以聽到人們在呼喚變革。

  我也認同去中心化交易所是未來的大勢所趨。但在我們抨擊中心化交易所之前,是否可以先問問自己:

  我們是否將去中心化和區塊鏈的不可逆想的過於理想化?

  畢竟,在一些災難性事故面前集權才是大多陣列織的採用的標準解決方式,因為它快速而有效。

  就拿幣安來說吧,幣安沒有將交易上鏈,而是將它們記錄在一個內部分類账上,因為這樣做他們能夠回滾所有的惡意交易。

  迄今為止,幣安在及早發現異常交易行為並采取預防措施方面做得很好。他們對並非自身錯誤的黑客攻擊也承擔起了責任。他們不僅支付了用戶的損失,甚至將所有交易費收入用的 10% 投入了保險基金,用以防範未來的攻擊與事故。

  幣安在 VIA 與 SYS 上避免了兩次災難性事故,這難道還不能讓我們對其報以信任嗎?

  將這次 SYS 事件與區塊鏈上發生的其他錯誤比較一下吧。

  還記得造成 6000 萬 ETH 損失的 DAO 事故嗎? 你在其中角色如何?一些人認為代碼就是法律,而另一些人則想挽回錯誤。這一次的爭論如此激烈,不僅引發了一次硬分叉,並催生了 ETC。

  我不知道最終的答案如何,但絕對不是所有的中心化交易所都應該下地獄。我們離完全拋棄中心化交易所還有很長的路要走。

  針對 V 神的評論‘中心化交易所應該在地獄裡徹底燒毀’,Kraken 的 CEO 傑西•鮑威爾 (Jesse Powell) 做出了下述回應,他的說法也回應了我的觀點:

  ‘我可以向你保證,我們交易所已經在地獄裡燃燒了。謝天謝地還沒有完全燒光,但是已經處於地獄第六層的冤魂界了,這裡可難熬著呢。我們這些中心化的異教徒就是那些不得不與監管者、銀行、黑客和困惑的新手打交道的一群人。

  我知道 Vitalik 的評論不是針對我個人的。我也夢想有一天我們能走到這一步:去中心化交易所越做越大以至於中心化交易所不再具有任何優勢。但是在今天離這一點還有很長的一段路要走,我們需要經由中心化交易所才能走到夢想中的這一境界。’

  想要到達彼岸就得先修橋,過了橋之後才能一把火燒掉它。

責任編輯:何凱玲

獲得更多的PTT最新消息
按讚加入粉絲團