การโจมตีที่ซับซ้อนต่อ Aevo-rebrand Ribbon Finance ได้ดูดเงิน $2.7 ล้านจากสัญญาเก่าและย้ายไปยังที่อยู่กระเป๋าเงินสิบห้าแห่งแยกกัน ซึ่งบางส่วนได้ถูกรวมเข้าไปในบัญชีที่ใหญ่กว่าแล้ว
ตามนักสืบสวนบล็อกเชนหลายรายบนแพลตฟอร์มสังคม X การโจมตีเกิดขึ้นเพียงหกวันหลังจากที่แพลตฟอร์มได้อัปเกรดโครงสร้างพื้นฐาน oracle และขั้นตอนการสร้างตัวเลือก พวกเขาใช้สัญญาอัจฉริยะเพื่อดึงโทเค็น Ethereum หลายร้อยและสินทรัพย์ดิจิทัลอื่นๆ
ในเธรดที่อธิบายการโจมตี นักวิเคราะห์ความปลอดภัย Web3 Liyi Zhou กล่าวว่าสัญญาที่เป็นอันตรายได้จัดการกับ Opyn/Ribbon oracle stack โดยการใช้ price-feed proxies ในทางที่ผิด และผลักดันราคาหมดอายุตามอำเภอใจสำหรับ wstETH, AAVE, LINK และ WBTC เข้าไปใน oracle ที่ใช้ร่วมกันที่เวลาหมดอายุเดียวกัน
"ผู้โจมตีได้วางตำแหน่ง oToken ขาสั้นขนาดใหญ่ต่อ MarginPool ของ Ribbon Finance ซึ่งใช้ราคาหมดอายุปลอมเหล่านี้ในไปป์ไลน์การชำระและโอนออก WETH และ wstETH หลายร้อย USDC หลายพัน และ WBTC หลายตัวไปยังที่อยู่ขโมยผ่านธุรกรรม redeem และ redeemTo" Zhou อธิบาย
หกวันก่อนการโจมตี ทีม Ribbon Finance ได้อัปเดต oracle pricer เพื่อรองรับทศนิยม 18 ตำแหน่งสำหรับ stETH, PAXG, LINK และ AAVE อย่างไรก็ตาม สินทรัพย์อื่นๆ รวมถึง USDC ยังคงอยู่ที่ทศนิยมแปดตำแหน่ง และตาม Zhou ความแตกต่างในความแม่นยำของทศนิยมมีส่วนทำให้เกิดช่องโหว่ที่ถูกใช้ประโยชน์ในวันศุกร์
ตามนักพัฒนาที่ใช้นามแฝงชื่อ Weilin บน X การสร้าง oTokens เองไม่ได้ผิดกฎหมายเพราะโทเค็นพื้นฐานทุกตัวต้องได้รับการขึ้นบัญชีขาวก่อนที่จะถูกใช้เป็นหลักประกันหรือสินทรัพย์ strike ซึ่งเป็นขั้นตอนที่ผู้โจมตีปฏิบัติตามอย่างเคร่งครัด
กิจกรรมที่เป็นอันตรายเริ่มต้นด้วยการสร้างผลิตภัณฑ์ตัวเลือกที่มีโครงสร้างไม่ดี โดยผลิตภัณฑ์หนึ่งประกอบด้วยตัวเลือกคอล stETH ที่มี strike 3,800 USDC ใช้ WETH เป็นหลักประกัน กำหนดหมดอายุวันที่ 12 ธันวาคม ผู้โจมตีจากนั้นได้สร้าง oTokens หลายตัวสำหรับตัวเลือกเหล่านี้ ซึ่งต่อมาถูกใช้ประโยชน์เพื่อดูดทรัพยากรจากโปรโตคอล
การโจมตีเกี่ยวข้องกับการโต้ตอบซ้ำๆ กับสัญญา proxy admin ที่ 0x9D7b…8ae6B76 ฟังก์ชันบางอย่าง เช่น transferOwnership และ setImplementation ถูกใช้เพื่อจัดการกับ price-feed proxies ผ่านการเรียก delegate แฮกเกอร์เรียกใช้การดำเนินการสำหรับ oracle เพื่อตั้งค่าราคาหมดอายุของสินทรัพย์ที่เวลาเดียวกันเพื่อทำให้เกิดเหตุการณ์ ExpiryPriceUpdated ที่ยืนยันการประเมินมูลค่าที่หลอกลวง
ราคาที่ถูกจัดการทำให้ระบบรับรู้ว่า stETH อยู่สูงกว่าราคา strike มากและเผา oTokens 225 ตัว ทำให้ได้ WETH 22.468662541163160869 โดยรวมแล้ว แฮกเกอร์ดึง ETH ประมาณ 900 ผ่านวิธีนี้
บริษัทความปลอดภัย Web3 Spectre พบการโอนเริ่มต้นไปยังที่อยู่กระเป๋าเงินที่ 0x354ad…9a355e แต่จากที่นั่น เงินถูกกระจายไปยังบัญชีอีก 14 บัญชี โดยหลายบัญชีถือ ETH ประมาณ 100.1 แต่ละบัญชี เงินที่ถูกขโมยบางส่วนได้เข้าสู่สิ่งที่ Zhou เรียกว่า "TC" หรือพูลรวมเงินคลัง
ตาม Anton Cheng นักพัฒนา Monarch DeFi แอปพลิเคชันกระจายศูนย์ Opyn ที่ได้รับการสนับสนุนจาก Coinbase ไม่ได้ถูกบุกรุกตามที่มีข่าวลือในการพูดคุยบน Crypto Twitter
Cheng อธิบายว่าการแฮ็ก Ribbon Finance ถูกอำนวยความสะดวกโดยโค้ด oracle ที่อัปเกรดซึ่งโดยไม่ได้ตั้งใจอนุญาตให้ผู้ใช้ใดๆ ตั้งราคาสำหรับสินทรัพย์ที่เพิ่มใหม่ เขาระบุว่าการโจมตีเริ่มต้นด้วยธุรกรรมเตรียมการเพื่อ "เตรียมเวที" โดยการสร้าง oTokens ที่มีโครงสร้างไม่ดีด้วยหลักประกันและสินทรัพย์ strike ที่ถูกต้อง เขากล่าวต่อไปว่าโทเค็นปลอมอนุญาตให้แฮกเกอร์เลือกสินทรัพย์พื้นฐานที่เป็นที่รู้จักดีเช่น AAVE เพื่อหลีกเลี่ยงการดึงดูดความสนใจและการถูกตั้งธง
จากนั้นแฮกเกอร์ได้ตั้งค่า "บัญชีย่อย" สามบัญชี แต่ละบัญชีฝากหลักประกันขั้นต่ำเพื่อสร้างตัวเลือกทั้งสามตัว บัญชีย่อยทั้งหมดถูกทำเครื่องหมายเป็นประเภท 0 ซึ่งหมายความว่ามีหลักประกันเต็มจำนวน แต่การไม่มีขีดจำกัดการจ่ายเงินสูงสุดสำหรับแต่ละบัญชีหรือ oToken ช่วยให้ผู้กระทำผิดดูดสินทรัพย์โดยไม่มีข้อจำกัดใดๆ
ภายใต้ระบบ Gamma ของ Opyn สินทรัพย์พื้นฐานต้องตรงกับหลักประกันสำหรับตัวเลือกคอลและ strike สำหรับพุตเพื่อให้ผู้ขายมีหลักประกันเต็มจำนวน หาก oracle ถูกบุกรุก เฉพาะผู้ขายสำหรับผลิตภัณฑ์เฉพาะนั้นเท่านั้นที่ควรได้รับผลกระทบ
แต่ในกรณีนี้ การรวมกันของการสร้าง oToken ใหม่และ oracle ที่ถูกจัดการเพียงพอที่จะหลีกเลี่ยงการป้องกันเหล่านี้
อย่าเพียงแค่อ่านข่าวคริปโต เข้าใจมัน สมัครรับจดหมายข่าวของเรา ฟรี

