ส่วนขยาย VSCode ที่เป็นอันตรายขโมยเงินดิจิทัลมูลค่า 500,000 ดอลลาร์สหรัฐผ่านการโจมตี Supply Chain

ทีมชุมชน BigGo
ส่วนขยาย VSCode ที่เป็นอันตรายขโมยเงินดิจิทัลมูลค่า 500,000 ดอลลาร์สหรัฐผ่านการโจมตี Supply Chain

นักพัฒนา blockchain ชาวรัสเซียสูญเสียเงินดิจิทัลมูลค่าประมาณ 500,000 ดอลลาร์สหรัฐหลังจากติดตั้งส่วนขยายที่ดูเหมือนจะเป็นส่วนขยาย Solidity syntax highlighting ที่ถูกต้องตามกฎหมายสำหรับ Visual Studio Code เหตุการณ์นี้เน้นย้ำถึงช่องโหว่ด้านความปลอดภัยที่สำคัญในการที่นักพัฒนาเชื่อถือและติดตั้งส่วนขยายโค้ด โดยเฉพาะอย่างยิ่งในสภาพแวดล้อมการพัฒนาที่ขับเคลื่อนด้วย AI เช่น Cursor ที่อาศัยตลาดส่วนขยายของบุคคลที่สาม

การโจมตีเริ่มต้นขึ้นเมื่อนักพัฒนาดาวน์โหลดส่วนขยายที่เป็นอันตรายชื่อ astexplorer.js จาก Open VSX registry ซึ่งให้บริการส่วนขยายแก่ VSCode forks รวมถึง Cursor AI แม้จะมีความระมัดระวังด้านความปลอดภัยและใช้ซอฟต์แวร์ป้องกันไวรัส นักพัฒนาก็ตกเป็นเหยื่อของการโจมตี supply chain ที่ซับซ้อนซึ่งใช้ประโยชน์จากอัลกอริทึมการจัดอันดับของตลาดส่วนขยาย

เวกเตอร์การโจมตีทางเทคนิค:

  • ไฟล์ที่เป็นอันตราย: astexplorer.js ตั้งอยู่ใน %UserProfile%\AppData\Local\temp
  • ดาวน์โหลดสคริปต์ PowerShell จาก img[.]yt-lu[.]xyz/install[.]ps1
  • ติดตั้งซอฟต์แวร์การเข้าถึงระยะไกล ScreenConnect
  • ปรับใช้มัลแวร์ขโมยกระเป๋าเงินดิจิทัลที่มุ่งเป้าไปที่ MetaMask และไฟล์กระเป๋าเงินในเครื่อง
แฮ็กเกอร์ในสภาพแวดล้อมดิจิทัล แสดงให้เห็นช่องโหว่ด้านความปลอดภัยที่นำไปสู่การขโมยสกุลเงินดิจิทัลจำนวนมาก
แฮ็กเกอร์ในสภาพแวดล้อมดิจิทัล แสดงให้เห็นช่องโหว่ด้านความปลอดภัยที่นำไปสู่การขโมยสกุลเงินดิจิทัลจำนวนมาก

การจัดการอัลกอริทึมการจัดอันดับทำให้เกิดการหลอกลวง

ผู้โจมตีสามารถเล่นระบบการจัดอันดับการค้นหาของ Open VSX ได้สำเร็จ เพื่อทำให้ส่วนขยายที่เป็นอันตรายของพวกเขาปรากฏสูงกว่าในผลการค้นหาเมื่อเทียบกับเวอร์ชันที่ถูกต้อง แม้ว่าส่วนขยายปลอมจะมีการดาวน์โหลดน้อยกว่า (144,000+ เทียบกับ 151,000+ สำหรับส่วนขยายที่ถูกต้อง) แต่ก็จัดอันดับสูงกว่าเนื่องจากปัจจัยหลายประการรวมถึงการอัปเดตล่าสุดและการปรับปรุงคำหลัก เวอร์ชันที่เป็นอันตรายได้รับการอัปเดตครั้งล่าสุดเมื่อวันที่ 18 มิถุนายน 2021 ในขณะที่ส่วนขยายที่ถูกต้องไม่ได้รับการอัปเดตตั้งแต่วันที่ 30 พฤษภาคม 2020 อคติด้านความใหม่ในอัลกอริทึมการจัดอันดับนี้ช่วยให้ส่วนขยายปลอมได้รับการมองเห็นในหมู่นักพัฒนาที่ไม่สงสัย

