Cointime

Download App
iOS & Android

BlockSec: สำรวจความเสี่ยงด้านความปลอดภัยของกลไก Hook ใน Uniswap V4

Validated Venture

ฉันเชื่อว่า Uniswap v4 จะเปิดให้ทุกคนใช้งานได้เร็วๆ นี้!

คราวนี้ทีมงาน Uniswap มีเป้าหมายที่ทะเยอทะยานและวางแผนที่จะแนะนำคุณสมบัติใหม่มากมาย [1] รวมถึงการรองรับกลุ่มสภาพคล่องไม่จำกัดจำนวน และค่าธรรมเนียมแบบไดนามิกสำหรับคู่การซื้อขายแต่ละคู่ การออกแบบซิงเกิลตัน การบัญชีฟ้าผ่า Hooks และการสนับสนุนโทเค็น ERC1155 มาตรฐาน. Uniswap v4 ใช้ประโยชน์จากพื้นที่เก็บข้อมูลชั่วคราวที่แนะนำโดย EIP-1153 และคาดว่าจะเปิดตัวหลังจากอัปเกรด Ethereum Cancun

ในบรรดานวัตกรรมใหม่ ๆ กลไก Hook ได้รับความสนใจอย่างกว้างขวางเนื่องจากมีศักยภาพอันทรงพลัง กลไก Hook รองรับการดำเนินการโค้ดเฉพาะที่จุดเฉพาะในวงจรชีวิตของพูลสภาพคล่อง ซึ่งช่วยเพิ่มความสามารถในการปรับขนาดและความยืดหยุ่นของพูลได้อย่างมาก

อย่างไรก็ตาม กลไกตะขอก็สามารถเป็นดาบสองคมได้เช่นกัน แม้ว่าจะทรงพลังและยืดหยุ่น แต่การใช้ Hook อย่างปลอดภัยก็เป็นความท้าทายที่ยิ่งใหญ่เช่นกัน ความซับซ้อนของ hooks ย่อมนำมาซึ่งเวกเตอร์การโจมตีใหม่ๆ ที่อาจเกิดขึ้นอย่างหลีกเลี่ยงไม่ได้ ดังนั้นเราจึงหวังว่าจะเขียนบทความชุดหนึ่งเพื่อแนะนำปัญหาด้านความปลอดภัยและความเสี่ยงที่อาจเกิดขึ้นที่เกี่ยวข้องกับกลไก Hook อย่างเป็นระบบ เพื่อส่งเสริมการพัฒนาความปลอดภัยของชุมชน เราเชื่อว่าข้อมูลเชิงลึกเหล่านี้จะช่วยสร้าง Uniswap v4 Hook ที่ปลอดภัย

ในตอนต้นของบทความชุดนี้ บทความนี้จะแนะนำแนวคิดที่เกี่ยวข้องกับกลไก Hook ใน Uniswap v4 และสรุปความเสี่ยงด้านความปลอดภัยของกลไก Hook

1.กลไก Uniswap V4

ก่อนที่เราจะเจาะลึก เราจำเป็นต้องมีความเข้าใจพื้นฐานเกี่ยวกับกลไกของ Uniswap v4 ตามประกาศอย่างเป็นทางการ [1] และเอกสารไวท์เปเปอร์ [2] Hooks สถาปัตยกรรมซิงเกิลตัน และการบัญชี lightning เป็นหน้าที่ที่สำคัญสามประการในการใช้พูลสภาพคล่องแบบกำหนดเอง และบรรลุการกำหนดเส้นทางที่มีประสิทธิภาพข้ามพูลหลายแห่ง

1.1 ตะขอ

Hooks หมายถึงสัญญาที่ทำงานในขั้นตอนต่างๆ ของวงจรชีวิตของแหล่งรวมสภาพคล่อง ทีมงาน Uniswap หวังว่าจะช่วยให้ใครก็ตามสามารถตัดสินใจแลกเปลี่ยนได้โดยการแนะนำ Hooks ด้วยวิธีนี้ จึงเป็นไปได้ที่จะรองรับค่าธรรมเนียมแบบไดนามิก เพิ่มคำสั่งซื้อแบบ on-chain cap หรือกระจายคำสั่งซื้อจำนวนมากผ่านผู้ดูแลสภาพคล่องโดยเฉลี่ยตามเวลา (TWAMM)

ขณะนี้มีการโทรกลับ Hook แปดรายการ แบ่งออกเป็นสี่กลุ่ม (แต่ละกลุ่มมีการโทรกลับคู่หนึ่ง):

  • beforeInitialize/หลังInitialize
  • beforeModifyPosition/หลังแก้ไขPosition
  • ก่อนสลับ/หลังสลับ
  • ก่อนบริจาค/หลังบริจาค

ต่อไปนี้คือขั้นตอนการแลกเปลี่ยน Hooks ที่แนะนำในเอกสารไวท์เปเปอร์ [2]

รูปที่ 1: กระบวนการแลกเปลี่ยน Hook

ทีมงาน Uniswap ได้แนะนำวิธีดำเนินการพร้อมตัวอย่างบางส่วน (เช่น TWAMM Hook[3]) และผู้เข้าร่วมชุมชนก็มีส่วนสนับสนุนด้วยเช่นกัน เอกสารอย่างเป็นทางการ[4] ยังลิงก์ไปยังที่เก็บ Awesome Uniswap v4 Hooks[5] ซึ่งรวบรวมตัวอย่าง Hook เพิ่มเติม

1.2 ซิงเกิลตัน การบัญชีฟ้าผ่า และกลไกการล็อค

ทีมงาน Uniswap ได้แนะนำวิธีดำเนินการพร้อมตัวอย่างบางส่วน (เช่น TWAMM Hook[3]) และผู้เข้าร่วมชุมชนก็มีส่วนร่วมด้วยเช่นกัน เอกสารอย่างเป็นทางการ[4] ยังลิงก์ไปยังที่เก็บ Awesome Uniswap v4 Hooks[5] ซึ่งรวบรวมตัวอย่าง Hook เพิ่มเติม

1.2 ซิงเกิลตัน การบัญชีฟ้าผ่า และกลไกการล็อค

สถาปัตยกรรมซิงเกิลตันและการบัญชีแฟลชได้รับการออกแบบมาเพื่อปรับปรุงประสิทธิภาพโดยการลดต้นทุนและสร้างความมั่นใจในประสิทธิภาพ โดยจะแนะนำสัญญาซิงเกิลตันใหม่ โดยที่กลุ่มสภาพคล่องทั้งหมดจะถูกเก็บไว้ในสัญญาอัจฉริยะเดียวกัน การออกแบบซิงเกิลตันนี้อาศัย PoolManager เพื่อจัดเก็บและจัดการสถานะของพูลทั้งหมด

ในเวอร์ชันก่อนหน้าของโปรโตคอล Uniswap การดำเนินการต่างๆ เช่น การแลกเปลี่ยนหรือเพิ่มสภาพคล่องเกี่ยวข้องกับการถ่ายโอนโทเค็นโดยตรง เวอร์ชัน v4 แตกต่างตรงที่จะมีการแนะนำบัญชี lightning และกลไกการล็อค

👇🏻 กลไกการล็อคทำงานดังนี้:

  1. สัญญาล็อคเกอร์ขอล็อค PoolManager
  2. PoolManager เพิ่มที่อยู่ของสัญญาล็อกเกอร์ลงในคิว lockData และเรียกการโทรกลับ lockAcquired
  3. สัญญาล็อกเกอร์ดำเนินการตรรกะในการเรียกกลับ ในระหว่างการดำเนินการ การโต้ตอบของสัญญาล็อกเกอร์กับพูลอาจส่งผลให้มีการเพิ่มสกุลเงินที่ไม่เป็นศูนย์ อย่างไรก็ตาม เมื่อสิ้นสุดการดำเนินการ เดลต้าทั้งหมดจะต้องกลายเป็นศูนย์ นอกจากนี้ หากคิว lockData ไม่ว่างเปล่า เฉพาะสัญญาล็อกเกอร์สุดท้ายเท่านั้นที่สามารถดำเนินการได้
  4. PoolManager ตรวจสอบสถานะของคิว lockData และการเพิ่มสกุลเงิน หลังจากการตรวจสอบ PoolManager จะลบสัญญาล็อคเกอร์

โดยสรุป กลไกการล็อคป้องกันการเข้าถึงพร้อมกันและทำให้มั่นใจได้ว่าธุรกรรมทั้งหมดสามารถล้างได้ สัญญาล็อกเกอร์ใช้สำหรับการล็อกตามลำดับ จากนั้นดำเนินธุรกรรมผ่านการเรียกกลับ lockAcquired Hook callback ที่เกี่ยวข้องจะถูกทริกเกอร์ก่อนและหลังการดำเนินการพูลแต่ละครั้ง สุดท้าย PoolManager จะตรวจสอบสถานะ

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

เนื่องจากกลไกการล็อค บัญชีความเป็นเจ้าของภายนอก (EOA) ไม่สามารถโต้ตอบกับ PoolManager ได้โดยตรง ปฏิสัมพันธ์ใดๆ จะต้องเกิดขึ้นผ่านสัญญาแทน สัญญานี้ทำหน้าที่เป็นตู้เก็บของกลาง และจำเป็นต้องขอล็อคก่อนดำเนินการใดๆ ของพูล

👇🏻 มีสองสถานการณ์การโต้ตอบสัญญาหลัก:

  • สัญญาล็อคเกอร์บางอย่างมาจากฐานรหัสอย่างเป็นทางการหรือถูกปรับใช้โดยผู้ใช้ ในกรณีนี้ เราสามารถนึกถึงการโต้ตอบที่ส่งผ่านเราเตอร์ได้
  • สัญญาล็อคเกอร์และ Hook บางอย่างรวมอยู่ในสัญญาเดียวกันหรือควบคุมโดยหน่วยงานบุคคลที่สาม ในกรณีนี้ เราสามารถนึกถึงการโต้ตอบที่เกิดขึ้นผ่าน Hooks ได้ ในกรณีนี้ Hook ต่างก็มีบทบาทเป็นสัญญาล็อคเกอร์และรับผิดชอบในการจัดการการโทรกลับ

2. รูปแบบภัยคุกคาม

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

  • โมเดลภัยคุกคาม 1: ตัวตะขอเองก็ไม่เป็นอันตราย แต่ก็มีช่องโหว่อยู่
  • รูปแบบภัยคุกคาม II: Hooks เป็นอันตรายโดยธรรมชาติ

ในส่วนต่อไปนี้ เราจะหารือเกี่ยวกับปัญหาด้านความปลอดภัยที่อาจเกิดขึ้นตามโมเดลภัยคุกคามทั้งสองนี้

2.1 ปัญหาด้านความปลอดภัยในรูปแบบภัยคุกคาม I

โมเดลภัยคุกคาม I มุ่งเน้นไปที่ช่องโหว่ที่เกี่ยวข้องกับ Hook รูปแบบภัยคุกคามนี้ถือว่านักพัฒนาและ hooks ของพวกเขาไม่เป็นอันตราย อย่างไรก็ตาม ช่องโหว่ที่ทราบอยู่แล้วในสัญญาอัจฉริยะอาจปรากฏใน Hooks ด้วย ตัวอย่างเช่น หาก Hook ถูกนำมาใช้เป็นสัญญาที่สามารถอัปเกรดได้ ก็อาจประสบปัญหาที่เกี่ยวข้องกับช่องโหว่ UUPSUpgradeable ของ OpenZeppelin

โมเดลภัยคุกคาม I มุ่งเน้นไปที่ช่องโหว่ที่เกี่ยวข้องกับ Hook รูปแบบภัยคุกคามนี้ถือว่านักพัฒนาและ hooks ของพวกเขาไม่เป็นอันตราย อย่างไรก็ตาม ช่องโหว่ที่ทราบอยู่แล้วในสัญญาอัจฉริยะอาจปรากฏใน Hooks ด้วย ตัวอย่างเช่น หาก Hook ถูกนำมาใช้เป็นสัญญาที่สามารถอัปเกรดได้ ก็อาจประสบปัญหาที่เกี่ยวข้องกับช่องโหว่ UUPSUpgradeable ของ OpenZeppelin

เมื่อพิจารณาจากปัจจัยข้างต้น เราเลือกที่จะมุ่งเน้นไปที่ช่องโหว่ที่อาจเกิดขึ้นโดยเฉพาะในเวอร์ชัน v4 ใน Uniswap เวอร์ชัน 4 Hooks คือสัญญาอัจฉริยะที่สามารถดำเนินการตรรกะที่กำหนดเองก่อนหรือหลังการดำเนินการพูลหลัก (รวมถึงการเริ่มต้น การแก้ไขตำแหน่ง การสลับ และการรวบรวม) แม้ว่า Hooks คาดว่าจะใช้อินเทอร์เฟซมาตรฐาน แต่ก็ยังอนุญาตให้รวมตรรกะที่กำหนดเองได้ ดังนั้นการสนทนาของเราจะจำกัดอยู่เพียงตรรกะที่เกี่ยวข้องกับอินเทอร์เฟซ Hook มาตรฐาน จากนั้นเราจะพยายามระบุแหล่งที่มาของช่องโหว่ที่เป็นไปได้ เช่น วิธีที่ Hooks อาจละเมิดฟังก์ชัน Hook มาตรฐานเหล่านี้

👇🏻 โดยเฉพาะเราจะเน้นไปที่ Hooks สองประเภทต่อไปนี้:

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

โปรดทราบว่า hooks ที่อยู่นอกขอบเขตทั้งสองนี้อยู่นอกขอบเขตการสนทนาของเรา

เนื่องจากไม่มีกรณีการใช้งานจริงสำหรับ Hooks ในขณะที่เขียน เราจะได้รับข้อมูลบางส่วนจากพื้นที่เก็บข้อมูล Awesome Uniswap v4 Hooks

หลังจากการศึกษาเชิงลึกเกี่ยวกับพื้นที่เก็บข้อมูล Awesome Uniswap v4 Hooks (คอมมิตแฮช 3a0a444922f26605ec27a41929f3ced924af6075) เราค้นพบช่องโหว่ที่สำคัญหลายประการ ช่องโหว่เหล่านี้ส่วนใหญ่เกิดจากการโต้ตอบความเสี่ยงระหว่าง hooks, PoolManager และบุคคลที่สามภายนอก และสามารถแบ่งออกเป็นสองประเภทหลัก ๆ ได้แก่ ปัญหาการควบคุมการเข้าถึงและปัญหาการตรวจสอบอินพุต โปรดดูตารางด้านล่างสำหรับการค้นพบที่เฉพาะเจาะจง:

โดยรวมแล้ว เราพบโครงการที่เกี่ยวข้อง 22 โครงการ (ไม่รวมโครงการที่ไม่เกี่ยวข้องกับ Uniswap v4) จากโครงการเหล่านี้ เราเชื่อว่า 8 (36%) มีความเสี่ยง จากแปดโครงการที่มีช่องโหว่ มีหกโครงการมีปัญหาในการควบคุมการเข้าถึง และอีกสองโครงการเสี่ยงต่อการโทรภายนอกที่ไม่น่าเชื่อถือ

2.1.1 ปัญหาการควบคุมการเข้าถึง

ในการสนทนาในส่วนนี้ เรามุ่งเน้นไปที่ปัญหาที่อาจเกิดจากฟังก์ชันการโทรกลับในเวอร์ชัน 4 เป็นหลัก รวมถึงการโทรกลับแบบ hook 8 ครั้งและการล็อกการโทรกลับ แน่นอนว่ายังมีสถานการณ์อื่นๆ ที่ต้องตรวจสอบ แต่สถานการณ์เหล่านี้แตกต่างกันไปตามการออกแบบและอยู่นอกเหนือขอบเขตของการสนทนาของเรา

PoolManager ควรเรียกใช้ฟังก์ชันเหล่านี้เท่านั้น และไม่สามารถเรียกใช้โดยที่อยู่อื่น (รวมถึง EOA และสัญญา) ตัวอย่างเช่น ในกรณีที่รางวัลถูกแจกจ่ายด้วยรหัสพูล รางวัลอาจถูกอ้างสิทธิ์อย่างไม่ถูกต้อง หากบัญชีใด ๆ สามารถเรียกใช้ฟังก์ชันที่เกี่ยวข้องได้

ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องสร้างกลไกการควบคุมการเข้าถึงที่แข็งแกร่งสำหรับ hooks โดยเฉพาะอย่างยิ่งเนื่องจากสามารถเรียกได้โดยฝ่ายอื่นที่ไม่ใช่พูลเอง ด้วยการจัดการสิทธิ์การเข้าถึงอย่างเข้มงวด กลุ่มสภาพคล่องสามารถลดความเสี่ยงของการโต้ตอบกับ hook ที่ไม่ได้รับอนุญาตหรือเป็นอันตรายได้อย่างมาก

2.1.2 คำถามยืนยันการป้อนข้อมูล

ใน Uniswap v4 เนื่องจากกลไกการล็อค ผู้ใช้จะต้องได้รับการล็อคผ่านสัญญาก่อนที่จะดำเนินการใดๆ ในกลุ่มกองทุน เพื่อให้แน่ใจว่าสัญญาที่เข้าร่วมในการโต้ตอบในปัจจุบันนั้นเป็นสัญญาล็อคเกอร์ล่าสุด

อย่างไรก็ตาม ยังมีสถานการณ์การโจมตีที่เป็นไปได้ กล่าวคือ การเรียกจากภายนอกที่ไม่น่าเชื่อถือ เนื่องจากการตรวจสอบอินพุตที่ไม่เหมาะสมในการใช้งาน Hook ที่มีช่องโหว่:

  • ขั้นแรก hook จะไม่ตรวจสอบพูลที่ผู้ใช้ตั้งใจจะโต้ตอบด้วย นี่อาจเป็นพูลที่เป็นอันตรายซึ่งมีโทเค็นปลอมและดำเนินการตรรกะที่เป็นอันตราย
  • ประการที่สอง ฟังก์ชั่นขอกุญแจบางฟังก์ชั่นอนุญาตให้มีการโทรภายนอกโดยพลการ

การโทรภายนอกที่ไม่น่าเชื่อถือเป็นอันตรายอย่างยิ่ง เนื่องจากสามารถนำไปสู่การโจมตีได้หลายประเภท รวมถึงสิ่งที่เราเรียกว่าการโจมตีกลับเข้ามาใหม่

การโทรภายนอกที่ไม่น่าเชื่อถือเป็นอันตรายอย่างยิ่ง เนื่องจากสามารถนำไปสู่การโจมตีได้หลายประเภท รวมถึงสิ่งที่เราเรียกว่าการโจมตีกลับเข้ามาใหม่

เพื่อโจมตี hook ที่มีช่องโหว่เหล่านี้ ผู้โจมตีสามารถลงทะเบียนกลุ่มกองทุนที่เป็นอันตรายสำหรับโทเค็นปลอมของเขาเอง จากนั้นจึงเรียก hook เพื่อดำเนินการในกองทุนรวม เมื่อโต้ตอบกับพูล ตรรกะโทเค็นที่เป็นอันตรายจะแย่งชิงโฟลว์การควบคุมเพื่อมีส่วนร่วมในพฤติกรรมที่ไม่พึงประสงค์

2.1.3 มาตรการป้องกันภัยคุกคามรูปแบบที่ 1

เพื่อหลีกเลี่ยงปัญหาด้านความปลอดภัยที่เกี่ยวข้องกับ hooks จำเป็นอย่างยิ่งที่จะต้องตรวจสอบความถูกต้องของการโต้ตอบโดยการบังคับใช้การควบคุมการเข้าถึงที่จำเป็นอย่างเหมาะสมกับฟังก์ชันภายนอก/สาธารณะที่มีความละเอียดอ่อน และตรวจสอบความถูกต้องของพารามิเตอร์อินพุต นอกจากนี้ การป้องกันการเกิดซ้ำอาจช่วยให้แน่ใจว่า hooks จะไม่ถูกดำเนินการซ้ำๆ ในโฟลว์ลอจิกมาตรฐาน ด้วยการใช้ระบบรักษาความปลอดภัยที่เหมาะสม กลุ่มสามารถลดความเสี่ยงที่เกี่ยวข้องกับภัยคุกคามดังกล่าวได้

2.2 ปัญหาด้านความปลอดภัยในรูปแบบภัยคุกคาม II

ในรูปแบบภัยคุกคามนี้ เราถือว่านักพัฒนาและ hook ของเขาเป็นอันตราย เนื่องจากขอบเขตที่กว้าง เราจึงมุ่งเน้นไปที่ปัญหาด้านความปลอดภัยที่เกี่ยวข้องกับเวอร์ชัน v4 เท่านั้น ดังนั้น สิ่งสำคัญก็คือว่า hook ที่ให้มาสามารถจัดการสินทรัพย์ crypto ที่ถ่ายโอนหรือได้รับอนุญาตจากผู้ใช้ได้หรือไม่

เนื่องจากวิธีการเข้าถึง hook จะกำหนดสิทธิ์ที่อาจมอบให้กับ hook เราจึงแบ่ง hooks ออกเป็นสองประเภท:

  • Managed Hooks: Hooks ไม่ใช่จุดเริ่มต้น ผู้ใช้จะต้องโต้ตอบกับ hook ผ่านเราเตอร์ (อาจให้โดย Uniswap)
  • Hooks แบบสแตนด์อโลน: Hooks เป็นจุดเริ่มต้นที่อนุญาตให้ผู้ใช้โต้ตอบกับพวกเขาโดยตรง

รูปที่ 2: ตัวอย่างตะขอที่เป็นอันตราย

2.2.1 ตะขอที่ได้รับการจัดการ

ในกรณีนี้ สินทรัพย์เข้ารหัสลับของผู้ใช้ (รวมถึงโทเค็นดั้งเดิมและโทเค็นอื่น ๆ) จะถูกโอนหรืออนุญาตไปยังเราเตอร์ เนื่องจาก PoolManager ทำการตรวจสอบยอดเงิน จึงไม่ใช่เรื่องง่ายที่ hook ที่เป็นอันตรายจะขโมยทรัพย์สินเหล่านี้โดยตรง อย่างไรก็ตาม ยังคงมีพื้นผิวการโจมตีที่อาจเกิดขึ้นได้ ตัวอย่างเช่น กลไกการจัดการค่าใช้จ่ายของเวอร์ชัน 4 อาจถูกจัดการโดยผู้โจมตีผ่าน hooks

2.2.2 ตะขออิสระ

สถานการณ์จะซับซ้อนมากขึ้นเมื่อใช้ Hooks เป็นจุดเริ่มต้น ในกรณีนี้ ตะขอจะได้รับพลังมากขึ้นเนื่องจากผู้ใช้สามารถโต้ตอบกับมันได้โดยตรง ตามทฤษฎีแล้ว hook สามารถทำอะไรก็ได้ที่ต้องการด้วยการโต้ตอบนี้

ในเวอร์ชัน v4 การตรวจสอบตรรกะของโค้ดมีความสำคัญมาก ปัญหาหลักคือว่าโค้ดลอจิกสามารถจัดการได้หรือไม่ ถ้า hook สามารถอัพเกรดได้ นั่นหมายความว่า hook ที่ดูปลอดภัยอาจกลายเป็นอันตรายได้หลังจากอัปเกรดแล้ว ซึ่งก่อให้เกิดความเสี่ยงอย่างมาก ความเสี่ยงเหล่านี้ได้แก่:

  • ตัวแทนที่สามารถอัพเกรดได้ (สามารถโจมตีได้โดยตรง);
  • ด้วยตรรกะการทำลายตนเอง การโจมตีที่เป็นไปได้ในกรณีที่มีการเรียกร้องให้ร่วมกันทำลายตนเองและสร้าง2

2.2.3 มาตรการป้องกันภัยคุกคามรูปแบบ II

การประเมินว่าฮุคนั้นเป็นอันตรายเป็นสิ่งสำคัญหรือไม่ โดยเฉพาะสำหรับ hooks ที่มีการจัดการ เราควรมุ่งเน้นไปที่พฤติกรรมของการจัดการต้นทุน ในขณะที่สำหรับ hooks อิสระ จุดสนใจหลักคือสามารถอัปเกรดได้หรือไม่

