DAOrayaki: การวิเคราะห์ 0xhabitat Multisig ถูกขโมย
กลุ่มโบนัสการวิจัย DAOrayaki DAO:
ที่อยู่ของทุน: DAOrayaki.eth
กลุ่มโบนัสการวิจัย DAOrayaki DAO:
ที่อยู่ของทุน: DAOrayaki.eth
ความคืบหน้าการลงคะแนน คณะกรรมการ อพท. /7 ผ่าน
ค่าหัวทั้งหมด: 90 USDC
ผู้เขียนต้นฉบับ: Lukas Schor
ชื่อเดิม: 0xhabitat Multisig Got Drained: An Analysis
ชื่อเรื่องรอง

บทวิเคราะห์: 0xhabitat Multisig ถูกขโมย
ผู้ใช้ Gnosis Safe ประสบกับการโจมตีแบบฟิชชิ่งที่รุนแรงและซับซ้อน ซึ่งส่งผลให้ Multisig ของโครงการหมดไป
สำคัญ: การวิเคราะห์ปัจจุบันของเราระบุว่านี่เป็นการโจมตีแบบกำหนดเป้าหมายผู้ใช้ Gnosis Safe ที่เฉพาะเจาะจง และเราไม่มีข้อบ่งชี้ว่าการโจมตีนี้ส่งผลกระทบต่อผู้ใช้รายอื่น การโจมตีไม่ได้ใช้ประโยชน์จากช่องโหว่ของสัญญาอัจฉริยะ แต่ใช้เทคนิคฟิชชิ่งเพื่อให้เจ้าของ Multisig เซ็นธุรกรรมที่เป็นอันตรายแทน
บล็อกโพสต์นี้มีจุดมุ่งหมายเพื่อให้ความกระจ่างเกี่ยวกับเหตุการณ์ 0xhabitat และรายละเอียดเกี่ยวกับสิ่งที่ได้เรียนรู้จากเหตุการณ์ดังกล่าว เพื่อให้รายงานเหตุการณ์นี้เป็นไปตามวัตถุประสงค์อย่างสมบูรณ์ เราได้รวมเฉพาะข้อมูลโดยตรงที่เรารวบรวมบนเครือข่ายและผ่านแบ็กเอนด์ของเรา (ตัวทำดัชนีธุรกรรม) มุมมองของทีม 0xhabitat สามารถอ่านได้ที่นี่ อันดับแรก เริ่มจากการวิเคราะห์สิ่งที่เกิดขึ้น...
ม้าโทรจัน
แหล่งที่มาหลักของเหตุการณ์นี้คือสัญญาที่เป็นอันตรายสองรายการที่เลียนแบบสัญญาอัจฉริยะอย่างเป็นทางการของ Gnosis Safe ต่อไปนี้:
Safe Singleton: นี่คือสัญญาตรรกะหลัก แต่ละ Safe เป็นสัญญาพร็อกซีที่ชี้ไปยัง Safe Singleton เฉพาะ ผู้ใช้สามารถอัปเกรดตู้เซฟให้ชี้ไปที่ Singleton ใหม่ได้ เช่น เพื่อเพิ่มฟังก์ชันการทำงาน
Safe Multisend: นี่คือสัญญาอัจฉริยะตัวกลางที่ช่วยให้ Safes รวมธุรกรรมหลายรายการเป็นหนึ่งเดียว
ในบทความนี้ สัญญาที่เป็นอันตรายจะเรียกว่า Evil Singleton และ Evil Multisend มีการปรับใช้สัญญา Evil Multisend ที่ที่อยู่นี้เมื่อวันที่ 23 พฤศจิกายน สิ่งพิเศษเกี่ยวกับสัญญาคือไม่เพียงแค่อนุญาตให้ทำธุรกรรมเป็นชุดเท่านั้น แต่ยังเปลี่ยน Safe's Singleton ในธุรกรรมเดียวกันด้วย ในวันเดียวกันนั้น Evil Singleton ถูกส่งไปยังที่อยู่นี้ Evil Singleton ทำหน้าที่เป็นโปรแกรมม้าโทรจันที่ส่งต่อการโต้ตอบทั้งหมดไปยัง Singleton เดิม แต่มีประตูหลังที่ช่วยให้บุคคลที่สามสามารถเข้าถึง Safe ได้
มันเป็นกับดัก!
เรื่องราวของ 0xhabitat เริ่มต้นขึ้นไม่กี่ชั่วโมงหลังจากที่สัญญา Evil Multisend ถูกใช้งาน มีการเสนอธุรกรรมใน 0xhabitat Multisig ซึ่งโต้ตอบกับสัญญา Evil Multisend สำหรับทุกฝ่ายที่เกี่ยวข้อง จะดูเหมือนการทำธุรกรรมจำนวนมากตามปกติโดยใช้ Safe App ของตัวสร้างธุรกรรม อย่างไรก็ตาม นี่เป็นธุรกรรมที่ซับซ้อน เมื่อมองแวบแรกจะดูเหมือนธุรกรรม Multisend ทั่วไป แต่อันที่จริงแล้ว มันยังอัปเดต Singleton ของ Safe เป็น Evil Singleton อีกด้วย
รายละเอียดทางเทคนิคเพิ่มเติมเกี่ยวกับการเปิดใช้งาน Evil Singleton สามารถพบได้ที่นี่
จุดเปลี่ยน
หลังจาก Safe อัปเกรดเป็น Evil Singleton ก็ไม่มีอะไรเกิดขึ้นเป็นเวลา 7 วัน ในขณะเดียวกัน ห้องนิรภัย 0xhabitat ก็ค่อยๆ เพิ่มเป็นมูลค่า 1 ล้านดอลลาร์ของสินทรัพย์ดิจิทัล เห็นได้ชัดว่าผู้โจมตีต้องการให้ honeypot ใหญ่ขึ้นก่อนที่จะทำการโจมตีจริง โดยหวังว่าจะไม่มีใครค้นพบประตูหลังของพวกเขามาก่อน วันที่ 30 พฤศจิกายน การโจมตีเริ่มขึ้น แฮ็กเกอร์สร้างธุรกรรมที่เปิดใช้งาน Evil Singleton ทำให้บัญชีบุคคลที่สามสามารถควบคุมทรัพย์สินในตู้นิรภัยได้อย่างเต็มที่

