Cryptominer ELFs ใช้ MSR เพื่อเพิ่มกระบวนการขุด

Cryptominer ELFs ใช้ MSR เพื่อเพิ่มกระบวนการขุด
ทีมวิจัยภัยคุกคามของ Uptycs สังเกตเห็น Golang-based worm ปล่อยไบนารี cryptominer ซึ่งใช้ไดรเวอร์ MSR (Model Specific Register) เพื่อปิดใช้งานการดึงข้อมูลล่วงหน้าของฮาร์ดแวร์ (Hardware Prefetcher) และเพิ่มความเร็วของกระบวนการขุดขึ้น 15%
The Golang-based worm ซึ่งมุ่งเป้าการโจมตีไปยังเป้าหมายเซิร์ฟเวอร์ *nix ที่มีช่องโหว่ โดยใช้ประโยชน์จากช่องโหว่ของเว็บเซิร์ฟเวอร์ที่เป็นที่นิยม เพื่อแพร่กระจายตัวเอง และตัวขุดที่ฝังตัว worm สายพันธุ์ใหม่ซึ่งถูกตรวจจับได้ในเดือนมิถุนายน พ.ศ. 2564 โดยระบบ Threat Intelligence แม้ว่าฟังก์ชันการทำงานบางอย่างจะคล้ายกับมัลแวร์ที่บริษัทรักษาความปลอดภัย Intezer กล่าวถึงเมื่อปีที่แล้ว แต่มัลแวร์รุ่นใหม่นี้ก็มีฟังก์ชันที่มากกว่าเดิม
ข้อมูลต่อไปนี้จะให้รายละเอียดเกี่ยวกับการใช้ MSR เพื่อปิดใช้งานการดึงข้อมูลฮาร์ดแวร์ล่วงหน้าในมัลแวร์ cryptomining นอกจากนี้ยังกล่าวถึงเทคนิคใหม่บางอย่างที่ใช้โดยผู้โจมตีใน kill chain เพื่อฝังตัว และติดตั้ง Worm ลงในไดเร็กทอรีที่สำคัญบนเซิร์ฟเวอร์ที่มีช่องโหว่

ตัวดึงข้อมูลฮาร์ดแวร์ (Hardware Prefetcher) และ MSR
ตัวดึงข้อมูลฮาร์ดแวร์ล่วงหน้าเป็นเทคนิคที่โปรเซสเซอร์ใช้ดึงข้อมูลล่วงหน้าโดยพิจารณาจากพฤติกรรมการเข้าถึงที่ผ่านมาโดย Core โปรเซสเซอร์ (หรือ CPU) โดยตัวดึงข้อมูลฮาร์ดแวร์ล่วงหน้า จะเก็บข้อมูลจากหน่วยความจำหลักลงในแคช L2 อย่างไรก็ตาม สำหรับโปรเซสเซอร์แบบมัลติคอร์ การดึงข้อมูลฮาร์ดแวร์ล่วงหน้าอาจส่งผลให้ประสิทธิภาพของระบบโดยรวมลดลง
MSR ในสถาปัตยกรรมโปรเซสเซอร์ใช้เพื่อสลับคุณลักษณะบางอย่างของ CPU และการตรวจสอบประสิทธิภาพของคอมพิวเตอร์ การจัดการกับการ MSR ทำให้สามารถปิดใช้งานการดึงข้อมูลฮาร์ดแวร์ล่วงหน้าได้

ซอฟต์แวร์ขุดเหรียญคริปโตใช้ MSR เพื่อปิดใช้งานการดึงข้อมูลฮาร์ดแวร์ล่วงหน้า
ซอฟต์แวร์ขุดเหรียญคริปโตที่ทำงานด้วยสิทธิ์ของ Root สามารถปิดใช้งานตัวดึงข้อมูลล่วงหน้าได้ สิ่งนี้ทำเพื่อเพิ่มประสิทธิภาพการดำเนินการขุดเหรียญ ซึ่งจะเป็นการเพิ่มความเร็วของกระบวนการขุด โดยมีการตรวจพบจากการขุดเหรียญ Xmrig โดยระบบ Threat Intelligence ซึ่งใช้ MSR เพื่อปิดการใช้งานตัวดึงข้อมูลฮาร์ดแวร์ล่วงหน้า
นักขุด Xmrig ใช้อัลกอริทึม RandomX สร้างโปรแกรมที่ไม่ซ้ำกันหลายโปรแกรม ซึ่งสร้างขึ้นโดยข้อมูลที่เลือกจากชุดข้อมูลที่สร้างจากแฮชของบล็อกคีย์ รหัสที่จะเรียกใช้ภายใน VM ถูกสร้างขึ้นแบบสุ่มและแฮชผลลัพธ์จะถูกใช้ในการทำงาน
เนื่องจากโปรแกรม RandomX ทำงานใน VM การดำเนินการนี้จึงมักใช้หน่วยความจำมาก ดังนั้น ตัวขุดจะปิดใช้งานตัวดึงข้อมูลฮาร์ดแวร์ล่วงหน้าโดยใช้ MSR ตามเอกสารของ Xmrig การปิดใช้งานตัวดึงข้อมูลฮาร์ดแวร์ล่วงหน้าจะเพิ่มความเร็วได้มากถึง 15%
นักขุดเหมืองใช้คำสั่ง modprobe msr เพื่อโหลดไดรเวอร์ msr (ดังรูปที่ 1)
รูปที่ 1: คำสั่งที่ใช้โหลดไดรเวอร์ msr

(more…)