พบการโจมตีแบบ Supply Chain Attack ในเวอร์ชัน 1.95.6 และ 1.95.7 ของไลบรารี '@solana/web3.js' ที่ได้รับการดาวน์โหลดไปแล้วมากกว่า 350,000 ครั้งต่อสัปดาห์ จาก npm
เวอร์ชันที่ถูกโจมตีเหล่านี้มีการฝังโค้ดที่เป็นอันตรายที่ออกแบบมาเพื่อขโมย private keys จากนักพัฒนา และผู้ใช้งานที่ไม่ระมัดระวัง ซึ่งอาจทำให้ผู้โจมตีสามารถดึงเงินคริปโทเคอร์เรนซีจากกระเป๋าเงินของผู้ใช้งานได้
ข้อมูลที่มีจนถึงตอนนี้
- เวอร์ชันที่ได้รับผลกระทบ
- เวอร์ชัน 1.95.6 และ 1.95.7 ของไลบรารี @solana/web3.js บน npm
- พฤติกรรมที่เป็นอันตราย: โค้ดที่ถูกฝังจะดักจับ private key และส่งไปยังที่อยู่ที่กำหนดไว้ล่วงหน้า
- กระเป๋าเงินที่เชื่อมโยง: พฤติกรรมดังกล่าวถูกติดตามไปยังที่อยู่ Solana 'FnvLGtucz4E1ppJHRTev6Qv4X7g8Pw6WPStHCcbAKbfx'
- สาเหตุ: คาดว่าเกิดจากการโจมตีด้วยวิธีการ social engineering และฟิชชิง ที่มุ่งเป้าไปที่ผู้ดูแลไลบรารีโอเพนซอร์ส Web3.js อย่างเป็นทางการ ที่ดูแลโดย Solana
ผลกระทบที่อาจเกิดขึ้น
- นักพัฒนาที่รวมเวอร์ชันเหล่านี้เข้ากับโปรเจ็กต์ของตนมีความเสี่ยงที่จะถูกเปิดเผย private key ของตน
- ผู้ใช้งานแอปพลิเคชันที่ใช้ไลบรารีที่ถูกโจมตีอาจถูกดึงเงินจากกระเป๋าของตนหาก private key ถูกเปิดเผย
การดำเนินการทันทีสำหรับนักพัฒนา
- ตรวจสอบ Dependencies: ตรวจสอบโปรเจ็กต์ของคุณว่าใช้ @solana/web3.js หรือไม่ และใช้งานเวอร์ชัน 1.95.6 หรือเวอร์ชัน1.95.7 หรือไม่
- ย้อนกลับ หรืออัปเดต: Downgrade เวอร์ชันลงไปยังเวอร์ชันที่ปลอดภัยก่อนหน้า 1.95.6 หรืออัปเดตเป็นเวอร์ชัน 1.95.8 ซึ่งได้ถูกปล่อยออกมาเพื่อลบโค้ดอันตรายที่ถูกฝัง
- ตรวจสอบโค้ด: ตรวจสอบไดเรกทอรี node_modules และโครงสร้างของ dependencies ด้วยตนเอง เพื่อหาการเปลี่ยนแปลงที่น่าสงสัย
- เพิกถอนการเข้าถึง: สร้างคีย์ใหม่สำหรับคีย์ที่ถูกโจมตี และเพิกถอนสิทธิ์ตามความจำเป็น
วิธีตรวจสอบว่าแอปพลิเคชันของคุณได้รับผลกระทบหรือไม่
คุณสามารถใช้เครื่องมือฟรีของ Socket เพื่อตรวจสอบว่าโค้ดของคุณได้รับผลกระทบหรือไม่
- ติดตั้ง Socket และรันการสแกนด้วย CLI (ใช้คำสั่ง socket scan create) วิธีการนี้คือขั้นตอนง่าย ๆ ที่จะช่วยตรวจสอบว่าโค้ดใน local repository ได้รับผลกระทบหรือไม่
- ติดตั้ง Socket for GitHub ซึ่งจะช่วยตรวจสอบว่า repository ใดในองค์กรกำลังใช้เวอร์ชันที่ได้รับผลกระทบ (โดยจะไม่มีการสแกน repository จนกว่าจะมีการ commit ใหม่ในแต่ละ repository บน branch หลัก)
การอัปเดต
npm ได้ดำเนินการอย่างรวดเร็วในการลบเวอร์ชันที่ได้รับผลกระทบออก
ในโพสต์บน Bluesky นักวิจัยด้านความปลอดภัยบนคลาวด์ 'Christophe Tafani-Dereeper' จาก Datadog ได้แสดงให้เห็นว่า backdoor ใน v1.95.7 รวมถึงฟังก์ชัน "addToQueue" ที่ออกแบบมาเพื่อขโมย private key ใช้ headers ของ CloudFlare ที่ดูเหมือนจะถูกต้อง
Tafani-Dereeper อธิบายว่า "ฟังก์ชันนี้ถูกฝังเข้าไปใน code paths ที่ถูกต้องต่าง ๆ ที่เข้าถึง private key"
Tafani-Dereeper อธิบายว่า "ฟังก์ชันนี้ถูกฝังเข้าไปใน code paths ที่ถูกต้องต่าง ๆ ที่เข้าถึง private key"
เขายังระบุเพิ่มเติมว่า โดเมนที่เกี่ยวข้อง (sol-rpc[.]xyz) ถูกลงทะเบียนเมื่อวันที่ 22 พฤศจิกายน ผ่าน NameSilo และขณะนี้โฮสต์อยู่หลัง CloudFlare แม้ว่าปัจจุบัน C2 จะไม่ทำงานแล้วก็ตาม
ที่มา : socket.dev
You must be logged in to post a comment.