.NET Devs กำหนดเป้าหมายด้วยแพ็คเกจ NuGet ที่เป็นอันตราย

.NET Devs กำหนดเป้าหมายด้วยแพ็คเกจ NuGet ที่เป็นอันตราย

นักพัฒนา .NET ตกเป็นเป้าหมายด้วยแพ็คเกจ NuGet ที่เป็นอันตราย PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

แพ็คเกจจำนวนมากของคนทำขนมปังที่โฮสต์บนพื้นที่เก็บข้อมูล NuGet สำหรับนักพัฒนาซอฟต์แวร์ .NET แท้จริงแล้วเป็นส่วนประกอบของโทรจันที่เป็นอันตรายซึ่งจะทำลายระบบการติดตั้งและดาวน์โหลดมัลแวร์ขโมยการเข้ารหัสด้วยฟังก์ชันแบ็คดอร์

JFrog บริษัทซอฟต์แวร์ด้านความปลอดภัยในห่วงโซ่อุปทานระบุในบทวิเคราะห์ที่เผยแพร่เมื่อวันที่ 21 มีนาคมว่า แพคเกจ 13 รายการซึ่งถูกลบออกไปแล้ว ถูกดาวน์โหลดมากกว่า 166,000 ครั้ง และเลียนแบบซอฟต์แวร์อื่นที่ถูกต้องตามกฎหมาย เช่น Coinbase และ Microsoft ASP.NET JFrog ตรวจพบการโจมตีเมื่อนักวิจัยของบริษัทสังเกตเห็นกิจกรรมที่น่าสงสัยเมื่อไฟล์ - init.ps1 - ดำเนินการเมื่อติดตั้ง จากนั้นจึงดาวน์โหลดไฟล์ปฏิบัติการและเรียกใช้งาน

Shachar Menashe ผู้อำนวยการฝ่ายวิจัยความปลอดภัยกล่าวว่า การค้นพบรหัสที่เป็นอันตรายนั้นเน้นย้ำว่าผู้โจมตีกำลังแตกแขนงออกไปในห่วงโซ่อุปทานของซอฟต์แวร์มากขึ้น เพื่อเป็นแนวทางที่จะประนีประนอมกับนักพัฒนาที่ไม่ระมัดระวัง แม้ว่า .NET และภาษาโปรแกรม C# จะเป็นที่รู้จักน้อยกว่าในหมู่ผู้โจมตีก็ตาม Shachar Menashe ผู้อำนวยการฝ่ายวิจัยด้านความปลอดภัยของ เจกบ.

“เทคนิคในการเรียกใช้โค้ดที่เป็นอันตรายในการติดตั้งแพ็คเกจ NuGet แม้จะเป็นเรื่องเล็กน้อย แต่ก็มีการจัดทำเป็นเอกสารน้อยกว่าใน Python หรือ JavaScript และบางส่วนก็เลิกใช้แล้ว ดังนั้นผู้โจมตีมือใหม่บางคนอาจคิดว่ามันเป็นไปไม่ได้” เขากล่าว “และบางที NuGet อาจมีตัวกรองอัตโนมัติสำหรับแพ็คเกจที่เป็นอันตราย”

ห่วงโซ่อุปทานของซอฟต์แวร์ตกเป็นเป้าหมายของผู้โจมตีมากขึ้นเรื่อยๆ โดยมีความพยายามที่จะประนีประนอมระบบของนักพัฒนาหรือเผยแพร่รหัสที่ไม่มีใครสังเกตเห็นไปยังผู้ใช้ปลายทางผ่านแอปพลิเคชันของนักพัฒนา Python Package Index (PyPI) และระบบนิเวศ Node Package Manager (npm) ที่เน้น JavaScript คือ บ่อย เป้าหมายของการโจมตีห่วงโซ่อุปทาน กำหนดเป้าหมายโครงการโอเพ่นซอร์ส

การโจมตีระบบนิเวศซอฟต์แวร์ .NET ซึ่งประกอบด้วย เกือบ 350,000 แพ็คเกจที่ไม่ซ้ำกันเป็นครั้งแรกที่แพ็คเกจที่เป็นอันตรายกำหนดเป้าหมายไปที่ NuGet ตามข้อมูลของ JFrog แม้ว่าบริษัทจะสังเกตว่าแคมเปญสแปมมี ก่อนหน้านี้ได้ส่งลิงก์ฟิชชิ่งไปยังนักพัฒนาซอฟต์แวร์.

Typosquatting ยังคงเป็นปัญหา

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

นักพัฒนาควรให้แพ็คเกจใหม่ดูดีก่อนที่จะรวมไว้ในโปรเจ็กต์การเขียนโปรแกรม นักวิจัยของ JFrog Natan Nehorai และ Brian Moussalli เขียนไว้ในคำแนะนำออนไลน์.

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

การดำเนินการโค้ดทันทีเป็นปัญหา

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

“แม้ว่าแพ็คเกจที่เป็นอันตรายที่ค้นพบได้ถูกลบออกจาก NuGet แล้ว แต่นักพัฒนา .NET ยังคงมีความเสี่ยงสูงจากโค้ดที่เป็นอันตราย เนื่องจากแพ็คเกจ NuGet ยังคงมีสิ่งอำนวยความสะดวกในการเรียกใช้โค้ดทันทีที่ติดตั้งแพ็คเกจ” นักวิจัยของ JFrog กล่าวในบล็อกโพสต์ . “[A] แม้ว่ามันจะเลิกใช้แล้ว แต่สคริปต์ [การเริ่มต้นใช้งาน] ยังคงได้รับเกียรติจาก Visual Studio และจะทำงานโดยไม่มีคำเตือนใด ๆ เมื่อติดตั้งแพ็คเกจ NuGet”

JFrog แนะนำให้นักพัฒนาตรวจสอบการพิมพ์ผิดในแพ็คเกจที่นำเข้าและติดตั้ง และกล่าวว่านักพัฒนาควรตรวจสอบให้แน่ใจว่าไม่ได้ “ติดตั้งโดยบังเอิญในโครงการของพวกเขาหรือระบุว่าเป็นการอ้างอิง” บริษัทระบุ

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

ด้วยวิธีการตอบโต้ที่หลากหลาย พื้นที่เก็บข้อมูล NuGet เช่นเดียวกับ npm และ PyPI จะค่อยๆ กำจัดจุดอ่อนด้านความปลอดภัยอย่างช้าๆ แต่แน่นอน Menashe จาก JFrog กล่าว 

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

ประทับเวลา:

เพิ่มเติมจาก การอ่านที่มืด