กลุ่มนักวิจัยได้แสดงให้เห็น รูทคิท Linux ที่เรียกว่า Singularity ซึ่งถูกจัดการโดย Elastic Security EDR โดยไม่ตรวจพบ แสดงให้เห็นถึงข้อจำกัดที่สำคัญในการตรวจจับระดับเคอร์เนล แนวคิดพิสูจน์นี้ไม่ได้เป็นเพียงทฤษฎีเท่านั้น: มันผสมผสานเทคนิคการบดบังและการหลีกเลี่ยง เพื่อลดสัญญาณที่ปกติจะส่งสัญญาณถึงโมดูลที่เป็นอันตรายให้เหลือศูนย์
การค้นพบนี้สร้างความกังวลให้กับทีมรักษาความปลอดภัยในยุโรป รวมถึงในสเปนด้วย เนื่องจาก โดยทั่วไปแล้ว Elastic จะทริกเกอร์การแจ้งเตือนมากกว่า 26 รายการ กับรูทคิททั่วไป และในกรณีนี้ พวกมันไม่ได้ถูกกระตุ้น งานวิจัยที่ตีพิมพ์เพื่อการศึกษาโดย 0xMatheuZ แสดงให้เห็นว่า วิธีการตามลายเซ็นและรูปแบบ พวกเขาล้มเหลวต่อศัตรูที่พัฒนาวิศวกรรมของพวกเขา
วิธีเอาชนะ Elastic EDR: เทคนิคการหลีกเลี่ยงที่สำคัญ

ข้อได้เปรียบประการแรกของความแปลกประหลาดคือ การบดบังสตริงในเวลาคอมไพล์แบ่งตัวอักษรที่มีความละเอียดอ่อน (เช่น "GPL" หรือ "kallsyms_lookup_name") ออกเป็นชิ้นต่อเนื่องที่คอมไพเลอร์ C สามารถเข้าใจได้ จัดเรียงใหม่โดยอัตโนมัติป้องกันไม่ให้เครื่องสแกน เช่น YARA ค้นหาสตริงที่เป็นอันตรายอย่างต่อเนื่องโดยไม่ต้องเสียสละฟังก์ชันการทำงาน
ควบคู่กันไปก็ใช้ การสุ่มชื่อสัญลักษณ์แทนที่จะใช้ตัวระบุที่คาดเดาได้ เช่น hook_getdents หรือ hide_module มันใช้แท็กทั่วไปที่มีคำนำหน้า พวกมันเลียนแบบเคอร์เนลนั้นเอง (sys, kern, dev) ทำให้เส้นทางของฟังก์ชันที่น่าสงสัยไม่ชัดเจนและยกเลิกกฎการตรวจจับตามชื่อ
การเคลื่อนไหวต่อไปคือ การแบ่งส่วนของโมดูล ในชิ้นส่วนที่เข้ารหัสซึ่งประกอบขึ้นใหม่ในหน่วยความจำเท่านั้น แฟรกเมนต์เหล่านี้ถูกเข้ารหัสด้วย XOR และตัวโหลดใช้ memfd_create เพื่อหลีกเลี่ยงการทิ้งเศษข้อมูลไว้บนดิสก์ เมื่อแทรกเข้าไป จะใช้ การเรียกระบบโดยตรง (รวมถึง finit_module) โดยใช้แอสเซมเบลอร์อินไลน์ หลบเลี่ยงตัวห่อ libc ที่ EDR หลายตัวตรวจสอบ
นอกจากนี้ยังพรางตัว ftrace auxiliaries อีกด้วย: ฟังก์ชันที่ตรวจสอบโดยทั่วไป (เช่น fh_install_hook หรือ fh_remove_hook) คือ เปลี่ยนชื่อในลักษณะกำหนดแน่นอน ด้วยตัวระบุแบบสุ่ม โดยรักษาพฤติกรรมของตนไว้แต่ทำลาย ลายเซ็นยืดหยุ่นที่กำหนดเป้าหมายรูทคิททั่วไป.
ในระดับพฤติกรรม นักวิจัยหลีกเลี่ยงกฎเชลล์ย้อนกลับโดยเขียนเพย์โหลดลงในดิสก์ก่อนแล้วจึงดำเนินการด้วย บรรทัดคำสั่ง “ทำความสะอาด”นอกจากนี้ รูทคิทยังซ่อนกระบวนการที่กำลังทำงานทันทีโดยใช้สัญญาณเฉพาะ ซึ่งทำให้ความสัมพันธ์มีความซับซ้อน ระหว่างเหตุการณ์และกิจกรรมจริง.
ความสามารถและความเสี่ยงของรูทคิทสำหรับสภาพแวดล้อมในยุโรป

