อ่านเวลา: 5 นาที
โลกของ Web3 เป็นโลกของโปรโตคอลและมาตรฐาน คุณต้องผ่านมาตรฐาน ERC หลายฉบับอย่างแน่นอน มาตรฐาน ERC ที่มีชื่อเสียงที่สุดคือ 20 และ 721 ซึ่งใช้สำหรับโทเค็นและ NFT ตามลำดับ แต่ Web3 ไม่ได้จำกัดอยู่แค่นั้น
เราเห็นการอัปเดตและอัปเกรดเป็นประจำใน Web3 หนึ่งในการอัปเกรดล่าสุดคือ ERC 4337 ซึ่งใช้งานบน Ethereum Mainnet ในเดือนมีนาคม 2023 ไม่ใช่ทุกการอัปเดตจะสำเร็จในครั้งเดียว เช่นเดียวกับ ERC 4337 ในบล็อกนี้ เราจะเรียนรู้เกี่ยวกับช่องโหว่ในส่วน User Operation ของมาตรฐานและผลกระทบ อันดับแรก เรามาเริ่มต้นด้วยการแนะนำสั้นๆ เกี่ยวกับมาตรฐาน ERC 4337
ERC 4337 คืออะไร?
ไม่เหมือนกับเครือข่ายของ Bitcoin Ethereum รองรับสัญญาอัจฉริยะบนเครือข่าย ซึ่งทำให้ Ethereum มีบัญชีสองประเภทที่แตกต่างกัน บัญชีธุรกรรมหรือบัญชีปฏิบัติการหนึ่งบัญชี นอกจากนั้น สัญญาอัจฉริยะยังมีพื้นที่ของตัวเอง เกือบจะเหมือนกับบัญชี บัญชีทั้งสองประเภทนี้ใน Ethereum มีฟังก์ชันการทำงานของตัวเอง
กระเป๋าเงินส่วนใหญ่ที่ทำงานกับ Ethereum คือ EOA ซึ่งหมายถึงบัญชีของผู้ใช้ ไม่ใช่บัญชีสมาร์ท บัญชีประเภทนี้มีข้อจำกัดในตัวเอง ข้อจำกัดประการหนึ่งรวมถึงการพึ่งพาคีย์ส่วนตัวของผู้ใช้แต่เพียงผู้เดียวในการเข้าถึงบัญชีและต้องมีลายเซ็นทั้งหมดสำหรับการทำธุรกรรม ข้อจำกัดเหล่านี้ทำให้เกิดการแนะนำของ ERC 4337
ERC 4337 พยายามจัดเตรียมการสรุปบัญชีโดยรวมคุณลักษณะประเภทบัญชีที่ดีที่สุดทั้งสองแบบเข้าด้วยกัน ใช่ บัญชีของ EOA และสัญญาอัจฉริยะ สิ่งนี้เกิดขึ้นได้ด้วยสัญญาเดียวที่สามารถทำธุรกรรมโทเค็นและสร้างสัญญาได้พร้อมกัน และ ERC 4337 เป็นมาตรฐานที่อำนวยความสะดวกในความก้าวหน้าครั้งใหม่ที่ยอดเยี่ยมนี้
ช่องโหว่การบรรจุ UserOperation?
ทุกอย่างเกี่ยวกับมาตรฐานและโครงการนี้ยอดเยี่ยม แต่เกิดอะไรขึ้น? มีปัญหาการใช้งานซึ่งส่งผลให้แฮชไม่สอดคล้องกันตามวิธีที่ใช้ในการลงชื่อ สิ่งนี้นำไปสู่การปะทะกันของคำสั่งซื้อ โดยเฉพาะอย่างยิ่งแฮชที่แตกต่างกันสำหรับ UserOperations เดียวกันและแฮชที่ชนกันสำหรับ UserOperations ที่แตกต่างกัน
ภูมิภาคที่ได้รับผลกระทบจำกัดอยู่ที่ช่องโหว่ XNUMX แห่ง ได้แก่ ช่องโหว่ EntryPoint Packing และช่องโหว่ VerifyingPaymaster Packing เพิ่มเติมในภายหลัง เรามาทำความเข้าใจกันก่อน จากนั้นเราจะเรียนรู้เกี่ยวกับพวกเขาเป็นรายบุคคล
ลองดูที่ UserOperation.sol:-
คุณเห็นพารามิเตอร์ UserOperation ซึ่งเป็น Calldata ถูกส่งเป็นอาร์กิวเมนต์ไปยังฟังก์ชันแพ็ค ลองสำรวจโครงสร้าง:-
นี่คือฟิลด์ที่มีโครงสร้าง UserOperation ในการคัดลอกส่วนใหญ่ของ Calldata ลงในหน่วยความจำ โค้ดเซกเมนต์จะใช้แอสเซมบลี วิธีการบางอย่างของสัญญาตั้งใจที่จะบันทึกฟิลด์ทั้งหมดของ UserOperation รวมถึงฟิลด์ขนาดตัวแปร เรียกอีกอย่างว่าฟิลด์ไดนามิกในการเข้ารหัส ABI ตัวอย่างเช่น การเข้ารหัสแบบไดนามิกในโครงสร้างนี้คือ 'initCode', 'callData' และ 'paymasterAndData'
วิธีการบางอย่างไม่สามารถรวม 'paymasterAndData' ได้เนื่องจากฟิลด์นั้นยังไม่ได้กำหนดหรือประกาศ เมธอดใช้ฟิลด์อำนวยความสะดวก '.offset' ที่จัดเตรียมให้กับชนิดข้อมูลไดนามิกเพื่อทำสิ่งนั้น แต่สัญญาที่ใช้อาร์กิวเมนต์ที่เข้ารหัส ABI จะไม่ตรวจสอบลำดับที่กำหนดฟิลด์และความถูกต้องของออฟเซ็ต เป็นไปได้ที่จะสร้างการแสดงที่ถูกต้องของการดำเนินการของผู้ใช้ใน Calldata ด้วยคุณสมบัติแฮชที่ผิดปกติ
ช่องโหว่การบรรจุ EntryPoint
ปัญหาเกี่ยวกับ UserOperation ส่งผลกระทบต่อส่วนอื่น ๆ ของมาตรฐานเช่นกัน ช่องโหว่ EntryPoint Packing เป็นหนึ่งในนั้น เมื่อใช้รูปแบบแฮชที่แตกต่างกันระหว่างสัญญา EntryPoint และกระเป๋าเงิน หรือใช้การเข้ารหัสการดำเนินการของผู้ใช้ที่ไม่ได้มาตรฐาน เราจะเห็นความแตกต่างของแฮช
พื้นผิวความเสี่ยงเป็นจุดเริ่มต้น ขณะนี้การดำเนินการของผู้ใช้คนเดียวสามารถแสดงด้วย 'แฮช op ของผู้ใช้' หลายรายการ และ 'แฮช op ของผู้ใช้' เดียวกันสามารถแสดงถึงการดำเนินการของผู้ใช้หลายคน ตอนนี้สิ่งนี้สามารถสร้างเอฟเฟกต์ที่ไม่ต้องการได้ มาหารือเกี่ยวกับผลกระทบที่อาจเกิดขึ้น
Erc 4337 ยังอยู่ในช่วงเริ่มต้น เนื่องจากเพิ่งเปิดตัวในเดือนมีนาคม ดังนั้นผลกระทบของช่องโหว่เหล่านี้ยังไม่เป็นที่ทราบแน่ชัด เป็นการยากที่จะอธิบายถึงผลกระทบที่อาจเกิดขึ้นจากมุมมองจากมุมสูง นอกจากนี้ ผลกระทบยังขึ้นอยู่กับการใช้งาน Bundler, Indexer, User Operation Explorers และบริการนอกเครือข่ายอื่นๆ มาดูปัญหาบางประการที่ช่องโหว่นี้ทำให้เกิด
- ซึ่งอาจทำให้เกิดประสบการณ์ที่สับสนสำหรับผู้ใช้ เนื่องจากแฮชการดำเนินการของผู้ใช้อาจเปลี่ยนแปลงระหว่างเวลาการส่งและเวลารวม ปรากฏการณ์นี้ไม่เป็นที่รู้จักในกระเป๋าเงินส่วนใหญ่ ดังนั้นพวกเขาจึงอาจไม่ได้คำนึงถึงความแตกต่างนั้น
- กระเป๋าเงินสามารถเปลี่ยนแปลงและออกแบบเพื่อหลีกเลี่ยงการจัดทำดัชนีโดยเจตนาโดยตั้งค่าแฮชการดำเนินการทั้งหมดของผู้ใช้ให้เหมือนกัน
- เราสามารถเห็นการจัดการข้อมูลและคีย์ผิดพลาด หากบริการนอกเครือข่ายที่ตรวจสอบการรวมการดำเนินการของผู้ใช้พลาดการรวมการดำเนินการของผู้ใช้ที่กำหนด
การตรวจสอบช่องโหว่การบรรจุ Paymaster
ไม่มีใครชอบสั่งของจากการซื้อของออนไลน์แล้วได้รับสินค้าที่แตกต่างไปจากเดิมอย่างสิ้นเชิง เช่นเดียวกับ Web3 แต่ช่องโหว่นี้ทำให้ประสบการณ์ของผู้ใช้แย่ลง ผู้ใช้อาจมีการเปลี่ยนแปลงหรือเนื้อหาที่แตกต่างกันระหว่างเวลาการลงนามและการรวมอยู่ในห่วงโซ่ และสาเหตุที่สิ่งนี้เกิดขึ้นก็คือ การดำเนินการของผู้ใช้ที่แตกต่างกันสองรายส่งคืนแฮชเดียวกันจากฟังก์ชัน 'VerifyingPaymaster.getHash()'
ฟังก์ชัน VerifyingPaymaster.getHash() ใช้อาร์กิวเมนต์ไม่กี่อย่าง เช่น 'UserOperation' ซึ่งเป็นโครงสร้าง, 'validUnitl', ค่า uint48 และค่า uint48 อื่นของ validAfter ปัญหาของเนื้อหาที่แตกต่างกันระหว่างเวลาลงนามและเวลารวมส่งผลกระทบต่อประสบการณ์ของผู้ใช้และความปลอดภัยโดยรวม เรามาหารือเกี่ยวกับข้อกังวลบางประการที่เกิดขึ้น
- ผู้ลงนาม Offchain ที่ลงนามในรูปแบบที่เข้ารหัส ABI หลังจากได้รับการดำเนินการจากผู้ใช้หรือผู้ลงนามที่มีการรวมสัญญาเพื่อเตรียมข้อมูลสำหรับลายเซ็นจะมีความเสี่ยง
- คุณสามารถแก้ไขแฮชให้ครอบคลุมองค์ประกอบน้อยกว่าที่คาดไว้ ซึ่งอาจทำให้ฟิลด์สแตติกบางฟิลด์ เช่น initCode เป็นต้น ถูกแยกออกจากแฮช ซึ่งอาจส่งผลให้มีการใช้งานที่แตกต่างจากลายเซ็นผู้สนับสนุนของ paymaster
- เราสามารถเห็นการละเมิดและข้ามกฎโดยการเปลี่ยน userOp.initCode และ userOp.callData หลังจากได้รับลายเซ็น สิ่งนี้จะช่วยให้สามารถใช้โทเค็นเนทีฟของผู้ชำระเงินเพื่อวัตถุประสงค์อื่นนอกเหนือจากการสร้าง NFT แบบไม่ใช้ก๊าซ
สรุป
ด้วยความก้าวหน้าและการพัฒนาอย่างต่อเนื่อง เราจะได้เห็นสิ่งที่ยอดเยี่ยมมากมาย และ ERC 4337 ก็เป็นหนึ่งในนั้น ในขณะที่การพัฒนาและยกระดับการรักษาความปลอดภัยเป็นสิ่งที่เราไม่อาจประนีประนอมได้ มันยอดเยี่ยมมากที่ได้ทราบว่าพบช่องโหว่ในมาตรฐานได้เร็วแค่ไหน และมีการวิจัยและพัฒนาอย่างต่อเนื่องเพื่อให้ปลอดภัย
สิ่งสำคัญคือต้องทราบว่าแม้แต่องค์กรที่ใหญ่ที่สุดและมีชื่อเสียงที่สุดบางแห่งที่สร้างใน Web3 ก็สามารถทำผิดพลาดเกี่ยวกับความปลอดภัยได้ และแน่นอนว่าโปรโตคอลอื่นๆ ก็ทำผิดเช่นกัน เพิ่มขึ้นอย่างต่อเนื่องใน เหตุการณ์ Web3 เห็นได้ชัดในช่วงไม่กี่ปีที่ผ่านมา
โซลูชันแบบครบวงจรเพื่อปกป้องคุณ ผู้ใช้ และโปรโตคอลของคุณจากภัยคุกคามความปลอดภัยดังกล่าวกำลังดำเนินการตรวจสอบ เรา QuillAudits เป็นหนึ่งในผู้ให้บริการชั้นนำด้านการตรวจสอบสัญญาอัจฉริยะและการรักษาความปลอดภัยของบล็อกเชน โปรดเยี่ยมชมเว็บไซต์ของเราเพื่อดูข้อมูลเพิ่มเติมและรักษาความปลอดภัยให้กับโครงการของคุณ และคอยติดตามเพื่อเพลิดเพลินกับบล็อกที่ให้ข้อมูลมากขึ้น
34 เข้าชม
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตบล็อคเชน Web3 Metaverse ข่าวกรอง ขยายความรู้. เข้าถึงได้ที่นี่.
- การสร้างอนาคตโดย Adryenn Ashley เข้าถึงได้ที่นี่.
- ที่มา: https://blog.quillhash.com/2023/04/24/understanding-erc-4337-user-operation-packing-vulnerability/
- :เป็น
- :ไม่
- 20
- 2023
- a
- เกี่ยวกับเรา
- เข้า
- ลงชื่อเข้าใช้
- บัญชีนามธรรม
- บัญชี
- ข้าม
- นอกจากนี้
- ความก้าวหน้า
- หลังจาก
- ทั้งหมด
- ด้วย
- เปลี่ยนแปลง
- an
- และ
- อื่น
- เป็น
- อาร์กิวเมนต์
- ข้อโต้แย้ง
- AS
- การชุมนุม
- At
- ความพยายามในการ
- การตรวจสอบบัญชี
- การตรวจสอบบัญชี
- ตาม
- BE
- เพราะ
- กลายเป็น
- กำลัง
- ที่ดีที่สุด
- ระหว่าง
- ที่ใหญ่ที่สุด
- blockchain
- ความปลอดภัยของบล็อคเชน
- บล็อก
- ช่องโหว่
- การก่อสร้าง
- แต่
- by
- ที่เรียกว่า
- CAN
- ไม่ได้
- จับ
- ก่อให้เกิด
- สาเหตุที่
- โซ่
- เปลี่ยนแปลง
- เปลี่ยนแปลง
- รหัส
- การรวมกัน
- อย่างไร
- การประนีประนอม
- ความกังวลเกี่ยวกับ
- ทำให้เกิดความสับสน
- สร้าง
- เนื้อหา
- ต่อเนื่องกัน
- สัญญา
- สัญญา
- ความสะดวกสบาย
- ได้
- หน้าปก
- สร้าง
- ข้อมูล
- กำหนด
- ขึ้นอยู่กับ
- นำไปใช้
- บรรยาย
- ได้รับการออกแบบ
- ที่กำลังพัฒนา
- พัฒนาการ
- ความแตกต่าง
- ต่าง
- สนทนา
- การแตกต่าง
- do
- พลวัต
- ก่อน
- ช่วงแรก ๆ
- ผลกระทบ
- องค์ประกอบ
- เพลิดเพลิน
- อย่างสิ้นเชิง
- ERC-4337
- ฯลฯ
- ethereum
- ethereum เมนเน็ต
- แม้
- ทุกๆ
- ตัวอย่าง
- การยกเว้น
- ที่คาดหวัง
- ประสบการณ์
- สำรวจ
- Explorers
- ตา
- อำนวยความสะดวก
- มีชื่อเสียง
- คุณสมบัติ
- สองสาม
- สนาม
- สาขา
- หา
- ชื่อจริง
- สำหรับ
- รูป
- พบ
- ราคาเริ่มต้นที่
- อย่างเต็มที่
- ฟังก์ชัน
- ฟังก์ชันการทำงาน
- การทำงาน
- General
- ได้รับ
- ได้รับ
- กำหนด
- Go
- ไป
- ที่เกิดขึ้น
- ยาก
- กัญชา
- hashing
- มี
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- HTTPS
- ส่งผลกระทบ
- ผลกระทบ
- การดำเนินงาน
- การดำเนินการ
- สำคัญ
- in
- ประกอบด้วย
- รวมถึง
- รวมทั้ง
- รวม
- เป็นรายบุคคล
- ให้ข้อมูล
- การผสานรวม
- ตั้งใจ
- จงใจ
- เข้าไป
- บทนำ
- ปัญหา
- ปัญหา
- IT
- เพียงแค่
- กุญแจ
- ที่รู้จักกัน
- ใหญ่
- ชื่อสกุล
- ล่าสุด
- นำ
- เรียนรู้
- กดไลก์
- การ จำกัด
- ข้อ จำกัด
- ถูก จำกัด
- ดู
- ทำ
- เมนเน็ต
- ทำ
- ทำให้
- หลาย
- มีนาคม
- ความกว้างสูงสุด
- อาจ..
- วิธี
- หน่วยความจำ
- วิธี
- วิธีการ
- อาจ
- การทำเหรียญ
- ผิดพลาด
- พลาดท่า
- ความผิดพลาด
- การแก้ไข
- การตรวจสอบ
- ข้อมูลเพิ่มเติม
- มากที่สุด
- หลาย
- พื้นเมือง
- โทเค็นดั้งเดิม
- เครือข่าย
- ใหม่
- NFT
- ตอนนี้
- of
- on
- ONE
- ออนไลน์
- ช้อปปิ้งออนไลน์
- OP
- การดำเนินการ
- การดำเนินงาน
- การดำเนินการ
- or
- ใบสั่ง
- องค์กร
- อื่นๆ
- โปรโตคอลอื่นๆ
- ของเรา
- เกิน
- ทั้งหมด
- ของตนเอง
- ห่อ
- พารามิเตอร์
- โดยเฉพาะ
- ส่วน
- ผ่าน
- ปรากฏการณ์
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เป็นไปได้
- ที่มีศักยภาพ
- เตรียมการ
- ส่วนตัว
- คีย์ส่วนตัว
- ผลิตภัณฑ์
- โครงการ
- คุณสมบัติ
- ป้องกัน
- โปรโตคอล
- โปรโตคอล
- ให้
- ให้
- ผู้ให้บริการ
- วัตถุประสงค์
- อย่างรวดเร็ว
- ควิลแฮช
- ยก
- เหตุผล
- การได้รับ
- เกี่ยวกับ
- ภูมิภาค
- ปกติ
- การเผยแพร่
- ความเชื่อมั่น
- แสดง
- การแสดง
- เป็นตัวแทนของ
- การวิจัย
- วิจัยและพัฒนา
- ผล
- กลับ
- ขึ้น
- ความเสี่ยง
- กฎระเบียบ
- เดียวกัน
- โครงการ
- Section
- ปลอดภัย
- ปลอดภัย
- ความปลอดภัย
- ภัยคุกคามความปลอดภัย
- เห็น
- กลุ่ม
- บริการ
- ผู้ให้บริการ
- บริการ
- การตั้งค่า
- หลาย
- ช้อปปิ้ง
- ลงชื่อ
- ลายเซ็น
- การลงชื่อ
- พร้อมกัน
- เดียว
- สมาร์ท
- สัญญาสมาร์ท
- สัญญาสมาร์ท
- So
- SOL
- ทางออก
- บาง
- บางสิ่งบางอย่าง
- ช่องว่าง
- การประกัน
- ระยะ
- มาตรฐาน
- มาตรฐาน
- เริ่มต้น
- เข้าพัก
- ยังคง
- ส่ง
- ที่ประสบความสำเร็จ
- อย่างเช่น
- รองรับ
- อย่างแน่นอน
- ใช้เวลา
- กว่า
- ที่
- พื้นที่
- ของพวกเขา
- พวกเขา
- ที่นั่น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- สิ่ง
- นี้
- เหล่านั้น
- ภัยคุกคาม
- เวลา
- ไปยัง
- โทเค็น
- ราชสกุล
- เกินไป
- ด้านบน
- ทำธุรกรรม
- ธุรกรรม
- การทำธุรกรรม
- จริง
- ชนิด
- ความเข้าใจ
- ที่ไม่พึงประสงค์
- บันทึก
- การปรับปรุง
- การอัพเกรด
- ใช้
- มือสอง
- ผู้ใช้งาน
- ประสบการณ์ของผู้ใช้
- ผู้ใช้
- ตรวจสอบความถูกต้อง
- ความคุ้มค่า
- มาก
- รายละเอียด
- เยี่ยมชมร้านค้า
- ช่องโหว่
- ความอ่อนแอ
- อ่อนแอ
- กระเป๋าสตางค์
- กระเป๋าสตางค์
- คือ
- we
- Web3
- Website
- ดี
- โด่งดัง
- คือ
- อะไร
- เมื่อ
- ที่
- ในขณะที่
- ทำไม
- จะ
- กับ
- พยาน
- โลก
- ผิด
- ปี
- คุณ
- ของคุณ
- ลมทะเล