Back to Blog

แฮกเกอร์โจมตีซัพพลายเชนภาษา Rust ปล่อยมัลแวร์ลง Crates ยอดดาวน์โหลดรวม 245 ล้านครั้ง

แฮกเกอร์โจมตีซัพพลายเชน Rust โดยปล่อยมัลแวร์ใน crates ยอดนิยม ดาวน์โหลดรวม 245 ล้านครั้ง เตือนนักพัฒนาตรวจสอบ dependency

Sales
1 min read
แฮกเกอร์โจมตีซัพพลายเชนภาษา Rust ปล่อยมัลแวร์ลง Crates ยอดดาวน์โหลดรวม 245 ล้านครั้ง

โครงการภาษา Rust ได้ลบเวอร์ชันมัลแวร์ของ crates ยอดนิยมสามรายการออกจาก crates.io หลังบัญชีผู้ดูแลถูกแฮกและเผยแพร่เวอร์ชันที่เพิ่ม dependency ที่มีการพิมพ์ผิด เพื่อดาวน์โหลดและเรียกใช้เพย์โหลดระยะไกลในระหว่างการคอมไพล์

crimes ที่ได้รับผลกระทบ ได้แก่ arrayref เวอร์ชัน 0.3.10, internment เวอร์ชัน 0.8.7 และ append-only-vec เวอร์ชัน 0.1.9 ซึ่งทั้งหมดเผยแพร่จากเจ้าของบัญชีเดียวกัน โดยทั้งสาม crates มียอดดาวน์โหลดรวมกันกว่า 245 ล้านครั้ง



รายละเอียดการโจมตี


การโจมตีครั้งนี้พบว่า เวอร์ชันที่ถูกบุกรุกได้เพิ่มโค้ดที่เป็นอันตรายลงใน build script ซึ่งจะทำงานทุกครั้งที่มีการคอมไพล์โปรเจกต์ที่ใช้ crates เหล่านั้น โดยเพย์โหลดที่ถูกดาวน์โหลดและเรียกใช้อาจถูกนำไปใช้ในการขโมยข้อมูล เข้าควบคุมระบบ หรือติดตั้งมัลแวร์เพิ่มเติม ซึ่งจัดเป็นการโจมตีแบบซัพพลายเชนที่ร้ายแรง

แฮกเกอร์ใช้เทคนิคที่เรียกว่า typosquatting โดยการเพิ่ม dependency ที่ชื่อคล้ายกับ crate จริงมาก เช่น การใช้ตัวอักษรที่ใกล้เคียง เพื่อให้ผู้ใช้หรือระบบเผลอดาวน์โหลดแพ็กเกจปลอมโดยไม่ทันสังเกต



การตอบสนองของโครงการ


ทีมงาน Rust Project ได้ดำเนินการลบเวอร์ชันที่ถูกบุกรุกออกจาก crates.io ทันทีที่ตรวจพบ และได้แจ้งเตือนผู้ใช้ที่อาจได้รับผลกระทบ พร้อมทั้งแนะนำให้ตรวจสอบโปรเจกต์ของตนเองเพื่อดูว่ามีการใช้เวอร์ชันที่เสี่ยงเหล่านี้หรือไม่

นอกจากนี้ ยังแนะนำให้ผู้พัฒนาเปลี่ยนรหัสผ่านบัญชี crates.io และเปิดใช้งานการยืนยันตัวตนแบบสองขั้นตอนเพื่อเพิ่มความปลอดภัย เนื่องจากบัญชีที่ถูกแฮกครั้งนี้อาจเป็นช่องทางให้เกิดการโจมตีซ้ำในอนาคต



ผลกระทบต่อระบบนิเวศ


เหตุการณ์นี้ส่งผลกระทบต่อวงกว้าง เพราะ crates ทั้งสามถูกใช้งานในโปรเจกต์จำนวนมากทั่วโลก โดยเฉพาะ arrayref และ internment ที่มักถูกใช้เป็นส่วนประกอบในไลบรารีอื่น ๆ ทำให้อาจมีผู้ได้รับผลกระทบทางอ้อมเป็นจำนวนมาก

การโจมตีซัพพลายเชนในครั้งนี้ตอกย้ำถึงความสำคัญของการตรวจสอบความปลอดภัยของ dependency ในซอฟต์แวร์ และการเฝ้าระวังแพ็กเกจที่ไม่น่าเชื่อถือ แม้แต่ในระบบนิเวศที่ได้รับความไว้วางใจอย่าง crates.io ก็ยังมีความเสี่ยง



แนวทางป้องกัน


นักพัฒนาควรตรวจสอบ checksum ของแพ็กเกจที่ดาวน์โหลดมาเสมอ และหลีกเลี่ยงการใช้เวอร์ชันที่เผยแพร่ใหม่โดยไม่ผ่านการตรวจสอบ การใช้เครื่องมือวิเคราะห์ซอฟต์แวร์เพื่อสแกนหาโค้ดที่น่าสงสัยก็เป็นอีกทางเลือกหนึ่ง

สำหรับองค์กรที่ใช้งานภาษา Rust ควรเพิ่มมาตรการควบคุมการพึ่งพาแพ็กเกจภายนอก เช่น การใช้ private registry หรือการอนุมัติ dependency ที่ผ่านการตรวจสอบแล้วเท่านั้น เพื่อลดความเสี่ยงจากการโจมตีในลักษณะนี้



Reference


The Hacker News

หากสนใจสินค้า หรือต้องการคำปรึกษาเพิ่มเติม

💬 Line @monsteronline

☎️ Tel 02-026-6664

📩 Email [email protected]

🌐 ดูสินค้าเพิ่มเติม mon.co.th

แชทผ่าน LINE ดูสินค้าทั้งหมด