Bitcoin Addict เปลี่ยนเว็บไซต์ใหม่เป็น www.bitcoinaddict.com
อันดับแรก ทาง Wintermute ได้รับการว่าจ้างจากทาง Optimism Foundation เพื่อทำการบริการจัดเตรียมสภาพคล่องในการเปิดตัว $OP ในวันที่ 27 พฤษภาคม พ.ศ. 2565 โดยกองทุนพันธมิตรของมูลนิธิได้รับการจัดสรร OP จำนวน 20 ล้านเหรียญให้แก่ Wintermute อย่างไรก็ตาม Wintermute พบว่าตัวเองไม่สามารถเข้าถึงโทเค็นเหล่านี้ได้ เนื่องจากพวกเขาได้ให้ที่อยู่ Multisig ของ Ethereum (L1) ที่พวกเขายังไม่ได้นำไปใช้แก่ Optimism (L2) แต่โชคไม่ดีนัก เพราะผู้โจมตีพบสิ่งนี้และปรับใช้ Multisig Contract ด้วยที่อยู่เดียวกันกับ L2 ก่อนหน้าที่ Wintermute จะดำเนินการ
หลังจากเหตุการณ์ดังกล่าว ทั้งสองทีมได้ออกประกาศ ดังนี้:
https://gov.optimism.io/t/message-to-optimism-community-from-wintermute/2595
โดยได้อธิบายวิธีการที่ผู้โจมตีสามารถควมคุมเหรียญ OP ทั้ง 20 ล้านเหรียญนี้
OP 20 ล้านเหรียญบน Optimism (L2) ถูกโอนไปที่ Address “0x4f3a120e72c76c22ae802d129f599bfdbc31cb81” ซึ่งเป็นที่อยู่ที่ Wintermute เป็นเจ้าของใน Ethereum (L1) แต่ “ยังไม่” เป็นของใครใน Optimism (L2)
โดยกระเป๋าเงิน Multisig Wintermute บน L1 ถูกสร้างขึ้นด้วยฟังก์ชัน createProxy() ของสัญญา Gnosis Safe Proxy Factory สัญญา Proxy ถูกสร้างขึ้นด้วย Ketword ใหม่ ซึ่งใช้ CREATE opcode เป็นเบื้องหลัง
Address ของสัญญาอัจฉริยะที่ปรับใช้กับ CREATE opcode จะถูกคำนวณโดย keccak256 (senderAddress, nonce) ในกรณีนี้ senderAddress ที่สร้างสัญญานี้คือสัญญา Gnosis Safe Proxy Factory (0x76e2cfc1f5fa8f6a5b3fc4c8f4788f0116861f9b) และจำนวนสัญญาที่สร้างโดย Factory นี้ (ซึ่งจะเพิ่มขึ้นในทุกสัญญา Proxy ที่สร้างขึ้น)
นั่นหมายความว่า ถ้า senderAddess และ nonce บน L2 ตรงกัน นั่จะทำให้ตรงตามเงื่อนไขเหล่านี้บน L2 นั่นเอง
ด้วยเงื่อนไขเหล่านี้ ผู้โจมตีสามารถสร้างสัญญา Multisig จำนวนมากโดยใช้ Proxy Factory ที่มี Address เดียวกันจนกว่าจะถึง nonce เดียวกัน เพื่อสร้างสัญญา Multisig ด้วย Address เดียวกับ Wintermute Multisig wallet บน L1 และทำการเข้าควบคุม Address ที่ถือเหรียญ OP 20 ล้านเหรียญนั้นเอง
มีการพบว่าสัญญา Gnosis Safe Proxy Factory บน เครือข่าย Optimism (0x76e2cfc1f5fa8f6a5b3fc4c8f4788f0116861f9b) ถูกปรับใช้โดย Address ที่ถูกติดตามที่ชื่อว่า “Gnosis Safe: Deployer 3” บน Ethereum
(0x1aa7451dd11b8cb16ac089ed100afe605efa00)
ค่า Gas สำหรับการปรับใช้ouhถูกส่งไปยัง Address ของผู้ปรับใช้ (0x1aa7451dd11b8cb16ac089ed7fe05efa00100a6a) โดย Wallet ของผู็โจมตี #2 (0x60b28637879b5a09d21b68040020ffbf7dba5107) จากธุรกรรมเหล่านี้:
สิ่งนี้เกิดขึ้นก่อนการปรับใช้สัญญา ProxyFactory on Optimism (L2) ในธุรกรรมนี้:
ซึ่งเป็นไปได้ว่าผู้โจมตีอาจเข้าถึง Private Key ของ "Gnosis Safe: Deployer 3" และจงใจที่จะปรับใช้ ProxyFactory บน Address เดียวกันเพื่อทำการโจมตีครั้งนี้
บนเครือข่าย EVM การเข้าถึงบัญชีที่เป็นเจ้าของภายนอก (EOA) นั้นถือโดยเจ้าของคีย์ส่วนตัว (Private Key) อย่างไรก็ตาม เมื่อมีการสร้างที่อยู่จากสัญญา (Contract) จะไม่มีการรับประกันว่าความเป็นเจ้าของที่กำหนดไว้ในสัญญาอัจฉริยะจะเหมือนกันหมดในทุก ๆ เครือข่าย และด้วยการโอน OP จำนวน 20 ล้านเหรียญไปยังที่อยู่ที่ไม่มีใครเป็นเจ้าของ ผู้โจมตีจึงได้ปรับใช้กระเป๋าเงิน Multisig จำนวนทั้งหมด 10,044 วอลเล็ตเพื่อควบคุมที่อยู่ที่ถือโทเค็นเหล่านั้น
Social Media Link ของ Inspex: WebsiteMediumTwitterFacebookLinkedIn