เมื่อโค้ดดีๆ กลายเป็นระเบิดเวลา: แพ็กเกจ NuGet ปลอมแฝงมัลแวร์ทำลายระบบในวันกำหนด
Socket’s Threat Research Team ได้เปิดเผยการโจมตี supply chain ที่ซับซ้อนในแพลตฟอร์ม NuGet โดยพบว่า 9 แพ็กเกจปลอม ที่เผยแพร่โดยผู้ใช้ชื่อ shanhai666 ได้ถูกดาวน์โหลดไปแล้วกว่า 9,488 ครั้ง และแฝงโค้ดทำลายระบบแบบตั้งเวลาไว้ภายใน
แพ็กเกจเหล่านี้ดูเหมือนจะทำงานได้ดีและมีโค้ดที่ใช้ pattern มาตรฐาน เช่น Repository, Unit of Work และ ORM mapping ซึ่งช่วยให้ผ่านการตรวจสอบโค้ดได้ง่าย แต่แอบฝังโค้ดอันตรายไว้เพียง ~20 บรรทัดที่สามารถ ทำลายระบบหรือข้อมูล ได้เมื่อถึงวันที่กำหนด เช่น 8 สิงหาคม 2027 หรือ 29 พฤศจิกายน 2028
เทคนิคการโจมตี: Extension Method Injection
มัลแวร์ใช้ C# extension methods เพื่อแทรกฟังก์ชันอันตรายเข้าไปใน API ที่ดูปลอดภัย เช่น .Exec() และ .BeginTran() ซึ่งจะถูกเรียกใช้ทุกครั้งที่มีการ query ฐานข้อมูลหรือสื่อสารกับ PLC (Programmable Logic Controller)
หลังจากถึงวันที่ trigger มัลแวร์จะสุ่มเลข 1–100 และหากเกิน 80 (20% โอกาส) จะเรียก Process.GetCurrentProcess().Kill() เพื่อปิดโปรแกรมทันที
ตัวอย่างผลกระทบ
E-commerce (100 queries/min) → crash ภายใน ~3 วินาที
Healthcare (50 queries/min) → crash ภายใน ~6 วินาที
Financial (500 queries/min) → crash ภายใน <1 วินาที
Manufacturing (10 ops/min) → crash ภายใน ~30 วินาที พร้อม silent data corruption
แพ็กเกจที่อันตรายที่สุดคือ Sharp7Extend ซึ่งแฝงตัวเป็น library สำหรับ Siemens S7 PLC โดยรวมโค้ด Sharp7 จริงไว้ด้วยเพื่อให้ดูน่าเชื่อถือ
ลักษณะการโจมตี
ใช้แพ็กเกจ NuGet ที่ดูน่าเชื่อถือและมีโค้ดจริงผสมมัลแวร์
ใช้ extension methods เพื่อแทรกโค้ดอันตรายแบบแนบเนียน
โค้ดจะทำงานเมื่อถึงวันที่ trigger ที่ถูก hardcoded ไว้
ผลกระทบต่อระบบ
ทำให้โปรแกรม crash ทันทีเมื่อ query ฐานข้อมูลหรือสื่อสารกับ PLC
มีโอกาส 20% ต่อการเรียกแต่ละครั้ง—แต่ในระบบที่มี query สูงจะ crash ภายในไม่กี่วินาที
Sharp7Extend ยังทำให้การเขียนข้อมูลล้มเหลวแบบเงียบถึง 80% หลัง 30–90 นาที
เทคนิคการหลบซ่อน
ใช้โค้ดจริงเพื่อหลอกให้ดูน่าเชื่อถือ
ปลอมชื่อผู้เขียนใน .nuspec เพื่อหลบการตรวจสอบ reputation
มีการใช้คำจีนใน DLL เช่น “连接失败” และ “出现异常”
ความเสี่ยงต่อองค์กร
ระบบฐานข้อมูลและ PLC ที่ใช้แพ็กเกจเหล่านี้อาจ crash หรือเสียหายแบบไม่รู้ตัว
การตรวจสอบโค้ดทั่วไปอาจไม่พบ เพราะมัลแวร์ฝังใน extension method ที่ดูปลอดภัย
คำแนะนำด้านความปลอดภัย
ตรวจสอบแพ็กเกจ NuGet ที่ใช้ โดยเฉพาะที่มีชื่อคล้าย Sharp7 หรือมีผู้เขียนไม่ชัดเจน
หลีกเลี่ยงการใช้แพ็กเกจจากผู้ใช้ที่ไม่มีประวัติชัดเจน
ใช้เครื่องมือ static analysis ที่สามารถตรวจจับ extension method injection ได้
https://securityonline.info/nuget-sabotage-time-delayed-logic-in-9-packages-risks-total-app-destruction-on-hardcoded-dates/
Socket’s Threat Research Team ได้เปิดเผยการโจมตี supply chain ที่ซับซ้อนในแพลตฟอร์ม NuGet โดยพบว่า 9 แพ็กเกจปลอม ที่เผยแพร่โดยผู้ใช้ชื่อ shanhai666 ได้ถูกดาวน์โหลดไปแล้วกว่า 9,488 ครั้ง และแฝงโค้ดทำลายระบบแบบตั้งเวลาไว้ภายใน
แพ็กเกจเหล่านี้ดูเหมือนจะทำงานได้ดีและมีโค้ดที่ใช้ pattern มาตรฐาน เช่น Repository, Unit of Work และ ORM mapping ซึ่งช่วยให้ผ่านการตรวจสอบโค้ดได้ง่าย แต่แอบฝังโค้ดอันตรายไว้เพียง ~20 บรรทัดที่สามารถ ทำลายระบบหรือข้อมูล ได้เมื่อถึงวันที่กำหนด เช่น 8 สิงหาคม 2027 หรือ 29 พฤศจิกายน 2028
เทคนิคการโจมตี: Extension Method Injection
มัลแวร์ใช้ C# extension methods เพื่อแทรกฟังก์ชันอันตรายเข้าไปใน API ที่ดูปลอดภัย เช่น .Exec() และ .BeginTran() ซึ่งจะถูกเรียกใช้ทุกครั้งที่มีการ query ฐานข้อมูลหรือสื่อสารกับ PLC (Programmable Logic Controller)
หลังจากถึงวันที่ trigger มัลแวร์จะสุ่มเลข 1–100 และหากเกิน 80 (20% โอกาส) จะเรียก Process.GetCurrentProcess().Kill() เพื่อปิดโปรแกรมทันที
ตัวอย่างผลกระทบ
E-commerce (100 queries/min) → crash ภายใน ~3 วินาที
Healthcare (50 queries/min) → crash ภายใน ~6 วินาที
Financial (500 queries/min) → crash ภายใน <1 วินาที
Manufacturing (10 ops/min) → crash ภายใน ~30 วินาที พร้อม silent data corruption
แพ็กเกจที่อันตรายที่สุดคือ Sharp7Extend ซึ่งแฝงตัวเป็น library สำหรับ Siemens S7 PLC โดยรวมโค้ด Sharp7 จริงไว้ด้วยเพื่อให้ดูน่าเชื่อถือ
ลักษณะการโจมตี
ใช้แพ็กเกจ NuGet ที่ดูน่าเชื่อถือและมีโค้ดจริงผสมมัลแวร์
ใช้ extension methods เพื่อแทรกโค้ดอันตรายแบบแนบเนียน
โค้ดจะทำงานเมื่อถึงวันที่ trigger ที่ถูก hardcoded ไว้
ผลกระทบต่อระบบ
ทำให้โปรแกรม crash ทันทีเมื่อ query ฐานข้อมูลหรือสื่อสารกับ PLC
มีโอกาส 20% ต่อการเรียกแต่ละครั้ง—แต่ในระบบที่มี query สูงจะ crash ภายในไม่กี่วินาที
Sharp7Extend ยังทำให้การเขียนข้อมูลล้มเหลวแบบเงียบถึง 80% หลัง 30–90 นาที
เทคนิคการหลบซ่อน
ใช้โค้ดจริงเพื่อหลอกให้ดูน่าเชื่อถือ
ปลอมชื่อผู้เขียนใน .nuspec เพื่อหลบการตรวจสอบ reputation
มีการใช้คำจีนใน DLL เช่น “连接失败” และ “出现异常”
ความเสี่ยงต่อองค์กร
ระบบฐานข้อมูลและ PLC ที่ใช้แพ็กเกจเหล่านี้อาจ crash หรือเสียหายแบบไม่รู้ตัว
การตรวจสอบโค้ดทั่วไปอาจไม่พบ เพราะมัลแวร์ฝังใน extension method ที่ดูปลอดภัย
คำแนะนำด้านความปลอดภัย
ตรวจสอบแพ็กเกจ NuGet ที่ใช้ โดยเฉพาะที่มีชื่อคล้าย Sharp7 หรือมีผู้เขียนไม่ชัดเจน
หลีกเลี่ยงการใช้แพ็กเกจจากผู้ใช้ที่ไม่มีประวัติชัดเจน
ใช้เครื่องมือ static analysis ที่สามารถตรวจจับ extension method injection ได้
https://securityonline.info/nuget-sabotage-time-delayed-logic-in-9-packages-risks-total-app-destruction-on-hardcoded-dates/
🧬 เมื่อโค้ดดีๆ กลายเป็นระเบิดเวลา: แพ็กเกจ NuGet ปลอมแฝงมัลแวร์ทำลายระบบในวันกำหนด
Socket’s Threat Research Team ได้เปิดเผยการโจมตี supply chain ที่ซับซ้อนในแพลตฟอร์ม NuGet โดยพบว่า 9 แพ็กเกจปลอม ที่เผยแพร่โดยผู้ใช้ชื่อ shanhai666 ได้ถูกดาวน์โหลดไปแล้วกว่า 9,488 ครั้ง และแฝงโค้ดทำลายระบบแบบตั้งเวลาไว้ภายใน
แพ็กเกจเหล่านี้ดูเหมือนจะทำงานได้ดีและมีโค้ดที่ใช้ pattern มาตรฐาน เช่น Repository, Unit of Work และ ORM mapping ซึ่งช่วยให้ผ่านการตรวจสอบโค้ดได้ง่าย แต่แอบฝังโค้ดอันตรายไว้เพียง ~20 บรรทัดที่สามารถ ทำลายระบบหรือข้อมูล ได้เมื่อถึงวันที่กำหนด เช่น 8 สิงหาคม 2027 หรือ 29 พฤศจิกายน 2028
🧠 เทคนิคการโจมตี: Extension Method Injection
มัลแวร์ใช้ C# extension methods เพื่อแทรกฟังก์ชันอันตรายเข้าไปใน API ที่ดูปลอดภัย เช่น .Exec() และ .BeginTran() ซึ่งจะถูกเรียกใช้ทุกครั้งที่มีการ query ฐานข้อมูลหรือสื่อสารกับ PLC (Programmable Logic Controller)
หลังจากถึงวันที่ trigger มัลแวร์จะสุ่มเลข 1–100 และหากเกิน 80 (20% โอกาส) จะเรียก Process.GetCurrentProcess().Kill() เพื่อปิดโปรแกรมทันที
🧪 ตัวอย่างผลกระทบ
🪲 E-commerce (100 queries/min) → crash ภายใน ~3 วินาที
🪲 Healthcare (50 queries/min) → crash ภายใน ~6 วินาที
🪲 Financial (500 queries/min) → crash ภายใน <1 วินาที
🪲 Manufacturing (10 ops/min) → crash ภายใน ~30 วินาที พร้อม silent data corruption
แพ็กเกจที่อันตรายที่สุดคือ Sharp7Extend ซึ่งแฝงตัวเป็น library สำหรับ Siemens S7 PLC โดยรวมโค้ด Sharp7 จริงไว้ด้วยเพื่อให้ดูน่าเชื่อถือ
✅ ลักษณะการโจมตี
➡️ ใช้แพ็กเกจ NuGet ที่ดูน่าเชื่อถือและมีโค้ดจริงผสมมัลแวร์
➡️ ใช้ extension methods เพื่อแทรกโค้ดอันตรายแบบแนบเนียน
➡️ โค้ดจะทำงานเมื่อถึงวันที่ trigger ที่ถูก hardcoded ไว้
✅ ผลกระทบต่อระบบ
➡️ ทำให้โปรแกรม crash ทันทีเมื่อ query ฐานข้อมูลหรือสื่อสารกับ PLC
➡️ มีโอกาส 20% ต่อการเรียกแต่ละครั้ง—แต่ในระบบที่มี query สูงจะ crash ภายในไม่กี่วินาที
➡️ Sharp7Extend ยังทำให้การเขียนข้อมูลล้มเหลวแบบเงียบถึง 80% หลัง 30–90 นาที
✅ เทคนิคการหลบซ่อน
➡️ ใช้โค้ดจริงเพื่อหลอกให้ดูน่าเชื่อถือ
➡️ ปลอมชื่อผู้เขียนใน .nuspec เพื่อหลบการตรวจสอบ reputation
➡️ มีการใช้คำจีนใน DLL เช่น “连接失败” และ “出现异常”
‼️ ความเสี่ยงต่อองค์กร
⛔ ระบบฐานข้อมูลและ PLC ที่ใช้แพ็กเกจเหล่านี้อาจ crash หรือเสียหายแบบไม่รู้ตัว
⛔ การตรวจสอบโค้ดทั่วไปอาจไม่พบ เพราะมัลแวร์ฝังใน extension method ที่ดูปลอดภัย
‼️ คำแนะนำด้านความปลอดภัย
⛔ ตรวจสอบแพ็กเกจ NuGet ที่ใช้ โดยเฉพาะที่มีชื่อคล้าย Sharp7 หรือมีผู้เขียนไม่ชัดเจน
⛔ หลีกเลี่ยงการใช้แพ็กเกจจากผู้ใช้ที่ไม่มีประวัติชัดเจน
⛔ ใช้เครื่องมือ static analysis ที่สามารถตรวจจับ extension method injection ได้
https://securityonline.info/nuget-sabotage-time-delayed-logic-in-9-packages-risks-total-app-destruction-on-hardcoded-dates/
0 Comments
0 Shares
13 Views
0 Reviews