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

avatar
慢雾科技
2ปี ที่แล้ว
ประมาณ 2154คำ,ใช้เวลาอ่านบทความฉบับเต็มประมาณ 3นาที
ทีมรักษาความปลอดภัยของ SlowMist ได้วิเคราะห์การโจมตี QBridge ของโครงการ Qubit

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

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

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

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

สรุป

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

สรุป

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

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

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

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

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

บทความต้นฉบับ, ผู้เขียน:慢雾科技。พิมพ์ซ้ำ/ความร่วมมือด้านเนื้อหา/ค้นหารายงาน กรุณาติดต่อ report@odaily.email;การละเมิดการพิมพ์ซ้ำกฎหมายต้องถูกตรวจสอบ

ODAILY เตือนขอให้ผู้อ่านส่วนใหญ่สร้างแนวคิดสกุลเงินที่ถูกต้องและแนวคิดการลงทุนมอง blockchain อย่างมีเหตุผลและปรับปรุงการรับรู้ความเสี่ยงอย่างจริงจัง สำหรับเบาะแสการกระทำความผิดที่พบสามารถแจ้งเบาะแสไปยังหน่วยงานที่เกี่ยวข้องในเชิงรุก

การอ่านแนะนำ
ตัวเลือกของบรรณาธิการ