การวิเคราะห์หลังช่องโหว่ Multichain และแผนการชดเชย
ในวันที่ 19 กุมภาพันธ์ 2022 Multichain ซึ่งมุ่งเน้นไปที่โครงสร้างพื้นฐานข้ามเชน ได้เผยแพร่การวิเคราะห์หลังเหตุการณ์เกี่ยวกับช่องโหว่ที่เกิดขึ้นในวันที่ 10 มกราคม และกำลังเตรียมที่จะเปิดตัวแผนชดเชยผู้ใช้ เนื้อหาหลักของข้อความเต็มมีดังนี้:

เมื่อวันที่ 10 มกราคม 2022 Multichain ได้รับการแจ้งเตือนช่องโหว่ร้ายแรงสองครั้งเกี่ยวกับสัญญา Multichain liquidity pool และสัญญาเราเตอร์ที่ออกโดยบริษัทรักษาความปลอดภัย Dedaub และได้รับการยืนยันในภายหลังว่า 8 โทเค็น (WETH, WBNB, MATIC, AVAX, MFI, WSPP , TLOS , IOTEX) ได้รับผลกระทบจากช่องโหว่ เมื่อมีการรายงานช่องโหว่ของ Liquidity Pool ทีม Multichain ปรับใช้โทเค็นสภาพคล่องที่ได้รับผลกระทบทันทีเพื่ออัปเกรดเป็นสัญญาใหม่ เพื่อให้ช่องโหว่นั้นได้รับการแก้ไขอย่างรวดเร็ว อย่างไรก็ตาม ความเสี่ยงยังคงอยู่สำหรับผู้ใช้ที่ไม่ได้อนุญาตสัญญาการกำหนดเส้นทางที่ได้รับผลกระทบ ที่สำคัญผู้ใช้ต้องจัดการการยกเลิกการอนุญาตด้วยตนเอง ดังนั้น Multichain จึงประกาศอย่างเป็นทางการเกี่ยวกับช่องโหว่ดังกล่าวในวันที่ 18 มกราคม และกระตุ้นให้ผู้ใช้ดำเนินการทันทีตามคำแนะนำ
ผลกระทบของเหตุการณ์
สถิติข้อมูล ณ เวลา 24:00 UTC ของวันที่ 18 กุมภาพันธ์
ที่อยู่ของผู้ใช้ทั้งหมด 7962 รายการได้รับผลกระทบ ที่อยู่ 4861 รายการถูกยกเลิกการอนุญาต และที่อยู่ที่เหลืออีก 3101 รายการยังไม่ได้ดำเนินการเพื่อยกเลิก
คำอธิบายภาพ

