@UniLend_Financeเป็นโปรโตคอลตลาดเงินไร้สิทธิ์ที่ไม่ได้รับอนุญาตกับการให้บริการกู้ยืมและยืมเงินผ่านสัญญาอัจฉริยะ
UniLend ช่วยให้ผู้ใช้สามารถใช้สกุลเงินดิจิตอลของตนโดยการจัดหลักทรัพย์ให้กับเครือข่ายที่อาจถูกยืมโดยการจำนองสกุลเงินดิจิตอลที่มีการจัดหลักทรัพย์เกินมาตรฐาน นี้สร้างสภาวะการให้กู้ที่ปลอดภัยเมื่อผู้ให้กู้ได้รับอัตราดอกเบี้ยสะสมต่อปี (APY) ที่จ่ายต่อบล็อกในขณะที่ผู้กู้จ่ายดอกเบี้ยสำหรับสกุลเงินดิจิตอลที่ยืม
โปรโตคอล UniLend V2 ทำงานผ่านสามส่วนประกอบทางเทคนิคหลัก:
1. โมเดลสระเงินทรัพย์คู่
UniLend ใช้พูลสองส่วนที่แยกกันสำหรับแต่ละคู่ ERC20 / ERC20-compatible โดยการออกแบบนี้จะให้แน่ใจว่าประสิทธิภาพหรือความผันผวนของสินทรัพย์หนึ่งอย่างไม่ได้รบกวนสินทรัพย์อื่น ๆ เพิ่มความปลอดภัยและความเสถียรภาพ โครงสร้างนี้ช่วยให้ผู้ใช้สามารถสร้างและจัดการพูลการยืมและการกู้ยืมสำหรับสินทรัพย์หลากหลายประเภทในบล็อกเชนหลายรูปแบบได้
2.การส่งออกและการยืม
3. รูปแบบอัตราดอกเบี้ย
UniLend ใช้โมเดลอัตราดอกเบี้ยแบบไดนามิกที่ขึ้นอยู่กับอัตราส่วนการใช้งานของพูล (U) ที่คำนวณเป็น:
Ux=BorrowxBorrowx+Cashx
อัตราดอกเบี้ยการยืม:
อัตราดอกเบี้ยการยืม = 10% + (Ux × 30%)
อัตราเพิ่มขึ้นเมื่อการใช้งานสูงขึ้นเพื่อสมดุลการจัดหาและความต้องการ
อุปทานดอกเบี้ย Ratex = ดอกเบี้ยเงินกู้ยืม Ratex×Ux×(1−S)
นี้จะทำให้ซัพพลายเออร์ได้รับผลตอบแทนที่ยั่งยืนในขณะที่โปรโตคอลยังคงได้รับกำไร
ส่วนประกอบเหล่านี้ทำงานร่วมกันเพื่อสร้างตลาดเงินทุนที่กระจายแบบปลอดภัย มีประสิทธิภาพ และมีลักษณะขยายได้
เมื่อวันที่ 12 มกราคม 2025 มีช่องโหว่ความปลอดภัยในโปรโตคอล UniLend ถูกใช้ประโยชน์ ส่งผลให้เสียประมาณ 200,000 ดอลลาร์จาก UniLend Pool ผู้โจมตีได้แก้ไขการคำนวณหลักประกันภัยซึ่งประเมินค่าปัจจัยสุขภาพของผู้ใช้ไม่ถูกต้อง ข้อบกพร่องนี้ทำให้ผู้โจมตีสามารถถอน 60 โทเค็น stETH โดยไม่มีหลักประกันเพียงพอ
สินทรัพย์ที่ถูกขโมยรวมถึง 60 โทเค็น stETH ซึ่งใช้ประโยชน์จากการคำนวณผิดพลาดของยอดคงเหลือโทเค็นผู้ใช้
ผู้โจมตีเริ่มกระทำการโจมตีโดยใช้กู้เงินแฟลชเพื่อฝาก USDC จำนวนมากในสระของยูนิเลนด์ โดยเฉพาะอย่างยิ่งว่าพวกเขาฝาก USDC 60 ล้านดอลลาร์ ทำให้มีการเติบโตของหลักประกันของพวกเขาภายในสระอย่างมาก
การกู้ยืมแฟลชช่วยให้ผู้ใช้ยืมเงินสูงโดยไม่ต้องมีหลักทรัพย์ โดยเงินยืมจะต้องคืนภายในธุรกรรมเดียวกัน
ผู้โจมตีใช้กลไกนี้เพื่อหา USDC ที่จำเป็นโดยไม่ต้องมีทุนล่วงหน้า ซึ่งทำให้เกิดตำแหน่งที่เทียบเท่าที่เป็นเท็จในสระว่ายน้ำ
เมื่อฝาก USDC ผู้โจมตีดําเนินการยืมโทเค็น stETH โปรโตคอลจะคํานวณมูลค่าหลักประกันของผู้ใช้ตามยอดคงเหลือโทเค็นภายในพูล อย่างไรก็ตามเนื่องจากการใช้งานที่มีข้อบกพร่องยอดคงเหลือจึงคํานวณโดยใช้ยอดคงเหลือปัจจุบันของโทเค็นในสัญญาพูลแทนที่จะเป็นจํานวนเงินที่โอนจริงในระหว่างการตรวจปัจจัยด้านสุขภาพ ความคลาดเคลื่อนนี้หมายความว่ายอดคงเหลือโทเค็นของผู้ใช้นั้นสูงกว่าความเป็นจริงอย่างมากโดยเฉพาะในกลุ่มที่มีสภาพคล่องสูง
รากของการจัดการนี้อยู่ในฟังก์ชัน userBalanceOfToken ในสถานการณ์ที่พูลมีสภาพคล่องมากฟังก์ชันนี้สามารถส่งคืน lendBalance ที่สูงแม้ว่าจะมีส่วนแบ่งเงินกู้เหลืออยู่เพียงเล็กน้อยก็ตาม การประเมินยอดคงเหลือของผู้ใช้ที่สูงเกินไปนี้ทําให้ผู้โจมตีมีภาพลวงตาว่ามีหลักประกันมากกว่าที่พวกเขาครอบครองจริง ดังนั้นผู้โจมตีจึงสามารถยืมโทเค็น stETH เกินกว่าสิทธิ์ที่ถูกต้องตามหลักประกันที่แท้จริงของพวกเขา
ด้วยค่าหลักทรัพย์ที่ได้เพิ่มขึ้น ผู้โจมตีได้ดำเนินการแลกคืน USDC และ stETH ของพวกเขา ฟังก์ชัน redeemUnderlying ถูกเรียกใช้ ซึ่งเผา LP โทเค็นที่เกี่ยวข้องกับเงินฝากของผู้ใช้ อย่างไรก็ตาม เนื่องจากการตรวจสอบปัจจัยสุขภาพที่ขัดข้องเกิดขึ้นก่อนการโอนโทเค็น ระบบเชื่อว่าผู้ใช้มีหลักทรัพย์เพียงพอที่จะถอนเงินมากกว่าที่พวกเขามีสิทธิ์ ข้อบกพร่องนี้ทำให้ผู้โจมตีสามารถถอน 60 โทเค็น stETH โดยไม่จำเป็นต้องรักษาหลักทรัพย์ที่จำเป็น โดยในทางปฏิบัติได้รับโทเค็นเหล่านี้ได้ฟรี
เพื่อป้องกันการโจมตี UniLend ควรจะเรียงลำดับการดำเนินการภายในฟังก์ชัน redeemUnderlying ใหม่ โดยการทำการตรวจสอบปัจจัยสุขภาพหลังโอนโทเค็นให้กับผู้ใช้ โปรโตคอลจะให้ความมั่นใจว่ายอดเงินโทเค็นจริงของผู้ใช้สะท้อนสถานะหลักประกันของพวกเขา
ความปลอดภัยบล็อกเชนไม่ใช่เรื่องทางเลือก เพิ่มความปลอดภัยให้กับสัญญาอัจฉริยะและโปรโตคอล DeFi ของคุณด้วย Three Sigma พันธมิตรด้านความปลอดภัยที่น่าเชื่อถือในการตรวจสอบบล็อกเชน การประเมินความเสี่ยงของสัญญาอัจฉริยะ และความปลอดภัยของ Web3
คลิกเพื่อได้รับการตรวจสอบสัญญาอัจฉริยะของคุณวันนี้.
ช่วงเวลาที่เกิดเหตุการณ์ทำให้เกิดความเสียหายทางการเงินสูงสุดประมาณ 200,000 ดอลลาร์จากพูลยูนิเลนด์ ความเสียหายมากนี้มีผลต่อส่วนสำรองแพลตฟอร์มโดยตรงและลดความสามารถในการมีสภาพเหมาะสมสำหรับผู้ใช้งานอื่น ๆ ที่อาจส่งผลกระทบต่อกิจกรรมการให้ยืมและกิจกรรมการยืมอยู่
หลังจากการโจมตี, UniLend ได้ดำเนินการทันทีเพื่อแก้ไขช่องโหว่และสร้างความเชื่อมั่นให้กับผู้ใช้งาน
พวกเขาประกาศรางวัล 20% ให้กับผู้รับผิดชอบสำหรับการคืนเงินอย่างปลอดภัย
ที่อยู่
ธุรกรรมโจมตี:
ที่อยู่ของผู้ประโยชน์:
ที่อยู่ UnilendV2Core:
@UniLend_Financeเป็นโปรโตคอลตลาดเงินไร้สิทธิ์ที่ไม่ได้รับอนุญาตกับการให้บริการกู้ยืมและยืมเงินผ่านสัญญาอัจฉริยะ
UniLend ช่วยให้ผู้ใช้สามารถใช้สกุลเงินดิจิตอลของตนโดยการจัดหลักทรัพย์ให้กับเครือข่ายที่อาจถูกยืมโดยการจำนองสกุลเงินดิจิตอลที่มีการจัดหลักทรัพย์เกินมาตรฐาน นี้สร้างสภาวะการให้กู้ที่ปลอดภัยเมื่อผู้ให้กู้ได้รับอัตราดอกเบี้ยสะสมต่อปี (APY) ที่จ่ายต่อบล็อกในขณะที่ผู้กู้จ่ายดอกเบี้ยสำหรับสกุลเงินดิจิตอลที่ยืม
โปรโตคอล UniLend V2 ทำงานผ่านสามส่วนประกอบทางเทคนิคหลัก:
1. โมเดลสระเงินทรัพย์คู่
UniLend ใช้พูลสองส่วนที่แยกกันสำหรับแต่ละคู่ ERC20 / ERC20-compatible โดยการออกแบบนี้จะให้แน่ใจว่าประสิทธิภาพหรือความผันผวนของสินทรัพย์หนึ่งอย่างไม่ได้รบกวนสินทรัพย์อื่น ๆ เพิ่มความปลอดภัยและความเสถียรภาพ โครงสร้างนี้ช่วยให้ผู้ใช้สามารถสร้างและจัดการพูลการยืมและการกู้ยืมสำหรับสินทรัพย์หลากหลายประเภทในบล็อกเชนหลายรูปแบบได้
2.การส่งออกและการยืม
3. รูปแบบอัตราดอกเบี้ย
UniLend ใช้โมเดลอัตราดอกเบี้ยแบบไดนามิกที่ขึ้นอยู่กับอัตราส่วนการใช้งานของพูล (U) ที่คำนวณเป็น:
Ux=BorrowxBorrowx+Cashx
อัตราดอกเบี้ยการยืม:
อัตราดอกเบี้ยการยืม = 10% + (Ux × 30%)
อัตราเพิ่มขึ้นเมื่อการใช้งานสูงขึ้นเพื่อสมดุลการจัดหาและความต้องการ
อุปทานดอกเบี้ย Ratex = ดอกเบี้ยเงินกู้ยืม Ratex×Ux×(1−S)
นี้จะทำให้ซัพพลายเออร์ได้รับผลตอบแทนที่ยั่งยืนในขณะที่โปรโตคอลยังคงได้รับกำไร
ส่วนประกอบเหล่านี้ทำงานร่วมกันเพื่อสร้างตลาดเงินทุนที่กระจายแบบปลอดภัย มีประสิทธิภาพ และมีลักษณะขยายได้
เมื่อวันที่ 12 มกราคม 2025 มีช่องโหว่ความปลอดภัยในโปรโตคอล UniLend ถูกใช้ประโยชน์ ส่งผลให้เสียประมาณ 200,000 ดอลลาร์จาก UniLend Pool ผู้โจมตีได้แก้ไขการคำนวณหลักประกันภัยซึ่งประเมินค่าปัจจัยสุขภาพของผู้ใช้ไม่ถูกต้อง ข้อบกพร่องนี้ทำให้ผู้โจมตีสามารถถอน 60 โทเค็น stETH โดยไม่มีหลักประกันเพียงพอ
สินทรัพย์ที่ถูกขโมยรวมถึง 60 โทเค็น stETH ซึ่งใช้ประโยชน์จากการคำนวณผิดพลาดของยอดคงเหลือโทเค็นผู้ใช้
ผู้โจมตีเริ่มกระทำการโจมตีโดยใช้กู้เงินแฟลชเพื่อฝาก USDC จำนวนมากในสระของยูนิเลนด์ โดยเฉพาะอย่างยิ่งว่าพวกเขาฝาก USDC 60 ล้านดอลลาร์ ทำให้มีการเติบโตของหลักประกันของพวกเขาภายในสระอย่างมาก
การกู้ยืมแฟลชช่วยให้ผู้ใช้ยืมเงินสูงโดยไม่ต้องมีหลักทรัพย์ โดยเงินยืมจะต้องคืนภายในธุรกรรมเดียวกัน
ผู้โจมตีใช้กลไกนี้เพื่อหา USDC ที่จำเป็นโดยไม่ต้องมีทุนล่วงหน้า ซึ่งทำให้เกิดตำแหน่งที่เทียบเท่าที่เป็นเท็จในสระว่ายน้ำ
เมื่อฝาก USDC ผู้โจมตีดําเนินการยืมโทเค็น stETH โปรโตคอลจะคํานวณมูลค่าหลักประกันของผู้ใช้ตามยอดคงเหลือโทเค็นภายในพูล อย่างไรก็ตามเนื่องจากการใช้งานที่มีข้อบกพร่องยอดคงเหลือจึงคํานวณโดยใช้ยอดคงเหลือปัจจุบันของโทเค็นในสัญญาพูลแทนที่จะเป็นจํานวนเงินที่โอนจริงในระหว่างการตรวจปัจจัยด้านสุขภาพ ความคลาดเคลื่อนนี้หมายความว่ายอดคงเหลือโทเค็นของผู้ใช้นั้นสูงกว่าความเป็นจริงอย่างมากโดยเฉพาะในกลุ่มที่มีสภาพคล่องสูง
รากของการจัดการนี้อยู่ในฟังก์ชัน userBalanceOfToken ในสถานการณ์ที่พูลมีสภาพคล่องมากฟังก์ชันนี้สามารถส่งคืน lendBalance ที่สูงแม้ว่าจะมีส่วนแบ่งเงินกู้เหลืออยู่เพียงเล็กน้อยก็ตาม การประเมินยอดคงเหลือของผู้ใช้ที่สูงเกินไปนี้ทําให้ผู้โจมตีมีภาพลวงตาว่ามีหลักประกันมากกว่าที่พวกเขาครอบครองจริง ดังนั้นผู้โจมตีจึงสามารถยืมโทเค็น stETH เกินกว่าสิทธิ์ที่ถูกต้องตามหลักประกันที่แท้จริงของพวกเขา
ด้วยค่าหลักทรัพย์ที่ได้เพิ่มขึ้น ผู้โจมตีได้ดำเนินการแลกคืน USDC และ stETH ของพวกเขา ฟังก์ชัน redeemUnderlying ถูกเรียกใช้ ซึ่งเผา LP โทเค็นที่เกี่ยวข้องกับเงินฝากของผู้ใช้ อย่างไรก็ตาม เนื่องจากการตรวจสอบปัจจัยสุขภาพที่ขัดข้องเกิดขึ้นก่อนการโอนโทเค็น ระบบเชื่อว่าผู้ใช้มีหลักทรัพย์เพียงพอที่จะถอนเงินมากกว่าที่พวกเขามีสิทธิ์ ข้อบกพร่องนี้ทำให้ผู้โจมตีสามารถถอน 60 โทเค็น stETH โดยไม่จำเป็นต้องรักษาหลักทรัพย์ที่จำเป็น โดยในทางปฏิบัติได้รับโทเค็นเหล่านี้ได้ฟรี
เพื่อป้องกันการโจมตี UniLend ควรจะเรียงลำดับการดำเนินการภายในฟังก์ชัน redeemUnderlying ใหม่ โดยการทำการตรวจสอบปัจจัยสุขภาพหลังโอนโทเค็นให้กับผู้ใช้ โปรโตคอลจะให้ความมั่นใจว่ายอดเงินโทเค็นจริงของผู้ใช้สะท้อนสถานะหลักประกันของพวกเขา
ความปลอดภัยบล็อกเชนไม่ใช่เรื่องทางเลือก เพิ่มความปลอดภัยให้กับสัญญาอัจฉริยะและโปรโตคอล DeFi ของคุณด้วย Three Sigma พันธมิตรด้านความปลอดภัยที่น่าเชื่อถือในการตรวจสอบบล็อกเชน การประเมินความเสี่ยงของสัญญาอัจฉริยะ และความปลอดภัยของ Web3
คลิกเพื่อได้รับการตรวจสอบสัญญาอัจฉริยะของคุณวันนี้.
ช่วงเวลาที่เกิดเหตุการณ์ทำให้เกิดความเสียหายทางการเงินสูงสุดประมาณ 200,000 ดอลลาร์จากพูลยูนิเลนด์ ความเสียหายมากนี้มีผลต่อส่วนสำรองแพลตฟอร์มโดยตรงและลดความสามารถในการมีสภาพเหมาะสมสำหรับผู้ใช้งานอื่น ๆ ที่อาจส่งผลกระทบต่อกิจกรรมการให้ยืมและกิจกรรมการยืมอยู่
หลังจากการโจมตี, UniLend ได้ดำเนินการทันทีเพื่อแก้ไขช่องโหว่และสร้างความเชื่อมั่นให้กับผู้ใช้งาน
พวกเขาประกาศรางวัล 20% ให้กับผู้รับผิดชอบสำหรับการคืนเงินอย่างปลอดภัย
ที่อยู่
ธุรกรรมโจมตี:
ที่อยู่ของผู้ประโยชน์:
ที่อยู่ UnilendV2Core: