ไมโครซอฟท์เปิดตัวเครื่องมือวิเคราะห์มัลแวร์แบบ Open Source สามารถตรวจจับมัลแวร์ตระกูล Rust ที่ตรวจจับยากได้





มีมัลแวร์ชนิดหนึ่งที่สร้างปัญหาให้กับระบบตรวจจับภัยไซเบอร์อย่างมาก นั่นคือ มัลแวร์ประเภทที่ถูกเขียนขึ้นบนภาษา Rust แต่ตอนนี้ทางไมโครซอฟท์ได้ออกมาเคลื่อนไหวในระดับที่เรียกว่า ครั้งสำคัญ เพื่อช่วยในการรับมือมัลแวร์ในรูปแบบดังกล่าวแล้ว
จากรายงานโดยเว็บไซต์ Help Net Security ได้กล่าวถึงการที่ทางหน่วยงาน Threat Intelligence Center ซึ่งเป็นหน่วยงานด้านการค้นคว้าวิจัยด้านภัยไซเบอร์ของทางไมโครซอฟท์ ได้ทำการปล่อยเครื่องมือสำหรับการวิเคราะห์มัลแวร์ที่เขียนขึ้นบนภาษา Rust ที่มีชื่อว่า RIFT ซึ่งทางทีมวิจัยได้กล่าวว่า เครื่องมือตัวใหม่นี้จะช่วยให้การวิเคราะห์มัลแวร์ดังกล่าวที่เคยมีความยุ่งยาก ง่ายมากขึ้นไปกว่าเดิม สำคัญ เครื่องมือชนิดนี้ยังเปิดโอกาสในการต่อยอดโดยที่พัฒนาทีมอื่นอีกด้วย เนื่องจากแทนที่จะเป็นเครื่องมือแบบปิด (Closed Source) กลับเป็นการปล่อยให้ใช้แบบ Open Source แทน
ในเชิงเทคนิคนั้น มัลแวร์ที่ถูกเขียนขึ้นบนภาษา Rust นั้นมีความยากในการวิเคราะห์สูงจากใช้การเชื่อมโยงแบบคงที่ (Statically Linked) และฝัง (Embeded) ส่วนของ Dependency ทั้งหมดไว้บนไฟล์สำหรับการรัน (Executable) ตัวเดียว ส่งผลให้ตัวไฟล์มัลแวร์นั้นมีขนาดที่ใหญ่กว่ามัลแวร์ที่ถูกเขียนขึ้นบนภาษาอื่น และมีฟังก์ชันภายในที่มากกว่าด้วย ทำให้การวิเคราะห์ทำได้ยากมากขึ้น และช้าลงอย่างมาก ซึ่งทางทีมวิจัยได้เปรียบเทียบว่า มัลแวร์ที่ถูกเขียนขึ้นบนภาษา C++ นั้น มีฟังก์ชันเพียงแค่ 100 ตัว และมีขนาดเพียง 20KB ขณะที่มัลแวร์ที่เขียนบนภาษา Rust นั้น มีฟังก์ชันมากถึง 10,000 ตัว และมีขนาดใหญ่ถึง 3MB
RIFT ทำงานอย่างไร ?
สำหรับตัวเครื่องมือวิเคราะห์มัลแวร์ RIFT นั้นไม่ใช่เครื่องมือที่บรรจุแบบสำเร็จรูปบนเครื่องมือเดียวแบบ Windows Defender แต่เป็นเครื่องมือย่อย ๆ ที่มีองค์ประกอบอยู่ 3 ส่วน
- Static Analyzer เป็น IDA Pro Plug In สำหรับการอ่านตัวไฟล์สำหรับรันมัลแวร์ (Binary) เพื่อทำการหาข้อมูล Metada, รุ่นของ Rust Compiler ที่มัลแวร์ใช้งาน, แพลตฟอร์มเป้าหมาย, Dependency ที่อยู่ภายในไฟล์ แล้วทำการบันทึกเป็นไฟล์ JSON
- Generator เป็นสคริปท์ Python ที่ใช้ในการค้นหา และดาวน์โหลด Compiler และ Library ที่เหมาะสมเพื่อสร้าง FLIRT (Fast Library Identification and Recognition Technology หรือ เทคโนโลยีในการตรวจ Library ซึ่งใช้ในการตรวจหาฟังก์ชันภายในไฟล์) Signature และวิเคราะห์ด้วยวิธี Binary Diffing
- Diff Applier เป็น IDA Pro Plug In อีกตัวหนึ่งที่ทำหน้าที่ในการอ่านค่า Diff จากการทำ Binary Diffing และค่า FLIRT Signatures ที่เกิดขึ้นจากขั้นตอนก่อน พร้อมสร้างคำอธิบายประกอบ (Annotations) ภายใน IDA ทำให้นักวิเคราะห์สามารถตรวจหาฟังก์ชัน
ภาพจาก: https://www.helpnetsecurity.com/2025/06/30/rift-open-source-microsoft-tool-analyze-rust-malware/
จะเห็นได้ว่า ระบบการวิเคราะห์ และตรวจจับของเครื่องมือตัวนี้จะใช้เทคนิค 2 รูปแบบเข้าด้วยกัน คือ
- FLIRT Signature ซึ่งเป็นเทคนิคในการค้นหาและระบุ Library พร้อมกับฟังก์ชันของ Library ภายในไฟล์สำหรับการรัน (Binary) ที่ไวและน่าเชื่อถือ ทั้งยังมีผลบวกหลอก (False Positive) ที่น้อยอีกด้วย แต่โค้ดที่อยู่บนมัลแวร์ต้องมีความใกล้เคียงกับตัว Library ต้นฉบับเท่านั้นถึงจะต้นหาได้
- Binary Diffing จะใช้วิธีการเปรียบเทียบ Rust Libraries กับ Libraries ต่าง ๆ ที่อยู่บนมัลแวร์เพื่อค้นหา Library ที่มีความคล้ายคลึงกัน โดยวิธีการนี้จะมีความยืดหยุ่นมากกว่า แต่ใช้เวลาวิเคราะห์ที่ยาวนานกว่า โดยอาจใช้เวลาหลายชั่วโมง
ซึ่งตัวเครื่องมือนั้นจะใช้วิธีการแบบ FLIRT Signatures เพื่อวิเคราะห์ในขั้นแรกก่อน จากนั้นจึงใช้ Binary Diffing เพื่อค้นหาสิ่งที่อาจจะพลาด แล้วจึงทำการสรุปผลทั้งหมดไปยัง IDA Pro เพื่อให้นักวิเคราะห์เข้ามาทำการอ่านผลต่อไป
โดยในการทดสอบกับแรนซัมแวร์ RALord นั้นพบว่าตัวเครื่องมือสามารถระบุฟังก์ชันหลัก ๆ ที่อยู่ภายในโดยมากได้อย่างถูกต้อง เหลือแค่โค้ดที่หลงเหลืออยู่เพียงเล็กน้อยที่ต้องเข้าทำการตรวจสอบอีกขั้นหนึ่ง ขณะที่เมื่อลองทดสอบกับมัลแวร์ประเภทเปิดประตูหลังของระบบ (Backdoor) SPICA พบว่าเครื่องมือสำหรับการวิเคราะห์ทั้ง 2 รูปแบบสามารถทำงานร่วมกันเพื่อเติมเต็มข้อมูลที่ขาดหายได้อย่างสมบูรณ์
สำหรับเครื่องมือ RIFT นั้นต้องใช้งานร่วมกับเครื่องมือหลักอย่าง Ida Pro โดยทางทีมวิจัยของแหล่งข่าวนั้นได้ทำการทดสอบบน Ida Pro เวอร์ชัน 9 ขึ้นไป บนระบบ Windows 10 รุ่น 64 Bit พบว่าสามารถทำงานได้ดีไม่มีติดขัด โดยผู้ที่สนใจสามารถดาวน์โหลดไปทดลองใช้ได้จาก Github