क्या हुआ
28 जनवरी, 2022 को, Qubit Finance से लगभग $80 मिलियन USD मूल्य की क्रिप्टो संपत्तियां चुराई गईं। यह DeFi के इतिहास की सबसे बड़ी हैकिंग घटनाओं में से एक है। आज तक कोई धनराशि वापस नहीं की गई है।
पृष्ठभूमि
Section titled “पृष्ठभूमि”Qubit Finance, Binance Smart Chain पर एक DeFi लेंडिंग प्रोटोकॉल था, जिसे दक्षिण कोरियाई कंपनी Mound Inc. द्वारा बनाया गया था — यही वह टीम है जिसने PancakeBunny बनाया था, जिसका मई 2021 में पहले ही ~$45M का शोषण हो चुका था। Qubit उनका दूसरा प्रयास था।
प्रोटोकॉल में QBridge शामिल था — एक क्रॉस-चेन ब्रिज जो उपयोगकर्ताओं को Ethereum पर ETH जमा करने और BSC पर समकक्ष qXETH टोकन प्राप्त करने की अनुमति देता था, जिन्हें अन्य संपत्तियां उधार लेने के लिए कोलैटरल के रूप में उपयोग किया जा सकता था।
Qubit Finance को Binance द्वारा स्पष्ट रूप से समर्थित किया गया था और यह Binance Smart Chain पर संचालित होता था।
शोषण (Exploit)
Section titled “शोषण (Exploit)”चरण 1 — दो फ़ंक्शन, एक इवेंट
Section titled “चरण 1 — दो फ़ंक्शन, एक इवेंट”QBridge में ETH जमा करने के दो तरीके थे:
depositETH()— सही फ़ंक्शन। वास्तविक ETH की आवश्यकता थी (msg.value > 0)। एकDepositइवेंट उत्सर्जित करता था।deposit()— ERC-20 टोकन के लिए डिज़ाइन किया गया था। एक टोकन कॉन्ट्रैक्ट परsafeTransferFrom()कॉल करता था। यह भी एकDepositइवेंट उत्सर्जित करता था — बिल्कुल वही इवेंट प्रकार।
ब्रिज इवेंट्स को प्रोसेस करने वाले ऑफ-चेन रिलेयर के पास दोनों में अंतर करने का कोई तरीका नहीं था।
चरण 2 — ज़ीरो एड्रेस को व्हाइटलिस्ट किया गया था
Section titled “चरण 2 — ज़ीरो एड्रेस को व्हाइटलिस्ट किया गया था”ETH के लिए, चूंकि नेटिव ETH का कोई ERC-20 कॉन्ट्रैक्ट एड्रेस नहीं होता, QBridge ने ज़ीरो एड्रेस (0x0000000000000000000000000000000000000000) को प्लेसहोल्डर के रूप में उपयोग किया। ज़ीरो एड्रेस को कॉन्ट्रैक्ट की व्हाइटलिस्ट में जोड़ा गया था।
चरण 3 — EOA को कॉल करना चुपचाप सफल हो जाता है
Section titled “चरण 3 — EOA को कॉल करना चुपचाप सफल हो जाता है”जब deposit() को ETH के resourceID के साथ कॉल किया गया, तो कॉन्ट्रैक्ट ने टोकन एड्रेस को ज़ीरो एड्रेस पर रिज़ॉल्व किया और उस पर safeTransferFrom() कॉल किया।
EVM में, किसी ऐसे एड्रेस पर कोई भी फ़ंक्शन कॉल करना जिस पर कोई कॉन्ट्रैक्ट कोड नहीं है (एक EOA) चुपचाप सफल हो जाता है — कोई रिवर्ट नहीं, कोई त्रुटि नहीं, कोई वास्तविक ट्रांसफर नहीं। ज़ीरो एड्रेस एक EOA है। इसलिए safeTransferFrom() “सफल” हुआ, कुछ भी स्थानांतरित नहीं हुआ, और कॉन्ट्रैक्ट ने एक Deposit इवेंट उत्सर्जित किया जो वैध ETH जमा के समान था।
यह EVM व्यवहार 2019 में 0x Protocol के सुरक्षा अपडेट में प्रलेखित किया गया था। Qubit टीम या तो इसके बारे में नहीं जानती थी, या उसने इसे अनदेखा कर दिया।
चरण 4 — रिलेयर ने BSC पर वास्तविक टोकन मिंट किए
Section titled “चरण 4 — रिलेयर ने BSC पर वास्तविक टोकन मिंट किए”रिलेयर ने Deposit इवेंट देखा, उसके पास यह जानने का कोई तरीका नहीं था कि यह नकली है, और उसने हमलावर के लिए BSC पर qXETH टोकन मिंट कर दिए — जिनके पीछे कुछ भी नहीं था।
हमलावर ने इस प्रक्रिया को बार-बार दोहराया, और भारी मात्रा में नकली qXETH जमा कर लिए।
चरण 5 — नकली कोलैटरल, असली ऋण
Section titled “चरण 5 — नकली कोलैटरल, असली ऋण”धोखाधड़ी से मिंट किए गए qXETH को कोलैटरल के रूप में उपयोग करते हुए, हमलावर ने Qubit Finance के BSC लेंडिंग पूल से लगभग $80 मिलियन मूल्य की वास्तविक संपत्तियां उधार लीं: WETH, BTCB, BNB, MATIC, CAKE, BUSD, और अन्य।
लेंडिंग कॉन्ट्रैक्ट ने कोलैटरल मूल्य की सही जाँच की — लेकिन धोखाधड़ी पहले ही ब्रिज स्तर पर हो चुकी थी।
संदिग्ध पैरामीटर परिवर्तन
Section titled “संदिग्ध पैरामीटर परिवर्तन”जाँचकर्ताओं ने कुछ ऐसा पाया जिसकी कभी व्याख्या नहीं की गई।
मूल रूप से, deposit() फ़ंक्शन अपने resourceID के साथ WETH को ब्रिज करने के लिए उपयोग किया जाता था — एक वास्तविक ERC-20 टोकन जिसका वास्तविक कॉन्ट्रैक्ट एड्रेस था। यह सही ढंग से काम करता था।
हैक से पहले किसी समय, एक onlyOwner फ़ंक्शन कॉल किया गया जिसने resourceID मैपिंग को बदल दिया — WETH के कॉन्ट्रैक्ट एड्रेस को ज़ीरो एड्रेस से बदल दिया। यही वह परिवर्तन था जिसने शोषण को संभव बनाया।
मुख्य तथ्य:
- केवल कॉन्ट्रैक्ट ओनर ही यह परिवर्तन कर सकता था
- कोई टाइमलॉक नहीं था — यह तुरंत प्रभावी हो गया
- कोई सार्वजनिक घोषणा नहीं की गई
- कभी कोई स्पष्टीकरण नहीं दिया गया
टीम की प्रतिक्रिया
Section titled “टीम की प्रतिक्रिया”Mound Inc. ने बाद में क्या किया:
- हैकर को $80M लौटाने के लिए $250,000 की पेशकश की (कोई प्रतिक्रिया नहीं मिली)
- पुलिस रिपोर्ट दर्ज करने का दावा किया — कभी केस नंबर प्रदान नहीं किए
- मॉडरेटर @moleh के माध्यम से पीड़ितों को Telegram से हटाया
- CTO ने 1 फरवरी, 2022 को अपना LinkedIn हटा दिया, हैक के चार दिन बाद
- हैकर वॉलेट को ब्लैकलिस्ट करने के लिए Binance सुरक्षा या प्रमुख एक्सचेंजों से संपर्क नहीं किया
- हैकर के बारे में जानकारी लेकर आए समुदाय के सदस्यों को कोई प्रतिक्रिया नहीं दी
पूर्ण रिकॉर्ड के लिए, देखें टीम की प्रतिक्रिया और नौ अनुत्तरित प्रश्न।
हैकर वॉलेट
Section titled “हैकर वॉलेट”0xd01ae1a708614948b2b5e0b7ab5be6afa01325c7चुराई गई अनुमानित संपत्तियां
Section titled “चुराई गई अनुमानित संपत्तियां”| संपत्ति | अनुमानित USD मूल्य |
|---|---|
| WETH | ~$26.6M |
| BTCB | ~$15.3M |
| BNB | ~$9.5M |
| MATIC | ~$5.6M |
| CAKE | ~$8M |
| BUSD + अन्य | ~$15M |
| कुल | ~$80M |