สรุปสั้น

นักวิจัยด้านความปลอดภัยเปิดเผยมัลแวร์ที่เขียนด้วยภาษา Go ซึ่งถูกแจกจ่ายผ่าน Go Modules สองตัวและ Terraform providers สองตัว นับเป็นครั้งแรกที่ผู้ก่อภัยหันมาใช้ registry กลางที่โฮสต์โดย HashiCorp เป็นช่องทางส่งมอบเพย์โหลดมุ่งร้าย โดยบริษัท Aikido ระบุว่ามัลแวร์ชุดนี้มีความทับซ้อนกับแคมเปญชื่อ Graphalgo ที่บริษัท ReversingLabs เคยบันทึกไว้เมื่อเดือนกุมภาพันธ์และเชื่อมโยงกับผู้ก่อภัยจากเกาหลีเหนือ กลุ่มนี้ใช้วิธีติดต่อนักพัฒนาผ่าน LinkedIn และ Facebook หรือประกาศรับงานในฟอรัมโดยแอบอ้างเป็นบริษัท Web3 ที่ไม่มีอยู่จริง แล้วให้ทำแบบทดสอบเขียนโค้ดที่แฝงพฤติกรรมมุ่งร้ายผ่าน dependency

จุดที่น่ากังวลคือมัลแวร์เวอร์ชัน Go นี้ใช้ช่องทางสั่งการและควบคุม (C2) ถึงสองช่องทางพร้อมกัน ทั้งการฝากคำสั่งไว้บนบล็อกเชน (blockchain dead drop) และการสื่อสารผ่าน Slack bot token ทำให้ตรวจจับและตัดวงจรได้ยาก การค้นพบนี้เกิดขึ้นพร้อมกับการพบชุดแพ็กเกจ npm มุ่งร้ายอีกระลอกที่ปล่อยภัยคุกคามเดียวกัน และคำเตือนจากโครงการ Rust เรื่องแคมเปญหลอกสัมภาษณ์งานที่พุ่งเป้าสมาชิกและเจ้าของ crate ยอดนิยม ผู้เชี่ยวชาญเตือนว่า Terraform registry อาจเป็นช่องทางแพร่มัลแวร์ช่องทางถัดไปที่กลุ่มนี้จะนำมาใช้ในวงกว้าง

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 23 กันยายน 2569 ว่านักวิจัยได้เปิดโปงมัลแวร์ Go ที่ถูกแจกจ่ายผ่าน Go Modules และ Terraform providers เป็นครั้งแรก โดยบริษัท Aikido ระบุรายชื่อแพ็กเกจที่เกี่ยวข้อง ได้แก่ Terraform providers gocommunity-io/dockerd (222 ดาวน์โหลด) และ kreuzwenker/docker (1,449 ดาวน์โหลด) พร้อม Go modules gocommunity.io/orderedbtree และ gogets.dev/btreex การใช้ Terraform providers เป็นช่องทางแพร่มัลแวร์ถือเป็นกลยุทธ์ใหม่ เพราะเปิดทางลัดเข้าถึง credential ของระบบ production ที่สำคัญได้โดยตรง

North Korean hackers use malicious Terraform providers to deliver Go malware via HashiCorp Registry

การค้นพบครั้งนี้เกิดขึ้นพร้อมกับการระบุแพ็กเกจ npm มุ่งร้ายอีกชุดที่ปล่อยภัยคุกคามเดียวกัน ซึ่งบริษัท Checkmarx, JFrog และ SafeDep ช่วยกันตรวจพบ เช่น indexed-btree, mathsbase, mathmain, crypto-hasher, graphlib-js และอื่น ๆ โดยบริษัท JFrog อธิบายว่าเพย์โหลดจะถอดรหัสก็ต่อเมื่อเหยื่อแก้ระบบสมการเชิงเส้นด้วยเมทริกซ์ที่กำหนดไว้เท่านั้น รับคำสั่งจาก smart contract บนเครือข่ายทดสอบ Ethereum Sepolia และเปิดช่องทางสั่งการที่สองผ่าน Slack พร้อมปั่นยอดดาวน์โหลดปลอมด้วยฟาร์ม GitHub Actions เพื่ออำพรางตัว นาย Karlo Zanki นักวิจัยจากบริษัท Socket ให้สัมภาษณ์กับ The Hacker News ว่า Graphalgo ยังคงยึดแนวทางเดิมคือใช้การสัมภาษณ์งานปลอมเป็นช่องทางเข้าถึงเบื้องต้น

นอกจากนี้ยังไม่ใช่ครั้งแรกที่ผู้ก่อภัยเกาหลีเหนือใช้ Terraform เป็นเครื่องมือแพร่มัลแวร์ เพราะเมื่อสัปดาห์ก่อนบริษัท SentinelOne เพิ่งเปิดเผยว่ากลุ่มกิจกรรมรหัส TraderTraitor อาศัยไฟล์ Terraform lock ที่ถูกดัดแปลงเพื่อส่งมอบ backdoor ที่เขียนด้วยภาษา Rust จาก registry ที่กลุ่มควบคุมเอง นาย Zanki ระบุว่ายังเร็วเกินไปที่จะฟันธงว่ากลุ่มเกาหลีเหนือใช้ Terraform registry เป็นกลยุทธ์แพร่มัลแวร์ใหม่อย่างเป็นทางการ แต่การปรากฏในสองแคมเปญที่เชื่อมโยงกับผู้ก่อภัยกลุ่มนี้ในเวลาไล่เลี่ยกันทำให้โอกาสที่จะเป็นเรื่องบังเอิญมีน้อยลง