ส่วนขยายที่หลอกลวงไม่ได้ให้ฟังก์ชัน syntax highlighting จริงๆ แต่ผู้ใช้หลายคนอาจไม่สังเกตเห็นความล้มเหลวนี้ในขณะที่มัลแวร์ทำงานอย่างเงียบๆ ในพื้นหลัง

ไทม์ไลน์การโจมตี:

  • มิถุนายน 2021: อัปโหลด extension ที่มีมัลแวร์ไปยัง Open VSX registry
  • Extension ได้รับการดาวน์โหลดมากกว่า 144,000 ครั้งก่อนที่จะถูกตรวจพบ
  • 2 กรกฎาคม 2021: Extension ถูกลบออกจาก marketplace
  • ผู้โจมตีปล่อย extension ที่มีมัลแวร์ตัวใหม่ทันทีในวันถัดไป
นักพัฒนาสองคนทำงานร่วมกันที่คอมพิวเตอร์ เน้นย้ำถึงลักษณะการทำงานร่วมกันในการเขียนโปรแกรมท่ามกลางความเสี่ยงด้านความปลอดภัยที่ซ่อนอยู่
นักพัฒนาสองคนทำงานร่วมกันที่คอมพิวเตอร์ เน้นย้ำถึงลักษณะการทำงานร่วมกันในการเขียนโปรแกรมท่ามกลางความเสี่ยงด้านความปลอดภัยที่ซ่อนอยู่

สิทธิ์ส่วนขยายที่ไม่มีข้อจำกัดสร้างความเสี่ยงด้านความปลอดภัย

การโจมตีสำเร็จเพราะส่วนขยาย VSCode ทำงานโดยไม่มีข้อจำกัดด้านความปลอดภัยที่มีความหมายหรือ sandboxing ส่วนขยายได้รับสิทธิ์ทั้งหมดที่ host editor มีอยู่แล้ว ทำให้สามารถเข้าถึงระบบไฟล์ทั้งหมด รันคำสั่งระบบ และดาวน์โหลดมัลแวร์เพิ่มเติมได้ โมเดลการเข้าถึงที่ไม่มีข้อจำกัดนี้หมายความว่าส่วนขยายที่เป็นอันตรายใดๆ สามารถทำให้สภาพแวดล้อมการพัฒนาทั้งหมดถูกบุกรุกได้

ส่วนขยายที่เป็นอันตรายดาวน์โหลดและรัน PowerShell scripts ที่ติดตั้งเครื่องมือการเข้าถึงระยะไกลเช่น ScreenConnect ทำให้ผู้โจมตีสามารถควบคุมเครื่องของเหยื่อได้อย่างสมบูรณ์ จากนั้นพวกเขาปรับใช้มัลแวร์ขโมยกระเป๋าเงินดิจิทัลที่กำหนดเป้าหมายไปที่กระเป๋าเงินบนเบราว์เซอร์เช่น MetaMask และไฟล์กระเป๋าเงินในเครื่อง

ความก้าวหน้าทางเทคโนโลยีที่แสดงในภาพนี้ เน้นย้ำถึงความสำคัญของมาตรการรักษาความปลอดภัยเพื่อป้องกันภัยคุกคามจากมัลแวร์ในสภาพแวดล้อมการพัฒนา
ความก้าวหน้าทางเทคโนโลยีที่แสดงในภาพนี้ เน้นย้ำถึงความสำคัญของมาตรการรักษาความปลอดภัยเพื่อป้องกันภัยคุกคามจากมัลแวร์ในสภาพแวดล้อมการพัฒนา

ตลาดส่วนขยาย Open Source ขาดการกำกับดูแลด้านความปลอดภัย

