XZ Utils และแผนร้ายของ Jia Tan: บทเรียนราคาแพงจากการโจมตี Software Supply Chain

ในโลกของความปลอดภัยทางไซเบอร์ การโจมตีแบบ Software Supply Chain Attack หรือการลอบฝังโค้ดอันตรายลงในซอฟต์แวร์ที่ได้รับความเชื่อถือและมีการใช้งานอย่างแพร่หลาย ถือเป็นหนึ่งในเทคนิคที่น่ากลัวที่สุด เพราะมันสามารถเปลี่ยนเครื่องมือที่ผู้ใช้ไว้วางใจให้กลายเป็นประตูเปิดรับแฮกเกอร์เข้าสู่ระบบได้อย่างแนบเนียน

เหตุการณ์ล่าสุดที่สร้างความสั่นสะเทือนให้กับชุมชน Open Source คือการค้นพบ Backdoor (ประตูหลังที่แฮกเกอร์สร้างไว้เพื่อเข้าถึงระบบโดยไม่ได้รับอนุญาต) ใน XZ Utils ซึ่งเป็นเครื่องมือบีบอัดข้อมูลที่ถูกติดตั้งอยู่ในระบบปฏิบัติการ Linux หลายเวอร์ชัน หากไม่มีการตรวจพบ แฮกเกอร์ที่มีกุญแจรหัสลับเฉพาะจะสามารถเข้าควบคุมระบบในฐานะผู้ดูแลระบบ (Administrator) และสั่งการใดๆ ก็ได้ตามต้องการ

จุดเริ่มต้นของการค้นพบที่เกือบจะสายเกินไป

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

ผู้ที่อยู่เบื้องหลังแผนการนี้คือบุคคลที่ใช้ชื่อว่า Jia Tan ซึ่งไม่ได้เป็นเพียงผู้ใช้ทั่วไป แต่ไต่เต้าจนกลายเป็นผู้ดูแลหลัก (Lead Steward) ของโปรเจกต์ XZ Utils โดยใช้เวลาสร้างความเชื่อใจยาวนานถึง 2 ปี

Padlock with computer motherboard architecture inside

กลยุทธ์การแทรกซึม: ความอดทนที่น่าสะพรึงกลัว

Jia Tan ใช้ประโยชน์จากธรรมชาติของซอฟต์แวร์ Open Source ที่เปิดให้ใครก็ได้เสนอการแก้ไขโค้ดผ่านแพลตฟอร์มอย่าง GitHub โดยมีขั้นตอนการดำเนินงานดังนี้:

  • สร้างตัวตน: ปรากฏตัวครั้งแรกในเดือนพฤศจิกายน 2021 ภายใต้ชื่อ JiaT75 และเริ่มส่งผลงานในโปรเจกต์ Open Source อื่นๆ เพื่อสร้างประวัติการทำงาน
  • สร้างความน่าเชื่อถือ: เริ่มส่งโค้ดให้ XZ Utils ในเดือนมกราคม 2023 และใช้ท่าทีที่สุภาพ กระตือรือร้น จนได้รับความไว้วางใจจากนักพัฒนาคนอื่นๆ
  • ยึดอำนาจการควบคุม: ใช้กลยุทธ์กดดันผ่านอีเมลจากผู้ใช้ (ซึ่งไม่แน่ชัดว่าเป็นพวกเดียวกันหรือไม่) เพื่อเร่งให้ผู้ดูแลเดิมอย่าง Lasse Collin มอบอำนาจการจัดการโปรเจกต์ให้
  • ฝังระเบิดเวลา: เมื่อมีอำนาจเบ็ดเสร็จ ในเดือนกุมภาพันธ์ 2024 Jia Tan จึงแอบใส่ Backdoor ลงในซอฟต์แวร์อย่างแนบเนียน
Image 12

วิเคราะห์ตัวตน: แฮกเกอร์เดี่ยวหรือปฏิบัติการระดับรัฐ?

ผู้เชี่ยวชาญด้านความปลอดภัยมองว่า Jia Tan ไม่ใช่นักเขียนโปรแกรมอิสระ แต่เป็น Persona หรือตัวตนสมมติที่สร้างขึ้นเพื่อภารกิจนี้โดยเฉพาะ เนื่องจากมีการรักษาความปลอดภัยในการปฏิบัติงาน (Operational Security) ที่สูงมาก ไม่พบร่องรอยอีเมลในฐานข้อมูลที่เคยถูกเจาะ และใช้ VPN ผ่านสิงคโปร์เพื่อปกปิดที่อยู่จริง