Daily hack sum, by @Dune Analytics
เมื่อวันที่ 18 มกราคม ทีมงาน Multichain ได้แจ้งผู้ใช้ที่ได้รับผลกระทบผ่านทุกช่องทาง หลังจากทำงานอย่างหนักเป็นเวลา 1 เดือน ผู้ใช้มากกว่า 61% ได้ยกเลิกการอนุญาตเรียบร้อยแล้ว ตามข้อมูลการตรวจสอบจาก Dune Analytics การโจมตีส่วนใหญ่เกิดขึ้นในสัปดาห์แรกหลังจากการเปิดตัวช่องโหว่ หลังจากวันที่ 25 มกราคม ธุรกรรมและจำนวนเงินของแฮ็กเกอร์เริ่มลดลงอย่างรวดเร็ว แม้ว่าการโจมตีจะเกิดขึ้นในช่วงสองสัปดาห์ที่ผ่านมา แต่จำนวนที่เกี่ยวข้องนั้นค่อนข้างน้อย
แผนการจ่ายผลตอบแทน
ด้วยความพยายามร่วมกันของ Multichain และแฮกเกอร์หมวกขาว เกือบ 50% ของจำนวนเงินที่ถูกกู้คืน (912.7984 WETH และ 125 AVAX) แม้ว่า Multichain จะพยายามอย่างเต็มที่ในการกอบกู้การสูญเสีย 976.8628 WETH ก็ถูกขโมยไป
เพื่อชดเชยการสูญเสียของผู้ใช้ Multichain ได้ริเริ่มข้อเสนอเพื่อชดเชยการสูญเสียของผู้ใช้ 100% (รวมถึงค่าธรรมเนียมการขุด) และเงินจะถูกส่งคืนให้กับผู้ใช้สองประเภทต่อไปนี้:
(1) ผู้ใช้ที่ถูกยกเลิกการอนุญาต
(2) ผู้ใช้ที่ส่งตั๋วในแผนกช่วยเหลือ Multichain (https://multichain.zendesk.com/hc/en-us/requests/new)
ทีมงาน Multichain ระบุว่าเป็นเวลาหนึ่งเดือนแล้วนับตั้งแต่การเปิดเผยช่องโหว่อย่างเป็นทางการในวันที่ 18 มกราคม และเรียกร้องให้ผู้ใช้ยกเลิกการอนุญาต ในช่วงเดือนนี้ ทีมงาน Multichain ได้พยายามอย่างดีที่สุดเพื่อแจ้งผู้ใช้ที่ได้รับผลกระทบทุกวิธีที่เป็นไปได้ เมื่อแผนการจ่ายผลตอบแทนเผยแพร่สู่สาธารณะแล้ว เป็นการยากที่จะหลีกเลี่ยงการโจมตีที่เป็นอันตรายจากแฮ็กเกอร์ ดังนั้น ทีม Multichain จะไม่ชดเชยความสูญเสียใดๆ ที่เกิดขึ้นหลังเวลา 24:00 น. (เวลา UTC) ของวันที่ 18 กุมภาพันธ์อีกต่อไป อย่างไรก็ตาม Multichain ระบุว่าจะพยายามอย่างดีที่สุดเพื่อกู้คืนเงินที่ถูกขโมยจากการโจมตีให้ได้มากที่สุด และจะอัปเดตข่าวต่อไป เงินทั้งหมดที่ได้รับคืนหลังเวลา 24:00 น. (เวลา UTC) ของวันที่ 18 กุมภาพันธ์จะถูกคืนให้กับผู้ใช้เต็มจำนวน (หักค่าธรรมเนียมการขุด)
นอกจากนี้ Multichain ขอย้ำอีกครั้งว่าผู้ใช้ที่อนุญาตสัญญาโทเค็นที่ได้รับผลกระทบให้ยกเลิกการอนุญาตก่อนที่จะส่งโทเค็นใดๆ ไปยังกระเป๋าเงินของตน ผู้ใช้สามารถตรวจสอบสถานะและยกเลิกการอนุญาตผ่าน Multichain UI หากคุณไม่ทราบวิธีการ คุณสามารถทำตามคำแนะนำที่ให้ไว้ใน Multichain ในขณะเดียวกัน ผู้ใช้จะได้รับการแจ้งเตือนว่าหากพบปัญหาใดๆ พวกเขาสามารถส่งตั๋วได้ที่แผนกช่วยเหลือของ Multichain หรือติดต่อพวกเขาผ่านทางโทรเลขอย่างเป็นทางการ และทีมงานของ Multichain จะให้ความช่วยเหลือ
Multichain UI:https://app.multichain.org/#/approvals
คำแนะนำ:https://medium.com/multichainorg/action-required-critical-vulnerability-for-six-tokens-6b3cbd22bfc0
Multichain help desk:https://multichain.zendesk.com/hc/en-us/requests/new
Telegram:https://t.me/anyswap
การจ่ายเงินค่าหัวแมลง
ขอบคุณ
ขอบคุณ
Multichain ขอแสดงความขอบคุณต่อทุกโครงการและสมาชิกชุมชนที่ยื่นมือเข้ามาในช่วงเวลาวิกฤต โดยกล่าวถึงเป็นพิเศษถึงทีม Etherscan, Sorbet Finance, Ava Labs, Sushiswap, Spookyswap, Metamask, Opensea, Looksrare, Tether, Popsicle Finance, Frax Finance , Gemini , Synapse Protocol, BlockSec, 0xlosha, MevRefund และสมาชิกชุมชนทั้งหมด
รีวิวเหตุการณ์
10 มกราคม:
หลังจากได้รับรายงานของ Dedaub แล้ว Multichain ได้จัดตั้งทีมร่วมทันทีเพื่อหารือและใช้มาตรการต่างๆ เพื่อปกป้องความปลอดภัยของเงินทุน
• Multichain ตรวจสอบสัญญาโทเค็นทั้งหมด (1500+) และพบว่า 6 โทเค็น (WETH, WBNB, MATIC, AVAX, MFI, WSPP) อาจมีความเสี่ยง และช่องโหว่ที่เกี่ยวข้องกับกลุ่มสภาพคล่องได้รับการแก้ไขภายใน 24 ชั่วโมง
• การระงับสัญญาเราเตอร์สำหรับ 6 โทเค็น
• ดำเนินการตรวจสอบอย่างครอบคลุมร่วมกับคู่ค้าเพื่อแก้ไขปัญหาที่อยู่ของผู้ใช้ที่ได้รับผลกระทบ
• สร้างระบบตรวจสอบแบบเรียลไทม์
• พัฒนาส่วนหน้าของหน้าเว็บและตั้งค่าพอร์ทัลยกเลิกการอนุญาต (https://app.multichain.org/#/approvals)
• สร้างสัญญาการรักษาทรัพย์สิน
• แจ้งผู้ใช้ให้ยกเลิกการอนุญาต
18 มกราคม:
Multichain ออกประกาศอย่างเป็นทางการ กระตุ้นให้ผู้ใช้ที่ได้รับผลกระทบยกเลิกการอนุญาต และอัปเดตผู้ใช้ทั้งหมดอย่างต่อเนื่องด้วยสถานการณ์ล่าสุดของเหตุการณ์ ในขณะเดียวกัน Multichain จะติดต่อทุกช่องทางที่เป็นไปได้ (รวมถึง Opensea, MetaMask, Polygon Bridge, Dapps เป็นต้น) เพื่อเรียกร้องให้ผู้ใช้ดำเนินการทันทีเพื่อรักษาความปลอดภัยของเงินทุน ซึ่งจะเป็นการเพิ่มสัดส่วนของผู้ใช้ที่ไม่ได้รับอนุญาตให้สูงสุด

การแฮ็กครั้งแรกเกิดขึ้น 16 ชั่วโมงหลังการประกาศทิป และ Multichain และบริษัทรักษาความปลอดภัย Dedaub ได้ต่อสู้ทันทีเพื่อช่วยผู้ใช้ด้วยการเรียกใช้บอท Whitehat
19 มกราคม:
เพื่อป้องกันผู้ใช้จากการสูญเสีย Multichain เริ่มส่งธุรกรรมบนเครือข่ายไปยังที่อยู่ AVAX, MATIC และ WBNB ที่ได้รับผลกระทบทั้งหมด โดยแจ้งให้ผู้ใช้ยกเลิกการอนุญาตโดยเร็วที่สุด


นอกจากนี้ Multichain ยังสื่อสารกับเบราว์เซอร์ Etherscan เพื่อตั้งค่าแถบคำเตือนสำหรับผู้โจมตีและที่อยู่ WETH ที่ได้รับผลกระทบ


20 มกราคม:
หลังจากการเจรจา แฮ็กเกอร์ตกลงที่จะคืน 259+63 ETH
22 มกราคม:
บริษัทรักษาความปลอดภัย BlockSec ช่วยเหลือ Multichain ในปฏิบัติการช่วยเหลือหมวกขาว
24 มกราคม:
Multichain ได้พัฒนา API การยกเลิกการอนุญาตสำหรับ Dapps โดยการผสานรวม API ผู้ใช้บน Dapps สามารถยกเลิกการอนุญาตได้โดยตรง SpookySwap, SushiSwap, SpiritSwap, AVAX bridge, AAVE และอื่น ๆ ได้รวมเข้าด้วยกันแล้ว

25 มกราคม:
สมาชิกชุมชน (twitter จัดการ @0xlosha) เข้าร่วมการช่วยเหลือหมวกขาวและรักษาความปลอดภัย 125 AVAX ได้สำเร็จ
Multichain พบช่องโหว่ที่ส่งผลกระทบต่อโทเค็นอีกสองรายการ (TLOS, IOTEX) และใช้มาตรการแก้ไขอย่างทันท่วงที ช่องโหว่นี้ได้รับการซ่อมแซมสำเร็จภายใน 24 ชั่วโมงโดยไม่ก่อให้เกิดการสูญเสียใดๆ
29 มกราคม:
Multichain ช่วยผู้ถือ WSPP ในการแก้ปัญหาการขโมยเงินที่เกิดขึ้นในวันที่ 26 มกราคม
14 กุมภาพันธ์:
ด้วยความช่วยเหลือจากสมาชิกชุมชน Multichain ได้ติดต่อกับ Tether ซึ่งแช่แข็ง USDT มูลค่ามากกว่า $715,000 ในที่อยู่ Ethereum ของแฮ็กเกอร์
17 กุมภาพันธ์:
โทเค็นที่ได้รับผลกระทบทั้งหมดได้รับการอัปเกรดเป็นสัญญา V6 และรองรับสกุลเงินท้องถิ่นแบบข้ามเชนโดยไม่ต้องให้ผู้ใช้อนุญาตโทเค็น
การวิเคราะห์ทางเทคนิค
การวิเคราะห์ทางเทคนิค
หลังจากได้รับคำเตือนช่องโหว่จากบริษัทด้านความปลอดภัย ทีมนักพัฒนา Multichain ได้ทำการตรวจสอบ ทำซ้ำ และยืนยันการมีอยู่ของช่องโหว่อย่างรวดเร็ว และตรวจสอบสัญญาที่เป็นไปได้ทั้งหมดที่เกี่ยวข้องอย่างละเอียดถี่ถ้วน และในที่สุดก็ยืนยันว่าช่องโหว่นั้นเกี่ยวข้องกับสัญญาสองสัญญา AnyswapERC20 (V5 และเวอร์ชันก่อนหน้า รุ่นต่างๆ), AnyswapRouter (V5 และรุ่นก่อนหน้า), วิธีการป้องกันช่องโหว่เฉพาะที่เกี่ยวข้องในสัญญาได้แก่:
①AnyswapERC20:
· depositWithPermit
②AnyswapRouter:
· anySwapOutUnderlyingWithPermit
· anySwapOutExactTokensForTokensUnderlyingWithPermit
· anySwapOutExactTokensForNativeUnderlyingWithPermit
(1) สาเหตุ
ช่องโหว่นี้เกิดจากการทำงานร่วมกันของสัญญา Anyswap และสัญญาโทเค็นพื้นฐาน สาเหตุหลักคือสำหรับสัญญาโทเค็นพื้นฐานบางสัญญา ไม่มีการใช้วิธีอนุญาต และมีฟังก์ชันทางเลือก เมื่อเรียกวิธีอนุญาต จะถูกดำเนินการเพื่อให้การดำเนินการที่เกี่ยวข้องกับกองทุนตามมาซึ่งส่งผลต่อความปลอดภัยของกองทุน

วัตถุประสงค์หลักของสัญญา AnyswapPERC20 คือเงินทุนหมุนเวียน (Capital Liquidity Pool) ทันทีที่ได้รับคำเตือนเรื่องช่องโหว่ ทีมงานได้ซ่อมแซมและนำสัญญาความปลอดภัยเวอร์ชัน V6 ไปใช้ทันที และในขณะเดียวกันก็ส่งคำขอแจ้งเตือนไปยังเครือข่าย MPC เพื่อ เติมเงินเข้าในสระสภาพคล่องการรักษาความปลอดภัย จนถึงขณะนี้เงินส่วนนี้ปลอดภัย
สัญญา AnyswapRouter ส่วนใหญ่ใช้สำหรับการกำหนดเส้นทางสินทรัพย์ระหว่างเครือข่าย สินทรัพย์ที่ได้รับผลกระทบหลักจากช่องโหว่นี้คือสินทรัพย์ของผู้ใช้ที่ได้รับอนุญาตจากสัญญา และการยกเลิกการอนุญาตสินทรัพย์จำเป็นต้องจัดการโดยผู้ใช้เอง ทีมงานได้เปิดหน้าบังคับยกเลิกการอนุญาตทันทีสำหรับสินทรัพย์ที่มีช่องโหว่ในหน้าแรกของแอปพลิเคชันและแจ้งให้ผู้ใช้ยกเลิกการอนุญาตให้มากที่สุด พร้อมกันนั้น พวกเขาได้จัดทำสัญญาการรักษาทรัพย์สินและติดตามการเปลี่ยนแปลงในเรื่องนี้อย่างใกล้ชิด ส่วนหนึ่งของกองทุน
ต่อไปนี้คือตัวอย่างการโจมตีเฉพาะเพื่อแสดงช่องโหว่ ผลสุดท้ายคือ: เงินของผู้ใช้ที่ได้รับอนุญาตสำหรับโทเค็นสินทรัพย์เสี่ยงเป็น AnyswapRouter จะถูกโอนไปยังสัญญาการโจมตี
(2) วิธีโจมตี
ผู้โจมตีปรับใช้สัญญาการโจมตีและตั้งค่าพารามิเตอร์พื้นฐานของสัญญาการโจมตีเป็นที่อยู่โทเค็นสินทรัพย์เสี่ยง เรียกใช้เมธอด anySwapOutUnderlyingWithPermit ของสัญญา AnyswapRouter โดยที่จาก คือที่อยู่ของผู้ใช้ที่อนุญาตโทเค็นด้านบนสำหรับ AnyswapRouter โทเค็นคือ ที่อยู่ของสัญญาการโจมตี และจำนวนเงินคือยอดเงินคงเหลือของผู้ใช้ข้างต้น และพารามิเตอร์อื่นๆ นั้นขึ้นอยู่กับอำเภอใจ

มาตรการรักษาความปลอดภัยเพิ่มเติม
การตรวจสอบความปลอดภัยเพิ่มเติม Multichain จะดำเนินการตรวจสอบความปลอดภัยเพิ่มเติมเกี่ยวกับสัญญา สะพานข้ามโซ่ และ MPC ทีมงาน Multichain จะยังคงทำงานอย่างหนักเพื่อเพิ่มความปลอดภัยของสถาปัตยกรรมสะพานข้ามโซ่ทั้งหมด และติดตามสัญญาใหม่ทั้งหมดอย่างใกล้ชิด
กองทุนรักษาความปลอดภัย MULTI Multichain จะเริ่มข้อเสนอการกำกับดูแลสำหรับกองทุนความปลอดภัย เมื่อ Multichain ทำให้สินทรัพย์สูญหายเนื่องจากช่องโหว่ในระบบและบริการของตัวเอง กองทุนความปลอดภัยสามารถใช้เป็นมาตรการช่วยเหลือที่จำเป็นและเป็นไปได้ การจัดตั้งและการใช้กองทุนจะประกาศให้ทราบต่อไป
โปรแกรมรางวัลบั๊ก Multichain สนับสนุนให้ชุมชนตรวจสอบรหัสและความปลอดภัยของ Multichain ต่อไป Multichain จะร่วมมือกับ Immunefi ในโปรแกรมรางวัลบั๊กที่ตระหนักถึงคุณค่าของนักวิจัยและทีมด้านความปลอดภัยอิสระ Multichain จะเสนอรางวัลตั้งแต่ $500 ถึง $1,000,000 สำหรับการค้นพบและส่งช่องโหว่ ดู https://docs.multichain.org/security/bug-bounty สำหรับรายละเอียดเพิ่มเติม
เปิด REVOKE-APPROVAL API ฟรีแก่สาธารณะ API การยกเลิกการอนุญาตที่พัฒนาโดย Multichain สำหรับเหตุการณ์นี้ได้รับการพิสูจน์แล้วว่ามีประสิทธิภาพ โปรโตคอลและแอปพลิเคชันที่รวม API นี้สามารถตรวจจับและแจ้งเตือนที่อยู่ของผู้ใช้ที่ได้รับผลกระทบเพื่อดำเนินการที่เหมาะสม Multichain กำลังอัปเดตและจะให้ API สาธารณะฟรีสำหรับทุกโครงการ
ลิงค์ต้นฉบับ


