เมื่อวันที่ 1 กรกฎาคม 2023 ผู้โจมตีใช้ประโยชน์จากช่องโหว่ในสัญญา Biswap V3Migrator บน Binance Smart Chain (BSC) เพื่อขโมยโทเค็นมูลค่าประมาณ 140,000 ดอลลาร์จากผู้ใช้ที่ไม่สงสัย ผู้โจมตีใช้การโจมตีด้วยโทเค็นปลอมเพื่อควบคุมพารามิเตอร์ของฟังก์ชันการย้ายข้อมูลและสูบฉีดสภาพคล่องจากผู้ใช้ที่อนุญาตโทเค็นผู้ให้บริการสภาพคล่อง (LP) ในสัญญา V3Migrator การโจมตีนี้เกิดขึ้นได้เนื่องจากสัญญา V3Migrator ไม่มีพารามิเตอร์การตรวจสอบเมื่อย้ายจาก Biswap V2 ไปยัง Biswap V3 หากการโจมตีไม่ถูกหยุดลงทันเวลา มันจะทำให้ Biswap สูญเสียทรัพย์สินไปเกือบสิบล้านดอลลาร์
ซื้อขาย
ผู้โจมตีดำเนินการธุรกรรมสามรายการเพื่อดำเนินการโจมตี: https://bscscan.com//tx/0xe13ec0941580d3c286b46fa6566f20195bdd52b3d65fc7ff4a953a8fc774c6c4
https://bscscan.com//tx/0xe5c89e9ac217e4e16c2399f3597f7b5fbb73b45c1d3360788ee51ea2561def3a
https://bscscan.com//tx/0x8693a95f8481ba02ceaabed8e95b4e1eb8ac589c69c027c96b12ac5295714c3f
ผู้โจมตี
ที่อยู่ของผู้โจมตีคือ [ 0xa1e31b29f94296fc85fac8739511360f279b1976 ]
สัญญาการโจมตี
สัญญาการโจมตีคือ [ 0x1d448e9661c5abfc732ea81330c6439b0aa449b5 ] สัญญานี้ใช้งานโดยผู้โจมตีในวันที่ 30 มิถุนายน 2023 หนึ่งวันก่อนการโจมตี สัญญามีตรรกะง่ายๆ ในการเรียกสัญญา V3Migrator ด้วยพารามิเตอร์ต่างๆ
สัญญาที่ถูกโจมตี
สัญญาที่ถูกโจมตีคือ [ 0x839b0afd0a0528ea184448e890cbaaffd99c1dbf ] นี่คือสัญญา V3Migrator ที่ปรับใช้โดย Biswap เมื่อวันที่ 28 มิถุนายน 2023 สัญญานี้ออกแบบมาเพื่อช่วยผู้ใช้ย้ายโทเค็น LP จาก Biswap V2 ไปยัง Biswap V3
ขั้นตอนการโจมตี
ผู้โจมตีใช้ประโยชน์จากข้อบกพร่องในสัญญา V3Migrator ทำให้สามารถแก้ไขพารามิเตอร์ของฟังก์ชันการย้ายข้อมูลได้ ขั้นตอนการโจมตีมีดังนี้:
- เหยื่ออนุญาตโทเค็น LP ในสัญญา Biswap V3Migrator
- ผู้โจมตีเผาโทเค็น V2 LP ของเหยื่อและเพิ่มสภาพคล่อง V3 ด้วยโทเค็นปลอม ในขั้นตอนนี้
และtoken0
ของ V2 LP ยังอยู่ในสัญญา V3Migratortoken1
- ผู้โจมตีเผาโทเค็น V2 LP ปลอมและเพิ่มสภาพคล่อง V3 ด้วย
และtoken0
ของ V2 LP และtoken1
และtoken0
ส่วนเกินที่ไม่ได้ใช้ในการเพิ่มสภาพคล่อง V3 จะถูกโอนกลับไปยังผู้โจมตี ในขณะเดียวกัน สภาพคล่อง V3 ในขั้นตอนนี้ก็เป็นของผู้โจมตีเช่นกันtoken1
สาเหตุ
สาเหตุของการโจมตีคือสัญญา V3Migrator ของ Biswap ไม่มีพารามิเตอร์การตรวจสอบเมื่อย้ายจาก Biswap V2 ไปยัง Biswap V3 โดยเฉพาะในสัญญามีประเด็นสำคัญคือ
- สัญญาไม่ได้ตรวจสอบว่าพารามิเตอร์
และtoken0
ตรงกับโทเค็นจริงในโทเค็น V2 LP;token1
ปัญหาเหล่านี้ทำให้ผู้โจมตีสามารถส่งโทเค็นปลอมและจำนวนเงินไปยังฟังก์ชันการย้ายข้อมูล และขโมยโทเค็นจริงจากผู้ใช้ที่อนุญาตโทเค็น LP ไปยังสัญญา V3Migrator
รหัสกุญแจ
ทรัพย์สินเสียหาย
ผู้โจมตี [0xa1e31b29f94296fc85fac8739511360f279b1976] ได้รับทรัพย์สินอย่างผิดกฎหมายสูงถึง $140,000
กระแสเงินทุน
ผู้โจมตีถอนสภาพคล่องเพื่อแลกกับ $BNB
ในท้ายที่สุด ผู้โจมตีได้โอนเงิน 603 $BNB ให้กับ Tornadocash เพื่อใช้ในการฟอกเงิน
ป.ป.ช
https://github.com/SunWeb3Sec/DeFiHackLabs/blob/main/src/test/Biswap_exp.sol
คำแนะนำด้านความปลอดภัย
ขอแนะนำให้ผู้ใช้ยกเลิกการอนุญาต Biswap V3Migrator: https://bscscan.com/tokenapprovalchecker
สรุปแล้ว
ตัวอย่างทั่วไปคือการโจมตี Biswap การโจมตีโทเค็นปลอมใช้ช่องโหว่ DEX บน BSC อย่างเต็มที่เพื่อเก็บเกี่ยวเงินทุนจากผู้ใช้และฝ่ายโครงการ การโจมตียังเน้นย้ำถึงความสำคัญของการตรวจสอบพารามิเตอร์และยอดคงเหลือของสัญญาที่จัดการเงินของผู้ใช้ นอกจากนี้ ผู้ใช้ควรระมัดระวังเมื่อให้สิทธิ์โทเค็นกับสัญญาของบุคคลที่สามและตรวจสอบซอร์สโค้ดและรายงานการตรวจสอบของสัญญาก่อนที่จะใช้ ในฐานะบริษัทรักษาความปลอดภัย Web3 ชั้นนำ MetaTrust Labs ค้นพบการโจมตีครั้งแรกเมื่อวันที่ 1 กรกฎาคม และส่งการแจ้งเตือนไปยัง Biswap บน Twitter Biswap ยังใช้กลยุทธ์การเผชิญปัญหาสองแบบที่เสนอโดย MetaTrust Labs:
- กำหนดให้ผู้ใช้ยกเลิกการอนุญาตสัญญา V3Migrator โดยเร็วที่สุด เพื่อให้ผู้โจมตีไม่สามารถเข้าถึงโทเค็น LP ของตนได้อีกต่อไป
- ลบทวีตของพวกเขาเองที่ส่งเสริมการย้าย V3 และแจ้งให้ผู้ใช้ทราบถึงประโยชน์ของการย้ายโทเค็น LP
หากการโจมตีนี้ไม่หยุดลงทันเวลา สัญญาการย้ายข้อมูลทั้งหมดของ Biswap จะเสียหายหลายหมื่นดอลลาร์ เนื่องจากผู้โจมตีสามารถใช้โทเค็นปลอมเพื่อย้ายสภาพคล่องทั้งหมดจาก Biswap V2 ไปยัง Biswap V3 ซึ่งเป็นอันตรายต่อ Biswap และผู้ใช้ มันจะเป็นการทำลายล้างและความพ่ายแพ้อย่างร้ายแรงสำหรับการพัฒนา DEX บน BSC
ตามเรามา
ตามเรามา
ทวิตเตอร์: @ MetaTrustLabs
เว็บไซต์: metatrust.io
ความคิดเห็นทั้งหมด