XZ Utils ถูกฝัง Backdoor ช่องโหว่ร้ายแรงที่เกือบทำลายระบบ Linux ทั่วโลก

โลกไซเบอร์ต้องสั่นสะเทือนเมื่อนักพัฒนาจาก Microsoft ค้นพบการโจมตีแบบ Supply Chain Attack (การโจมตีผ่านห่วงโซ่อุปทานซอฟต์แวร์) ที่มีความซับซ้อนและแนบเนียนที่สุดครั้งหนึ่ง โดยมีการแอบฝัง Backdoor หรือประตูหลังสำหรับเข้าถึงระบบโดยไม่ได้รับอนุญาต ไว้ใน XZ Utils ซึ่งเป็นเครื่องมือบีบอัดข้อมูลแบบ Open Source ที่ถูกใช้งานอย่างแพร่หลายในระบบปฏิบัติการ Linux และ Unix-like เกือบทุกเวอร์ชัน

เหตุการณ์นี้เกือบจะกลายเป็นฝันร้ายระดับโลก เพราะผู้ไม่หวังดีใช้เวลาวางแผนนานหลายปีเพื่อแทรกซึมเข้าสู่กระบวนการพัฒนา จนเกือบจะถูกนำไปรวมเข้ากับ Linux Distribution ยักษ์ใหญ่อย่าง Debian และ Red Hat หากไม่มีการสังเกตเห็นความผิดปกติโดยบังเอิญ

XZ Utils คืออะไรและสำคัญอย่างไร?

XZ Utils คือซอฟต์แวร์ที่ทำหน้าที่บีบอัดและคลายบีบอัดข้อมูลแบบไม่สูญเสียรายละเอียด (Lossless Data Compression) ซึ่งมีความสำคัญอย่างยิ่งต่อการทำงานพื้นฐานของระบบปฏิบัติการตระกูล Unix และ Linux นอกจากนี้ยังรองรับรูปแบบไฟล์รุ่นเก่าอย่าง .lzma ทำให้มันกลายเป็นส่วนประกอบหลักที่ระบบส่วนใหญ่ขาดไม่ได้

ลำดับเหตุการณ์การค้นพบช่องโหว่

จุดเริ่มต้นของการเปิดโปงครั้งนี้มาจาก Andres Freund วิศวกรจาก Microsoft ที่กำลังตรวจสอบปัญหาประสิทธิภาพของระบบ Debian ซึ่งพบว่าการล็อกอินผ่าน SSH (Secure Shell - โปรโตคอลสำหรับการเข้าถึงเครื่องคอมพิวเตอร์ระยะไกล) ใช้ทรัพยากร CPU สูงผิดปกติ และเกิดข้อผิดพลาดเมื่อใช้ valgrind ซึ่งเป็นเครื่องมือตรวจสอบการใช้หน่วยความจำ

จากการตรวจสอบอย่างละเอียด Freund พบว่าต้นเหตุมาจากตัวอัปเดตของ XZ Utils ที่ถูกดัดแปลงอย่างจงใจเพื่อสร้างช่องทางลับให้ผู้โจมตีเข้าถึงระบบได้ ซึ่งความซับซ้อนของการโจมตีครั้งนี้ถูกเปรียบเทียบว่าอาจสร้างความเสียหายได้มากกว่าเหตุการณ์ SolarWinds ในปี 2020 เสียอีก

กลไกการทำงานของ Backdoor: จากตัวบีบอัดสู่การควบคุม SSH

ในเวอร์ชัน 5.6.0 และ 5.6.1 ของ XZ Utils มีการใส่โค้ดอันตรายที่เข้าไปดัดแปลงการทำงานของ sshd (ไฟล์ที่ใช้จัดการการเชื่อมต่อ SSH) โดยผู้ที่มีกุญแจเข้ารหัสลับ (Private Key) ที่ถูกต้อง จะสามารถส่งโค้ดคำสั่งใดๆ ก็ได้ผ่านใบรับรองการล็อกอิน SSH เพื่อสั่งการเครื่องเป้าหมายจากระยะไกล ซึ่งอาจนำไปสู่การขโมยข้อมูลสำคัญหรือการติดตั้งมัลแวร์

ทำไมซอฟต์แวร์บีบอัดข้อมูลถึงควบคุม SSH ได้?

โดยปกติ OpenSSH จะไม่ได้เชื่อมต่อกับไลบรารี liblzma โดยตรง แต่ใน Linux Distribution อย่าง Debian มีการปรับแต่งให้ sshd เชื่อมต่อกับ systemd (โปรแกรมจัดการบริการเริ่มต้นของระบบ) และเนื่องจาก systemd เชื่อมต่อกับ liblzma อยู่แล้ว จึงทำให้ XZ Utils สามารถส่งอิทธิพลและเข้าควบคุมการทำงานของ sshd ได้ในที่สุด

แผนการระยะยาวและการใช้จิตวิทยาทางสังคม (Social Engineering)

การโจมตีครั้งนี้ไม่ใช่เรื่องบังเอิญ แต่เป็นการวางแผนที่ใช้เวลานานหลายปี โดยมีบุคคลที่ใช้นามแฝงว่า JiaT75 (หรือ Jia Tan) เริ่มสร้างตัวตนในโลก Open Source ตั้งแต่ปี 2021 โดยเริ่มจากการส่งโค้ดที่ลดความปลอดภัยในโปรเจกต์ libarchive ซึ่งไม่มีใครสังเกตเห็น

ต่อมาในปี 2022 JiaT75 และกลุ่มคนที่ดูเหมือนจะเป็นหน้าม้า (Sockpuppets) เช่น Jigar Kumar ได้ร่วมกันกดดัน Lasse Collin ผู้ดูแล XZ Utils ให้รับนักพัฒนาเพิ่ม โดยอ้างว่า Collin อัปเดตซอฟต์แวร์ช้าเกินไป จนในที่สุด Jia Tan ก็ได้รับความไว้วางใจให้เข้ามาดูแลโปรเจกต์ และเริ่มดำเนินการดังนี้:

  • เปลี่ยนข้อมูลติดต่อใน oss-fuzz (เครื่องมือสแกนช่องโหว่) ให้เป็นของตนเอง
  • สั่งปิดฟังก์ชัน ifunc ระหว่างการทดสอบ เพื่อหลบเลี่ยงการตรวจพบโค้ดอันตราย
  • ปล่อยเวอร์ชัน 5.6.0 และ 5.6.1 ที่ฝัง Backdoor และพยายามผลักดันให้ Ubuntu, Red Hat และ Debian นำไปใช้งาน

ข้อเท็จจริงสำคัญ

  • รหัสช่องโหว่: CVE-2024-3094
  • เวอร์ชันที่ได้รับผลกระทบ: XZ Utils 5.6.0 และ 5.6.1
  • เป้าหมายหลัก: ระบบที่ใช้สถาปัตยกรรม amd64 (Intel x86 64-bit) บน Debian หรือ RPM package
  • วิธีการโจมตี: ใช้การดัดแปลงฟังก์ชันใน glibc เพื่อสร้าง Hook ในกระบวนการ /usr/bin/sshd
  • ผลกระทบ: อนุญาตให้ผู้โจมตีที่มีกุญแจลับสามารถรันคำสั่งระยะไกล (RCE) ได้อย่างสมบูรณ์
สรุปรายละเอียดการโจมตี XZ Utils Backdoor
หัวข้อ รายละเอียด
ประเภทการโจมตี Supply Chain Attack / Social Engineering
ซอฟต์แวร์เป้าหมาย XZ Utils (liblzma)
จุดอ่อนที่ถูกใช้ การเชื่อมต่อระหว่าง sshd → systemd → liblzma
ผู้ค้นพบ Andres Freund (Microsoft)
สถานะปัจจุบัน ตรวจพบและมีการออกคำเตือนให้ถอนการติดตั้งเวอร์ชันที่มีปัญหา

คำถามที่พบบ่อย

เครื่องของฉันติด Backdoor นี้หรือไม่?

คุณสามารถตรวจสอบได้ผ่านเครื่องมือจากบริษัทความปลอดภัย เช่น Binarly ที่ใช้การวิเคราะห์พฤติกรรมของ IFUNC หรือใช้โปรเจกต์ xzbot เพื่อตรวจสอบความผิดปกติของระบบ

ใครคือ Jia Tan?

ปัจจุบันยังไม่ทราบตัวตนที่แท้จริง เป็นเพียงนามแฝงที่สร้างขึ้นเพื่อแทรกซึมเข้าสู่โปรเจกต์ Open Source หลายแห่ง โดยยังไม่แน่ชัดว่าเป็นบุคคลจริงหรือกลุ่มบุคคลที่สร้างตัวตนปลอมขึ้นมา

หากใช้ Linux เวอร์ชันอื่นที่ไม่ใช่ Debian หรือ Red Hat จะปลอดภัยไหม?

แม้การโจมตีจะพุ่งเป้าไปที่ Debian และ RPM package เป็นหลัก แต่เนื่องจาก XZ Utils ถูกใช้ในหลายระบบ จึงควรตรวจสอบเวอร์ชันของ XZ Utils ในเครื่อง หากเป็น 5.6.0 หรือ 5.6.1 ให้รีบอัปเดตหรือดาวน์เกรดทันที

Backdoor นี้ทำงานอย่างไรในเชิงเทคนิค?

มันใช้เทคนิคการโหลด 5 ขั้นตอน (Five-stage loader) เพื่อซ่อนตัวเอง และจะทำงานเมื่อมีการตรวจสอบ Public Key ของ SSH หาก Key ตรงกับรูปแบบที่กำหนดไว้ มันจะถอดรหัสคำสั่งลับและส่งต่อไปยังระบบโดยตรงโดยไม่ต้องผ่านการตรวจสอบสิทธิ์ปกติ