การวิเคราะห์ข้อบกพร่อง|การวิเคราะห์เหตุการณ์การขโมย 12 ล้านดอลลาร์ของโปรโตคอล Cork Protocol และการติดตามเงินทุน

ForesightNews

เมื่อเร็ว ๆ นี้ Cork Protocol บนห่วงโซ่ Ethereum ถูกโจมตีและผู้โจมตีทํากําไรได้ 12 ล้านดอลลาร์ผ่านช่องโหว่เชิงตรรกะในสัญญาของโครงการ (ไม่สามารถตรวจสอบพารามิเตอร์หลักได้) บทความนี้ให้การวิเคราะห์โดยละเอียดของการโจมตีและการติดตามเงินทุน

เขียนโดย: Beosin

เมื่อเร็ว ๆ นี้ Cork Protocol บนห่วงโซ่ Ethereum ถูกโจมตีและผู้โจมตีทํากําไรได้ 12 ล้านดอลลาร์ผ่านช่องโหว่เชิงตรรกะในสัญญาของโครงการ (พารามิเตอร์หลักไม่ได้รับการยืนยัน) ทีมรักษาความปลอดภัยของ Beosin ได้ทําการวิเคราะห์โดยละเอียดและติดตามการโจมตีทางการเงินและแบ่งปันผลลัพธ์ดังนี้:

ขั้นตอนการโจมตีอย่างละเอียด

ก่อนที่จะวิเคราะห์การโจมตีเราจําเป็นต้องเข้าใจตรรกะทางธุรกิจพิเศษของ Cork Protocol มันแนะนํากลไกการแลกเปลี่ยนเครดิตเริ่มต้นคล้ายกับการเงินแบบดั้งเดิม (เรียกว่า Depeg Swap) ซึ่งโทเค็นความเสี่ยงในการยกเลิกการตรึงของสินทรัพย์ที่ถูกตรึง (เช่น stETH) และผู้ใช้สามารถป้องกันความเสี่ยงหรือแลกเปลี่ยนความเสี่ยงในการตรึงของสินทรัพย์ที่ตรึงไว้ ประเภทของโทเค็นคือ:

  • ทรัพย์สินคืน (Redemption Asset, RA): สินทรัพย์พื้นฐาน (เช่น Ether)

  • สินทรัพย์ที่ตรึง (Pegged Asset, PA): สินทรัพย์ที่ตรึงกับสินทรัพย์พื้นฐาน (เช่น stETH)

  • Depeg Swaps(DS):คล้ายกับออปชันขาย ใช้ในการป้องกันความเสี่ยงจากการลดลงของราคา

  • โทเค็นคัฟเวอร์ (Cover Token, CT) — คล้ายกับออปชั่นซื้อ หากไม่เกิดการแยกตัว สามารถทำกำไรได้; หากเกิดการแยกตัว จะต้องรับผิดชอบต่อการขาดทุน

เมื่อผู้ใช้ฝาก RA Cork Protocol จะสร้างเหรียญ DS และ CT ผู้ใช้สามารถทำการซื้อขายหรือไถ่ถอนเพื่อนำไปเดิมพันหรือป้องกันความเสี่ยงได้

การโจมตีครั้งนี้เกี่ยวข้องกับตลาดโทเคนจริงและตลาดปลอมที่ผู้โจมตีสร้างขึ้น:

!

(1) ผู้โจมตีเริ่มต้นด้วยการสร้างตลาดปลอม ตลาดนี้มี RA เป็น weETH8DS-2 โทเค็น และ PA เป็น wstETH สามารถสังเกตได้ว่า weETH8DS-2 เดิมทีในตลาดจริงทำหน้าที่เป็น DS แต่สามารถทำหน้าที่เป็น RA ในตลาดปลอมได้ ซึ่งควรจะถูกห้ามโดยการตรวจสอบโทเค็นข้ามตลาด.

!

(2) ผู้โจมตีซื้อ weETH8CT-2 จากตลาดจริง

!

ผู้โจมตี (3) ใช้ประโยชน์จากการขาดการควบคุมการเข้าถึงที่เหมาะสมของฟังก์ชัน beforeSwap ในฟังก์ชัน CorkHook เพื่อส่งข้อมูล Hook ที่กําหนดเองไปยังฟังก์ชัน CorkCall บังคับให้แยก weETH8DS-2 ออกเป็น fake_DS และ fake_CT นี้เป็นไปได้เพราะ weETH8DS-2 เป็น RA ของตลาดปลอม, และฟังก์ชั่นถือว่าปลอม \ _DS และปลอม \ _CT เป็นของผู้โจมตี.

!