3.บทสรุป

การประเมินว่าฮุคนั้นเป็นอันตรายเป็นสิ่งสำคัญหรือไม่ โดยเฉพาะสำหรับ hooks ที่มีการจัดการ เราควรมุ่งเน้นไปที่พฤติกรรมของการจัดการต้นทุน ในขณะที่สำหรับ hooks อิสระ จุดสนใจหลักคือสามารถอัปเกรดได้หรือไม่

3.บทสรุป

ในบทความนี้ เราจะให้ภาพรวมโดยย่อเกี่ยวกับกลไกหลักที่เกี่ยวข้องกับปัญหาความปลอดภัยของ Hook ของ Uniswap v4 ต่อจากนั้น เราจะเสนอโมเดลภัยคุกคาม 2 รูปแบบและสรุปคร่าวๆ เกี่ยวกับความเสี่ยงด้านความปลอดภัยที่เกี่ยวข้อง

ในบทความต่อๆ ไป เราจะทำการวิเคราะห์เชิงลึกเกี่ยวกับปัญหาด้านความปลอดภัยภายใต้โมเดลภัยคุกคามแต่ละแบบ

ความคิดเห็น

ความคิดเห็นทั้งหมด

Recommended for you

  • ประธานคณะกรรมการด้านการธนาคารของวุฒิสภาสหรัฐฯ: ร่างข้อกำหนดใหม่เกี่ยวกับผลตอบแทนของ Stablecoin อาจจะถูกเปิดเผยเร็วที่สุดในสัปดาห์นี้

    เว็บไซต์ Cointime รายงานว่า วุฒิสมาชิก ทิม สก็อตต์ ประธานคณะกรรมการการธนาคารของวุฒิสภา กล่าวในการประชุมสุดยอดบล็อกเชนที่กรุงวอชิงตัน ดี.ซี. ว่า สมาชิกสภานิติบัญญัติอาจได้เห็นร่างกฎหมายฉบับใหม่ที่มีข้อกำหนดเกี่ยวกับเหรียญ Stablecoin อย่างน้อยที่สุดภายในสัปดาห์นี้ สก็อตต์กล่าวว่า ผลตอบแทนของ Stablecoin เป็นประเด็นที่มีการพูดคุยกันมากที่สุดในร่างกฎหมาย แต่สมาชิกสภานิติบัญญัติยังคงทำงานในส่วนนี้อย่างต่อเนื่อง เขากล่าวว่า “ผมเชื่อว่าผมจะมีข้อเสนอแรกสำหรับการพิจารณาในสัปดาห์นี้ หากเกิดขึ้นภายในสิ้นสัปดาห์ และผมคิดว่ามันจะเกิดขึ้น เราก็จะรู้ว่ากรอบการทำงานกำลังเป็นรูปเป็นร่างหรือไม่ ถ้าเป็นเช่นนั้น ผมคิดว่าเราจะอยู่ในสถานะที่ดีขึ้น” เขายังกล่าวถึงความคืบหน้าว่าเป็นผลมาจากความพยายามของวุฒิสมาชิกพรรคเดโมแครต แองเจลา อัลโซบรูคส์ วุฒิสมาชิกพรรครีพับลิกัน ทอม ทิลลิส และเจ้าหน้าที่ทำเนียบขาว แพทริค วิทท์ ในประเด็นผลตอบแทนของ Stablecoin เขากล่าวว่าประเด็นที่ยังค้างคาอยู่หลายประเด็นก็ได้รับการหารือในการเจรจาตลอดเดือนที่ผ่านมา รวมถึงข้อกังวลของสมาชิกสภาผู้แทนราษฎรเกี่ยวกับประธานาธิบดีโดนัลด์ ทรัมป์และโครงการคริปโตของครอบครัว การขาดการเป็นตัวแทนจากทั้งสองพรรคในหน่วยงานกำกับดูแลที่สำคัญ และกฎระเบียบการตรวจสอบตัวตนลูกค้า (KYC) สก็อตต์ยังกล่าวอีกว่า “ผมคิดว่าเราใกล้จะบรรลุข้อตกลงเกี่ยวกับประเด็นด้านจริยธรรมและองค์ประชุมแล้ว เรารู้ว่านี่เป็นประเด็นสำคัญสำหรับอีกฝ่าย ดังนั้นเราจึงกำลังหารือเรื่องนี้อยู่เช่นกัน ผมคิดว่าเรากำลังมีความคืบหน้าในเรื่องการเสนอชื่อบุคคล ซึ่งเป็นข่าวดี สำหรับ DeFi นั้น เป็นพื้นที่ที่วุฒิสมาชิกมาร์ค วอร์เนอร์ให้ความสำคัญ และการป้องกันการฟอกเงิน (AML) เป็นส่วนสำคัญมาก ดังนั้นผมคิดว่าเรากำลังก้าวหน้าในประเด็นเหล่านี้”

  • สรุปข่าวเช้าวันสำคัญ | เหตุการณ์สำคัญในช่วงข้ามคืนวันที่ 18 มีนาคม

    21:00-7:00 คำสำคัญ: Phantom, Stripe, Autonomous, อิหร่าน 1. อิหร่านอ้างว่าสามารถโจมตีประเทศที่อนุญาตให้สหรัฐฯ และอิสราเอลใช้ดินแดนของตนได้อย่างถูกกฎหมาย 2. คณะกรรมการกำกับสินค้าโภคภัณฑ์ล่วงหน้าของสหรัฐฯ (US CFTC): กระเป๋าเงิน Phantom ไม่จำเป็นต้องลงทะเบียนเป็นโบรกเกอร์ 3. อัยการสูงสุดของรัฐแอริโซนาฟ้องร้องดำเนินคดีอาญาต่อ Kalshi นักการตลาดด้านการทำนายราคา 4. กระทรวงการต่างประเทศสหรัฐฯ สั่งให้สถานทูตทั่วโลกดำเนินการประเมินความปลอดภัย "ทันที" 5. Robinhood Venture Capital ลงทุนประมาณ 35 ล้านดอลลาร์ใน Stripe และ ElevenLabs 6. GSR ลงทุน 57 ล้านดอลลาร์เพื่อซื้อ Autonomous และ Architech เพื่อสร้างแพลตฟอร์มการจัดการกองทุนคริปโต 7. คณะกรรมการกำกับหลักทรัพย์และตลาดหลักทรัพย์ของสหรัฐฯ (US SEC และ CFTC) ออกแนวทางใหม่เกี่ยวกับสกุลเงินดิจิทัล โดยระบุว่าสินทรัพย์ดิจิทัลส่วนใหญ่ไม่ใช่หลักทรัพย์

  • สำนักงานคณะกรรมการกำกับหลักทรัพย์และตลาดหลักทรัพย์ของสหรัฐฯ (SEC) และคณะกรรมการกำกับสินค้าโภคภัณฑ์ล่วงหน้าของสหรัฐฯ (CFTC) ได้ออกความเห็นใหม่เกี่ยวกับสกุลเงินดิจิทัล โดยระบุว่าสินทรัพย์ดิจิทัลส่วนใหญ่ไม่จัดอยู่ในประเภทหลักทรัพย์

    Cointime รายงานเมื่อวันที่ 18 มีนาคมว่า คณะกรรมการกำกับหลักทรัพย์และตลาดหลักทรัพย์ของสหรัฐฯ (SEC) และคณะกรรมการกำกับสินค้าโภคภัณฑ์ล่วงหน้า (CFTC) ได้เผยแพร่เอกสารคำแนะนำความยาว 68 หน้าเกี่ยวกับสกุลเงินดิจิทัล โดยระบุว่าสินทรัพย์ดิจิทัลส่วนใหญ่ไม่ใช่หลักทรัพย์ คำอธิบายใหม่นี้ให้รายละเอียดเกี่ยวกับการจัดประเภทของ Stablecoin สินค้าโภคภัณฑ์ดิจิทัล และโทเค็น "เครื่องมือดิจิทัล" ซึ่งหน่วยงานระบุว่าทั้งหมดนี้ไม่ใช่หลักทรัพย์ นอกจากนี้ยังพยายามอธิบายว่า "สินทรัพย์ดิจิทัลที่ไม่ใช่หลักทรัพย์" สามารถกลายเป็นหลักทรัพย์ได้อย่างไร และชี้แจงว่ากฎหมายหลักทรัพย์ของรัฐบาลกลางมีผลบังคับใช้กับการขุด การวางเดิมพันโปรโตคอล และการแจกเหรียญฟรีอย่างไร นอกจากนี้ SEC ยังอธิบายว่าสินทรัพย์ดิจิทัลที่ไม่ใช่หลักทรัพย์สามารถกลายเป็นหัวข้อของสัญญาการลงทุนได้อย่างไร หน่วยงานระบุในคำอธิบายว่า: "สินทรัพย์ดิจิทัลที่ไม่ใช่หลักทรัพย์จะกลายเป็นหัวข้อของสัญญาการลงทุนเมื่อผู้ออกชักจูงให้นักลงทุนลงทุนในกิจการร่วมกัน และให้คำมั่นหรือรับรองว่าจะดำเนินการจัดการที่จำเป็น และผู้ซื้อมีเหตุผลที่จะคาดหวังผลกำไรจากมัน"

  • Mastercard วางแผนที่จะเข้าซื้อกิจการบริษัทผลิตเหรียญ Stablecoin อย่าง BVNK ด้วยมูลค่าสูงถึง 1.8 พันล้านดอลลาร์สหรัฐ

    Cointime รายงานว่า Mastercard กำลังวางแผนที่จะเข้าซื้อกิจการ BVNK สตาร์ทอัพด้านโครงสร้างพื้นฐาน Stablecoin ด้วยมูลค่าสูงถึง 1.8 พันล้านดอลลาร์สหรัฐฯ ซึ่งรวมถึงค่าตอบแทนเพิ่มเติมอีก 300 ล้านดอลลาร์สหรัฐฯ การเข้าซื้อกิจการครั้งนี้เกิดขึ้นเพียงสี่เดือนหลังจากที่การเจรจาควบรวมกิจการมูลค่าประมาณ 2 พันล้านดอลลาร์สหรัฐฯ ระหว่าง BVNK กับ Coinbase ล้มเหลว ทั้งสองบริษัทได้ยืนยันข้อตกลงดังกล่าวในแถลงการณ์ร่วมที่เผยแพร่เมื่อวันอังคาร

  • ราคา Bitcoin ทะลุ 75,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ทะลุระดับ 75,000 ดอลลาร์แล้ว และปัจจุบันซื้อขายอยู่ที่ 75,033.01 ดอลลาร์ เพิ่มขึ้น 2.83% ในช่วง 24 ชั่วโมงที่ผ่านมา ตลาดมีความผันผวนสูง ดังนั้นโปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • ราคา Bitcoin ทะลุ 71,500 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ทะลุระดับ 71,500 ดอลลาร์ และปัจจุบันซื้อขายอยู่ที่ 71,510.19 ดอลลาร์ โดยเพิ่มขึ้น 1.06% ในช่วง 24 ชั่วโมงที่ผ่านมา ตลาดมีความผันผวนสูง ดังนั้นโปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • ETH ทะลุ 2100 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า ETH ทะลุ 2,100 ดอลลาร์แล้ว และปัจจุบันซื้อขายอยู่ที่ 2,100.58 ดอลลาร์ เพิ่มขึ้น 0.44% ในช่วง 24 ชั่วโมงที่ผ่านมา ตลาดมีความผันผวนสูง โปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • เมื่อวานนี้ กองทุน ETF Ethereum ในตลาดสปอตของสหรัฐฯ มียอดเงินไหลเข้าสุทธิ 26.7 ล้านดอลลาร์สหรัฐ

    เมื่อวันที่ 14 มีนาคม ข้อมูลที่รวบรวมโดย Farside Investors ระบุว่า กองทุน ETF Ethereum ในตลาดสปอตของสหรัฐฯ มียอดเงินไหลเข้าสุทธิ 26.7 ล้านดอลลาร์สหรัฐ

  • กระทรวงยุติธรรมสหรัฐฯ จะยื่นอุทธรณ์คำตัดสินในคดีพาวเวลล์ ซึ่งอาจทำให้การแต่งตั้งวอร์ชล่าช้าออกไป

    เมื่อวันที่ 14 มีนาคม หลังจากที่ผู้พิพากษาได้ยกเลิกหมายเรียกที่ส่งไปยังธนาคารกลางสหรัฐ (เฟด) อัยการสหรัฐฯ โรเบิร์ต พิโร ได้ให้คำมั่นว่าจะดำเนินการสอบสวนประธานเฟด เจโรม พาวเวลล์ ต่อไป ซึ่งอาจทำให้การแต่งตั้งผู้สืบทอดตำแหน่ง เควิน วอร์ช ซึ่งจะหมดวาระในเดือนพฤษภาคม ล่าช้าออกไป ผู้พิพากษาศาลแขวงสหรัฐ เจมส์ บอสเบิร์ก กล่าวว่า รัฐบาลล้มเหลวในการให้หลักฐานใดๆ เพื่อพิสูจน์ความชอบธรรมของหมายเรียกที่เกี่ยวข้องกับการปรับปรุงสำนักงานใหญ่ของเฟด และความคิดเห็นของพาวเวลล์เกี่ยวกับโครงการดังกล่าว พิโรกล่าวว่า "กระบวนการนี้ถูกขัดขวางโดยพลการโดยผู้พิพากษาหัวรุนแรง กระบวนการควรจะดำเนินไปอย่างราบรื่น แต่พวกเขากลับไม่เป็นเช่นนั้น พวกเขาน่าละอาย" วุฒิสมาชิก ทิลลิส สมาชิกคณะกรรมการการธนาคารของวุฒิสภา เตือนว่าเขาจะขัดขวางการเสนอชื่อประธานเฟดใดๆ ตราบใดที่การสอบสวนของกระทรวงยุติธรรมเกี่ยวกับพาวเวลล์ยังคงดำเนินต่อไป "คำตัดสินนี้ยืนยันว่าการสอบสวนทางอาญาต่อประธานพาวเวลล์นั้นอ่อนแอและไร้มูลความจริงเพียงใด มันเป็นเพียงการโจมตีความเป็นอิสระของเฟดที่ล้มเหลว" ทิลลิสกล่าว "การอุทธรณ์จะยิ่งทำให้การยืนยันตำแหน่งของเควิน วอร์ชในฐานะประธานเฟดคนต่อไปล่าช้าออกไปเท่านั้น"

ต้องอ่านทุกวัน