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

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

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

การตรวจสอบสายพันธุ์ของ Ransomware และ
การค้นหาไฟล์ 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

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

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

An Analysis of Accidentally Tampered Master File Table

Are you looking for English version for this article? Click here!
ในระบบ File System แบบ NTFS จะมีไฟล์ที่เรียกว่า $MFT หรือ Master File Table ซึ่งเป็นที่รวบรวมข้อมูลของไฟล์ทั้งหมดในไดร์ฟนั้นๆ แม้แต่ไฟล์ที่ถูกลบไปแล้ว ซึ่งในวันนี้ทีม Intelligent Response จาก บริษัทไอ-ซีเคียว จำกัด จะมาเล่าข้อมูลที่น่าสนใจเกี่ยวกับ $MFT ในด้าน Digital Forensic กันค่ะ
ข้อมูลที่น่าสนใจเกี่ยวกับ $MFT ในด้าน digital forensic
MFT หรือ Master File Table เป็นไฟล์ในระบบไฟล์แบบ NTFS โดยจะรวบรวมข้อมูลของไฟล์ทั้งหมดในไดร์ฟนั้นๆ แม้แต่ไฟล์ที่ถูกลบไปแล้ว การตรวจสอบไฟล์ $MFT จึงมีประโยชน์อย่างมากในช่วยค้นหาไฟล์ที่ถูกลบเพื่อทำการกู้คืนและการใช้วิเคราะห์ในฐานะของหลักฐานดิจิตอลรูปแบบหนึ่ง

โดยปกติไฟล์ $MFT จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อมีการฟอร์แมตหรือเปลี่ยนพาร์ติชันของดิสก์เป็น NTFS โดยวันที่และเวลาที่ไฟล์ $MFT ถูกสร้างขึ้น (หรือวันที่และเวลาที่ดิสก์ถูกฟอร์แมต) จะถูกระบุอยู่ในคุณลักษณะของไฟล์ $MFT ที่หัวข้อ Date created ซึ่งในกรณีโดยส่วนใหญ่ที่ดิสก์ดังกล่าวถูกติดตั้งระบบปฏิบัติการ ไฟล์ของระบบปฏิบัติการจะมีวันที่และเวลาที่ถูกสร้างใกล้เคียงหรือสอดคล้องกับค่า Date created ใน $MFT ตามรูปภาพด้านล่าง

ในขณะที่เราทำการวิเคราะห์หลักฐานดิจิตอลเพื่อค้นหาที่มาและข้อมูลที่เกี่ยวข้องกับภัยคุกคาม เราพบซอฟต์แวร์และโปรแกรมบางประเภท อาทิ ซอฟต์แวร์คงสภาพฮาร์ดดิสก์ เช่น Deep Freeze, ซอฟต์แวร์ปรับแต่งการทำงานของระบบ เช่น CCleaner อาจมีการเข้าไปแก้ไขไฟล์ $MFT และส่งผลให้ค่า Date created เปลี่ยนไปเมื่อเปรียบเทียบกับค่าของวันที่และเวลาจากไฟล์อื่นๆ ที่มักจะถูกสร้างขึ้นมาในเวลาที่ใกล้เคียงหรือสอดคล้องกัน พฤติกรรมนี้สามารถช่วยบ่งชี้ถึงพฤติกรรมที่น่าสงสัยหรือความสมบูรณ์ของข้อมูลที่ได้จากไฟล์ $MFT ได้

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

ตัวอย่างด้านล่างนั้นได้แสดงให้เห็นถึงการทำลายความสมบูรณ์และความถูกต้องของไฟล์ $MFT ซึ่งเป็นเหตุมาจากการกู้คืนไฟล์ไปยังไดร์ฟหรือตำแหน่งเดิม ค่า Date created ของไดร์ฟ D เมื่อเปรียบเทียบกับไดร์ฟ C จึงไม่ถูกต้องตรงกัน

กรณีตัวอย่างที่การทำลายความสมบูรณ์และความถูกต้องของไฟล์ $MFT มีผลกับการทำ Digital Forensic
นายเอพบว่ามีการลบไฟล์จำนวนมากออกจากเครื่องเซิร์ฟเวอร์ โดยไฟล์เหล่านั้นเป็นไฟล์ที่มีความสำคัญต่อการทำงานเป็นอย่างมาก ด้วยความตกใจ นายเอจึงทำการพยายามกู้ไฟล์เหล่านั้นด้วยโปรแกรมกู้ไฟล์กลับลงในไดร์ฟเดิม โดยสามารถกู้ไฟล์ได้แค่บางส่วนเท่านั้น นายเอเกิดข้องสงสัยว่าการลบไฟล์ดังกล่าวอาจเกิดจากผู้ไม่หวังดีภายในองค์กรเดียวกัน จากนั้นนายเอจึงได้จ้าง Digital Forensic Analyst ให้ทำการตรวจสอบเครื่องคอมพิวเตอร์ดังกล่าวว่ามีไฟล์ใดถูกลบออกไปบ้างเพื่อนำไปตรวจสอบต่อ

ซึ่งการทำลายความสมบูรณ์และความถูกต้องของไฟล์ $MFT ได้ถูกทำลายจากการกู้คืนไฟล์ไปยังไดร์ฟเดิม ส่งผลกระทบกับการทำงานของ Digital Forensic Analyst ให้ไม่สามารถตรวจหาชื่อไฟล์ได้

ตัวอย่างด้านล่างนั้นได้แสดงให้เห็นความแตกต่างระหว่างไฟล์ $MFT ก่อนและหลังการกู้คืนไฟล์ลงในไดร์ฟเดิม โดยไฟล์ $MFT ทั้งสองไฟล์ถูกแปลงด้วยโปรแกรม MFTECmd เป็น CSV จะพบว่าจำนวนข้อมูล [In Use] = unchecked ซึ่งบ่งบอกไฟล์ที่ถูกลบไปแล้วไม่เท่ากัน

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

สรุป
ไฟล์ $MFT มีประโยชน์มากในการทำ digital forensic  ใช้บอกข้อมูลได้หลายอย่าง แต่ควรระวังว่าข้อมูลใน MFT อาจถูกแก้ไขได้ในบางกรณีโดยไม่ตั้งใจได้
English version
There is a file called Master File Table or MFT ($MFT) in NTFS file system.