SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

avatar
SharkTeam
11เดือนก่อน
ประมาณ 3449คำ,ใช้เวลาอ่านบทความฉบับเต็มประมาณ 5นาที
การตีความทางเทคนิคของการโจมตี Sonne Finance

เมื่อวันที่ 15 พฤษภาคม 2024 Sonne Finance ถูกโจมตี และโครงการนี้สูญเสียเงินไปกว่า 20 ล้านดอลลาร์สหรัฐ

SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

SharkTeam ดำเนินการวิเคราะห์ทางเทคนิคของเหตุการณ์นี้ทันทีและสรุปข้อควรระวังด้านความปลอดภัย เราหวังว่าโครงการต่อ ๆ ไปจะสามารถเรียนรู้จากสิ่งนี้และร่วมกันสร้างแนวป้องกันความปลอดภัยสำหรับอุตสาหกรรมบล็อกเชน

1. การวิเคราะห์ธุรกรรมการโจมตี

ตัวรุก: 0xae4a7cde7c99fb98b0d5fa414aa40f0300531f43

สัญญาการโจมตี: 0x02fa2625825917e9b1f8346a465de1bbc150c5b9

สัญญาเป้าหมาย: 0xe3b81318b1b6776f0877c3770afddff97b9f5fe5

ธุรกรรมการโจมตี: 0x9312ae377d7ebdf3c7c3a86f80514878deb5df51aad38b6191d55db53e42b7f0

กระบวนการโจมตีมีดังนี้:

1. ยืมแฟลช 35, 569, 150 VELO และโอนโทเค็น VELO เหล่านี้ไปยังสัญญา soVELO

SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

เนื่องจากเป็นการโอนเงินโดยตรง (การบริจาค) ดังนั้นโทเค็น soVELO จึงไม่ถูกสร้างขึ้น ดังนั้น ในสัญญา soVELO TotalCash เพิ่มขึ้น 35, 569, 150 VELO และ TotalSupply ของ soVELO ยังคงไม่เปลี่ยนแปลง

2. ผู้โจมตีสร้างสัญญาใหม่ 0xa16388a6210545b27f669d5189648c1722300b8b และเริ่มการโจมตีสัญญาเป้าหมายในสัญญาใหม่ กระบวนการโจมตีมีดังนี้:

SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

(1) โอน 2 soVELO ไปยังสัญญาใหม่

(2) ประกาศ soWETH และ soVELO เป็นหลักประกัน

(3) ยืมจากเลขที่ 265, 842, 857, 910, 985, 546, 929 WETH

SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

จากกระบวนการดำเนินการของฟังก์ชันยืมข้างต้น ตามค่าที่ส่งคืนของฟังก์ชัน getAccountSnapshot เราพบว่า:

สำหรับสัญญา soWETH ยอดคงเหลือของสัญญาใหม่คือ 0 จำนวนเงินกู้คือ 0 และอัตราแลกเปลี่ยน (exchangeRate) คือ 208, 504, 036, 856, 714, 856, 032, 085, 073

สำหรับสัญญา soVELO ยอดคงเหลือของสัญญาใหม่คือ 2 นั่นคือ 2 wei ของ soVELO ถูกจำนอง จำนวนเงินกู้คือ 0 และอัตราแลกเปลี่ยน (exchangeRate) คือ 17, 735, 851, 964, 756, 377, 265, 143, 988, 000, 000 , 000, 000, 000, 000

exchangeRate คำนวณดังนี้:

SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

เมื่อจำนอง soVELO 1 wei คุณสามารถยืมได้ไม่เกิน 17, 735, 851, 964, 756, 377, 265, 143, 988 VELO และยืม 265, 842, 857, 910, 985, 546, 929 WETH, คุณต้องจำนองอย่างน้อย 265 , 842, 857, 910, 985, 546, 929 ดังนั้น

ราคาของ soWETH: ราคาของ soWETH = 2, 892, 868, 789, 980, 000, 000, 000,

ราคาของ soVELO: ราคา soVELO = 124, 601, 260, 000, 000, 000

จำนวน WETH ที่ soVELO สามารถยืมได้โดยมี 1 wei ให้คำมั่นไว้ดังนี้:

1 * อัตราการแลกเปลี่ยน * soVELOราคา / ดังนั้นราคา = 763, 916, 258, 364, 900, 996, 923

ประมาณ 763 วธ. หลักประกัน soVELO เพียง 1 wei ก็เพียงพอที่จะรองรับเงินกู้นี้

การกู้ยืม 265, 842, 857, 910, 985, 546, 929 WETH (ประมาณ 265 WETH) จะถูกแปลงเป็นหลักประกัน soVELO จำนวนเงินขั้นต่ำที่ต้องเป็นหลักประกันคือ:

265, 842, 857, 910, 985, 546, 929 * ดังนั้นWETHราคา / soVELOราคา / อัตราการแลกเปลี่ยน = 0.348

นั่นคือ 1 wei ของหลักประกัน soVELO ก็เพียงพอแล้ว

ในความเป็นจริง 2 wei ของหลักประกัน soVELO ถูกใช้สำหรับการยืมเพียง 1 wei เท่านั้น

