เมื่อวันที่ 19 เมษายน 2024 Hedgey Finance ประสบปัญหาธุรกรรมการโจมตีหลายครั้ง ส่งผลให้เกิดการสูญเสียมากกว่า 2 ล้านเหรียญสหรัฐ

SharkTeam ดำเนินการวิเคราะห์ทางเทคนิคของเหตุการณ์นี้ทันทีและสรุปข้อควรระวังด้านความปลอดภัย เราหวังว่าโครงการต่อ ๆ ไปจะสามารถเรียนรู้จากสิ่งนี้และร่วมกันสร้างแนวป้องกันความปลอดภัยสำหรับอุตสาหกรรมบล็อกเชน
Hedgey Finance ถูกโจมตีหลายครั้งโดยผู้โจมตีซึ่งใช้ประโยชน์จากช่องโหว่ในการอนุมัติโทเค็นเพื่อขโมยโทเค็นจำนวนมากในสัญญา ClaimCampaigns
ยกตัวอย่างธุรกรรมที่ใหญ่ที่สุดที่เกี่ยวข้องกับจำนวนเงินประมาณ 1.3 ล้านเหรียญสหรัฐ:
ธุรกรรมการโจมตี: 0x2606d459a50ca4920722a111745c2eeced1d8a01ff25ee762e22d5d4b1595739
ตัวรุก: 0xded2b1a426e1b7d415a40bcad44e98f47181dda2
สัญญาการโจมตี: 0xc793113f1548b97e37c409f39244ee44241bf2b3
สัญญาเป้าหมาย: 0xbc452fdc8f851d7c5b72e1fe74dfb63bb793d511 (แคมเปญการอ้างสิทธิ์)
ธุรกรรมโอน 1,303,910.12 USDC โดยตรงจากสัญญา ClaimCampaigns รายละเอียดการทำธุรกรรมมีดังนี้:

ธุรกรรมที่เริ่มต้นการโจมตีจริงคือ
0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517 (ย่อว่า 0xa17f)
กระบวนการโจมตีมีดังนี้:
0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517 (ย่อว่า 0xa17f)
กระบวนการโจมตีมีดังนี้:

1 เงินกู้แฟลช 1.305M USDC จาก Balancer
2. เรียกใช้ฟังก์ชัน createLockedCampaign ในสัญญา ClaimCampaigns ในฟังก์ชันนี้ สัญญาการโจมตีจะฝาก 1.305M USDC ไว้ในสัญญา ClaimCampaigns จากนั้นสัญญา laimCampaigns จะอนุมัติการโอน 1.305M USDC สำหรับสัญญาการโจมตีที่จะใช้
3. เรียกใช้ฟังก์ชัน cancelCampaign ในสัญญา ClaimCampaigns ในฟังก์ชันนี้ สัญญาการโจมตีจะถอนเงิน 1.305M USDC ที่ฝากไว้ แต่ USDC ที่อนุมัติให้กับสัญญาการโจมตีในฟังก์ชัน createLockedCampaign จะไม่ถูกยกเลิก
4 โจมตีสัญญาเพื่อชำระคืนเงินกู้แฟลชของ Balancer
ในธุรกรรมนี้ หลังจากที่สัญญาการโจมตีถอนเงิน 1.305M USDC ที่จัดเก็บไว้ในสัญญา ClaimCampaigns แล้ว 1.305M USDC ที่ได้รับการอนุมัติโดยสัญญา ClaimCampaigns กับสัญญาการโจมตีจึงไม่ถูกยกเลิก ดังนั้น สัญญาการโจมตีจึงสามารถเรียกใช้ฟังก์ชัน TransferFrom ของ USDC ไปยัง ถอนเงินออกจากสัญญา ClaimCampaigns อีกครั้ง โอนเงิน 1.305M USDC นี่เป็นฟังก์ชันที่ใช้งานโดยธุรกรรม 0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517
จากธุรกรรมทั้งสองข้างต้น ผู้โจมตีขโมยเงิน 1.305M USDC จากสัญญา ClaimCampaigns
นอกจาก USDC แล้ว ผู้โจมตียังใช้ช่องโหว่นี้เพื่อขโมยโทเค็น NOBL จำนวนมากจากสัญญา ClaimCampaigns เมื่อรวมกับ USDC แล้ว มีมูลค่ารวมเกินกว่า 2 ล้านเหรียญสหรัฐ
สาเหตุหลักของเหตุการณ์นี้คือ มีช่องโหว่ในการอนุมัติโทเค็นในตรรกะการใช้งานของสัญญาอัจฉริยะของโปรเจ็กต์ ซึ่งช่วยให้ผู้โจมตีสามารถถ่ายโอนการอนุมัติสัญญาเป้าหมายไปยังโทเค็นใน msg.sender ซ้ำๆ ได้
ฟังก์ชัน createLockedCamaign ของสัญญาอัจฉริยะ ClaimCampaigns จะจัดเก็บโทเค็นของ msg.sender ไว้ในสัญญาเป้าหมายและอนุมัติโทเค็นเหล่านี้ให้กับ msg.sender

ฟังก์ชัน cancelCampaign จะถอนโทเค็นที่ฝากไว้ แต่จะไม่ยกเลิกการอนุมัติโทเค็น

ผู้โจมตีใช้ประโยชน์จากช่องโหว่นี้และเรียกใช้ฟังก์ชัน TransferFrom ของ Token โดยตรงเพื่อถ่ายโอนโทเค็นที่ได้รับอนุมัติอีกครั้งจากสัญญาเป้าหมาย
เพื่อตอบสนองต่อการโจมตีนี้ เราควรปฏิบัติตามข้อควรระวังต่อไปนี้ในระหว่างกระบวนการพัฒนา:
ผู้โจมตีใช้ประโยชน์จากช่องโหว่นี้และเรียกใช้ฟังก์ชัน TransferFrom ของ Token โดยตรงเพื่อถ่ายโอนโทเค็นที่ได้รับอนุมัติอีกครั้งจากสัญญาเป้าหมาย
เพื่อตอบสนองต่อการโจมตีนี้ เราควรปฏิบัติตามข้อควรระวังต่อไปนี้ในระหว่างกระบวนการพัฒนา:
(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
ความคิดเห็นทั้งหมด