คำอธิบายกิจกรรม
เมื่อวันที่ 23 กันยายน คีย์ส่วนตัวสำหรับกระเป๋าเงินหลายลายเซ็นของโครงการ UXLINK ถูกบุกรุก ส่งผลให้มีการขโมยคริปโทเคอร์เรนซีมูลค่าประมาณ 11.3 ล้านดอลลาร์สหรัฐ ซึ่งต่อมาถูกโอนไปยังแพลตฟอร์มแลกเปลี่ยนแบบรวมศูนย์ (CEX) และแบบกระจายศูนย์ (DEX) หลายแห่ง ทันทีหลังจากการโจมตี เราได้ร่วมมือกับ UXLINK เพื่อตรวจสอบและวิเคราะห์การโจมตีและติดตามกระแสเงินทุน UXLINK ได้ติดต่อไปยังแพลตฟอร์มแลกเปลี่ยนหลักๆ อย่างเร่งด่วนเพื่อขอให้ระงับเงินทุนที่ต้องสงสัย และได้ยื่นรายงานต่อตำรวจและหน่วยงานที่เกี่ยวข้องเพื่อขอความช่วยเหลือทางกฎหมายและการกู้คืนทรัพย์สิน สินทรัพย์ส่วนใหญ่ของแฮกเกอร์ถูกทำเครื่องหมายและระงับโดยแพลตฟอร์มแลกเปลี่ยนหลักๆ เพื่อลดความเสี่ยงเพิ่มเติมที่อาจเกิดขึ้นกับชุมชน โครงการยังคงมุ่งมั่นที่จะสร้างความโปร่งใสกับชุมชน และ ExVul จะยังคงวิเคราะห์และติดตามเหตุการณ์นี้ต่อไป

https://x.com/UXLINKofficial/สถานะ/1970181382107476362
การพัฒนาล่าสุด
ในระหว่างกระบวนการโอนเงินของแฮ็กเกอร์ เงินที่ไหลเข้าสู่ตลาดแลกเปลี่ยนถูกระงับไว้ การติดตามแบบออนเชนเบื้องต้นเผยให้เห็นว่าแฮ็กเกอร์ที่เคยขโมยสินทรัพย์ UXLINK ก่อนหน้านี้ถูกสงสัยว่าตกเป็นเหยื่อของการโจมตีแบบฟิชชิง Inferno Drainer การตรวจสอบพบว่าโทเค็น $UXLINK ประมาณ 542 ล้านโทเค็นถูกขโมยอย่างผิดกฎหมายผ่าน "ฟิชชิงที่ได้รับอนุญาต"
ธุรกรรมฟิชชิ่ง: https://arbiscan.io/tx/0 xa 70674 ccc 9 caa 17 d 6 efaf 3 f 6 fcbd 5 dec 40011744 c 18 a 1057 f 391 a 822 f 11986 ee
การสร้าง $UXLINK จำนวน 1 B โดยไม่ได้รับอนุญาต: https://arbiscan.io/tx/0x2466 caf408248d1b6fc6fd9d7ec8eb8d8e70cab52dacff1f94b056c10f253bc2

การวิเคราะห์การโจมตี
1. ก่อนหน้านี้ เนื่องจากการดำเนินการที่เป็นอันตรายหรือการรั่วไหลของคีย์ส่วนตัวโดยเจ้าของสัญญาที่มีลายเซ็นหลายราย ที่อยู่ที่เป็นอันตรายจึงถูกเพิ่มเป็นบัญชีที่มีลายเซ็นหลายราย พร้อมกันนั้น เกณฑ์ลายเซ็นของสัญญาก็ถูกรีเซ็ตเป็น 1 ซึ่งหมายความว่าต้องใช้ลายเซ็นบัญชีเดียวเท่านั้นในการดำเนินการตามสัญญา แฮกเกอร์ได้ตั้งค่าที่อยู่เจ้าของใหม่เป็น 0 x 2 EF 43 c 1 D 0 c 88 C 071 d 242 B 6 c 2 D 0430 e 1751607 B 87

