สัญญาที่ถูกโจมตี
#1 ข้อมูลที่เกี่ยวข้องกับเหตุการณ์
ธุรกรรมการโจมตี
0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7
ที่อยู่ผู้โจมตี
0x1c5dcdd006ea78a7e4783f9e6021c32935a10fb4
สัญญาการโจมตี
0x79224bC0bf70EC34F0ef56ed8251619499a59dEf
สัญญาที่ถูกโจมตี
0xc1e088fc1323b20bcbee9bd1b9fc9546db5624c5
#2 กระบวนการโจมตี
1. ผู้โจมตีเริ่มต้นธุรกรรมข้อเสนอตั้งแต่วันก่อนการโจมตี และเงินในสัญญา Beanstalk: Beanstalk Protocol จะถูกถอนออกหากข้อเสนอผ่าน
2. แฮ็กเกอร์แลกเปลี่ยน 350,000,000 DAI, 500,000,000 USDC, 150,000,000 USDT, 32,100,950 BEAN และ 11,643,065 LUSD เป็นเงินทุนสำรองผ่านสินเชื่อแฟลช
3. แฮกเกอร์เพิ่มกองทุน DAI, USDC และ USDT แบบ 2 ขั้นตอนไปยังกลุ่มการซื้อขาย Curve.fi DAI/USDC/USDT เป็น 979,691,328 3Crv โทเค็นสภาพคล่อง และแลกเปลี่ยน 15,000,000 3Crv เป็น 15,251,318 LUSD
4. แลกเปลี่ยน 964,691,328 โทเค็น 3Crv เป็น 795,425,740 BEAN3CRV-f สำหรับการโหวต เพิ่ม 32,100,950 BEANs และ 26,894,383 LUSD เพื่อรับโทเค็นสภาพคล่อง 58,924,887 BEANLUSD-f
5. ใช้ BEAN3CRV-f และ BEANLUSD-f ในขั้นตอนที่ 4 เพื่อโหวตข้อเสนอ ส่งผลให้ข้อเสนอผ่าน ดังนั้น สัญญา Beanstalk: Beanstalk Protocol จึงโอน 36,084,584 BEANs, 0.54 UNI-V2, 874,663,982 BEAN3CRV-f และ 60,562,844 BEANLUSD-f ไปยังสัญญาโจมตี
6. ในที่สุด ผู้โจมตีได้ลบสภาพคล่องออกและคืนเงินกู้แฟลช และแปลงโทเค็นส่วนเกินเป็น 24,830 ETH และโอนไปยังบัญชีของผู้โจมตี
#3 การวิเคราะห์ช่องโหว่
การโจมตีนี้ส่วนใหญ่ใช้จำนวนการโหวตในสัญญาการลงคะแนนที่จะได้รับตามจำนวนโทเค็นที่ถืออยู่ในบัญชี
ผู้โจมตีเริ่มต้นข้อเสนอเพื่อถอนเงินจาก Beanstalk: Beanstalk Protocol อย่างน้อย 1 วันก่อน จากนั้นจึงเรียก EmergencyCommit เพื่อดำเนินการฉุกเฉินเพื่อดำเนินการตามข้อเสนอ นี่คือเหตุผลที่ผู้โจมตีเปิดตัวการเตรียมการโจมตีเมื่อ 1 วันก่อน
#4 การติดตามกองทุน
ในการตอบสนองต่อเหตุการณ์นี้ ทีมเทคนิคของ Chengdu LianAn ได้แนะนำ:
ในการตอบสนองต่อเหตุการณ์นี้ ทีมเทคนิคของ Chengdu LianAn ได้แนะนำ:
1. เงินทุนที่ใช้ในการลงคะแนนควรถูกล็อคไว้ในสัญญาเป็นระยะเวลาหนึ่ง หลีกเลี่ยงการใช้ยอดเงินปัจจุบันของบัญชีเพื่อนับจำนวนการลงคะแนน เพื่อหลีกเลี่ยงการลงคะแนนซ้ำที่เป็นไปได้และใช้เงินกู้แฟลชสำหรับการลงคะแนน
2. ฝ่ายโครงการและชุมชนควรให้ความสนใจกับข้อเสนอทั้งหมด หากข้อเสนอเป็นข้อเสนอที่เป็นอันตราย ขอแนะนำให้ใช้มาตรการที่ทันท่วงทีในช่วงระยะเวลาการลงคะแนนข้อเสนอ ละทิ้งข้อเสนอ และห้ามมิให้ยอมรับการลงคะแนนเสียงและการดำเนินการ
3. พิจารณาห้ามไม่ให้ที่อยู่ตามสัญญามีส่วนร่วมในการลงคะแนน นอกจากนี้ เป็นการดีที่สุดที่จะดำเนินการตรวจสอบความปลอดภัยอย่างครอบคลุมก่อนที่โครงการจะออนไลน์เพื่อหลีกเลี่ยงความเสี่ยงด้านความปลอดภัย
