NPM ยังคงมีปัญหาด้านความปลอดภัยและตอนนี้เกิดปัญหากับระบบการอัพเดท

บางวันที่ผ่านมา GitHub เปิดเผยเหตุการณ์สองเหตุการณ์ในโครงสร้างพื้นฐานที่เก็บแพ็คเกจ NPM ซึ่งมีรายละเอียดว่าเมื่อวันที่ 2 พฤศจิกายน นักวิจัยด้านความปลอดภัยที่เป็นบุคคลที่สามซึ่งเป็นส่วนหนึ่งของโปรแกรม Bug Bounty พบช่องโหว่ในที่เก็บ NPM ซึ่งอนุญาตให้เผยแพร่เวอร์ชันใหม่ของแพ็คเกจใด ๆ โดยใช้แม้ว่าจะไม่ได้รับอนุญาต เพื่อทำการอัปเดตดังกล่าว

ช่องโหว่เกิดจากการตรวจสอบการอนุญาตที่ไม่ถูกต้องในรหัส microservices ที่ประมวลผลคำขอไปยัง NPM บริการการอนุญาตดำเนินการตรวจสอบการอนุญาตบนแพ็คเกจตามข้อมูลที่ส่งผ่านในคำขอ แต่บริการอื่นที่อัปโหลดการอัพเดตไปยังที่เก็บ กำหนดแพ็คเกจเพื่อเผยแพร่ตามเนื้อหาข้อมูลเมตาในแพ็คเกจที่อัพโหลด

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

ในช่วงไม่กี่เดือนที่ผ่านมา ทีมงาน npm ได้ลงทุนในโครงสร้างพื้นฐานและการปรับปรุงความปลอดภัยเพื่อให้การตรวจสอบและวิเคราะห์เวอร์ชันของแพ็คเกจที่เพิ่งเปิดตัวเป็นไปโดยอัตโนมัติ เพื่อระบุมัลแวร์และโค้ดที่เป็นอันตรายอื่นๆ ในแบบเรียลไทม์

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

ปัญหา ได้รับการแก้ไขแล้ว 6 ชั่วโมงหลังจากรายงานช่องโหว่ แต่มีช่องโหว่ใน NPM นานขึ้น มากกว่าที่บันทึกการส่งข้อมูลทางไกลครอบคลุม GitHub ระบุว่าไม่มีร่องรอยของการโจมตีโดยใช้ช่องโหว่นี้ ตั้งแต่ กันยายน 2020แต่ไม่มีการรับประกันว่าปัญหาไม่เคยถูกเอารัดเอาเปรียบมาก่อน

เหตุการณ์ที่สองเกิดขึ้นเมื่อวันที่ 26 ตุลาคม ในการทำงานด้านเทคนิคกับฐานข้อมูลบริการ replicant.npmjs.com พบว่ามีข้อมูลที่เป็นความลับในฐานข้อมูลพร้อมให้คำปรึกษาจากภายนอกโดยเปิดเผยข้อมูลเกี่ยวกับชื่อของแพ็คเกจภายในที่กล่าวถึงในบันทึกการเปลี่ยนแปลง

ข้อมูลเกี่ยวกับชื่อเหล่านั้น สามารถใช้ในการโจมตีแบบพึ่งพาโครงการภายในได้ (ในเดือนกุมภาพันธ์ การโจมตีดังกล่าวทำให้โค้ดทำงานบนเซิร์ฟเวอร์ของ PayPal, Microsoft, Apple, Netflix, Uber และบริษัทอื่นๆ อีก 30 แห่ง)

นอกจากนี้ เกี่ยวกับอุบัติการณ์การยึดพื้นที่เก็บข้อมูลโครงการขนาดใหญ่ที่เพิ่มขึ้น และการส่งเสริมโค้ดที่เป็นอันตรายผ่านการประนีประนอมบัญชีนักพัฒนา GitHub ตัดสินใจเปิดตัวการรับรองความถูกต้องด้วยสองปัจจัย. การเปลี่ยนแปลงจะมีผลในไตรมาสแรกของปี 2022 และจะมีผลกับผู้ดูแลและผู้ดูแลระบบของแพ็คเกจที่รวมอยู่ในรายการยอดนิยมที่สุด นอกจากนี้ยังรายงานเกี่ยวกับความทันสมัยของโครงสร้างพื้นฐาน ซึ่งจะแนะนำการตรวจสอบอัตโนมัติและการวิเคราะห์เวอร์ชันใหม่ของแพ็คเกจสำหรับการตรวจจับการเปลี่ยนแปลงที่เป็นอันตรายตั้งแต่เนิ่นๆ

จำได้ว่าจากการศึกษาที่ดำเนินการในปี 2020 ผู้จัดการแพ็คเกจเพียง 9.27% ​​เท่านั้นที่ใช้การตรวจสอบสิทธิ์แบบสองปัจจัยเพื่อปกป้องการเข้าถึง และใน 13.37% ของกรณีเมื่อลงทะเบียนบัญชีใหม่ นักพัฒนาพยายามนำรหัสผ่านที่ถูกบุกรุกซึ่งปรากฏในรหัสผ่านที่รู้จักมาใช้ซ้ำ .

ระหว่างการตรวจสอบความแข็งแกร่งของรหัสผ่านที่ใช้ มีการเข้าถึง 12% ของบัญชีใน NPM (13% ของแพ็คเกจ) เนื่องจากมีการใช้รหัสผ่านที่คาดเดาได้และไม่สำคัญ เช่น "123456" ปัญหาคือบัญชีผู้ใช้ 4 บัญชีจาก 20 แพ็คเกจที่ได้รับความนิยมสูงสุด 13 บัญชีที่มีการดาวน์โหลดแพ็คเกจมากกว่า 50 ล้านครั้งต่อเดือน 40 - มากกว่า 10 ล้านดาวน์โหลดต่อเดือนและ 282 ที่มีการดาวน์โหลดมากกว่า 1 ล้านครั้งต่อเดือน เมื่อพิจารณาถึงภาระของโมดูลตามห่วงโซ่ของการพึ่งพา การประนีประนอมบัญชีที่ไม่น่าเชื่อถืออาจส่งผลกระทบถึง 52% ของโมดูลทั้งหมดใน NPM ทั้งหมด

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา