แจ้งเตือน! พบการโจมตี Supply Chain บนแพ็กเกจ npm “axios” ฝังมัลแวร์ข้ามแพลตฟอร์มเพื่อขโมยข้อมูลสำคัญ

ยอดเข้าชม: 48 views

ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ได้ติดตามสถานการณ์ภัยคุกคามทางไซเบอร์กรณีตรวจพบการโจมตีในลักษณะ Supply Chain Attack ต่อแพ็กเกจ axios ซึ่งเป็นไลบรารี HTTP Request ยอดนิยมบนระบบ npm โดยพบว่ากลุ่มแฮกเกอร์ได้ลักลอบฝังรหัสอันตรายลงในเวอร์ชันทางการ มุ่งเป้าไปยังเครื่องของนักพัฒนาและโครงสร้างพื้นฐานด้านไอทีขององค์กร เพื่อใช้เป็นช่องทางในการจารกรรมข้อมูลความลับและเข้าควบคุมระบบจากระยะไกล[1]

1. รายละเอียดภัยคุกคาม [1][2]

กลุ่มผู้ไม่หวังดีได้เข้ายึดครองบัญชีของผู้ดูแลแพ็กเกจ และอัปโหลดเวอร์ชันอันตรายขึ้นสู่ระบบ npm (Node Package Manager) โดยมีการใช้เทคนิคและเครื่องมือที่มีประสิทธิภาพสูง ดังนี้

1.1 การทำงานอัตโนมัติผ่านสคริปต์ postinstall: สคริปต์อันตรายจะเริ่มทำงานทันทีระหว่าง npm install หรือ npm update เพื่อดาวน์โหลด เรียกใช้เพย์โหลดขั้นถัดไปโดยที่ผู้ใช้ไม่จำเป็นต้องรันโปรแกรมใด ๆ เพิ่มเติม

1.2 มัลแวร์แบบข้ามแพลตฟอร์ม (RAT/Backdoor): เพย์โหลดที่ถูกปล่อยสามารถทำงานได้ทั้งบน Windows macOS และ Linux ซึ่งอาจเปิดช่องให้ผู้โจมตีสั่งงานหรือควบคุมเครื่องจากระยะไกลได้

1.3 ความเสี่ยงต่อการรั่วไหลของข้อมูลสำคัญ: หากมีการติดตั้งเวอร์ชันที่ได้รับผลกระทบ โดยเฉพาะบนเครื่องนักพัฒนาและ CI/CD อาจทำให้ข้อมูลลับในสภาพแวดล้อมการพัฒนาและกระบวนการ build เช่น keys, tokens และ credentials อยู่ในความเสี่ยงต่อการถูกเข้าถึงหรือถูกนำออกไปได้

2. ลักษณะการโจมตีที่สำคัญ ได้แก่

2.1 Account Takeover: แฮกเกอร์เข้ายึดบัญชีผู้ดูแลเพื่ออัปโหลดเวอร์ชันอันตราย (1.14.1 และ 0.30.4) เข้าสู่ฐานข้อมูลหลักของ npm โดยตรง

2.2 Malicious Dependency: มีการเพิ่มแพ็กเกจอันตราย เช่น plain-crypto-js เป็น Dependency เพื่อหลบเลี่ยงการตรวจสอบโค้ดในตัวไลบรารีหลัก

2.3 Platform Identification: ตรวจสอบระบบปฏิบัติการของเหยื่อเพื่อเลือกดาวน์โหลดมัลแวร์เวอร์ชันที่เหมาะสม (Windows/Mac/Linux)

2.4 Data Exfiltration: มัลแวร์ทำการค้นหาไฟล์ข้อมูลความลับในเครื่อง เช่น ไฟล์ .aws/credentials, .ssh, .env และส่งกลับไปยังเซิร์ฟเวอร์ควบคุม (C2) ของผู้โจมตี

3. ผลกระทบที่อาจเกิดขึ้น[3]

3.1 ข้อมูลความลับขององค์กรถูกขโมย เช่น API Keys และ Cloud Credentials ซึ่งนำไปสู่การเจาะระบบคลาวด์

3.2 ระบบ CI/CD ถูกแทรกแซง อาจนำไปสู่การฝังมัลแวร์ต่อเนื่องไปยังผลิตภัณฑ์ซอฟต์แวร์ที่องค์กรผลิตเพื่อโจมตีผู้ใช้งานอื่น

3.3 เครื่องของนักพัฒนาถูกควบคุมและอาจถูกใช้เป็นจุดเริ่มต้นในการโจมตีภายในเครือข่ายองค์กร

4. เป้าหมายที่ได้รับผลกระทบ

4.1 นักพัฒนาซอฟต์แวร์ที่ใช้งาน Node.js และดิดตั้ง axios ผ่าน npm

4.2 ะทีม DevOps ที่มีกระบวนการอัปเดตไลบรารีอัตโนมัติ

4.3 ระบบที่เคยติดตั้ง เวอร์ชัน 1.14.1 หรือ 0.30.4 หรือพบ plain-crypto-js@4.2.1 ในโปรเจกต์/เครื่อง

5. แนวทางการป้องกันสำหรับผู้ดูแลระบบ

5.1 ตรวจสอบไฟล์ Lock: ตรวจสอบ package-lock.json หรือ yarn.lock ว่ามีการใช้งานเวอร์ชัน 1.14.1 หรือ 0.30.4 หรือไม่

5.2 จำกัดการรันสคริปต์: ใช้พารามิเตอร์ –ignore-scripts เมื่อติดตั้งแพ็กเกจจากภายนอกเพื่อป้องกันสคริปต์อันตรายทำงาน

5.3 ใช้งานเครื่องมือ SCA: ใช้เครื่องมือ Software Composition Analysis เพื่อเฝ้าระวัง Dependencies ที่มีช่องโหว่หรือถูกแจ้งเตือน

5.4 เฝ้าระวัง Network Log: ตรวจสอบการเชื่อมต่อที่ผิดปกติจากเครื่องนักพัฒนาไปยังโดเมนหรือไอพีที่ไม่รู้จัก

6. ข้อแนะนำสำหรับบุคคลทั่วไปและนักพัฒนา

6.1 ปรับลดเวอร์ชัน: หากพบเวอร์ชันอันตราย ให้ปรับลดไปใช้เวอร์ชันที่ปลอดภัย เช่น 1.14.0 หรือ 0.30.3 หรือเวอร์ชันที่ผู้พัฒนาประกาศแก้ไขล่าสุดทันที

6.2 Rotate Secrets: หากพบว่าเคยมีการติดตั้งเวอร์ชันอันตราย ให้ทำการเปลี่ยนรหัสผ่านและ API Keys ทั้งหมดที่อยู่ในเครื่องนั้นโดยเร็วที่สุด

6.3 ตรวจสอบความถูกต้อง: ตรวจสอบประวัติการอัปเดตและประกาศจาก GitHub ทางการของ axios ก่อนการอัปเดตทุกครั้ง

แหล่งข้อมูลอ้างอิง

[1] https://dg.th/aogrb2zvf5

[2] https://dg.th/si697gcz3f

[3] https://dg.th/6sac1w04tj