เหตุการณ์นี้เปิดเผยช่องว่างด้านความปลอดภัยที่สำคัญใน Open VSX ซึ่งเป็นตลาดส่วนขยายที่ดำเนินการโดยอาสาสมัครที่ใช้โดย VSCode alternatives เช่น Cursor AI ไม่เหมือนกับตลาด VSCode อย่างเป็นทางการของ Microsoft ซึ่งมีทีมความปลอดภัยเฉพาะและระบบตรวจจับอัตโนมัติ Open VSX ดำเนินการด้วยทรัพยากรที่จำกัดและกระบวนการตรวจสอบที่น้อยที่สุด

การใช้ประโยชน์จาก (และโทษ) โครงสร้างพื้นฐานอาสาสมัครเป็นสิ่งที่ไร้ความรับผิดชอบ โดยเฉพาะอย่างยิ่งเมื่อคุณมีเงินทุนมากมาย

สิ่งนี้สร้างสถานการณ์ที่น่ากังวลที่บริษัทมูลค่าพันล้านดอลลาร์เช่น Cursor AI (ซึ่งระดมทุนได้ 900 ล้านดอลลาร์สหรัฐ) อาศัยโครงสร้างพื้นฐานที่ดูแลโดยอาสาสมัครสำหรับฟังก์ชันความปลอดภัยที่สำคัญ Eclipse Foundation ซึ่งดูแล Open VSX ขาดทรัพยากรในการดำเนินการมาตรการความปลอดภัยที่ครอบคลุมเทียบเท่ากับทางเลือกเชิงพาณิชย์

การเปรียบเทียบด้านความปลอดภัย:

  • Microsoft VSCode Marketplace: มีทีมความปลอดภัยเฉพาะทาง การตรวจจับอัตโนมัติ อ้างว่ามีเวลาตอบสนอง 2 วินาทีสำหรับ extensions ที่เป็นอันตราย
  • Open VSX Registry: ดำเนินการโดยอาสาสมัครจาก Eclipse Foundation มีทรัพยากรด้านความปลอดภัยจำกัด กระบวนการตรวจสอบขั้นต่ำ
  • สิทธิ์การเข้าถึงของ Extension: marketplace ทั้งสองแห่งอนุญาตให้ extensions เข้าถึงระบบไฟล์และเครือข่ายได้อย่างไม่จำกัด

แนวทางปฏิบัติของนักพัฒนาต้องการการเปลี่ยนแปลงพื้นฐาน

การขโมยเงินดิจิทัลทำให้เกิดคำถามสำคัญเกี่ยวกับแนวทางปฏิบัติด้านความปลอดภัยในการพัฒนา นักพัฒนาหลายคนติดตั้งส่วนขยาย แพ็คเกจ npm และโค้ดของบุคคลที่สามอื่นๆ เป็นประจำโดยไม่มีการตรวจสอบความปลอดภัยอย่างละเอียด เหยื่อในกรณีนี้กำลังพัฒนาบนเครื่องเดียวกับที่เขาเก็บเงินดิจิทัลจำนวนมาก ทำให้เกิดสถานการณ์ที่มีความเสี่ยงสูงโดยไม่จำเป็น

ผู้เชี่ยวชาญด้านความปลอดภัยแนะนำให้ใช้ hardware wallets สำหรับการเก็บเงินดิจิทัล พัฒนาใน containers หรือ virtual machines ที่แยกออกมา และตรวจสอบส่วนขยายที่ติดตั้งทั้งหมดอย่างรอบคอบ นักพัฒนาบางคนกำลังใช้แนวทางที่ระแวงมากขึ้น รวมถึงการรันสภาพแวดล้อมการพัฒนาใน Docker containers ที่มีการเข้าถึงระบบไฟล์ที่จำกัด

เหตุการณ์นี้เป็นการเตือนใจอย่างชัดเจนว่าระบบนิเวศการพัฒนาซอฟต์แวร์สมัยใหม่อาศัยความสัมพันธ์ที่เชื่อถือกับแพ็คเกจและส่วนขยายของบุคคลที่สามหลายพันรายการ เมื่อการโจมตี supply chain กстановится ซับซ้อนมากขึ้น นักพัฒนาและบริษัทที่สร้างเครื่องมือพัฒนาต้องให้ความสำคัญกับมาตรการความปลอดภัยที่สอดคล้องกับขนาดของความเสี่ยงเหล่านี้

อ้างอิง: Code highlighting with Cursor AI for $500,000