1 คะแนน โดย GN⁺ 2024-04-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

สำรวจแบ็กดอร์ xz (CVE-2024-3094)

  • honeypot: ตรวจจับความพยายามบุกรุกผ่านเซิร์ฟเวอร์ช่องโหว่ปลอม
  • ed448 patch: แพตช์ liblzma.so ให้ใช้กุญแจสาธารณะ ED448 ของตนเอง
  • backdoor format: รูปแบบเพย์โหลดของแบ็กดอร์
  • backdoor demo: CLI สำหรับทริกเกอร์ RCE โดยสมมติว่ารู้กุญแจส่วนตัว ED448

honeypot

  • มีแพตช์ openssh แบบง่ายที่บันทึกทุกความพยายามเชื่อมต่อซึ่งมีกุญแจสาธารณะ N ตรงกับรูปแบบแบ็กดอร์
  • ความพยายามเชื่อมต่อจะแสดงในล็อก sshd ดังนี้

ed448 patch

  • แบ็กดอร์ใช้กุญแจสาธารณะ ED448 ที่ฮาร์ดโค้ดไว้เพื่อตรวจสอบลายเซ็นและถอดรหัสเพย์โหลด
  • หากแทนที่กุญแจนี้ด้วยกุญแจของตนเอง ก็สามารถทริกเกอร์แบ็กดอร์ได้
  • ดาวน์โหลด shared object libxzma ที่มีแบ็กดอร์ฝังอยู่ แล้วรันสคริปต์แพตช์เพื่อแทนที่กุญแจ

backdoor format

  • สามารถทริกเกอร์แบ็กดอร์ได้โดยเชื่อมต่อด้วย SSH certificate และฝังเพย์โหลดไว้ในค่า N ของกุญแจลงนาม CA
  • เพย์โหลดนี้ต้องถูกเข้ารหัสและลงนามด้วยกุญแจ ED448 ของผู้โจมตี
  • โครงสร้างเพย์โหลดเป็นไปตามรูปแบบที่ระบุไว้

backdoor demo

  • แสดงวิธีเชื่อมต่อไปยังเซิร์ฟเวอร์ SSH ที่มีช่องโหว่และรันคำสั่ง id > /tmp/.xz
  • บนเซิร์ฟเวอร์ที่มีช่องโหว่สามารถเฝ้าดูการเรียก system() และสังเกตการรันคำสั่งได้
  • โครงสร้างโปรเซสทรีของ sshd แบบปกติกับโปรเซสทรีที่ผ่านแบ็กดอร์ต่างกัน

ความเห็นของ GN⁺

  • บทความนี้เจาะลึกช่องโหว่แบ็กดอร์ xz ที่ระบุเป็น CVE-2024-3094 และให้ข้อมูลที่เป็นประโยชน์อย่างมากแก่ทั้งนักวิจัยด้านความปลอดภัยและผู้ดูแลระบบ
  • การนำเสนอวิธีตรวจจับและรับมือกับแบ็กดอร์สามารถช่วยปกป้องระบบที่มีช่องโหว่ได้
  • เนื่องจากช่องโหว่ลักษณะนี้สามารถหลบเลี่ยงกลไกความปลอดภัยพื้นฐานของระบบได้ นักพัฒนาซอฟต์แวร์และผู้เชี่ยวชาญด้านความปลอดภัยจึงควรทำความเข้าใจและเตรียมมาตรการป้องกันช่องโหว่ประเภทนี้
  • เครื่องมือหรือโครงการด้านความปลอดภัยอื่นที่มีฟังก์ชันคล้ายกัน ได้แก่ OpenSSH, Fail2Ban และ Snort ซึ่งสามารถเพิ่มชั้นการป้องกันให้ระบบได้
  • บทความนี้ให้รายละเอียดเชิงเทคนิคเกี่ยวกับช่องโหว่ใหม่ ซึ่งอาจช่วยให้ชุมชนด้านความปลอดภัยพัฒนากลยุทธ์การป้องกันที่แข็งแกร่งยิ่งขึ้น

