8 คะแนน โดย GN⁺ 2024-11-09 | 8 ความคิดเห็น | แชร์ทาง WhatsApp
  • การโจมตีที่กำลังเกิดขึ้นอยู่ในขณะนี้พยายามอัปโหลดแพ็กเกจอันตรายหลายร้อยรายการไปยังคลัง NPM (Node Package Manager) เพื่อแพร่เชื้อสู่อุปกรณ์ของนักพัฒนาที่พึ่งพาไลบรารีโค้ดเหล่านั้น
  • ชื่อของแพ็กเกจอันตรายมีความคล้ายกับไลบรารีโค้ดที่ถูกต้อง เช่น Puppeteer, Bignum.js รวมถึงไลบรารีคริปโตเคอร์เรนซีอีกหลายรายการ
  • แคมเปญนี้ยังคงทำงานอยู่ในช่วงเวลาที่บทความนี้ถูกเผยแพร่ และถูกค้นพบโดยบริษัทด้านความปลอดภัย Phylum

ต้องระวังการโจมตีแบบ supply chain

  • ผู้สร้างมัลแวร์จำเป็นต้องมองหาวิธีใหม่ ๆ เพื่อซ่อนเจตนาและทำให้เซิร์ฟเวอร์ระยะไกลที่ตนควบคุมถูกวิเคราะห์ได้ยากขึ้น
    • นี่เป็นสัญญาณเตือนอย่างต่อเนื่องว่าการโจมตีแบบ supply chain ยังคงเกิดขึ้นอย่างคึกคัก
  • แพ็กเกจอันตรายที่ถูกติดตั้งใช้วิธีใหม่ในการซ่อน IP address ที่ใช้เชื่อมต่อเพื่อรับเพย์โหลดมัลแวร์ระยะที่ 2
    • ในโค้ดระยะแรกไม่มีการแสดง IP address เลย แต่จะเข้าถึง Ethereum smart contract เพื่อดึงสตริง (IP address) ที่เชื่อมโยงกับที่อยู่สัญญาเฉพาะบน Ethereum mainnet
    • IP address ที่ส่งกลับมาในแพ็กเกจที่ Phylum วิเคราะห์คือ hxxp://193.233.201[.]21:3001
  • การเก็บข้อมูลไว้บน Ethereum blockchain ทำให้สามารถเห็น IP address ที่ผู้โจมตีเคยใช้ก่อนหน้านี้ได้
    • Ethereum เก็บบันทึกแบบแก้ไขไม่ได้ของการเปลี่ยนแปลงค่าทั้งหมดที่เคยเกิดขึ้น
    • ดังนั้นจึงสามารถเห็น IP address ทั้งหมดที่ผู้ไม่หวังดีรายนี้เคยใช้ได้
  • แพ็กเกจอันตรายจะถูกติดตั้งในรูปแบบแพ็กเกจ Vercel และรันอยู่ในหน่วยความจำ
    • เพย์โหลดจะถูกตั้งค่าให้โหลดทุกครั้งที่รีบูต และเชื่อมต่อไปยัง IP address ในสัญญา Ethereum
    • จากนั้นจะส่งคำขอหลายครั้งเพื่อดึงไฟล์ Javascript เพิ่มเติม และโพสต์ข้อมูลระบบกลับไปยังเซิร์ฟเวอร์เดียวกันที่ใช้ร้องขอ
    • ข้อมูลนี้รวมถึง GPU, CPU, ปริมาณหน่วยความจำของเครื่อง ชื่อผู้ใช้ และข้อมูลเกี่ยวกับเวอร์ชันของ OS
  • การโจมตีด้วยการอาศัยการพิมพ์ผิดถูกใช้อย่างแพร่หลาย
    • การโจมตีนี้อาศัย typosquatting ซึ่งใช้ชื่อที่คล้ายกับแพ็กเกจจริงมาก แต่ต่างกันเพียงไม่กี่ตัวอักษร
    • Typosquatting ถูกใช้มาตลอด 5 ปีที่ผ่านมาเพื่อหลอกให้นักพัฒนาดาวน์โหลดไลบรารีโค้ดอันตราย
    • นักพัฒนาควรตรวจสอบชื่อให้ซ้ำอีกครั้งเสมอก่อนรันแพ็กเกจที่ดาวน์โหลดมา

8 ความคิดเห็น

 
bbulbum 2024-11-11

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

 
ahwjdekf 2024-11-09

ยังไงซะ สุดท้ายก็เป็นปัญหาเพราะไอ้เหรียญคริปโตนั่นแหละ

 
plumpmath 2024-11-09

น่าจะมีตัวค้นหามัลแวร์ใน Nix store บ้างนะ ต้องลองหาแล้วล่ะ นักพัฒนาก็ย้ายไปใช้ nix กันเถอะ ควรตรึงสินทรัพย์ดิจิทัลทั้งหมดไว้ให้แน่นแล้วทำให้แตะต้องไม่ได้ แล้วภาครัฐก็น่าจะทำ RAG AI ออกมาแล้วแจกจ่ายให้ภาคธุรกิจสักที จะทำเมื่อไหร่กันนะ สู้ ๆ สภาพแวดล้อมการพัฒนาที่แย่ยิ่งกว่าภูมิภาคเอเชียตะวันออกเฉียงใต้นี่จะจบลงเมื่อไหร่กันนะ

 
regentag 2024-11-09

คุณทำงานอยู่บริษัทแบบไหนกัน ถึงต้องทำงานในสภาพแวดล้อมการพัฒนาที่แย่ยิ่งกว่าประเทศในเอเชียตะวันออกเฉียงใต้...

 
cherrycoder 2024-11-11

คงหมายถึงว่าเป็นปัญหาที่ไม่ได้เกิดจากบริษัท แต่เกิดจากปัญหาเชิงนโยบายระดับประเทศใช่ไหมครับ

 
cichol 2024-11-09

npm มักเกิดประเด็นนี้ขึ้นเป็นระยะ ๆ แล้วคลังแพ็กเกจของภาษาอื่น ๆ ไม่มีปัญหาแบบนี้กันหรือครับ?

ยกตัวอย่างเช่น ค่าตั้งต้นของ package manager เป็น allow-net=false หรือ ignore-scripts=true เลยปลอดภัยกว่า หรือจริง ๆ แล้วก็เป็นสถานการณ์คล้าย ๆ กัน ..

 
koxel 2024-11-09

แค่เพราะ Npm ถูกใช้งานเยอะเลยเห็นผ่านตาบ่อย
คลังแพ็กเกจของภาษาอื่นก็เหมือนกันหมดครับ

 
regentag 2024-11-09

เครื่องมือที่ดึงและใช้งานไลบรารีจากระยะไกลโดยอัตโนมัติแบบนี้ ไม่ว่าจะเป็น cargo, alire, maven ฯลฯ ก็น่าจะเผชิญกับภัยคุกคามลักษณะคล้ายกันทั้งหมดไม่ใช่หรือครับ