การโจมตี FlashLoopAdapter ทำให้สูญเสีย $305,000 จากกระเป๋า Safe ที่เชื่อมโยงกับ Aave

10 ชั่วโมง ที่ผ่านมา
อ่าน 8 นาที
3 มุมมอง

FlashLoopAdapter ที่กำหนดเองถูกโจมตี

FlashLoopAdapter ที่กำหนดเองซึ่งใช้ในการจัดการตำแหน่งที่มีเลเวอเรจใน Aave v3 ถูกโจมตีบน Ethereum ทำให้กระเป๋า Safe สองใบมีการสูญเสียประมาณ $305,000 หลังจากที่ผู้โจมตีสามารถข้ามการควบคุมการเข้าถึงของโมดูลได้

รายละเอียดการโจมตี

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

ผู้โจมตีในที่สุดได้เก็บ ETH ประมาณ 114.09 หลังจากใช้โมดูลเพื่อจัดการตำแหน่งที่ถือโดยกระเป๋าที่ได้รับผลกระทบ

สาเหตุของการโจมตี

SlowMist TI Alert v3 Loop Safe Module Loss: ~114.09 ETH สาเหตุหลัก: การควบคุมการเข้าถึงเปิด/ปิดของ FlashLoopAdapter ตรวจสอบเพียง ISafe(msg.sender).isModuleEnabled(address(this)) ซึ่งสามารถปลอมแปลงได้ผ่าน Safe ปลอมที่ส่งค่ากลับเป็นจริงเสมอ

การทำงานของ FlashLoopAdapter

FlashLoopAdapter ถูกออกแบบมาเป็นโมดูล Safe สำหรับการเปิดและปิดตำแหน่งที่มีเลเวอเรจผ่าน Aave v3 Safe ที่เปิดใช้งานโมดูลสามารถใช้มันเพื่อจัดการกลยุทธ์การวนรอบที่เกี่ยวข้องกับสินทรัพย์ที่ยืมและหลักประกัน

ตามที่ SlowMist กล่าว จุดอ่อนถูกพบในการควบคุมการเข้าถึงที่ใช้โดยฟังก์ชันเปิดและปิดของอะแดปเตอร์ แทนที่จะตรวจสอบว่าเรียกใช้งานจาก Safe ที่ถูกต้อง ฟังก์ชันได้ตรวจสอบว่า ISafe(msg.sender).isModuleEnabled(address(this)) ส่งค่ากลับเป็นจริงหรือไม่

ผลกระทบจากการโจมตี

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

ทั้งสองข้อมูลนำเข้าสามารถถูกควบคุมโดยผู้โจมตี แทนที่จะให้ swap router ปกติ ผู้โจมตีตั้ง router ไปยังหนึ่งในกระเป๋า Safe ของเหยื่อ ข้อมูล calldata ถูกตั้งค่าให้เรียก execTransactionFromModule ซึ่งเป็นฟังก์ชัน Safe ที่อนุญาตให้โมดูลที่เปิดใช้งานดำเนินการธุรกรรม

การชำระหนี้และการถอนเงิน

ผู้โจมตีได้ทำการกู้ยืม Morpho WETH และใช้สภาพคล่องที่ยืมมาเพื่อชำระหนี้ Aave ประมาณ 1,335 WETH ที่เป็นของ Safe แรก ซึ่งระบุว่าเป็น 0xcfedf95a3653a128dfc2e4288758a1a1850d169f

การชำระหนี้ทำให้หลักประกันที่ผูกพันกับตำแหน่ง Aave ที่มีเลเวอเรจหลุดออกไป ผู้โจมตีจากนั้นใช้เส้นทางการดำเนินการโมดูลที่ถูกบุกรุกเพื่อให้ Safe ถอนเงินประมาณ 1,306 weETH ไปยังที่อยู่ที่ควบคุมโดยผู้โจมตี

การประเมินความเสียหาย

SlowMist ประเมินการสูญเสียอยู่ที่ประมาณ 114.09 ETH และกล่าวว่าประมาณ 1,300 WETH ของหนี้ถูกชำระในระหว่างกระบวนการปลดล็อกหลักประกัน

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

ข้อสรุป

เหตุการณ์นี้แสดงให้เห็นถึงความสำคัญของการตรวจสอบสิทธิ์ที่เข้มงวดในสัญญาอัจฉริยะและความเสี่ยงที่เกี่ยวข้องกับการใช้โมดูลภายนอกในระบบ DeFi

ล่าสุดจาก Blog