1 ความคิดเห็น

 
GN⁺ 2024-04-02
ความคิดเห็นจาก Hacker News
  • สรุปความคิดเห็นใน Hacker News:
    • ข้อสังเกตที่น่าสนใจเกี่ยวกับช่องโหว่ RCE (Remote Code Execution) ที่ต้องใช้ private key ของผู้โจมตี แก้ไข: เข้าใจลิงก์ผิด และคงคอมเมนต์ต้นฉบับไว้เป็นบันทึก
      • ช่องโหว่นี้ดูจะถูกออกแบบโดยคำนึงถึงความปลอดภัยอย่างน่าประหลาด และในเธรดอีเมลเดียวกันก็พบว่าบุคคลที่คอมมิตแบ็กดอร์ยังเพิ่งมีส่วนร่วมกับเคอร์เนลด้วย

    • ชื่นชมที่ชุมชนแฮกเกอร์ โดยเฉพาะ amlweems สร้างและจัดทำเอกสาร POC (Proof of Concept) ได้อย่างรวดเร็ว แก้ไข: ขั้นต่อไปคือหาวิธีค้นหาดิสทริบิวชันที่มีช่องโหว่ และวิธีเฝ้าติดตามการ probe เชิงรุกต่อเซิร์ฟเวอร์ SSH
      • ชื่นชมการตอบสนองและการวิเคราะห์อย่างรวดเร็วของชุมชน

    • สงสัยว่าเคยลอง PoC กับเครื่องมือตรวจจับพฤติกรรมผิดปกติ เช่น Carbon Black, AWS GuardDuty, SysDig ฯลฯ หรือไม่ และมีโอกาสถูกตรวจจับได้เร็วเพียงใด
      • อยากรู้เกี่ยวกับการทดสอบ PoC กับเครื่องมือตรวจจับพฤติกรรมผิดปกติ

    • ตั้งคำถามว่ามันทำงานได้แม้ไม่มีการเชื่อมต่อ SSH หรือไม่ โดยในรายการสตริงบน GitHub มี "DISPLAY" และ "WAYLAND_DISPLAY" รวมอยู่ด้วย
      • คาดเดาถึงขอบเขตผลกระทบเพิ่มเติมจากการมีอยู่ของสตริงที่ไม่เกี่ยวข้องกับ SSH โดยตรง

    • คำถามเกี่ยวกับการที่ไม่ต้องใช้ openssh.patch ระหว่างรันไทม์ และ liblzma.so.5.6.1 ไปแพตช์ openssh_RSA_verify ตอนถูกโหลดเข้าเมมโมรีได้อย่างไร
      • คำถามเชิงเทคนิคเกี่ยวกับกระบวนการใช้ประโยชน์จากช่องโหว่ในระหว่างรันไทม์

    • ประเด็นที่ว่าการโจมตีที่สำเร็จจะไม่ทิ้งล็อก ทำให้เกิดคำถามว่าผู้โจมตีสามารถรันคำสั่งใดก็ได้โดยไม่ทิ้งล็อกหรือไม่
      • ความกังวลเกี่ยวกับความเป็นไปได้ของการโจมตีโดยไม่สร้างล็อก

    • ความคิดเห็นว่าผู้ดูแลโครงการ xz, OpenSSH และ Linux รับมือกับช่องโหว่นี้อย่างไร และจะป้องกันช่องโหว่ลักษณะนี้ในอนาคตได้อย่างไร
      • สนใจการตอบสนองของผู้ดูแลโครงการและมาตรการป้องกันในอนาคต

    • การอภิปรายเรื่องปฏิบัติการสอดแนมระดับรัฐและแบ็กดอร์ โดยสหรัฐฯ มักชอบการแทรกแซงฮาร์ดแวร์ ขณะที่ประเทศอื่นอย่างอิสราเอลเน้นแบ็กดอร์ซอฟต์แวร์ระยะยาว
      • การวิเคราะห์กลยุทธ์แบ็กดอร์ของแต่ละประเทศ

    • ตั้งคำถามว่าทำไมจึงเลือกใช้ ED448 ทั้งที่โดยทั่วไปมักแนะนำ curve 25519
      • ตั้งข้อสงสัยเกี่ยวกับการเลือกใช้อัลกอริทึมเข้ารหัสเฉพาะตัว