นักวิจัยด้านความปลอดภัยได้ค้นพบเฟรมเวิร์กมัลแวร์ Linux แบบ Cloud-Native ขั้นสูงชื่อ ‘VoidLink’ ซึ่งออกแบบมาเพื่อโจมตีสภาพแวดล้อมคลาวด์โดยเฉพาะ มัลแวร์นี้พัฒนาด้วยภาษา Zig, Go และ C แสดงให้เห็นถึงการพัฒนาอย่างต่อเนื่อง มีเอกสารประกอบที่ครอบคลุม และคาดว่าอาจถูกสร้างขึ้นเพื่อวัตถุประสงค์เชิงพาณิชย์ หรือเป็นเฟรมเวิร์กสำหรับลูกค้า โดยทีมพัฒนาที่ใช้ภาษาจีน มัลแวร์นี้มีความสามารถในการโหลดโค้ด, ฝังตัว, ใช้ Rootkit และปลั๊กอินที่ปรับแต่งมาสำหรับโครงสร้างพื้นฐานสมัยใหม่.
Severity: สูง
System Impact:
- เซิร์ฟเวอร์ Linux ที่รันบนคลาวด์
- สภาพแวดล้อม Kubernetes
- สภาพแวดล้อม Docker
- แพลตฟอร์มคลาวด์: AWS
- แพลตฟอร์มคลาวด์: GCP
- แพลตฟอร์มคลาวด์: Azure
- แพลตฟอร์มคลาวด์: Alibaba
- แพลตฟอร์มคลาวด์: Tencent
- แพลตฟอร์มคลาวด์: Huawei (มีแผนจะเพิ่ม)
- แพลตฟอร์มคลาวด์: DigitalOcean (มีแผนจะเพิ่ม)
- แพลตฟอร์มคลาวด์: Vultr (มีแผนจะเพิ่ม)
Technical Attack Steps:
- การเข้าถึงเริ่มต้น: มัลแวร์ถูกติดตั้งในขั้นตอนหลังการโจมตี (post-exploitation) ไม่ได้ระบุวิธีการเข้าถึงเริ่มต้นที่เฉพาะเจาะจง
- การตรวจสอบสภาพแวดล้อม: หลังจากการติดตั้ง, มัลแวร์จะตรวจสอบว่ากำลังทำงานในสภาพแวดล้อม Docker หรือ Kubernetes และสอบถามข้อมูลเมตาของอินสแตนซ์จากผู้ให้บริการคลาวด์ต่างๆ เช่น AWS, GCP, Azure, Alibaba, Tencent
- การรวบรวมข้อมูลระบบ: เฟรมเวิร์กรวบรวมรายละเอียดระบบ เช่น เวอร์ชันเคอร์เนล, ไฮเปอร์ไวเซอร์, กระบวนการที่ทำงานอยู่, สถานะเครือข่าย และสแกนหา EDRs, มาตรการเสริมความแข็งแกร่งของเคอร์เนล และเครื่องมือตรวจสอบ
- การประเมินความเสี่ยง: คำนวณคะแนนความเสี่ยงตามโซลูชันความปลอดภัยที่ติดตั้งและการตั้งค่าความแข็งแกร่งของระบบ เพื่อให้ผู้โจมตีสามารถปรับพฤติกรรมของมัลแวร์ได้ เช่น ลดความเร็วในการสแกนพอร์ต หรือเพิ่มช่วงเวลาการส่งสัญญาณ
- การสื่อสารกับผู้โจมตี: ใช้โปรโตคอลการสื่อสารหลายรูปแบบ (HTTP, WebSocket, DNS tunneling, ICMP) ห่อหุ้มด้วยเลเยอร์การเข้ารหัสแบบกำหนดเองที่เรียกว่า ‘VoidStream’ เพื่ออำพรางการรับส่งข้อมูลให้คล้ายกับกิจกรรมเว็บหรือ API ปกติ
- การโหลดและเรียกใช้ปลั๊กอิน: ปลั๊กอินของ VoidLink เป็นไฟล์ ELF object ที่โหลดเข้าสู่หน่วยความจำโดยตรง และเรียกใช้ API ของเฟรมเวิร์กผ่าน syscalls เพื่อขยายความสามารถ
- ความสามารถของปลั๊กอิน (ตัวอย่าง): การรวบรวมข้อมูล (ระบบ, ผู้ใช้, กระบวนการ, เครือข่าย), การแจกแจงข้อมูลคลาวด์และคอนเทนเนอร์, การขโมยข้อมูลรับรอง (คีย์ SSH, ข้อมูล Git, โทเค็น, คีย์ API, ข้อมูลเบราว์เซอร์), การเคลื่อนที่ภายในเครือข่าย (shells, port forwarding, tunneling, SSH-based propagation), กลไกการคงอยู่ (LD_PRELOAD, cron jobs, บริการระบบ), การต่อต้านการพิสูจน์หลักฐาน (log wiping, history cleaning, timestomping)
- การปกปิดตัวตน (Rootkit): ใช้โมดูล rootkit เพื่อซ่อนกระบวนการ, ไฟล์, ซ็อกเก็ตเครือข่าย หรือตัว rootkit เอง โดยปรับใช้เทคนิคตามเวอร์ชันเคอร์เนล เช่น LD_PRELOAD, LKMs, หรือ eBPF-based rootkits
- กลไกต่อต้านการวิเคราะห์: มีความสามารถในการตรวจจับดีบักเกอร์, ใช้การเข้ารหัสโค้ดขณะรันไทม์ และทำการตรวจสอบความสมบูรณ์เพื่อตรวจจับการแทรกแซง
- การทำลายหลักฐานตนเอง: หากตรวจพบการแทรกแซง มัลแวร์จะลบตัวเอง และโมดูลต่อต้านการพิสูจน์หลักฐานจะลบบันทึก, ประวัติ shell, บันทึกการเข้าสู่ระบบ และเขียนทับไฟล์ทั้งหมดที่ทิ้งไว้บนโฮสต์อย่างปลอดภัย เพื่อลดร่องรอยการตรวจสอบ
Recommendations:
Short Term:
- ตรวจสอบ Indicators of Compromise (IoCs) ที่ Check Point เผยแพร่ในรายงานฉบับเต็ม และใช้ในการตรวจจับภัยคุกคาม
- ตรวจสอบบันทึกกิจกรรม (logs) ของระบบ Linux และสภาพแวดล้อมคลาวด์อย่างสม่ำเสมอเพื่อหากิจกรรมที่ผิดปกติ โดยเฉพาะการสื่อสารที่เข้ารหัสแบบไม่รู้จัก หรือกิจกรรมของ Rootkit
- บังคับใช้ Multi-Factor Authentication (MFA) และนโยบายรหัสผ่านที่แข็งแกร่งสำหรับการเข้าถึงเซิร์ฟเวอร์คลาวด์และบัญชีผู้ใช้
- จำกัดการเข้าถึง SSH และใช้คีย์ SSH ที่ปลอดภัยพร้อมการจัดการคีย์ที่ดี
- ใช้โซลูชันตรวจจับและตอบสนองสำหรับ Endpoint (EDR) หรือ Cloud Workload Protection Platform (CWPP) ที่สามารถตรวจจับพฤติกรรมที่ผิดปกติบนระบบ Linux และสภาพแวดล้อมคอนเทนเนอร์
- ตรวจสอบและอัปเดตช่องโหว่ความปลอดภัยที่รู้จักในระบบปฏิบัติการ Linux และซอฟต์แวร์ที่เกี่ยวข้องทันที
Long Term:
- ปรับปรุงและแพตช์ระบบปฏิบัติการ Linux, Docker, Kubernetes และแพลตฟอร์มคลาวด์ให้เป็นปัจจุบันอยู่เสมอ เพื่อป้องกันการใช้ช่องโหว่
- ใช้หลักการ Least Privilege (ให้สิทธิ์ขั้นต่ำที่จำเป็น) สำหรับผู้ใช้, กระบวนการ และบริการทั้งหมดในสภาพแวดล้อมคลาวด์
- ประยุกต์ใช้แนวปฏิบัติที่ดีที่สุดด้านความปลอดภัยสำหรับคอนเทนเนอร์และ Kubernetes รวมถึงการสแกนอิมเมจ, การจำกัดทรัพยากร และการตรวจสอบรันไทม์
- ติดตั้งและกำหนดค่าระบบตรวจจับ Rootkit หรือโซลูชันที่สามารถตรวจจับการแก้ไขเคอร์เนลหรือไลบรารีระบบ
- ทำการตรวจสอบความปลอดภัยและทดสอบเจาะระบบ (penetration testing) สำหรับโครงสร้างพื้นฐานคลาวด์อย่างสม่ำเสมอ เพื่อระบุจุดอ่อน
- ฝึกอบรมพนักงานเกี่ยวกับภัยคุกคามทางไซเบอร์, การรักษาความปลอดภัยระบบคลาวด์ และแนวปฏิบัติในการเขียนโค้ดที่ปลอดภัย
- ตรวจสอบและจัดการข้อมูลเมตาของอินสแตนซ์คลาวด์อย่างรัดกุม เพื่อป้องกันการถูกใช้โดยมัลแวร์
- ใช้ Network Segmentation เพื่อจำกัดการเคลื่อนที่ภายในเครือข่ายของมัลแวร์ หากมีการบุกรุก
- ใช้โซลูชัน Anti-Malware ที่รองรับ Linux และสภาพแวดล้อมคลาวด์ที่สามารถตรวจจับมัลแวร์ขั้นสูง
Share this content: