BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

คำอธิบายโดยละเอียดของโครงการ Qubit QBridge ถูกแฮ็ก: หายไป 80 ล้านเหรียญ

慢雾科技
特邀专栏作者
2022-01-28 12:00
บทความนี้มีประมาณ 1447 คำ การอ่านทั้งหมดใช้เวลาประมาณ 3 นาที
ทีมรักษาความปลอดภัยของ SlowMist ได้วิเคราะห์การโจมตี QBridge ของโครงการ Qubit
สรุปโดย AI
ขยาย
ทีมรักษาความปลอดภัยของ SlowMist ได้วิเคราะห์การโจมตี QBridge ของโครงการ Qubit

ตามข่าวกรองของ Slow Mist District เมื่อวันที่ 28 มกราคม 2022 QBridge ของโครงการ Qubit ถูกโจมตี ทำให้สูญเสียเงินไปประมาณ 80 ล้านดอลลาร์สหรัฐ ทีมรักษาความปลอดภัยของ SlowMist ได้ทำการวิเคราะห์และแบ่งปันกับคุณในรูปแบบของการวิเคราะห์สั้นๆ

วิเคราะห์สั้นๆ

1. ผู้โจมตีดำเนินการฝากเงินผ่านสัญญา QBridge บน ETH และส่งผ่านข้อมูลซึ่งประกอบด้วย ID ปลายทางของโดเมนเป้าหมายที่จะข้าม, รหัสทรัพยากรสินทรัพย์ของสินทรัพย์ข้ามโซ่ที่จะถูกข้าม, จำนวนของการข้าม กองทุนลูกโซ่และที่อยู่รับเงินเมื่อฝาก

2. ผู้โจมตีระบุว่ารหัสทรัพยากรขาเข้าเป็นค่าที่โทเค็นข้าม ETH ต้องการ แต่จะเรียกใช้ฟังก์ชันฝากของ QBridge แทนฟังก์ชันฝาก ETH ดังนั้นการตรวจสอบจำนวนเงินข้ามสายโซ่และ msg.value คือ ข้ามครั้งแรก ฟังก์ชันการฝากเงินจะนำที่อยู่ของตัวจัดการออกจากการแมปตามทรัพยากร ID เพื่อเติมเงิน เนื่องจากผู้โจมตีส่งผ่านค่าที่ต้องการโดยโทเค็นข้าม ETH จริง ฟังก์ชันการฝากเงินของสัญญาตัวจัดการจึงสามารถเรียกใช้ได้สำเร็จ

3. ฟังก์ชันการฝากของสัญญาตัวจัดการจะตรวจสอบว่า Token ที่จะเติมตาม ResourceID นั้นอยู่ใน Whitelist หรือไม่ เนื่องจาก ResourceID ที่ผู้โจมตีส่งมานั้นสอดคล้องกับ ETH Token ที่จะเติมในการแมปจึงเป็น 0 ที่อยู่และจะถือว่าเป็นการเติม ETH และผ่านการตรวจสอบรายการที่อนุญาต อย่างไรก็ตาม ฟังก์ชันการฝากเงินไม่ได้ตรวจสอบที่อยู่โทเค็นที่จะเติมเงินอีกครั้ง (การเติม ETH ควรเป็นแบบข้ามสายโซ่ผ่านฟังก์ชัน ฝาก ETH) จากนั้นจึงเรียกฟังก์ชัน TransferFrom ของโทเค็นโดยตรงเพื่อชาร์จผ่าน safeTransferFrom

4. เนื่องจากที่อยู่โทเค็นที่จะเติมเงินคือที่อยู่ 0 และผลการดำเนินการของการเรียกไปยังที่อยู่ EOA โดยไม่มีขนาดรหัสจะเป็นจริงและค่าที่ส่งคืนจะว่างเปล่า ดังนั้นการดำเนินการโอนผ่านการโอนจากผ่านการตรวจสอบ safeTransferFrom และในที่สุดก็ทำให้เกิดเหตุการณ์เติมเงิน Deposit Cross-chain

5. เนื่องจากรหัสทรัพยากรขาเข้าเป็นค่าที่จำเป็นสำหรับการข้าม ETH เหตุการณ์การฝากที่ทริกเกอร์จะเหมือนกับเหตุการณ์การเติมเงินจริงของ ETH ซึ่งทำให้ QBridge คิดว่าผู้โจมตีดำเนินการข้ามสาย ETH ดังนั้นจึงถูกส่งต่อไป ห่วงโซ่ BSC สำหรับผู้โจมตี โทเค็น qXETH จำนวนมาก ผู้โจมตีใช้ข้อมูลรับรอง qXETH นี้เพื่อระบายแหล่งเงินกู้ของ Qubit

การวิเคราะห์ MistTrack

สรุป

สรุป

เหตุผลหลักสำหรับการโจมตีครั้งนี้คือ เมื่อมีการรีชาร์จโทเค็นธรรมดาและโทเค็นดั้งเดิมแยกกัน เมื่อโทเค็นในรายการที่อนุญาตถูกถ่ายโอน ที่อยู่จะไม่ถูกตรวจสอบอีกครั้งเพื่อดูว่าเป็น 0 หรือไม่ ส่งผลให้การชาร์จซ้ำควรดำเนินการผ่าน ฟังก์ชันการชาร์จแบบเนทีฟ อย่างไรก็ตาม การดำเนินการสามารถผ่านตรรกะการเติมโทเค็นทั่วไปได้อย่างราบรื่น ทีมรักษาความปลอดภัยของ SlowMist แนะนำว่าหลังจากตรวจสอบรายการที่อนุญาตพิเศษของโทเค็นที่รีชาร์จแล้ว ยังจำเป็นต้องตรวจสอบว่าโทเค็นที่รีชาร์จนั้นเป็นโทเค็นดั้งเดิมหรือไม่

ลิงค์ต้นฉบับ

https://etherscan.io/tx/0x478d83f2ad909c64a9a3d807b3d8399bb67a997f9721fc5580ae2c51fab92acf

https://bscscan.com/tx/0x33628dcc2ca6cd89a96d241bdf17cdc8785cf4322dcaf2c79766c990579aea02

ลิงค์ต้นฉบับ

ความปลอดภัย
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
คลังบทความของผู้เขียน
慢雾科技
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android