- การโจมตีที่กำลังเกิดขึ้นอยู่ในขณะนี้พยายามอัปโหลดแพ็กเกจอันตรายหลายร้อยรายการไปยังคลัง 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 ความคิดเห็น
ถ้ากำลังใช้สมาร์ตคอนแทรกต์อยู่ ก็อาจจะโต้กลับไปพร้อมกันเพื่อเผา gas ของแฮ็กเกอร์ให้หมดได้เหมือนกันมั้งครับ 5555
ยังไงซะ สุดท้ายก็เป็นปัญหาเพราะไอ้เหรียญคริปโตนั่นแหละ
น่าจะมีตัวค้นหามัลแวร์ใน Nix store บ้างนะ ต้องลองหาแล้วล่ะ นักพัฒนาก็ย้ายไปใช้ nix กันเถอะ ควรตรึงสินทรัพย์ดิจิทัลทั้งหมดไว้ให้แน่นแล้วทำให้แตะต้องไม่ได้ แล้วภาครัฐก็น่าจะทำ RAG AI ออกมาแล้วแจกจ่ายให้ภาคธุรกิจสักที จะทำเมื่อไหร่กันนะ สู้ ๆ สภาพแวดล้อมการพัฒนาที่แย่ยิ่งกว่าภูมิภาคเอเชียตะวันออกเฉียงใต้นี่จะจบลงเมื่อไหร่กันนะ
คุณทำงานอยู่บริษัทแบบไหนกัน ถึงต้องทำงานในสภาพแวดล้อมการพัฒนาที่แย่ยิ่งกว่าประเทศในเอเชียตะวันออกเฉียงใต้...
คงหมายถึงว่าเป็นปัญหาที่ไม่ได้เกิดจากบริษัท แต่เกิดจากปัญหาเชิงนโยบายระดับประเทศใช่ไหมครับ
npm มักเกิดประเด็นนี้ขึ้นเป็นระยะ ๆ แล้วคลังแพ็กเกจของภาษาอื่น ๆ ไม่มีปัญหาแบบนี้กันหรือครับ?
ยกตัวอย่างเช่น ค่าตั้งต้นของ package manager เป็น
allow-net=falseหรือignore-scripts=trueเลยปลอดภัยกว่า หรือจริง ๆ แล้วก็เป็นสถานการณ์คล้าย ๆ กัน ..แค่เพราะ Npm ถูกใช้งานเยอะเลยเห็นผ่านตาบ่อย
คลังแพ็กเกจของภาษาอื่นก็เหมือนกันหมดครับ
เครื่องมือที่ดึงและใช้งานไลบรารีจากระยะไกลโดยอัตโนมัติแบบนี้ ไม่ว่าจะเป็น cargo, alire, maven ฯลฯ ก็น่าจะเผชิญกับภัยคุกคามลักษณะคล้ายกันทั้งหมดไม่ใช่หรือครับ