เงินทุนไหลออก
เพียง 30 นาทีหลังจากเปิดใช้งาน Evil Singleton ผู้โจมตีก็สามารถถอนเงินทั้งหมดไปยังบัญชีของพวกเขาได้ ต่อจากนั้น ผู้โจมตีแปลงสินทรัพย์ทั้งหมดเป็น ETH ผ่าน Uniswap และ Sushiswap จากนั้น ETH ที่สร้างขึ้นจะถูกส่งไปยังสัญญา Tornado Cash ในหลายธุรกรรม ซึ่งเป็นจุดสิ้นสุดของเส้นทาง
แล้วเกิดอะไรขึ้นกันแน่?
จากสิ่งที่เราได้รวบรวมมาจนถึงขณะนี้ เป็นที่ชัดเจนว่าหนึ่งในคีย์ผู้ลงนามใน Multisig ถูกบุกรุก นี่เป็นเพราะธุรกรรมที่เป็นอันตรายซึ่งนำไปสู่การใช้แบ็คดอร์ได้รับการเสนอโดยผู้ลงนามของ Multisig ตามข้อมูลแบ็กเอนด์ของเรา แม้จะไม่สามารถบอกได้อย่างแน่ชัดว่าสิ่งนี้เกิดขึ้นได้อย่างไร แต่มีเหตุการณ์สองประเภทที่น่าจะนำไปสู่เหตุการณ์ดังกล่าว
ฟิชชิ่ง
มีหลายวิธีที่เจ้าของอาจถูกหลอกให้เสนอธุรกรรมที่อาจส่งผลต่อความปลอดภัยของ 0xhabitat Multisig ตัวเลือกที่เป็นไปได้ ได้แก่ :
ส่วนขยายของเบราว์เซอร์หลอกลวง: ส่วนขยายของเบราว์เซอร์นั้นสะดวก แต่ก็มีความเสี่ยงเช่นกัน เนื่องจากส่วนขยายมีอิสระในการแก้ไขเนื้อหาใด ๆ ของเว็บแอปพลิเคชัน ด้วยเหตุนี้ ส่วนขยายของเบราว์เซอร์ปลอมจึงอาจถูกใช้เพื่อปรับเปลี่ยนอินเทอร์เฟซเว็บ Gnosis Safe เพื่อหลอกลวงผู้ใช้ให้ทำธุรกรรมที่เป็นอันตราย
อินเทอร์เฟซที่เป็นอันตราย: ตามที่ระบุไว้ที่นี่ ความปลอดภัยของ Gnosis Safe ขึ้นอยู่กับความสมบูรณ์ของอินเทอร์เฟซที่ใช้ในการโต้ตอบกับบัญชี ผู้ใช้ 0xhabitat ที่ได้รับผลกระทบอาจมีการโต้ตอบกับอินเทอร์เฟซที่เลียนแบบอินเทอร์เฟซ Gnosis Safe อย่างเป็นทางการ แต่สร้างธุรกรรมที่เป็นอันตรายได้อย่างมีประสิทธิภาพโดยเปลี่ยนที่อยู่ปลายทางของธุรกรรมปกติเป็นสัญญา Evil Multisend
การโจมตีห่วงโซ่อุปทาน/เว็บไซต์ที่ถูกบุกรุก: แม้ว่าต้นตอของปัญหาอาจเป็นการครอบครองที่ไม่เป็นมิตรของซอฟต์แวร์ Gnosis Safe อย่างเป็นทางการ แต่การประเมินปัจจุบันของเราบ่งชี้เป็นอย่างอื่น (รายละเอียดเพิ่มเติม) สัญญาณทั้งหมดบ่งชี้ว่านี่เป็นการโจมตีแบบกำหนดเป้าหมายบน 0xhabitat Multisig แทนที่จะเป็นปัญหาทั่วไปกับอินเทอร์เฟซอย่างเป็นทางการของ Gnosis Safe อย่างไรก็ตาม เรายังคงตรวจสอบและสังเกตสถานการณ์ในพื้นที่นี้ต่อไป
เจ้าของที่เป็นอันตราย
ตัวเลือกสมมุติฐานที่สองคือเจ้าของไม่ได้ถูกหลอกให้ทำธุรกรรมที่เป็นอันตราย แต่ทำด้วยความสมัครใจ ผู้ลงนามหนึ่งในสองคนใน Multisig หลอกให้อีกคนหนึ่งลงนามในธุรกรรมที่ฉ้อฉล ทำให้ Multisig เสียหาย เราไม่มีเหตุผลที่จะสงสัยในความสมบูรณ์ของทีม 0xhabitat แต่เพื่อให้วิเคราะห์อย่างละเอียด เรายังคงต้องพิจารณาว่านี่เป็นคำอธิบายเหตุการณ์ที่น่าเชื่อถือ
บทเรียนที่ได้รับจากทีม Gnosis Safe
เปิดเผยที่อยู่ multisend