นอกเหนือจากการหลบเลี่ยงแล้ว Singularity ยังรวมฟังก์ชันการโจมตีไว้ด้วย: มันสามารถ ซ่อนกระบวนการใน /procการซ่อนไฟล์และไดเร็กทอรีที่เชื่อมโยงกับรูปแบบเช่น "singularity" หรือ "matheuz" และ ปลอมตัวการเชื่อมต่อ TCP (ตัวอย่างเช่น บนพอร์ต 8081) นอกจากนี้ยังเปิดใช้งานการยกระดับสิทธิ์ผ่าน สัญญาณที่กำหนดเองหรือตัวแปรสภาพแวดล้อมและมี ICMP backdoor ที่สามารถเปิดใช้งานเชลล์ระยะไกลได้
โครงการนี้เพิ่มการป้องกันการวิเคราะห์ การบล็อกการติดตาม และ การฆ่าเชื้อบันทึก เพื่อลดเสียงรบกวนจากการตรวจสอบทางนิติวิทยาศาสตร์ ตัวโหลดถูกคอมไพล์แบบคงที่และสามารถทำงานในตำแหน่งที่มีการตรวจสอบน้อยกว่า ซึ่งช่วยเสริมความแข็งแกร่งให้กับห่วงโซ่การดำเนินการซึ่ง โมดูลทั้งหมดไม่เคยสัมผัสดิสก์เลย ดังนั้นการวิเคราะห์แบบคงที่จึงไม่มีข้อมูลเพียงพอ
สำหรับองค์กรในสเปนและส่วนอื่นๆ ของยุโรปที่พึ่งพา Elastic Defend คดีนี้บังคับให้พวกเขาต้อง ตรวจสอบกฎการตรวจจับ และเสริมสร้างการตรวจสอบระดับต่ำ การผสมผสานระหว่างการบดบัง การโหลดหน่วยความจำ และการเรียกใช้งานระบบโดยตรง เผยให้เห็นพื้นผิวที่การควบคุมตามพฤติกรรมยังมีข้อจำกัด พวกเขาไม่ได้จับบริบทเคอร์เนล.
ทีม SOC ควรให้ความสำคัญกับ การตรวจสอบความสมบูรณ์ของเคอร์เนล (ตัวอย่างเช่น การตรวจสอบ LKM และการป้องกันการโหลดโดยไม่ได้รับอนุญาต) รวมการตรวจสอบหน่วยความจำและ ความสัมพันธ์ของสัญญาณ eBPF ด้วยระบบโทรมาตร และใช้การป้องกันเชิงลึกที่ผสมผสานฮิวริสติก ไวท์ลิสต์ การเสริมความแข็งแกร่ง และ การอัปเดตลายเซ็นอย่างต่อเนื่อง.
ในสภาพแวดล้อมที่สำคัญ ขอแนะนำให้เสริมความแข็งแกร่งให้กับนโยบายเพื่อลดพื้นผิวการโจมตี: จำกัดหรือปิดการใช้งานความสามารถในการโหลดโมดูล เสริมความแข็งแกร่งให้กับนโยบายความปลอดภัย และ ความสามารถ (CAP_SYS_MODULE)ตรวจสอบการใช้งาน memfd_create และตรวจสอบความผิดปกติในชื่อสัญลักษณ์ ทั้งหมดนี้โดยไม่ต้องพึ่งพา EDR เพียงอย่างเดียว แต่ด้วยการผสมผสาน การควบคุมหลายชั้น และตรวจสอบซ้ำ
กรณี Singularity แสดงให้เห็นว่าเมื่อเผชิญหน้ากับศัตรูที่ปรับปรุงการบดบังของตนจนสมบูรณ์แบบ ผู้ปกป้องจะต้องพัฒนาไปสู่ เทคนิคการวิเคราะห์เชิงลึก และประสานงาน การตรวจจับภัยคุกคามเคอร์เนลที่เชื่อถือได้เกี่ยวข้องกับการเพิ่มความสมบูรณ์ หน่วยความจำ และความสัมพันธ์ขั้นสูงให้กับ EDR เพื่อลดจุดบอดและยกระดับมาตรฐานความยืดหยุ่น