Costin Raiu อดีตหัวหน้านักวิจัยจาก Kaspersky ระบุว่าความซับซ้อนของโค้ดและความอดทนในการรอคอยหลายปี บ่งชี้ว่านี่คือการสนับสนุนจาก Nation-State หรือกลุ่มแฮกเกอร์ที่ได้รับการสนับสนุนจากรัฐบาล ซึ่งมีเป้าหมายระยะยาวและมีทรัพยากรเพียงพอที่จะลงทุนในแผนการที่ซับซ้อนเช่นนี้

สรุปข้อสันนิษฐานเกี่ยวกับตัวตนของ Jia Tan
เบาะแส ข้อสันนิษฐาน ข้อโต้แย้ง/ข้อสังเกต
เขตเวลา (Time Zone) จีน หรือ เกาหลีเหนือ (UTC+8) อาจเป็นการตั้งค่าเวลาปลอม เพราะพบการ Commit โค้ดในเวลาของยุโรปตะวันออก
วันหยุด ไม่ใช่คนจีน ยังคงทำงานในวันหยุดสำคัญของจีน แต่หยุดในวันคริสต์มาสและปีใหม่
ความซับซ้อนของโค้ด กลุ่ม APT29 (รัสเซีย) มีรูปแบบการโจมตีที่ประณีตคล้ายกับเหตุการณ์ SolarWinds
การเข้ารหัส (ED448) ไม่ใช่สหรัฐฯ NSA มักใช้การเข้ารหัสที่ทนทานต่อ Quantum Computing ซึ่ง ED448 ไม่ใช่
Image 13

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

  • เป้าหมาย: XZ Utils ซึ่งเป็นไลบรารีบีบอัดข้อมูลที่สำคัญในระบบ Linux
  • วิธีการ: ใช้เวลา 2 ปีในการสร้างความเชื่อใจเพื่อขึ้นเป็นผู้ดูแลโปรเจกต์ก่อนฝัง Backdoor
  • ความเสียหาย: ถูกตรวจพบก่อนที่จะแพร่กระจายไปยังระบบส่วนใหญ่ทั่วโลก
  • ผู้ต้องสงสัย: กลุ่มแฮกเกอร์ระดับรัฐ เช่น APT29 (รัสเซีย), APT41 (จีน) หรือ Lazarus Group (เกาหลีเหนือ)
  • ร่องรอยอื่น: พบการพยายามแก้ไขโค้ดใน libarchive ซึ่งเป็นไลบรารีบีบอัดข้อมูลอีกตัวหนึ่งก่อนหน้านี้

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

Backdoor ใน XZ Utils ทำงานอย่างไร?

มันเป็น Backdoor แบบ "Passive" ซึ่งจะไม่ส่งสัญญาณออกไปยังเซิร์ฟเวอร์ควบคุม แต่จะรอให้แฮกเกอร์เชื่อมต่อเข้ามาผ่าน SSH และใช้กุญแจรหัสลับ (Private Key) ที่สร้างด้วยฟังก์ชัน ED448 เพื่อยืนยันตัวตนและสั่งการระบบ

ทำไมการโจมตีนี้ถึงเกือบประสบความสำเร็จ?

เพราะแฮกเกอร์ไม่ได้ใช้เพียงแค่ทักษะทางเทคนิค แต่ใช้ "วิศวกรรมสังคม" (Social Engineering) ในการสร้างตัวตนที่น่าเชื่อถือและสุภาพ จนนักพัฒนาคนอื่นๆ ยอมมอบอำนาจการควบคุมซอฟต์แวร์ให้โดยไม่สงสัย

เราจะป้องกันการโจมตีแบบ Software Supply Chain ได้อย่างไร?

เป็นเรื่องยากมากเนื่องจากซอฟต์แวร์สมัยใหม่พึ่งพาไลบรารีจากภายนอกจำนวนมาก แนวทางป้องกันคือการตรวจสอบความเปลี่ยนแปลงของโค้ดอย่างเข้มงวด การใช้เครื่องมือวิเคราะห์ความปลอดภัย และการไม่ไว้วางใจการอัปเดตที่ไม่มีการตรวจสอบที่มาอย่างชัดเจน

Jia Tan คือใครกันแน่?

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