มีการเผยแพร่ตัววิเคราะห์ที่ระบุแพ็คเกจที่เป็นอันตราย 200 รายการใน NPM และ PyPI

OpenSSF (Open Source Security Foundation) ก่อตั้งโดย Linux Foundation และมุ่งเป้าไปที่การปรับปรุงความปลอดภัยของซอฟต์แวร์โอเพ่นซอร์ส ได้เปิดตัวโครงการ Open Project Package Analysis ซึ่งพัฒนาระบบสำหรับการวิเคราะห์การมีอยู่ของโค้ดที่เป็นอันตรายในแพ็คเกจ รหัสโครงการเขียนด้วยภาษา Go และเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0 การสแกนเบื้องต้นของที่เก็บ NPM และ PyPI โดยใช้เครื่องมือที่นำเสนอช่วยให้เราสามารถระบุแพ็คเกจที่เป็นอันตรายที่ตรวจไม่พบก่อนหน้านี้มากกว่า 200 รายการ

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

แพ็คเกจที่มีกิจกรรมที่เป็นอันตรายได้แก่:

  • แพ็คเกจ PyPI discordcmd ซึ่งบันทึกการส่งคำขอที่ผิดปกติไปยัง raw.githubusercontent.com, Discord API และ ipinfo.io แพ็คเกจที่ระบุดาวน์โหลดโค้ดแบ็คดอร์จาก GitHub และติดตั้งลงในไดเร็กทอรีไคลเอนต์ Discord Windows หลังจากนั้นก็เริ่มกระบวนการค้นหาโทเค็น Discord ในระบบไฟล์ และส่งไปยังเซิร์ฟเวอร์ Discord ภายนอกที่ควบคุมโดยผู้โจมตี
  • แพ็คเกจ colorss NPM ยังพยายามส่งโทเค็นจากบัญชี Discord ไปยังเซิร์ฟเวอร์ภายนอก
  • แพ็คเกจ NPM @roku-web-core/ajax - ในระหว่างกระบวนการติดตั้ง แพ็คเกจจะส่งข้อมูลเกี่ยวกับระบบและเปิดตัวตัวจัดการ (เชลล์ย้อนกลับ) ที่ยอมรับการเชื่อมต่อภายนอกและเรียกใช้คำสั่ง
  • แพ็คเกจ PyPI secrevthree - เปิดตัวเชลล์ย้อนกลับเมื่อนำเข้าโมดูลเฉพาะ
  • NPM package Random-vouchercode-generator - หลังจากนำเข้าไลบรารีแล้ว มันก็ส่งคำขอไปยังเซิร์ฟเวอร์ภายนอกซึ่งส่งคืนคำสั่งและเวลาที่ควรจะรัน

งานของการวิเคราะห์แพ็คเกจลงมาเพื่อวิเคราะห์แพ็คเกจโค้ดในซอร์สโค้ดสำหรับการสร้างการเชื่อมต่อเครือข่าย การเข้าถึงไฟล์ และการรันคำสั่ง นอกจากนี้ การเปลี่ยนแปลงในสถานะของแพ็คเกจจะได้รับการตรวจสอบเพื่อระบุการเพิ่มส่วนแทรกที่เป็นอันตรายในซอฟต์แวร์ที่ไม่เป็นอันตรายในตอนแรกที่เผยแพร่ ในการตรวจสอบลักษณะที่ปรากฏของแพ็คเกจใหม่ในที่เก็บและทำการเปลี่ยนแปลงแพ็คเกจที่โพสต์ก่อนหน้านี้ ชุดเครื่องมือ Package Feeds จะถูกนำมาใช้ซึ่งรวมการทำงานกับที่เก็บ NPM, PyPI, Go, RubyGems, Packagist, NuGet และ Crate

การวิเคราะห์แพ็คเกจประกอบด้วยองค์ประกอบพื้นฐานสามประการที่สามารถใช้ได้ทั้งร่วมกันและแยกกัน:

  • ตัวกำหนดเวลาสำหรับการเปิดตัวการวิเคราะห์แพ็คเกจตามข้อมูลจากฟีดแพ็คเกจ
  • เครื่องวิเคราะห์ที่ตรวจสอบแพ็คเกจโดยตรงและประเมินพฤติกรรมโดยใช้การวิเคราะห์แบบคงที่และเทคนิคการติดตามแบบไดนามิก การทดสอบดำเนินการในสภาพแวดล้อมที่แยกจากกัน
  • ตัวโหลดที่วางผลการทดสอบลงในพื้นที่เก็บข้อมูล BigQuery

ที่มา: opennet.ru

เพิ่มความคิดเห็น