การตรวจสอบระบบที่ติด Ransomware

Ransomware หรือมัลแวร์เรียกค่าไถ่ เป็นมัลแวร์ที่ทำการเข้ารหัสไฟล์บนเครื่องที่ตกเป็นเหยื่อ โดยมักจะมีจดหมายเรียกค่าไถ่ระบุให้เหยื่อทำการจ่ายเงินเพื่อแลกกับกุญแจในการถอดรหัส หรือ เครื่องมือในการถอดรหัสไฟล์

ซึ่งในวันนี้ทีม Intelligent Response จาก บริษัทไอ-ซีเคียว จำกัดจะมาเล่าเกี่ยวกับการตรวจสอบระบบที่ติด Ransomware กันค่ะ ประกอบไปด้วย 2 หัวข้อ คือ

  1. การตรวจสอบสายพันธุ์ของ Ransomware และ
  2. การค้นหาไฟล์ Ransomware Executable ด้วยไฟล์ MFT

การตรวจสอบสายพันธุ์ของ Ransomware

เมื่อเราตรวจพบระบบที่ติด Ransomware แล้ว เราควรทำการจำกัดความเสียหาย (containment) โดยการแยกเครื่องที่ติดเชื้อออกจากเครื่องอื่นๆ ระบบปฏิบัติการ เช่น ปิดการใช้งานระบบเครือข่ายชั่วคราว หรือทางกายภาพโดยตรง เช่น การถอดสายแลน เป็นต้น เพื่อป้องกันการแพร่กระจายในระบบเครือข่ายหรือการติดต่อไปยังเครื่องภายนอกที่เป็นอันตราย

แต่ไม่ควรปิดหรือ restart เครื่องที่มีพฤติกรรมติดมัลแวร์เรียกค่าไถ่ เนื่องจากมัลแวร์เรียกค่าไถ่บางชนิด เช่น Wannacry จะมีข้อมูลที่เกี่ยวข้องกับกุญแจที่ใช้ในการเข้ารหัสหลงเหลืออยู่ในหน่วยความจำชั่วคราว (RAM) ซึ่งสามารถช่วยในการถอดรหัสได้

เมื่อหยุดการแพร่กระจายได้แล้ว เราสามารถตรวจสอบสายพันธุ์ของ Ransomware ได้จากการอัปโหลดไฟล์ที่ถูกเข้ารหัส (ควรใช้ไฟล์ที่ไม่เป็นความลับ) และอัปโหลดไฟล์ข้อความเรียกค่าไถ่ (Ransomware Notes) ไปยังบริการ ID Ransomware หรือ No More Ransom ซึ่งบริการดังกล่าวจะแจ้งว่าเราติด Ransomware สายพันธุ์ไหน มีตัวถอดรหัสฟรีแล้วหรือไม่ ซึ่งเราสามารถทดลองดาวน์โหลดโปรแกรมถอดรหัสและทดลองถอดรหัสได้ โดยควรสำรองข้อมูลไว้ก่อนทดลองถอดรหัส

บริการ ID Ransomware

ตัวอย่างผลการตรวจสอบสายพันธุ์ของ Ransomware จากบริการ ID Ransomware ในกรณีที่ยังไม่มีเครื่องมือถอดรหัสฟรี

ตัวอย่างผลการตรวจสอบสายพันธุ์ของ Ransomware จากบริการ ID Ransomware ในกรณีที่มีเครื่องมือถอดรหัสแล้ว

ซึ่งการตรวจสอบสายพันธุ์ของ Ransomware นอกจากจะทำให้เราทราบว่ามีเครื่องมือในการช่วยถอดรหัสฟรีโดยไม่ต้องจ่ายค่าไถ่แล้ว ยังช่วยให้สามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับช่องทางการแพร่กระจายของ Ransomware ชนิดนั้นๆ และทำการป้องกันช่องทางดังกล่าวเพิ่มมากขึ้นได้อีกด้วยค่ะ

การค้นหาไฟล์ Ransomware Executable ด้วยไฟล์ MFT

ในบางครั้งหลังจากเกิดเหตุการณ์ Ransomware องค์กรอาจมีความต้องการทำ Digital Forensic เพื่อหาสาเหตุที่ทำให้ติดเชื้อ Ransomware ที่แท้จริง ซึ่งควรเก็บหลักฐานดิจิตอลไว้เพื่อตรวจสอบภายหลังก่อนทำการกู้คืนระบบใหม่ สามารถศึกษาวิธีเก็บหลักฐานดิจิตอลได้จากข้อเสนอแนะมาตรฐานการจัดการอุปกรณ์ดิจิทัลในงานตรวจพิสูจน์พยานหลักฐาน จัดทำโดยศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์ประเทศไทย (ไทยเซิร์ต) 

ข้อมูลสำคัญอย่างหนึ่งที่ช่วยประกอบการหาสาเหตุของการติดเชื้อก็คือไฟล์ Ransomware Executable ซึ่งถ้าเราทราบว่าไฟล์ไหนคือ Ransomware Executable ที่เป็นต้นเหตุของเหตุการณ์ทั้งหมด เราก็จะสามารถตรวจสอบหาบัญชีผู้ใช้งานที่เป็นเจ้าของไฟล์และบัญชีผู้ใช้งานที่เป็นผู้เรียกใช้ไฟล์ดังกล่าวให้ทำงานได้

วิธีการหาไฟล์ Ransomware Executable สามารถทำได้หลายวิธี ในบทความนี้จะนำเสนอการค้นหาไฟล์โดยใช้ข้อมูลจากไฟล์ $MFT เพื่อค้นหาไฟล์แรกที่ถูกเข้ารหัส ช่วงเวลาที่ไฟล์แรกโดนเข้ารหัส และใช้ข้อมูลเวลาที่ถูกเข้ารหัสไปหาไฟล์ที่ถูกเรียกใช้ในเวลาใกล้เคียงกันเพื่อหาไฟล์ Ransomware Executable

ไฟล์ MFT หรือ Master File Table เป็นไฟล์ในระบบไฟล์แบบ NTFS โดยจะรวบรวมข้อมูลของไฟล์ทั้งหมดในไดร์ฟนั้นๆ แม้แต่ไฟล์ที่ถูกลบไปแล้ว เช่น เวลาที่สร้างไฟล์ (Created) เวลาที่ถูกเข้าถึงล่าสุด (LastAccess) และข้อมูลอื่นๆ อีกมาก

ซึ่งนอกเหนือจากไฟล์ MFT แล้วยังมีไฟล์อื่นๆ ที่บันทึกความเปลี่ยนแปลงของไฟล์ เช่น ไฟล์ USN Journal และ NTFS Log ($LogFile) ซึ่งสามารถนำไปใช้ตรวจสอบไฟล์แรกที่ถูกเข้ารหัสได้เช่นกัน แต่ไฟล์ USN Journal และ NTFS Log ($LogFile) สามารถเก็บข้อมูลการเปลี่ยนแปลงได้จำกัด ซึ่งจากสูตรประมาณของ Microsoft ระบุว่าไฟล์ USN Journal ขนาด 32MB จะบันทึกการเปลี่ยนแปลงได้ประมาณ 200,000 ไฟล์ จึงไม่สามารถนำข้อมูลไฟล์ USN Journal มาใช้งานได้ในกรณีที่ Ransomware เข้ารหัสไฟล์เกิน 200,000 ไฟล์

ซึ่งเทคนิคการค้นหาไฟล์ Ransomware Executable ด้วยไฟล์ MFT ในครั้งนี้จะสาธิตผ่านการตรวจสอบบนหลักฐานดิจิตอลจากเครื่องที่ติดเชื้อ GlobleImposter 2.0 ซึ่งทำการเข้ารหัสไฟล์แล้วเปลี่ยนนามสกุลเป็น .doc

เครื่องมือที่ใช้

  1. MFTECmd เป็นโปรแกรมในตระกูล Eric Zimmerman's tool ใช้สำหรับ parse ไฟล์ MFT และไฟล์อื่นๆ เป็น CSV
  2. Timeline Explorer เป็นโปรแกรมในตระกูล Eric Zimmerman's tool ใช้สำหรับเปิด CSV ขนาดใหญ่
  3. FTK Imager เป็นโปรแกรมที่มีความสามารถในการจัดเก็บหลักฐานดิจิตอล วิเคราะห์หลักฐานดิจิตอล รวมถึงคำนวนค่า hash จากหลักฐานดิจิตอล สามารถดาวน์โหลดได้จาก https://accessdata.com/product-download/ftk-imager-version-4.2.0 หรือ https://accessdata.com/product-download/ftk-imager-lite-version-3.1.1

วิธีตรวจสอบ MFT

  1. ใช้โปรแกรม FTK Imager นำไฟล์ MFT ออกจากหลักฐานดิจิตอล
  2. ใช้โปรแกรม MFTECmd แปลงไฟล์ MFT เป็น CSV
  3. เปิด CSV ด้วยโปรแกรม Timeline Explorer
  4. ใส่ฟิลเตอร์เพื่อหาไฟล์ที่นามสกุลเป็น. doc แล้วจัดเรียงตาม Last Accessed
  5. ซึ่งจะพบว่าไฟล์ไหนเป็นไฟล์แรกที่ถูกเข้ารหัส จด Last Accessed ของไฟล์ดังกล่าวไว้
  6. ล้างฟิลเตอร์ทั้งหมดเพื่อแสดงไฟล์ทุกไฟล์
  7. ค้นหาตามเวลา Last Accessed ของไฟล์ที่ถูกเข้ารหัสไฟล์แรก ซึ่งไฟล์ที่ถูกเข้าถึงในเวลาใกล้เคียงกันจะมีโอกาสเป็นไฟล์สาเหตุของการติดเชื้อ
  8. ใช้โปรแกรม FTK Imager นำ hash ของไฟล์ที่น่าสงสัยออกมา แล้วนำ hash ไปตรวจสอบกับบริการ virustotal.com ว่าเป็นไฟล์มัลแวร์หรือไม่ หรือนำไฟล์ที่น่าสงสัยออกจากระบบไปตรวจสอบได้เช่นกัน

ข้อควรระวังในการใช้ไฟล์ MFT ในการตรวจสอบ

ไม่ควรใช้ไฟล์ MFT ในการตรวจสอบหากความสมบูรณ์และถูกต้องของไฟล์ MFT ถูกทำลาย เช่น มีการใช้โปรแกรมกู้คืนไฟล์โดยทำการกู้คืนไฟล์ที่ถูกลบมายังไดร์ฟเดิม โดยสามารถอ่านรายละเอียดเพิ่มเติมได้จาก An Analysis of Accidentally Tampered Master File Table