ไลบรารี JavaScript ซึ่งมีวัตถุประสงค์เพื่อเป็น ห้องสมุดที่เกี่ยวข้องกับ Twilio อนุญาตให้ติดตั้งแบ็คดอร์บนคอมพิวเตอร์ของโปรแกรมเมอร์ได้ เพื่อให้ผู้โจมตีเข้าถึงเวิร์กสเตชันที่ติดไวรัสได้มีการอัปโหลดไปยังรีจิสทรีโอเพนซอร์ส npm เมื่อวันศุกร์ที่ผ่านมา
โชคดีที่ บริการตรวจจับมัลแวร์ Sonatype Release Integrity ตรวจพบมัลแวร์ได้อย่างรวดเร็ว ในสามเวอร์ชันและลบออกในวันจันทร์
ทีมรักษาความปลอดภัย Npm ลบไลบรารี JavaScript เมื่อวันจันทร์ ชื่อ "twilio-npm" จากเว็บไซต์ npm เนื่องจากมีโค้ดที่เป็นอันตรายซึ่งอาจเปิดแบ็คดอร์บนคอมพิวเตอร์ของโปรแกรมเมอร์
แพ็กเกจที่มีโค้ดที่เป็นอันตรายได้กลายเป็นหัวข้อที่เกิดซ้ำในรีจิสตรีโค้ด JavaScript แบบโอเพนซอร์ส
ไลบรารี JavaScript (และพฤติกรรมที่เป็นอันตราย) ถูกค้นพบในสุดสัปดาห์นี้โดย Sonatype ซึ่งตรวจสอบที่เก็บแพ็กเกจสาธารณะซึ่งเป็นส่วนหนึ่งของบริการปฏิบัติการด้านความปลอดภัยสำหรับ DevSecOps
ในรายงานที่เผยแพร่เมื่อวันจันทร์ Sonatype กล่าวว่าห้องสมุดได้รับการเผยแพร่ครั้งแรกบนเว็บไซต์ npm เมื่อวันศุกร์โดยค้นพบในวันเดียวกันและนำออกในวันจันทร์หลังจากที่ทีมรักษาความปลอดภัยของ npm นำแพ็คเกจไปไว้ในบัญชีดำ
มีแพ็คเกจที่ถูกต้องมากมายในรีจิสทรีของ npm ที่เกี่ยวข้องหรือเป็นตัวแทนของบริการ Twilio อย่างเป็นทางการ
แต่ตามที่ Ax Sharma วิศวกรรักษาความปลอดภัยของ Sonatype ระบุว่า twilio-npm ไม่มีส่วนเกี่ยวข้องกับ บริษัท Twilio Twilio ไม่มีส่วนเกี่ยวข้องและไม่มีส่วนเกี่ยวข้องกับการพยายามขโมยแบรนด์นี้ Twilio เป็นแพลตฟอร์มการสื่อสารบนคลาวด์ชั้นนำในฐานะบริการที่ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันที่ใช้ VoIP ซึ่งสามารถโทรออกและรับสายโทรศัพท์และข้อความตัวอักษรโดยใช้โปรแกรม
แพ็คเกจอย่างเป็นทางการของ Twilio npm ดาวน์โหลดเกือบครึ่งล้านครั้งต่อสัปดาห์ ตามวิศวกร ความนิยมอย่างมากช่วยอธิบายว่าเหตุใดผู้คุกคามอาจสนใจที่จะจับนักพัฒนาที่มีส่วนประกอบปลอมแปลงในชื่อเดียวกัน
“ อย่างไรก็ตามแพ็กเกจ Twilio-npm ไม่นานพอที่จะหลอกผู้คนจำนวนมากได้ อัปโหลดเมื่อวันศุกร์ที่ 30 ตุลาคมเห็นได้ชัดว่าบริการ Release Integrity ของ Sontatype ตั้งค่าสถานะรหัสว่าน่าสงสัยในวันต่อมาปัญญาประดิษฐ์และการเรียนรู้ของเครื่องมีการใช้งานอย่างชัดเจน ในวันจันทร์ที่ 2 พฤศจิกายน บริษัท ได้เผยแพร่ผลการวิจัยและรหัสถูกถอนออก
แม้จะมีอายุการใช้งานสั้นของพอร์ทัล npm แต่ไลบรารีก็ถูกดาวน์โหลดมากกว่า 370 ครั้งและรวมอยู่ในโครงการ JavaScript ที่สร้างและจัดการโดยอัตโนมัติผ่านยูทิลิตี้บรรทัดคำสั่ง npm (Node Package Manager) ตาม Sharma และคำขอเริ่มต้นจำนวนมากเหล่านั้นน่าจะมาจากเครื่องมือสแกนและพร็อกซีที่มีเป้าหมายเพื่อติดตามการเปลี่ยนแปลงในรีจิสทรี npm
แพ็กเกจปลอมเป็นมัลแวร์ไฟล์เดียวและมีให้เลือก 3 เวอร์ชัน เพื่อดาวน์โหลด (1.0.0, 1.0.1 และ 1.0.2) ทั้งสามเวอร์ชันดูเหมือนจะวางจำหน่ายในวันเดียวกันคือ 30 ตุลาคม เวอร์ชัน 1.0.0 ไม่ประสบความสำเร็จมากนักตาม Sharma มีเพียงไฟล์ manifest ขนาดเล็ก package.json ซึ่งแยกทรัพยากรที่อยู่ในโดเมนย่อย ngrok
ngrok เป็นบริการที่ถูกต้องตามกฎหมายที่นักพัฒนาใช้ในการทดสอบแอปพลิเคชันของตนโดยเฉพาะการเปิดการเชื่อมต่อไปยังแอปพลิเคชันเซิร์ฟเวอร์ "localhost" ที่อยู่เบื้องหลัง NAT หรือไฟร์วอลล์ อย่างไรก็ตามในเวอร์ชัน 1.0.1 และ 1.0.2 ไฟล์ Manifest เดียวกันมีการแก้ไขสคริปต์หลังการติดตั้งเพื่อทำงานที่น่ากลัวตาม Sharma
สิ่งนี้จะเปิดประตูหลังบนเครื่องของผู้ใช้อย่างมีประสิทธิภาพทำให้ผู้โจมตีสามารถควบคุมเครื่องที่ถูกบุกรุกและความสามารถในการเรียกใช้รหัสระยะไกล (RCE) Sharma กล่าวว่าตัวแปลคำสั่งย้อนกลับทำงานบนระบบปฏิบัติการที่ใช้ UNIX เท่านั้น
นักพัฒนาต้องเปลี่ยนรหัสความลับและคีย์
คำแนะนำของ npm ระบุว่านักพัฒนาที่อาจติดตั้งแพ็กเกจที่เป็นอันตรายก่อนที่จะถูกลบออกมีความเสี่ยง
"คอมพิวเตอร์ใด ๆ ที่ติดตั้งแพ็กเกจนี้หรือใช้งานได้ควรได้รับการพิจารณาว่ามีการบุกรุกอย่างเต็มที่" ทีมรักษาความปลอดภัยของ npm กล่าวเมื่อวันจันทร์พร้อมยืนยันการตรวจสอบของ Sonatype