Scallop ยืนยันการถูกโจมตีแบบเจาะจง: โทเค็น SUI 150,000 ถูกดูดออกจากพูลรางวัล sSUI
โปรโตคอล DeFi บนบล็อกเชน Sui อย่าง Scallop ได้ยืนยันแล้วว่าตกเป็นเป้าหมายของการโจมตีที่ดูดเงินราว 150,000 SUI ออกจากพูลรางวัล sSUI พร้อมกับเปิดเผยข้อบกพร่องที่ซ่อนตัวอยู่ในสมาร์ทคอนแทรกต์ที่เลิกใช้งานแล้ว
ตามแถลงการณ์อย่างเป็นทางการของโปรโตคอล พวกเขาพบว่าผู้โจมตีไม่ได้ยุ่งกับโค้ดเบสที่ใช้งานอยู่หรืออินเทอร์เฟซ SDK มาตรฐานแต่อย่างใด แต่กลับเรียกใช้งานแพ็กเกจเวอร์ชัน V2 ที่เลิกใช้งานแล้วซึ่งมีอายุย้อนไปถึงเดือนพฤศจิกายน 2023 ซึ่งยังคงอยู่บนเชนแต่ไม่ได้ถูกใช้งานมาหลายเดือน
ความแม่นยำในระดับนี้ได้รับความสนใจอย่างมากทั่วทั้งระบบนิเวศ การโจมตีครั้งนี้บ่งบอกถึงการวิศวกรรมย้อนกลับอย่างลึกซึ้ง หรือผู้โจมตีมีความคุ้นเคยกับสถาปัตยกรรมของคอนแทรกต์เป็นอย่างดี
ที่น่าสังเกตที่สุดคือ ช่องโหว่นี้ไม่ถูกตรวจพบนานเกือบ 17 เดือน เนื่องจากระบบนิเวศได้เปลี่ยนไปใช้เวอร์ชันคอนแทรกต์ใหม่ Scallop ได้ประกาศยืนยันเหตุการณ์ดังกล่าวบน Twitter และระบุว่าผู้ใช้ปลอดภัยในขณะนี้ เนื่องจากได้ดำเนินมาตรการควบคุมความเสียหายทันที
การโจมตีครั้งนี้เผยให้เห็นข้อบกพร่องร้ายแรงในตรรกะการคำนวณรางวัลของคอนแทรกต์ที่เลิกใช้งานแล้ว โดยใช้สิ่งที่เรียกว่า "spool index" ซึ่งเป็นค่าที่เพิ่มขึ้นเรื่อยๆ แสดงถึงรางวัลรวมที่สะสมในพูลนั้นตลอดช่วงเวลาที่ผ่านมา
ในการทำงานปกติ บัญชีผู้ใช้ทุกบัญชีจะบันทึก last_index เมื่อทำการ stake รางวัลจะถูกคำนวณจากส่วนต่างระหว่างดัชนีในปัจจุบันกับค่าที่บันทึกไว้ เพื่อป้องกันไม่ให้ผู้ใช้ได้รับรางวัลก่อนที่จะเริ่ม stake
แต่ในแพ็กเกจ V2 เก่า บัญชี spool ที่สร้างขึ้นใหม่ไม่เคยถูกกำหนดค่าเริ่มต้น ทำให้ last_index เป็นศูนย์เสมอ และข้อผิดพลาดนี้ทำให้เกิดช่องโหว่ขนาดใหญ่
ผลของบั๊กนี้เกิดขึ้นทันทีและรุนแรง spool index ได้เพิ่มสูงขึ้นเกือบ 1.19 พันล้านในช่วงประมาณ 20 เดือน ผู้โจมตีได้รับคะแนนรางวัลที่พองตัวอย่างมากถึง 162 ล้านล้านคะแนน โดย stake sSUI จำนวน 136,000 ไว้
ยิ่งไปกว่านั้น พูลรางวัลมีอัตราการแปลง 1:1 ทำให้ทุกคะแนนรางวัลแปลงเป็นโทเค็น SUI โดยตรง ซึ่งทำให้ผู้โจมตีสามารถแลกคะแนนที่ได้จากการพองตัวเทียมออกมาเป็นสินทรัพย์จริงได้อย่างราบรื่น
การโจมตีครั้งนี้ส่งผลให้พูลรางวัลถูกดูดจนหมด ซึ่งในขณะนั้นมี SUI อยู่ประมาณ 150,000 แม้ว่ารางวัลที่ผู้โจมตีคำนวณได้จะเกินกว่ายอดคงเหลือในพูลมาก แต่ก็ถูกถอนออกไปเพียงสภาพคล่องที่มีอยู่ในมือเท่านั้น
เหตุการณ์นี้แสดงให้เห็นถึงความท้าทายเชิงระบบอย่างหนึ่งของแพ็กเกจที่ถูก deploy บนระบบนิเวศ Sui นั่นคือแพ็กเกจที่ถูก deploy แล้วนั้นไม่สามารถเปลี่ยนแปลงได้ เมื่อสมาร์ทคอนแทรกต์อยู่บนเชนแล้ว จะไม่สามารถลบหรือแก้ไขได้ ทุกเวอร์ชันทั้งในอดีตและปัจจุบันยังคงสามารถเรียกใช้งานได้ตลอดไป
แม้ว่า Scallop จะนำผู้ใช้ไปยังแพ็กเกจใหม่ที่ปลอดภัยกว่าผ่าน SDK ของพวกเขา แต่คอนแทรกต์ V2 เก่าก็ยังคงเข้าถึงได้ ออบเจ็กต์ Spooled และ RewardsPool ถูกแชร์ร่วมกัน ดังนั้นผู้โจมตีจึงสามารถข้ามตรรกะที่อัปเดตแล้วได้อย่างสมบูรณ์ เนื่องจากไม่มีข้อจำกัดด้านเวอร์ชันบนออบเจ็กต์เหล่านั้น
ช่องโหว่ประเภทนี้ ซึ่งถูกจัดประเภทใหม่เป็นความเสี่ยง "stale package" ได้เปิดเผยจุดบอดสำคัญสำหรับระบบ DeFi จำนวนมาก คอนแทรกต์เดิมอาจเป็นเวกเตอร์โจมตีแบบถาวรได้ เนื่องจากไม่มีการตรวจสอบเวอร์ชันที่ชัดเจนในออบเจ็กต์ที่ใช้ร่วมกัน
การโจมตี Scallop เป็นเหตุการณ์หนึ่ง ไม่ใช่ผลลัพธ์ที่ไม่มีที่สิ้นสุดของแนวโน้มที่ใหญ่กว่าซึ่งดำเนินมาตลอดเดือนเมษายน การโจมตีล่าสุดหลายครั้งไม่ได้มาจากตรรกะหลักของโปรโตคอล แต่มาจากด้านรอบข้างหรือด้านที่ถูกมองข้าม ช่องโหว่ในโครงสร้างพื้นฐาน RPC ของ KelpDAO, เลเยอร์ความเป็นส่วนตัว (MWEB) ของ Litecoin และบั๊กการควบคุมการเข้าถึงในระบบ adapter ของ Aethir เป็นเพียงตัวอย่างบางส่วน
ในทุกกรณี แหล่งที่มาอยู่ภายนอกคอนแทรกต์หลักและอยู่ในโมดูลรองหรือโมดูลเดิม การใช้รูปแบบดังกล่าวเป็นสัญญาณว่าผู้โจมตีได้เปลี่ยนกลยุทธ์แล้ว แฮกเกอร์ใช้เวลากับคอนแทรกต์หลักที่ได้รับการตรวจสอบอย่างละเอียดน้อยลง และใช้เวลาโจมตีขอบของระบบนิเวศที่มีการติดตามเส้นรอบวงอ่อนแอมากขึ้น สิ่งนี้ต้องการการเปลี่ยนแปลงกระบวนทัศน์สำหรับนักพัฒนาและผู้ตรวจสอบ การรักษาความปลอดภัยเฉพาะการ deploy ใหม่นั้นไม่เพียงพอ คอนแทรกต์ประวัติศาสตร์ทั้งหมด จุดเชื่อมต่อและส่วนประกอบโครงสร้างพื้นฐานควรได้รับการพิจารณาว่าเป็นพื้นที่ภัยคุกคามที่ยังคงใช้งานอยู่
Scallop ตอบสนองต่อการโจมตีอย่างรวดเร็วและเด็ดขาด คอนแทรกต์ที่ถูกโจมตีถูกแช่แข็งทันทีหลังจากนั้น ซึ่งหมายความว่ามีเพียงพูลรางวัลเดียวเท่านั้นที่ถูกโจมตีในครั้งนี้
กลุ่มบริษัทยืนยันว่าคอนแทรกต์หลักยังคงปลอดภัยและไม่มีเงินฝากของผู้ใช้ใดถูกกระทบ พูลอื่นๆ ยังคงไม่ถูกแตะต้อง และฟังก์ชันหลักของโปรโตคอลกลับมาทำงานอีกครั้งทันทีที่ส่วนที่ไม่ได้รับผลกระทบถูกปลดการแช่แข็ง
ที่น่าสังเกตคือ Scallop ได้ให้คำมั่นว่าจะชดเชย 100 เปอร์เซ็นต์ของความสูญเสียที่เกิดขึ้นจากการโจมตีครั้งนี้ คำมั่นนี้แสดงถึงความรับผิดชอบในการแก้ไขช่องโหว่ด้านความปลอดภัยที่ไม่คาดคิด และมุ่งหวังที่จะได้รับความไว้วางใจจากผู้ใช้คืนกลับมา
การฝากและถอนเงินได้กลับมาดำเนินการอีกครั้ง บ่งบอกว่าความมั่นคงของระบบได้รับการฟื้นฟูแล้ว
เหตุการณ์ Scallop สะท้อนให้เห็นบทเรียนสำคัญสำหรับระบบนิเวศ DeFi โดยรวม หากดำเนินการในสภาพแวดล้อมสมาร์ทคอนแทรกต์ที่ไม่สามารถเปลี่ยนแปลงได้ ความปลอดภัยไม่ใช่สิ่งที่ตั้งค่าแล้วลืมได้
ทุกเวอร์ชันของคอนแทรกต์ที่คุณ deploy ล้วนเป็นส่วนหนึ่งของระบบที่ยังทำงานอยู่ แม้แต่โค้ดที่ไม่ได้ใช้งานก็อาจเป็นจุดล้มเหลวเดียวได้ในอีกหลายเดือนหรือหลายปีข้างหน้า หากมาตรการป้องกันที่เหมาะสมถูกข้ามผ่านได้ง่าย
ก้าวต่อไป ระบบนิเวศจำเป็นต้องนำแนวปฏิบัติการควบคุมเวอร์ชันที่เข้มงวดยิ่งขึ้น การติดตามคอนแทรกต์เดิมอย่างต่อเนื่อง และการขยายขอบเขตการตรวจสอบให้ครอบคลุมการ deploy ทั้งหมดในอดีตมาใช้ ดังที่การโจมตีแสดงให้เห็น ผู้โจมตีพร้อมที่จะค้นหาประวัติของโปรโตคอลอย่างลึกซึ้งเพื่อหาจุดอ่อนที่สามารถโจมตีได้
ในที่สุด การเงินแบบกระจายอำนาจจะมีความทนทานพอๆ กับโปรโตคอลที่สามารถปรับตัวให้เข้ากับภูมิทัศน์ภัยคุกคามที่เปลี่ยนแปลงนี้
การเปิดเผยข้อมูล: นี่ไม่ใช่คำแนะนำด้านการเทรดหรือการลงทุน โปรดศึกษาข้อมูลด้วยตัวเองก่อนซื้อสกุลเงินดิจิทัลใดๆ หรือลงทุนในบริการใดๆ
ติดตามเราบน Twitter @themerklehash เพื่อรับข่าวสารล่าสุดเกี่ยวกับ Crypto, NFT, AI, ความปลอดภัยไซเบอร์ และ Metaverse!
โพสต์ Scallop Exploit ดูด SUI 150K ผ่านคอนแทรกต์ที่เลิกใช้งานแล้ว ขณะที่ช่องโหว่ที่ซ่อนอยู่คงอยู่นานถึง 17 เดือน ปรากฏครั้งแรกบน The Merkle News


