นักวิจัยด้านความปลอดภัยไซเบอร์จาก ReversingLabs พบว่ามีสองบรรทัดโค้ดอันตรายฝังในอัปเดตสำหรับ ETHCode ซึ่งเป็นเครื่องมือพัฒนาโอเพนซอร์ส Ethereum ที่ใช้งานโดยนักพัฒนาประมาณ 6,000 คน โค้ดอันตรายถูก แทรก ผ่านการขอเปลี่ยนแปลง (pull request) บน GitHub ที่ผ่านการตรวจสอบความปลอดภัยทั้งจาก AI และมนุษย์ก่อนได้รับการแจกจ่ายไปยังระบบนักพัฒนาได้
สิ่งที่ควรรู้:
- แฮ็กเกอร์ที่ไม่มีประวัติบน GitHub มาก่อนแทรกมัลแวร์ใน ETHCode ผ่านการขอเปลี่ยนแปลงจำนวน 43 commit รวม 4,000 บรรทัดที่อัปเดต
- โค้ดอันตรายมีการออกแบบให้ดาวน์โหลดและรันสคริปต์ที่อาจขโมยสินทรัพย์ cryptocurrency หรือละเมิด smart contracts
- ทั้งการตรวจสอบผ่าน AI ของ GitHub และทีมพัฒนาล้มเหลวในการตรวจจับการโจมตีที่ซับซ้อนนี้ ทำให้เกิดความกังวลเกี่ยวกับการรักษาความปลอดภัยแนวปฏิบัติโอเพนซอร์ส
ภาพรวมของการโจมตีผ่านการสืบสวน
การขอเปลี่ยนแปลงโค้ดอันตรายถูกส่งบนวันที่ 17 มิถุนายน โดยผู้ใช้ที่มีชื่อว่า Airez299 ซึ่งไม่มีประวัติการมีส่วนร่วมมาก่อน นักวิจัยจาก ReversingLabs พบว่าผู้โจมตีสามารถซ่อนโค้ดอันตรายได้โดยให้มีชื่อที่คล้ายกับไฟล์ที่มีอยู่แล้วในขณะที่ปิดบังโครงสร้างโค้ดอย่างแท้จริง
บรรทัดแรกของโค้ดอันตรายถูกออกแบบให้รวมเข้ากับไฟล์ที่ถูกต้อง ส่วนบรรทัดที่สองทำหน้าที่เป็นกลไกในการทำงานที่จะสร้างฟังก์ชัน PowerShell ที่ออกแบบมาให้ดาวน์โหลดและรันสคริปต์บรรทัดจากบริการโฮสต์ไฟล์สาธารณะ
ทั้งระบบตรวจสอบ AI อัตโนมัติของ GitHub และสมาชิกของ 7finney กลุ่มที่รับผิดชอบในการดูแล ETHCode ได้วิเคราะห์การอัปเดตโค้ดจำนวนมหาศาล การเปลี่ยนแปลงเพียงเล็กน้อยได้ถูกขอในกระบวนการตรวจสอบ โดยไม่มีรีวิวมนุษย์หรือระบบอัตโนมัติที่ตรวจสอบมัลแวร์ฝังตัวเป็นสิ่งที่น่าสงสัย
ผลกระทบที่อาจเกิดถึงระบบหลายพัน
ETHCode เป็นชุดเครื่องมือที่ครอบคลุมที่ช่วยให้ผู้พัฒนา Ethereum สามารถสร้างและเปิดตัว smart contracts ที่เข้ากันได้กับ Ethereum Virtual Machine การอัปเดตที่ถูกแทรกมัลแวร์จะถูกกระจายอัตโนมัติไปยังระบบผู้ใช้ผ่านกลไกการอัปเดตมาตรฐาน
Petar Kirhmajer นักวิจัยจาก ReversingLabs บอกกับ Decrypt ว่าบริษัทไม่พบหลักฐานว่ามัลแวร์ถูกใช้งานเพื่อขโมยโทเค็นหรือข้อมูล แต่ขอบเขตความสามารถของการโจมตียังคงมีความหมายอย่างมีนัยสำคัญเนื่องจากฐานผู้ใช้ของเครื่องมือ
"การขอเปลี่ยนแปลงโค้ดอาจมีการแพร่กระจายไปถึงระบบนักพัฒนาหลายพัน" Kirhmajer ระบุในบล็อกการวิจัยของเขา ReversingLabs ยังคงสืบสวนหน้าที่จริงของสคริปต์ที่ถูกดาวน์โหลด ดำเนินการภายใต้สมมติฐานว่ามันถูกตั้งใจให้ขโมยสินทรัพย์คริปโตที่เก็บอยู่ในเครื่องของเหยื่อหรือทำลาย smart เงื่อนไขการพัฒนา Ethereum ที่กลุ่มใช้
การโจมตีนี้เป็นรูปแบบการโจมตีโซ่อุปทานที่ซับซ้อนซึ่งใช้ประโยชน์จากความเชื่อมั่นที่มีอยู่ในกระบวนการพัฒนาโอเพนซอร์ส
ผู้เชี่ยวชาญในอุตสาหกรรมเตือนถึงความหมายความเปราะบางที่แพร่หลาย
Zak Cole ผู้ร่วมก่อตั้งกลุ่ม NUMBER และผู้พัฒนา Ethereum เน้นว่าการโจมตีประเภทนี้สื่อถึงความท้าทายด้านความปลอดภัยที่กว้างขึ้นที่เผชิญหน้ากับระบบการพัฒนาคริปโตเคอเรนซี นักพัฒนาจำนวนมากติดตั้งแพ็คเกจโอเพนซอร์สโดยไม่ทำการตรวจสอบความปลอดภัยอย่างละเอียด
"มันง่ายเกินไปที่ใครคนหนึ่งจะแทรกสิ่งที่เป็นภัยเข้าไปได้" Cole บอกกับ Decrypt "อาจจะเป็นแพ็คเกจ npm, การขยายเบราว์เซอร์, อะไรก็ตาม"
การพึ่งพาโอเพนซอร์สอย่างหนักในอุตสาหกรรมคริปโตเคอเรนซีนั้นสร้างพื้นที่โจมตีเพิ่มขึ้นสำหรับผู้ไม่หวังดี Cole ยกตัวอย่างเหตุการณ์ที่เกิดขึ้นเมื่อเร็วๆ นี้รวมถึงการแฮ็ก Ledger Connect Kit ในเดือนธันวาคม 2023 และมัลแวร์ที่พบในไลบรารี web3.js ของ Solana
"มีโค้ดมากเกินไปและคนที่ตรวจสอบไม่พอ" Cole เพิ่มกล่าว "คนส่วนใหญ่คิดว่าอะไรก็ปลอดภัยเพียงเพราะมันเป็นที่นิยมหรืออยู่มานานแล้ว แต่นั่นไม่หมายถึงอะไรเลย"
Cole กล่าวถึงพื้นที่โจมตีที่สามารถเข้าถึงได้เพิ่มขึ้นตามที่นักพัฒนามากขึ้นยอมรับเครื่องมือโอเพนซอร์ส เขายังเน้นถึงความเกี่ยวข้องของผู้โจมตีที่ได้รับการสนับสนุนจากรัฐในลักษณะการโจมตีเหล่านี้
"จำไว้ว่ามีทั้งโกดังที่เต็มไปด้วยเจ้าหน้าที่ DPRK ที่ทำงานเต็มเวลาเพื่อใช้การโจมตีเหล่านี้" Cole กล่าว
ข้อแนะนำด้านความปลอดภัยสำหรับนักพัฒนา
แม้ว่าการโจมตีจะซับซ้อน แต่นักวิชาการเชื่อว่าความสำเร็จในการโจมตียังคงเป็นสิ่งที่หายาก Kirhmajer ประเมินว่า "ความสำเร็จของการพยายามนั้นหายาก" จากประสบการณ์การวิจัยของเขา
ReversingLabs แนะนำให้นักพัฒนายืนยันตัวตนและประวัติการมีส่วนร่วมของผู้ที่มีส่วนร่วมในโค้ดก่อนที่จะดาวน์โหลดหรือใช้งานการอัปเดต บริษัทแนะนำให้ตรวจสอบไฟล์ package.json และการประกาศความพึ่งพาใกล้เคียงเพื่อประเมินความสัมพันธ์ของโค้ดใหม่
Cole แนะนำให้ใช้มาตรการความปลอดภัยเพิ่มเติมรวมถึงการล็อกการพึ่งพาเพื่อป้องกันการรวมรวมโค้ดอัปเดตที่ไม่ได้ทดสอบโดยอัตโนมัติ เขาแนะนำให้นำการตรวจสอบอัตโนมัติมาใช้ที่สามารถตรวจจับพฤติกรรมที่น่าสงสัยหรือโปรไฟล์ผู้ดูแลที่กล้ำกราย
นักพัฒนาควรจะเฝ้าระวังสำหรับแพ็คเกจที่เปลี่ยนเจ้าของทันทีหรือปล่อยการอัปเดตที่ไม่คาดคิด Cole เน้นถึงความสำคัญของการรักษาสภาพแวดล้อมที่แยกจากกันสำหรับกิจกรรมการพัฒนาที่แตกต่างกัน
"อย่าใช้เครื่องมือเซ็นหรือกระเป๋าเงินบนเครื่องเดียวกันที่คุณใช้สร้างงาน" Cole สรุป "แค่คิดว่าไม่มีอะไรปลอดภัยจนกว่าคุณจะตรวจสอบหรือใช้ sandbox กับมันแล้ว"
ข้อคิดปิดท้าย
เหตุการณ์นี้ชี้ให้เห็นถึงความท้าทายด้านความปลอดภัยที่เกิดขึ้นระหว่างการพัฒนาคริปโตเคอเรนซีแบบโอเพนซอร์ส ซึ่งผู้โจมตีที่ซับซ้อนสามารถใช้ประโยชน์จากกลไกความเชื่อถือในการแจกจ่ายมัลแวร์ให้กับระบบนักพัฒนานับพัน ขณะที่ยังไม่มีหลักฐานว่าโค้ดอันตรายถูกใช้งานได้สำเร็จ การโจมตีนี้แสดงถึงความจำเป็นในการเสริมสร้างแนวปฏิบัติด้านความปลอดภัยและกระบวนการตรวจสอบในการพัฒนาคริปโตเคอเรนซี