วิธีการโจมตี

มัลแวร์เวอร์ชัน Go เป็นการพอร์ตมาจากเวอร์ชัน npm โดยใช้โครงสร้างพื้นฐานทั้งบล็อกเชนและ Slack ร่วมกัน เมื่อทำงานครั้งแรกมันจะเก็บข้อมูลระบบ เช่น คุณสมบัติของฮาร์ดแวร์ ระบบปฏิบัติการ และชื่อโฮสต์ แล้วส่งไปยังช่อง Slack ที่ผู้โจมตีควบคุมผ่าน API จากนั้นตามคำอธิบายของนาย Oliver Smith นักวิจัยด้านความปลอดภัย มัลแวร์จะสร้างคู่กุญแจสาธารณะ-ส่วนตัวแบบชั่วคราว (ephemeral key pair) และผสมกับกุญแจสาธารณะของผู้ก่อภัยสองดอกเพื่อสร้าง shared key ทำให้สื่อสารกับเครื่องที่ติดเชื้อได้โดยไม่เปิดเผยการสื่อสาร C2 และไม่รั่วไหลข้อความข้ามเครื่องเหยื่อ

ฝั่งช่องทางบล็อกเชน มัลแวร์จะดึงข้อมูลจาก smart contract บนเครือข่ายทดสอบ Arbitrum Sepolia ผ่านที่อยู่ contract ที่ฝังไว้ (hard-coded) และวนถามหาคำสั่งที่เข้ารหัสทุกสามวินาที ก่อนนำคำสั่งไปรันเป็นโค้ด Go หรือ JavaScript ส่วนช่องทาง Slack มัลแวร์จะเรียก endpoint conversations.history ทุกสิบวินาทีและทำงานตามชนิดของแพ็กเก็ต (start เพื่อเริ่มถ่ายโอนไฟล์, chunk เพื่อส่งเนื้อไฟล์ และ end เพื่อประกอบชิ้นส่วน) นาย Smith ชี้ว่านี่คือการติดตั้ง blockchain dead drop ที่ซับซ้อนอย่างน่าทึ่ง เพราะผสานการสื่อสารสองทิศทางเข้ากับความเสี่ยงในการรั่วไหลข้อมูลหรือถูกตัดวงจรที่ต่ำมาก อย่างไรก็ตามเพย์โหลดชั้นสุดท้ายยังคงถูกเข้ารหัสด้วยวิทยาการเข้ารหัสแบบอสมมาตร ทำให้นักวิจัยกู้ตัว implant ได้ แต่ไม่สามารถระบุได้ว่าผู้ปฏิบัติการสั่งงานอะไรบนเครื่องเหยื่อ

ผลกระทบ

การขยายช่องทางแพร่มัลแวร์จาก npm และ PyPI มาสู่ Terraform registry และ Go module registry สะท้อนว่าผู้ก่อภัยเกาหลีเหนือกำลังปรับตัวเข้าหาระบบนิเวศของนักพัฒนาและทีม DevOps โดยตรง Terraform providers อันตรายเป็นพิเศษเพราะมักถูกรันด้วยสิทธิ์สูงในไปป์ไลน์ที่ถือ credential ของระบบคลาวด์และ production ทำให้การเจาะเพียงจุดเดียวลุกลามไปทั้งโครงสร้างพื้นฐานได้ ผู้ที่ตกเป็นเป้ายังคงเป็นนักพัฒนา ผู้เชี่ยวชาญไอที และผู้ใช้คริปโทเคอร์เรนซี บล็อกเชน และ Web3 ทั่วโลก ผ่านกลลวงสัมภาษณ์งานปลอมที่กลุ่มนี้ใช้ซ้ำมาต่อเนื่อง การพึ่ง C2 บนบล็อกเชนสาธารณะยังทำให้การ takedown ทำได้ยาก เพราะไม่มีเซิร์ฟเวอร์กลางให้ปิด

คำแนะนำ

ทีมพัฒนาและทีม DevOps ควรตรวจสอบที่มาของ Terraform providers, Go modules และแพ็กเกจ npm ก่อนนำเข้าไปใช้ โดยเฉพาะแพ็กเกจใหม่หรือที่มียอดดาวน์โหลดผิดปกติ (ซึ่งอาจถูกปั่นด้วย GitHub Actions) ควร pin เวอร์ชันและตรวจ checksum ของ provider ทุกตัว รวมถึงจำกัดสิทธิ์และแยก credential ที่ใช้ในไปป์ไลน์ CI/CD ไม่ให้ provider เข้าถึง secret ของ production ได้ทั้งหมด ควรรันโค้ดหรือแบบทดสอบจากภายนอกในสภาพแวดล้อมแยก (sandbox หรือ container) เท่านั้น และเฝ้าระวังการเชื่อมต่อขาออกที่ผิดปกติ เช่น การเรียก API ของ Slack ที่ไม่เกี่ยวข้องกับงาน หรือการติดต่อ RPC ของเครือข่ายทดสอบบล็อกเชน สำคัญที่สุดคือให้ความรู้ทีมงานเรื่องกลลวงสัมภาษณ์งานปลอม เปิดใช้ multi-factor authentication (MFA) และตรวจสอบบัญชีว่ามีการล็อกอินที่ผิดปกติหรือไม่

แหล่งอ้างอิง