
มีแคมเปญการโจมตีแบบเงียบ ๆ ที่แฝงมากับ extension จำนวน 19 รายการบน VSCode Marketplace ซึ่งเริ่มเคลื่อนไหวมาตั้งแต่เดือนกุมภาพันธ์ โดยมีเป้าหมายโจมตีนักพัฒนาซอฟต์แวร์ด้วยมัลแวร์ที่ซ่อนอยู่ในโฟลเดอร์ dependency
แคมเปญนี้เพิ่งถูกตรวจพบเมื่อเร็ว ๆ นี้ โดยนักวิจัยด้านความปลอดภัยพบว่าผู้ไม่หวังดีใช้ไฟล์อันตรายที่ปลอมตัวเป็นไฟล์รูปภาพ .PNG
ทั้งนี้ VSCode Market คือ Portal ดาวน์โหลด extension อย่างเป็นทางการของ Microsoft สำหรับ VSCode (IDE ที่ได้รับความนิยมอย่างแพร่หลาย) ซึ่งช่วยให้นักพัฒนาสามารถขยายฟังก์ชันการทำงาน หรือปรับแต่งหน้าตาของโปรแกรมได้
เนื่องด้วยความนิยม และโอกาสที่จะก่อให้เกิดการโจมตีแบบ supply-chain ที่สร้างผลกระทบรุนแรง แพลตฟอร์มนี้จึงตกเป็นเป้าหมายของผู้ไม่หวังดีอยู่เสมอ ผ่านแคมเปญการโจมตีที่มีการปรับเปลี่ยนรูปแบบตลอดเวลา
ReversingLabs บริษัทผู้เชี่ยวชาญด้านความปลอดภัยของไฟล์ และ software supply-chain ตรวจพบว่า extension อันตรายเหล่านี้จะแนบโฟลเดอร์ node_modules มาให้ในตัว เพื่อป้องกันไม่ให้ VSCode ทำการดาวน์โหลด dependencies จาก npm registry ตามปกติระหว่างการติดตั้ง
ภายในโฟลเดอร์ที่แนบมานั้น ผู้โจมตีได้ฝัง dependency ที่ถูกดัดแปลงแก้ไข (เช่น 'path-is-absolute' หรือ '@actions/io') เอาไว้ โดยมีการเพิ่มคลาสพิเศษลงในไฟล์ index.js ซึ่งโค้ดนี้จะทำงานโดยอัตโนมัติทันทีที่มีการเปิดใช้งานโปรแกรม VSCode

เป็นที่น่าสังเกตว่า 'path-is-absolute' นั้นเป็นแพ็กเกจ npm ที่ได้รับความนิยมอย่างมหาศาล โดยมียอดดาวน์โหลดสูงถึง 9 พันล้านครั้งนับตั้งแต่ปี 2021 และเวอร์ชันที่ถูกดัดแปลงให้เป็นเครื่องมือโจมตีนั้น ปรากฏอยู่เพียงแค่ใน extension จำนวน 19 รายการที่ใช้ในแคมเปญนี้เท่านั้น
โค้ดที่ถูกแทรกเข้ามาผ่านคลาสใหม่ในไฟล์ 'index.js' จะทำหน้าที่ถอดรหัสตัว Dropper ภาษา JavaScript ที่ถูกซ่อนไว้ ซึ่งซ่อนอยู่ในไฟล์ที่ชื่อว่า 'lock' นอกจากนี้ ในโฟลเดอร์ dependencies ยังพบไฟล์อีกไฟล์หนึ่งที่เป็นไฟล์ archive แต่ปลอมตัวว่าเป็นไฟล์รูปภาพ .PNG (โดยใช้ชื่อ banner.png) ภายในไฟล์นี้บรรจุไบนารีอันตรายไว้ 2 ตัว ได้แก่ LoLBin (Living-off-the-Land binary) ที่ชื่อ 'cmstp.exe' และมัลแวร์ trojan ที่เขียนด้วยภาษา Rust
ขณะนี้ทาง ReversingLabs กำลังดำเนินการวิเคราะห์ตัว trojan ดังกล่าว เพื่อตรวจสอบขีดความสามารถทั้งหมดของมันอย่างละเอียด
ข้อมูลจากนักวิจัยระบุว่า Extension ใน VSCode ทั้ง 19 รายการในแคมเปญนี้ใช้ชื่อที่ดัดแปลงมาจากชื่อต่อไปนี้ โดยทั้งหมดถูกเผยแพร่ด้วยหมายเลขเวอร์ชัน 1.0.0 :
- Malkolm Theme
- PandaExpress Theme
- Prada 555 Theme
- Priskinski Theme
ReversingLabs ได้รายงานเรื่องดังกล่าวไปยัง Microsoft แล้ว และทาง BleepingComputer ก็ยืนยันว่า extension ทั้งหมดถูกลบออกจากระบบเป็นที่เรียบร้อย อย่างไรก็ตาม ผู้ใช้ที่เผลอติดตั้ง extension เหล่านั้นไปแล้ว ควรทำการสแกนระบบเพื่อหาร่องรอยความเสียหาย หรือการถูกโจมตีระบบ
เนื่องจากผู้ไม่หวังดีมักจะค้นหาวิธีการใหม่ ๆ เพื่อหลบเลี่ยงการตรวจจับบน repositories สาธารณะที่ใช้ในการพัฒนาซอฟต์แวร์อยู่เสมอ จึงขอแนะนำให้ผู้ใช้ตรวจสอบแพ็กเกจให้ดีก่อนติดตั้ง โดยเฉพาะอย่างยิ่งเมื่อแหล่งที่มานั้นมาจากผู้เผยแพร่ที่ไม่มีชื่อเสียง
นอกจากนี้ ควรตรวจสอบ dependencies (ไลบรารีที่จำเป็นต้องใช้) อย่างละเอียดถี่ถ้วน โดยเฉพาะเมื่อมันถูก bundled มาในแพ็กเกจเหมือนกับกรณีของ Extension ใน VS Code นี้ แทนที่จะเป็นการดึงข้อมูลมาจากแหล่งที่เชื่อถือได้ตามปกติอย่าง npm
ที่มา : bleepingcomputer

You must be logged in to post a comment.