(4) ไถ่ถอนทรัพย์สินอ้างอิง ได้แก่ 35, 471, 603, 929, 512, 754, 530, 287, 976 VELO

SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

อัตราแลกเปลี่ยน = 17, 735, 851, 964, 756, 377, 265, 143, 988, 000, 000, 000, 000, 000, 000

จำนวนหลักประกัน soVELO ที่ต้องใช้ในการแลก 35, 471, 603, 929, 512, 754, 530, 287, 976 VELO คือ

35, 471, 603, 929, 512, 754, 530, 287, 976 * 1 e 18 / อัตราการแลกเปลี่ยน = 1.99999436

เมื่อคำนวณ เนื่องจากการคำนวณใช้การตัดทอนแทนการปัดเศษ หลักประกันที่จำเป็นที่คำนวณได้จริงคือ soVELO เท่ากับ 1 wei

หลักประกันที่แท้จริงคือ 2 wei ของ soVELO โดย 1 wei ใช้สำหรับเงินกู้ข้างต้นจำนวน 265 WETH และอีก 1 wei ที่เหลือใช้สำหรับไถ่ถอน 35 M VELO

(5) โอน 265 WETH ที่ยืมมาและ VELO 35 M ที่แลกแล้วไปยังสัญญาโจมตี

3. ทำซ้ำ 3 ครั้ง (รวมทั้งหมด 4 ครั้ง) เพื่อสร้างสัญญาใหม่และโจมตีซ้ำ

4. สุดท้าย ชำระคืนเงินกู้แฟลช

SharkTeam: การวิเคราะห์เหตุการณ์การโจมตี Sonne Finance

2. การวิเคราะห์ช่องโหว่

มีช่องโหว่สองช่องโหว่ในการโจมตีข้างต้น:

(1) การโจมตีด้วยการบริจาค: โอนโดยตรง (บริจาค) โทเค็น VELO ไปยังสัญญา soVELO โดยเปลี่ยนอัตราการแลกเปลี่ยน ทำให้ผู้โจมตีสามารถให้ยืมประมาณ 265 WETH โดยมีเพียง 1 wei soVELO เป็นหลักประกัน

(2) ปัญหาความแม่นยำในการคำนวณ: การใช้การสูญเสียความแม่นยำในระหว่างขั้นตอนการคำนวณและอัตราแลกเปลี่ยนที่แก้ไข ทำให้สามารถแลก 35 M VELO ได้โดยจำนอง 1 wei soVELO เท่านั้น

3. คำแนะนำด้านความปลอดภัย

เพื่อตอบสนองต่อการโจมตีนี้ เราควรปฏิบัติตามข้อควรระวังต่อไปนี้ในระหว่างกระบวนการพัฒนา:

(1) ในระหว่างกระบวนการออกแบบและพัฒนาของโครงการ ต้องรักษาความสมบูรณ์และความเข้มงวดของตรรกะ โดยเฉพาะอย่างยิ่งประเด็นเรื่องการฝาก การจำนำ การอัปเดตตัวแปรสถานะ และการแลกเปลี่ยนผลการคำนวณการคูณและการหารในระหว่าง กระบวนการคำนวณ ต้องพิจารณาสถานการณ์ให้ได้มากที่สุดเพื่อให้ตรรกะสมบูรณ์และไม่มีช่องโหว่

(2) ก่อนที่โปรเจ็กต์จะออนไลน์ การตรวจสอบสัญญาอัจฉริยะจะต้องดำเนินการโดยบริษัทตรวจสอบมืออาชีพบุคคลที่สาม

เกี่ยวกับเรา

วิสัยทัศน์ของ SharkTeam คือการรักษาความปลอดภัยให้กับโลกของ Web3 ทีมงานประกอบด้วยผู้เชี่ยวชาญด้านความปลอดภัยที่มีประสบการณ์และนักวิจัยอาวุโสจากทั่วโลก ซึ่งมีความเชี่ยวชาญในทฤษฎีพื้นฐานของบล็อคเชนและสัญญาอัจฉริยะ โดยให้บริการต่างๆ เช่น การระบุและการบล็อกความเสี่ยง การตรวจสอบสัญญาอัจฉริยะ KYT/AML การวิเคราะห์ออนไลน์ ฯลฯ และได้สร้างแพลตฟอร์มการระบุความเสี่ยงและการบล็อกอัจฉริยะแบบออนไลน์ ChainAegis ซึ่งสามารถต่อสู้กับภัยคุกคามขั้นสูงแบบต่อเนื่อง (ขั้นสูง) ได้อย่างมีประสิทธิภาพ ภัยคุกคามถาวร) ในโลก Web3 , APT) ได้สร้างความสัมพันธ์ความร่วมมือระยะยาวกับผู้เล่นหลักในด้านต่างๆ ของระบบนิเวศ Web3 เช่น Polkadot, Moonbeam, polygon, Sui, OKX, imToken, Collab.Land, TinTinLand เป็นต้น

เว็บไซต์อย่างเป็นทางการ: https://www.sharkteam.org

ทวิตเตอร์: https://twitter.com/sharkteamorg

โทรเลข: https://t.me/sharkteamorg

ดิสคอร์ด: https://discord.gg/jGH9xXCjDZ

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

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

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