หลังจาก (4) โทเค็นปลอม_DS และปลอม_CT จะถูกโอนไปยังผู้โจมตีตามกฎของ Cork Protocol: โทเค็น DS และ CT สามารถแลกเปลี่ยนเป็นโทเค็น RA ได้ ผู้โจมตีแลกเปลี่ยนโทเค็นปลอม _DS _CT และปลอมที่ได้รับสําหรับ weETH8DS-2 ผ่านตลาดเสมือน

(5) ขณะนี้ผู้โจมตีมี weETH8CT-2 ที่ซื้อจากขั้นตอนที่ 2 และ weETH8DS-2 ที่ประกอบใหม่ ซึ่งสามารถแลกเปลี่ยนเป็น RA (คือ wstETH) จากตลาดจริงได้.

ดังนั้น ผู้โจมตีสามารถย้ายสภาพคล่อง DS จากตลาดจริงไปยังตลาดอื่น (ตลาดปลอมที่สร้างขึ้น) เพื่อทำการแลกคืนเป็น RA และดึงสภาพคล่อง RA จากตลาดจริง ผู้โจมตีขโมย wstETH จำนวน 3761 รายการในเหตุการณ์นี้ และแลกเปลี่ยนเป็น ETH มูลค่าประมาณ 12 ล้านดอลลาร์

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

จากกระบวนการโจมตีข้างต้น เราสามารถเห็นเหตุผลของการใช้ช่องโหว่ในเหตุการณ์ทั้งหมดได้สามประการดังนี้:

  • ขาดการตรวจสอบความถูกต้อง: ไม่ตรวจสอบว่า DS ที่ใช้เป็น RA มีการใช้งานในตลาดอื่นแล้วหรือไม่

  • CorkCall ข้อมูลการเรียกกลับที่ให้โดยผู้ใช้ที่เชื่อถือได้ซึ่งไม่ได้รับการตรวจสอบอย่างเหมาะสม.

  • โปรโตคอลนี้อนุญาตให้สร้างตลาดที่ไม่ต้องขออนุญาตและไม่มีข้อจำกัด.

แม้ว่า Cork Protocol จะผ่านการตรวจสอบความปลอดภัยและการแข่งขันการตรวจสอบหลายครั้ง แต่ช่องโหว่เชิงตรรกะนี้ก็ถูกมองข้ามไป การโจมตีนี้อาจหลีกเลี่ยงได้หากมีการตรวจสอบที่เข้มงวดมากขึ้นเกี่ยวกับการนําโทเค็นกลับมาใช้ใหม่การตรวจสอบข้อมูลการเรียกกลับอย่างเข้มงวดและการควบคุมที่เข้มงวดยิ่งขึ้นในการสร้างตลาด

การติดตามเงินที่ถูกขโมย

Beosin Trace ได้ทำการติดตามเงินที่ถูกขโมย พบว่า: ที่อยู่ของผู้โจมตี 0xea6f30e360192bae715599e15e2f765b49e4da98 ได้รับผลกำไรประมาณ 3761 wstETH จากนั้นได้ทำการแลกเปลี่ยน wstETH เป็น ETH ผ่านโปรโตคอล DeFi เช่น Uniswap, 1inch โดยรวมมีจำนวนทั้งสิ้น 4530.6.

ขณะนี้เงินที่ถูกขโมยยังไม่ได้ถูกโอนย้าย Beosin Trace ได้เพิ่มที่อยู่ที่เกี่ยวข้องกับแฮ็กเกอร์ลงในฐานข้อมูลที่อยู่ดำ และจะติดตามต่อไป

!

ตามการวิเคราะห์ของ Beosin Trace เงินที่ถูกขโมยทั้งหมดยังคงอยู่ที่อยู่ของผู้โจมตี

สรุป

หัวใจของการโจมตีคือช่องโหว่ทางตรรกะทางธุรกิจหลักใน Cork Protocol ซึ่งส่งผลให้ผู้โจมตีขโมย wstETH จํานวนมากผ่านโทเค็นปลอม โปรโตคอล DeFi ที่ซับซ้อนเช่น Cork Protocol ต้องการการทดสอบโดยละเอียดและการตรวจสอบตรรกะทางธุรกิจของสัญญาผ่านการตรวจสอบความปลอดภัยหลายแง่มุมและหลายชั้น ก่อนหน้านี้ทีมรักษาความปลอดภัยของ Beosin ได้ทําการตรวจสอบความปลอดภัยของโปรโตคอล DeFi หลายตัว (เช่น Surf Protocol, SyncSwap, LeverFi, Owlto Finance) โดยมุ่งเน้นไปที่การค้นหาข้อบกพร่องทางตรรกะของสัญญาและกรณีขอบที่อาจถูกมองข้ามเพื่อให้แน่ใจว่าโปรโตคอลได้รับการทดสอบอย่างสมบูรณ์

ดูต้นฉบับ
news.article.disclaimer
แสดงความคิดเห็น
0/400
ไม่มีความคิดเห็น