เพื่อให้สามารถตรวจสอบได้ว่ามีการใช้สัญญาการส่งหลายรายการในการทำธุรกรรม Safe Web UI จะแสดงที่อยู่ของสัญญาการส่งหลายรายการอย่างชัดเจน อ่านเพิ่มเติม.
คำอธิบายภาพ
รายละเอียดธุรกรรมแสดงที่อยู่สัญญา Multisend แบบเต็มสำหรับการตรวจสอบ
ป้องกันการถอดรหัสธุรกรรมหลายรายการที่ไม่รู้จัก
ตั้งค่าสถานะการโทรของผู้รับมอบสิทธิ์ที่ไม่คาดคิด

เราได้เพิ่มคำเตือนอย่างชัดเจนเมื่อธุรกรรมใช้ผู้รับมอบสิทธิ์เพื่อเรียกใช้สัญญาที่เราไม่รู้จัก นี่เป็นอีกวิธีหนึ่งที่เราทำให้ผู้ใช้ทราบว่าธุรกรรมต้องการการดูแลเป็นพิเศษ
คำอธิบายภาพ
การโทรของผู้รับมอบสิทธิ์ที่ทำผ่านสัญญาที่ Gnosis ไม่รู้จักจะถูกตั้งค่าสถานะ
คำแนะนำสำหรับผู้ใช้ Gnosis Safe
แม้ว่าเป้าหมายของเราคือการวางกลไกด้านความปลอดภัยเพื่อป้องกันไม่ให้สถานการณ์ดังกล่าวเกิดขึ้นในอนาคต สิ่งสำคัญคือต้องเตือนผู้ใช้ Gnosis Safe ให้ทราบถึงแนวทางปฏิบัติด้านความปลอดภัยในการปฏิบัติงานเมื่อโต้ตอบกับ Gnosis Safe
การตรวจสอบความสมบูรณ์ของอินเทอร์เฟซ: อินเทอร์เฟซที่เป็นอันตรายสามารถประนีประนอมความปลอดภัยทั้งหมดของ Multisig ได้โดยการหลอกให้ผู้ลงนามร่วมลงนามธุรกรรมที่เป็นอันตราย หากคุณใช้เว็บแอปพลิเคชัน Gnosis Safe ตรวจสอบให้แน่ใจว่าได้บุ๊กมาร์กลิงก์ไปยังแอปพลิเคชันอย่างเป็นทางการ และตรวจสอบ URL และใบรับรองความปลอดภัย หรือดีกว่านั้น เริ่มใช้แอป Gnosis Safe Desktop
ระวังด้วย DelegateCall: DelegateCall เป็นเครื่องมือที่มีประสิทธิภาพ เช่น ช่วยให้ Safes ทำธุรกรรมเป็นชุดได้ แต่ก็มาพร้อมกับความเสี่ยงสูงเช่นกัน ดังนั้น ผู้ใช้ Gnosis Safe ควรระมัดระวังเป็นพิเศษเมื่อระบุธุรกรรมโดยใช้ DelegateCall เมื่อตรวจสอบความถูกต้องของข้อมูลธุรกรรม โปรดตรวจสอบว่ามีการใช้ที่อยู่ปลายทาง Multisend ที่ถูกต้อง การใช้งาน Multisend ที่ตรวจสอบความถูกต้องของ Gnosis สามารถพบได้ในรายการนี้

คำอธิบายภาพ
สรุปแล้ว
สรุปแล้ว
อ้างอิง
https://etherscan.io/address/0x3cb0652856d7eabe51f1e3cceda99c93b05d7cea
https://etherscan.io/address/0x09afae029d38b76a330a1bdee84f6e03a4979359
https://bafybeiat2xp7cicrlpq3h57wdnz4pzaoby2cx62c3lprh3lzgrworcitly.ipfs.infura-ipfs.io/Exploit_Info.pdf
https://blog.gnosis.pm/the-impact-of-phishing-on-web-3-0-a62385c81310
https://github.com/gnosis/safe-react/issues/3091
https://github.com/gnosis/safe-react/issues/3090