( https://arbiscan.io/tx/0x8504a830e7a7a1ca0308a71130efdebddd78b90a1dcc8a64d7c1d86261754689 )
2. ผู้โจมตีจะเรียกใช้ฟังก์ชัน execTransaction ในสัญญา Gnosis Safe Proxy ก่อน ฟังก์ชันนี้จะกลายเป็นจุดเข้าสำหรับการลบสมาชิกแบบ multi-sig ออกไปอย่างมีเจตนาร้าย และการดำเนินการที่เป็นอันตรายทั้งหมดที่เกิดขึ้นตามมาจะถูกดำเนินการภายในธุรกรรมนี้

( https://arbiscan.io/address/0x7715200141cfd94570bc9d97260ec974ee747972#code )
3. เมื่อเรียก execTransaction ผู้โจมตีจะระบุการดำเนินการที่เป็นอันตรายในพารามิเตอร์ข้อมูลของตน: เรียกสัญญาการใช้งาน Safe: Multi Send Call Only 1.3.0 ผ่านทาง delegatecall


( https://arbiscan.io/address/0 x 40 a 2 accbd 92 bca 938 b 02010 e 17 a 5 b 8929 b 49130 d )
4. ในฟังก์ชัน multiSend ของ Safe: Multi Send Call Only เวอร์ชัน 1.3.0 โฟลว์การดำเนินการจะเรียกกลับไปยังฟังก์ชัน removeOwner ของสัญญา Gnosis Safe Proxy โดยเฉพาะอย่างยิ่ง ผู้โจมตีจะเรียกใช้สัญญา MultiSend ครั้งแรกผ่าน delegatecall บนสัญญาพร็อกซี ซึ่งทำให้เรียกใช้ multiSend ภายในบริบทของสัญญาพร็อกซี จากนั้น multiSend จะเรียกกลับไปยังสัญญา Gnosis Safe Proxy เองโดยใช้พารามิเตอร์ที่ผู้โจมตีสร้างขึ้น เรียกใช้ฟังก์ชัน removeOwner และลบที่อยู่ของเจ้าของเดิมออก



( https://arbiscan.io/address/0 x 40 a 2 accbd 92 bca 938 b 02010 e 17 a 5 b 8929 b 49130 d#code )
5. กุญแจสำคัญของการเรียกที่ประสบความสำเร็จคือการปฏิบัติตามเงื่อนไข msg.sender == address(this) ในฟังก์ชัน removeOwner เพื่อป้องกันการเรียกจากภายนอกโดยตรง สัญญาจะใช้การตรวจสอบสิทธิ์ที่ได้รับอนุญาต ตรรกะภายในของฟังก์ชันนี้โดยทั่วไปกำหนดว่าผู้เรียกจะต้องเป็นสัญญานั้นเอง (msg.sender == address(this)) ดังนั้น removeOwner จะถูกดำเนินการสำเร็จก็ต่อเมื่อกระบวนการภายในของสัญญาเรียกกลับมาที่ตัวมันเอง


6. แฮกเกอร์ใช้แนวทางข้างต้นในการลบเจ้าของรายอื่นในลายเซ็นหลายรายทีละราย ทำลายกลไกลายเซ็นหลายรายและเข้ายึดสัญญาในที่สุด

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

( https://arbiscan.io/txs?a=0 x 2 ef 43 c 1 d 0 c 88 c 071 d 242 b 6 c 2 d 0430 e 1751607 b 87&p=2 )
สรุป
เนื่องจากกิจกรรมที่เป็นอันตรายหรือการรั่วไหลของคีย์ส่วนตัวโดยเจ้าของหลายลายเซ็น ผู้โจมตีจึงเพิ่มที่อยู่ที่เป็นอันตรายเป็นสมาชิกหลายลายเซ็นและตั้งค่าเกณฑ์ลายเซ็นของ Gnosis Safe Proxy เป็น 1 ซึ่งขัดต่อการออกแบบความปลอดภัยแบบหลายลายเซ็นดั้งเดิมอย่างสมบูรณ์ ซึ่งทำให้เจ้าของที่ประสงค์ร้ายเพียงรายเดียวสามารถผ่านการตรวจสอบแบบหลายลายเซ็นได้ จากนั้นผู้โจมตีจึงค่อยๆ ถอดเจ้าของรายอื่นออกจากสัญญา ในที่สุดก็สามารถควบคุมสัญญาได้อย่างสมบูรณ์และโอนทรัพย์สินของสัญญาต่อไป และสร้างโทเค็น $UXLINK บนเชนอย่างมีเจตนาร้าย
การโจมตีครั้งนี้เน้นย้ำถึงบทบาทสำคัญของการจัดการลายเซ็นหลายรายการในระบบรักษาความปลอดภัยของบล็อกเชน แม้ว่าโครงการจะใช้กลไกลายเซ็นหลายรายการแบบ Safe และกำหนดค่าบัญชีลายเซ็นหลายรายการไว้หลายบัญชี แต่การจัดการที่บกพร่องทำให้การออกแบบลายเซ็นหลายรายการไม่มีประสิทธิภาพในที่สุด ทีมงาน ExVul แนะนำให้โครงการต่างๆ ให้ความสำคัญกับการจัดการลายเซ็นหลายรายการแบบกระจายศูนย์ เช่น การกำหนดสิทธิ์เก็บรักษาคีย์ส่วนตัวแยกต่างหากให้กับสมาชิกแต่ละคน และการนำวิธีการจัดเก็บคีย์ส่วนตัวที่หลากหลายมาใช้ เพื่อให้มั่นใจว่ากลไกลายเซ็นหลายรายการสามารถให้การปกป้องความปลอดภัยตามที่ตั้งใจไว้ได้อย่างแท้จริง
ภาคผนวก
ต่อไปนี้คือที่อยู่ของแฮกเกอร์ที่ต้องสงสัยซึ่งทีม ExVul ติดตามบนเชน:





