มัลแวร์ Perfctl
ซอฟต์แวร์คุกคามจำนวนมากได้แพร่ระบาดไปยังระบบที่ใช้ระบบปฏิบัติการ Linux หลายพันระบบ ซอฟต์แวร์นี้โดดเด่นด้วยวิธีการที่ซ่อนเร้น การกำหนดค่าผิดพลาดจำนวนมากที่สามารถใช้ประโยชน์ได้ และการกระทำที่เป็นอันตรายมากมายที่ซอฟต์แวร์ตัวนี้สามารถทำได้
ภัยคุกคามนี้ตรวจพบครั้งแรกในปี 2021 โดยใช้ประโยชน์จากการกำหนดค่าผิดพลาดที่พบได้ทั่วไปกว่า 20,000 รายการเพื่อแทรกซึมเข้าสู่ระบบ ก่อให้เกิดความเสี่ยงต่ออุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ตหลายล้านเครื่อง นอกจากนี้ ภัยคุกคามนี้ยังใช้ประโยชน์จาก CVE-2023-33426 ซึ่งเป็นช่องโหว่ร้ายแรงที่มีคะแนนความรุนแรงสูงสุด 10 ซึ่งได้รับการแก้ไขเมื่อปีที่แล้วใน Apache RocketMQ ซึ่งเป็นแพลตฟอร์มการส่งข้อความและสตรีมมิ่งที่ใช้กันอย่างแพร่หลายในระบบ Linux
สารบัญ
มัลแวร์ Perfctl มีความสามารถที่เป็นอันตรายมากมาย
Perfctl ได้ชื่อมาจากส่วนประกอบที่เป็นอันตรายซึ่งแอบขุดสกุลเงินดิจิทัล นักพัฒนาซึ่งยังไม่ทราบตัวตน ได้รวมชื่อของเครื่องมือตรวจสอบประสิทธิภาพการทำงานของ Linux ว่า 'perf' เข้ากับ 'ctl' ซึ่งเป็นตัวย่อทั่วไปในยูทิลิตี้บรรทัดคำสั่ง คุณสมบัติที่โดดเด่นของ Perfctl คือการใช้ชื่อกระบวนการและไฟล์ที่คล้ายกับชื่อที่พบโดยทั่วไปในสภาพแวดล้อม Linux ทำให้สามารถหลีกเลี่ยงการตรวจจับโดยผู้ใช้ที่ได้รับผลกระทบได้
เพื่อปกปิดการมีอยู่ของมันให้มากขึ้น Perfctl ใช้กลวิธีแอบแฝงต่างๆ หนึ่งในนั้นก็คือการติดตั้งส่วนประกอบต่างๆ มากมายเป็นรูทคิท ซึ่งเป็นมัลแวร์ประเภทหนึ่งที่ออกแบบมาเพื่อซ่อนตัวจากระบบปฏิบัติการและเครื่องมือการดูแลระบบ กลยุทธ์การหลบเลี่ยงเพิ่มเติมได้แก่:
- หยุดกิจกรรมที่ตรวจจับได้ง่ายเมื่อผู้ใช้เข้าสู่ระบบใหม่
- การใช้ซ็อกเก็ต Unix บน TOR สำหรับการสื่อสารภายนอก
- การลบไบนารีการติดตั้งหลังจากดำเนินการและทำงานเป็นบริการพื้นหลังในภายหลัง
- การจัดการกระบวนการ Linux pcap_loop โดยใช้เทคนิคที่เรียกว่า hooking เพื่อป้องกันไม่ให้เครื่องมือการดูแลระบบบันทึกการรับส่งข้อมูลที่เป็นอันตราย
- การระงับข้อผิดพลาดของ mesg เพื่อหลีกเลี่ยงการแจ้งเตือนที่มองเห็นได้ในระหว่างการดำเนินการ
Perfctl ได้รับการออกแบบมาให้คงอยู่ได้ โดยให้ Perfctl ยังคงอยู่ในเครื่องที่ติดไวรัสได้แม้จะรีบูตหรือพยายามกำจัดส่วนประกอบหลักก็ตาม Perfctl ทำได้โดยใช้เทคนิคต่างๆ เช่น การแก้ไขสคริปต์ ~/.profile ซึ่งจะเริ่มต้นสภาพแวดล้อมในระหว่างที่ผู้ใช้ล็อกอิน ทำให้มัลแวร์โหลดได้ก่อนที่กระบวนการเซิร์ฟเวอร์จะถูกดำเนินการ นอกจากนี้ Perfctl ยังคัดลอกตัวเองไปยังตำแหน่งดิสก์หลายตำแหน่งจากหน่วยความจำ การเชื่อมต่อ pcap_loop ยังช่วยเพิ่มความคงอยู่ได้อีกโดยอนุญาตให้กิจกรรมที่ไม่ปลอดภัยดำเนินต่อไปได้แม้จะตรวจพบและลบเพย์โหลดหลักแล้วก็ตาม
นอกจากการใช้ทรัพยากรระบบในการขุดสกุลเงินดิจิทัลแล้ว Perfctl ยังแปลงเครื่องที่ติดเชื้อให้กลายเป็นพร็อกซีที่สร้างกำไร ช่วยให้ลูกค้าที่ชำระเงินสามารถส่งต่อการรับส่งข้อมูลทางอินเทอร์เน็ตได้ นักวิจัยด้านความปลอดภัยทางไซเบอร์ยังสังเกตเห็นว่ามัลแวร์ทำหน้าที่เป็นช่องทางเข้าเพื่อติดตั้งมัลแวร์ตระกูลอื่นอีกด้วย
การโจมตีของการติดเชื้อมัลแวร์ Perfctl
หลังจากใช้ประโยชน์จากช่องโหว่หรือการกำหนดค่าผิดพลาด โค้ดที่ใช้ประโยชน์จะดาวน์โหลดเพย์โหลดหลักจากเซิร์ฟเวอร์ที่ถูกบุกรุก ซึ่งถูกเปลี่ยนเป็นช่องทางการแจกจ่ายแบบไม่เปิดเผยตัวตนสำหรับมัลแวร์ ในการโจมตีที่ตรวจสอบ เพย์โหลดถูกตั้งชื่อว่า httpd เมื่อดำเนินการ ไฟล์จะจำลองตัวเองจากหน่วยความจำไปยังตำแหน่งใหม่ในไดเร็กทอรี /temp เรียกใช้เวอร์ชันที่คัดลอกมา ยุติกระบวนการเดิม และลบไบนารีที่ดาวน์โหลดมา
เมื่อย้ายไปยังไดเร็กทอรี /tmp แล้ว ไฟล์จะดำเนินการภายใต้ชื่ออื่นที่เลียนแบบกระบวนการ Linux ที่รู้จัก โดยเฉพาะอย่างยิ่งชื่อ sh ในกรณีนี้ จากนั้นจึงสร้างกระบวนการ Command-and-Control (C2) ในเครื่อง โดยพยายามรับสิทธิ์ของระบบรูทโดยใช้ประโยชน์จาก CVE-2021-4043 ซึ่งเป็นช่องโหว่การยกระดับสิทธิ์ที่ได้รับการแก้ไขในปี 2021 ภายใน Gpac ซึ่งเป็นเฟรมเวิร์กมัลติมีเดียโอเพ่นซอร์สยอดนิยม
จากนั้นมัลแวร์จะคัดลอกตัวเองจากหน่วยความจำไปยังตำแหน่งดิสก์อื่นๆ อีกหลายแห่ง โดยใช้ชื่อที่คล้ายกับไฟล์ระบบทั่วไปอีกครั้ง นอกจากนี้ มัลแวร์ยังติดตั้งรูทคิทพร้อมกับชุดยูทิลิตี้ Linux ที่ใช้กันทั่วไปซึ่งได้รับการดัดแปลงให้ทำงานเป็นรูทคิทพร้อมกับส่วนประกอบการขุด ในบางกรณี มัลแวร์จะติดตั้งซอฟต์แวร์สำหรับ "การขโมยพร็อกซี" ซึ่งหมายถึงการกำหนดเส้นทางการรับส่งข้อมูลอย่างลับๆ ผ่านเครื่องที่ติดเชื้อ โดยปกปิดแหล่งที่มาที่แท้จริงของข้อมูล
เป็นส่วนหนึ่งของการดำเนินการ C2 มัลแวร์จะเปิดซ็อกเก็ต Unix สร้างไดเรกทอรีสองแห่งภายในไดเรกทอรี /tmp และจัดเก็บข้อมูลการทำงานไว้ที่นั่น ข้อมูลนี้รวมถึงเหตุการณ์ของโฮสต์ ตำแหน่งของสำเนา ชื่อกระบวนการ บันทึกการสื่อสาร โทเค็น และข้อมูลบันทึกเพิ่มเติม นอกจากนี้ มัลแวร์ยังใช้ตัวแปรสภาพแวดล้อมเพื่อจัดเก็บข้อมูลที่มีอิทธิพลต่อการดำเนินการและพฤติกรรมของมัลแวร์อีกด้วย
ไฟล์ไบนารีทั้งหมดจะถูกแพ็ก แยกส่วน และเข้ารหัส ซึ่งแสดงให้เห็นถึงความมุ่งมั่นอย่างแน่วแน่ในการหลีกเลี่ยงมาตรการรักษาความปลอดภัยและทำให้ความพยายามในการวิศวกรรมย้อนกลับมีความซับซ้อนมากขึ้น มัลแวร์ใช้กลวิธีหลีกเลี่ยงขั้นสูง เช่น หยุดกิจกรรมเมื่อตรวจพบผู้ใช้ใหม่ในไฟล์ btmp หรือ utmp และยุติมัลแวร์คู่แข่งเพื่อรักษาอำนาจเหนือระบบที่ติดเชื้อ
Perfctl ทำให้อุปกรณ์นับหมื่นเครื่องตกอยู่ในความเสี่ยง
จากการวิเคราะห์ข้อมูลจำนวนเซิร์ฟเวอร์ Linux ที่เชื่อมต่อกับอินเทอร์เน็ตผ่านบริการและแอปพลิเคชันต่างๆ นักวิจัยประเมินว่ามีเครื่องหลายพันเครื่องที่ติดไวรัส Perfctl ผลการค้นพบระบุว่าเครื่องที่มีช่องโหว่ซึ่งยังไม่ได้ติดตั้งแพตช์สำหรับ CVE-2023-33426 หรือมีการกำหนดค่าผิดพลาดนั้นมีจำนวนหลายล้านเครื่อง อย่างไรก็ตาม นักวิจัยยังไม่ได้ประเมินจำนวนสกุลเงินดิจิทัลทั้งหมดที่สร้างขึ้นโดยนักขุดที่ก่ออันตราย
ในการตรวจสอบว่าอุปกรณ์ของตนถูกโจมตีหรือติดไวรัส Perfctl หรือไม่ ผู้ใช้ควรค้นหาตัวบ่งชี้การโจมตีที่ระบุ นอกจากนี้ ควรเฝ้าระวังการใช้งาน CPU ที่เพิ่มขึ้นผิดปกติหรือระบบทำงานช้าลงโดยไม่คาดคิด โดยเฉพาะในช่วงเวลาที่ไม่ได้ใช้งาน