บทนำ
ในโลกของอาชญากรรมไซเบอร์และเหตุการณ์ความปลอดภัยทางไซเบอร์ ข้อมูลคือสิ่งสำคัญยิ่ง ข้อมูลที่สูญหาย ถูกลบ หรือเสียหาย อาจเป็นกุญแจสำคัญในการไขปริศนาคดี การระบุผู้กระทำผิด หรือแม้แต่การทำความเข้าใจกลไกการทำงานของมัลแวร์ การกู้คืนข้อมูลเหล่านี้มักจะอยู่นอกเหนือขีดความสามารถของระบบไฟล์ทั่วไป เนื่องจากเมื่อไฟล์ถูกลบ ระบบปฏิบัติการมักจะเพียงแค่ทำเครื่องหมายพื้นที่ว่างให้พร้อมสำหรับการเขียนทับ โดยไม่ลบข้อมูลจริงออกทันที นี่คือจุดที่เทคนิค "File Carving" เข้ามามีบทบาทสำคัญ File Carving คือกระบวนการดึงข้อมูลจากพื้นที่ว่างที่ไม่ได้จัดสรร (unallocated space) หรือจากข้อมูลดิบโดยตรง โดยอาศัยลักษณะเฉพาะของส่วนหัว (header) และส่วนท้าย (footer) ของไฟล์ประเภทต่างๆ แม้ว่าโครงสร้างระบบไฟล์จะเสียหายหรือไม่สมบูรณ์ก็ตาม บทความนี้จะเจาะลึกเครื่องมือ File Carving ที่ได้รับความนิยมและมีประสิทธิภาพสองชนิด ได้แก่ Foremost และ PhotoRec โดยจะอธิบายหลักการทำงาน วิธีการใช้งาน พร้อมยกตัวอย่างคำสั่ง และกล่าวถึงบทบาทสำคัญของเครื่องมือเหล่านี้ในสาขา Digital Forensics, Malware Analysis และการประยุกต์ใช้เพื่อเสริมสร้างความตระหนักด้านความปลอดภัยทางไซเบอร์
เนื้อหาหลัก: File Carving Tools: Foremost, PhotoRec
File Carving เป็นเทคนิคพื้นฐานใน Digital Forensics ที่ช่วยให้ผู้เชี่ยวชาญสามารถกู้คืนไฟล์ได้แม้ในสถานการณ์ที่ระบบไฟล์เสียหายรุนแรง ไฟล์ถูกลบ หรือถูกจัดรูปแบบไปแล้วก็ตาม หลักการทำงานคือการสแกนข้อมูลดิบของดิสก์อิมเมจหรืออุปกรณ์จัดเก็บข้อมูล เพื่อค้นหา "magic numbers" หรือ "file signatures" ที่เป็นรูปแบบเฉพาะที่บ่งบอกถึงประเภทของไฟล์นั้นๆ เช่น JPEG จะมีส่วนหัวเฉพาะ และอาจมีส่วนท้ายเฉพาะ ซึ่งเครื่องมือ File Carving จะใช้ข้อมูลเหล่านี้ในการระบุขอบเขตของไฟล์และกู้คืนออกมา
Foremost
Foremost เป็นโปรแกรมที่ทำงานบนบรรทัดคำสั่ง (command-line tool) ที่ออกแบบมาเพื่อกู้คืนไฟล์ตามส่วนหัว ส่วนท้าย และโครงสร้างข้อมูลภายในที่กำหนดค่าได้ เป็นเครื่องมือที่นิยมใช้ในหมวด Digital Forensics และ Incident Response เนื่องจากความเร็วและประสิทธิภาพในการกู้คืนไฟล์หลากหลายประเภท
หลักการทำงานของ Foremost
Foremost ทำงานโดยการอ่านข้อมูลจากแหล่งที่มา เช่น ดิสก์อิมเมจหรืออุปกรณ์จัดเก็บข้อมูลโดยตรง และค้นหาส่วนหัวและส่วนท้ายของไฟล์ที่รู้จัก เมื่อพบส่วนหัวของไฟล์ที่กำหนดค่าไว้ Foremost จะพยายามอ่านข้อมูลตามโครงสร้างไฟล์นั้นๆ จนกว่าจะพบส่วนท้ายของไฟล์ หรือจนกว่าจะถึงขนาดไฟล์สูงสุดที่กำหนดไว้ จากนั้นจะบันทึกข้อมูลที่กู้คืนได้ลงในไดเรกทอรีที่ระบุ
ประเภทไฟล์ที่ Foremost รองรับ
Foremost รองรับการกู้คืนไฟล์ประเภทต่างๆ มากมาย โดยค่าเริ่มต้นจะมีการกำหนดค่าสำหรับไฟล์ทั่วไป เช่น:
- jpg: JPEG images
- gif: GIF images
- png: PNG images
- bmp: BMP images
- avi: AVI video files
- exe: Executable files
- mpg: MPEG video files
- wav: WAV audio files
- wmv: Windows Media video files
- mov: QuickTime video files
- pdf: PDF documents
- doc: Microsoft Word documents
- docx: Microsoft Word documents (OOXML)
- xls: Microsoft Excel spreadsheets
- xlsx: Microsoft Excel spreadsheets (OOXML)
- ppt: Microsoft PowerPoint presentations
- pptx: Microsoft PowerPoint presentations (OOXML)
- zip: ZIP archives
- rar: RAR archives
- html: HTML pages
- cpp: C++ source code
- h: C/C++ header files
ผู้ใช้ยังสามารถเพิ่มหรือแก้ไขประเภทไฟล์ที่รองรับได้โดยการแก้ไขไฟล์การกำหนดค่า foremost.conf
การติดตั้ง Foremost บนระบบปฏิบัติการ Linux (เช่น Kali Linux, Ubuntu)
ส่วนใหญ่แล้ว Foremost มักจะติดตั้งมาพร้อมกับเครื่องมือ Forensic Distributions อย่าง Kali Linux หากยังไม่มี สามารถติดตั้งได้ง่ายๆ ดังนี้:
h
sudo apt update
sudo apt install foremostตัวอย่างการใช้งาน Foremost
สมมติว่าคุณมีดิสก์อิมเมจชื่อ evidence.dd ที่ต้องการกู้คืนไฟล์
1. การกู้คืนไฟล์ทั้งหมดที่ Foremost รองรับ:
คำสั่งพื้นฐานที่สุดคือการระบุไฟล์อิมเมจที่ต้องการวิเคราะห์และไดเรกทอรีสำหรับเก็บผลลัพธ์
h
foremost -i evidence.dd -o recovered_files_foremost
- -i evidence.dd: ระบุไฟล์อินพุต (ดิสก์อิมเมจ)
- -o recovered_files_foremost: ระบุไดเรกทอรีเอาต์พุตสำหรับไฟล์ที่กู้คืน Foremost จะสร้างไดเรกทอรีนี้ขึ้นมาเอง
2. การกู้คืนไฟล์เฉพาะประเภท:
หากต้องการกู้คืนเฉพาะไฟล์ประเภท JPEG และ PDF
h
foremost -t jpg,pdf -i evidence.dd -o recovered_jpg_pdf
- -t jpg,pdf: ระบุประเภทไฟล์ที่ต้องการกู้คืน แยกด้วยเครื่องหมายจุลภาค
3. การกู้คืนจากพาร์ติชันโดยตรง (ต้องระมัดระวังเป็นพิเศษ):
หากต้องการกู้คืนจากอุปกรณ์จัดเก็บข้อมูลจริง เช่น USB drive ที่เชื่อมต่อเป็น /dev/sdb1
h
sudo foremost -i /dev/sdb1 -o recovered_from_usb
ข้อควรระวัง: การทำงานกับอุปกรณ์จัดเก็บข้อมูลจริงมีความเสี่ยงที่จะเขียนทับข้อมูลต้นฉบับ หากเป็นไปได้ ควรสร้างดิสก์อิมเมจก่อนเสมอเพื่อรักษาความสมบูรณ์ของหลักฐาน
4. การใช้ไฟล์กำหนดค่า (foremost.conf):
คุณสามารถสร้างไฟล์การกำหนดค่าที่กำหนดเอง หรือแก้ไขไฟล์เริ่มต้นของ Foremost เพื่อเพิ่มลายเซ็นไฟล์ใหม่ๆ หรือปรับแต่งการทำงาน
สมมติว่าคุณต้องการกู้คืนไฟล์ที่กำหนดเองชื่อ my_custom_file ที่มีส่วนหัว "CUSTOMFILE" และส่วนท้าย "ENDFILE"
คุณจะต้องแก้ไขไฟล์ foremost.conf (มักจะอยู่ที่ /etc/foremost.conf หรือคัดลอกมาแก้ไข) เพิ่มบรรทัดดังนี้:
my_custom_file Y 20000000 CUSTOMFILE ENDFILE
จากนั้นใช้คำสั่ง:
h
foremost -c /path/to/my_custom_foremost.conf -i evidence.dd -o custom_recovery
- -c /path/to/my_custom_foremost.conf: ระบุไฟล์การกำหนดค่าที่ใช้
ข้อดีและข้อจำกัดของ Foremost
- รวดเร็วและมีประสิทธิภาพในการสแกนดิสก์ขนาดใหญ่
- รองรับไฟล์หลายประเภทและสามารถปรับแต่งได้
- ใช้งานง่ายผ่าน Command Line Interface (CLI)
- สร้างไฟล์ Audit (audit.txt) ที่บันทึกข้อมูลการกู้คืน
- อาจมีปัญหาในการกู้คืนไฟล์ที่มีการแตกส่วน (fragmented files)
- ไม่สามารถระบุชื่อไฟล์ดั้งเดิมได้ เนื่องจากกู้คืนจากข้อมูลดิบ
- บางครั้งอาจกู้คืนข้อมูลที่เป็น "false positives" (ไฟล์ที่ไม่สมบูรณ์หรือข้อมูลที่ไม่ใช่ไฟล์จริง)
PhotoRec
PhotoRec เป็นอีกหนึ่งเครื่องมือกู้คืนข้อมูลที่ทรงพลัง ซึ่งโดดเด่นในการกู้คืนไฟล์ที่เสียหายหรือถูกลบออกจากสื่อจัดเก็บข้อมูลต่างๆ เช่น ฮาร์ดดิสก์, USB drive, SD card และ CD/DVD มันเป็นส่วนหนึ่งของแพ็คเกจ TestDisk ซึ่งเป็นชุดเครื่องมือสำหรับกู้คืนพาร์ติชันที่หายไปและทำให้ดิสก์บูตได้อีกครั้ง แม้ชื่อจะบ่งบอกถึง "Photo" แต่ PhotoRec สามารถกู้คืนไฟล์ได้มากกว่า 480 นามสกุล รวมถึงไฟล์ภาพ, วิดีโอ, เอกสาร, ไฟล์บีบอัด และอื่นๆ อีกมากมาย
หลักการทำงานของ PhotoRec
PhotoRec ทำงานโดยการละเว้นระบบไฟล์ของอุปกรณ์จัดเก็บข้อมูล และทำการสแกนข้อมูลดิบในระดับบล็อก (block-by-block) เพื่อค้นหาส่วนหัวของไฟล์ที่รู้จัก เมื่อพบส่วนหัวที่ตรงกัน PhotoRec จะพยายามดึงข้อมูลที่ตามมาจนกว่าข้อมูลนั้นจะสิ้นสุดหรือมีขนาดถึงขีดจำกัดที่คาดไว้ เนื่องจาก PhotoRec ไม่ได้พึ่งพาสภาพของระบบไฟล์ มันจึงมีประสิทธิภาพอย่างยิ่งในการกู้คืนข้อมูลจากสื่อที่เสียหายหรือถูกจัดรูปแบบไปแล้ว
ประเภทไฟล์ที่ PhotoRec รองรับ
PhotoRec รองรับไฟล์มากกว่า 480 ประเภท และยังคงมีการอัปเดตอย่างต่อเนื่อง ตัวอย่างไฟล์ที่รองรับ ได้แก่:
การติดตั้ง PhotoRec บนระบบปฏิบัติการ Linux (เช่น Kali Linux, Ubuntu)
PhotoRec มาพร้อมกับแพ็คเกจ TestDisk หากยังไม่ได้ติดตั้ง สามารถติดตั้งได้ดังนี้:
h
sudo apt update
sudo apt install testdiskหลังจากติดตั้งแล้ว คุณจะสามารถเรียกใช้ PhotoRec ได้โดยตรง
ตัวอย่างการใช้งาน PhotoRec (โหมดอินเทอร์แอคทีฟ)
PhotoRec มักจะใช้งานในโหมดอินเทอร์แอคทีฟ (interactive mode) ผ่านเมนูที่ใช้งานง่าย ซึ่งช่วยให้ผู้ใช้เลือกดิสก์ พาร์ติชัน และประเภทไฟล์ที่ต้องการกู้คืนได้
1. เรียกใช้ PhotoRec:
h
sudo photorec
คุณอาจต้องใช้ sudo เนื่องจาก PhotoRec ต้องการสิทธิ์ในการเข้าถึงอุปกรณ์ดิบ
2. เลือกดิสก์/อุปกรณ์:
PhotoRec จะแสดงรายการอุปกรณ์จัดเก็บข้อมูลทั้งหมดที่ตรวจพบ เลือกดิสก์ที่คุณต้องการกู้คืนข้อมูล (เช่น /dev/sda, /dev/sdb) โดยใช้ปุ่มลูกศรและกด Enter
3. เลือกพาร์ติชัน:
PhotoRec จะแสดงตารางพาร์ติชันสำหรับดิสก์ที่เลือก หากไม่แน่ใจ ให้เลือกพาร์ติชันที่เป็น "No partition" (เพื่อสแกนดิสก์ทั้งหมด) หรือพาร์ติชันที่คาดว่ามีข้อมูลอยู่ หากดิสก์เสียหายมากอาจเลือก "Whole disk" เพื่อสแกนทั้งดิสก์ กด Enter ที่ "Proceed"
4. เลือกประเภทระบบไฟล์:
PhotoRec จะถามว่าพาร์ติชันถูกฟอร์แมตด้วยระบบไฟล์ใด (เช่น ext2/ext3/ext4, NTFS, FAT) หากไม่แน่ใจ เลือก "Other" เพื่อให้ PhotoRec ตรวจจับโดยอัตโนมัติ
5. เลือกพื้นที่ที่จะสแกน:
คุณจะได้รับตัวเลือกให้สแกนเฉพาะพื้นที่ว่าง (Free) หรือสแกนทั้งหมด (Whole) หากต้องการกู้คืนข้อมูลที่ถูกลบไปแล้ว ให้เลือก "Whole" เพื่อเพิ่มโอกาสในการกู้คืน
6. เลือกไดเรกทอรีสำหรับบันทึกไฟล์:
PhotoRec จะขอให้คุณเลือกไดเรกทอรีที่จะบันทึกไฟล์ที่กู้คืนได้ แนะนำให้เลือกไดเรกทอรีบนดิสก์อื่นที่ไม่ใช่ดิสก์ที่คุณกำลังกู้คืน เพื่อหลีกเลี่ยงการเขียนทับข้อมูลต้นฉบับ
7. เริ่มการกู้คืน:
เมื่อคุณเลือกไดเรกทอรีแล้ว PhotoRec จะเริ่มกระบวนการกู้คืน ไฟล์ที่กู้คืนได้จะถูกจัดเก็บในไดเรกทอรีย่อยตามประเภทไฟล์ (เช่น recup_dir.1, recup_dir.2)
ข้อดีและข้อจำกัดของ PhotoRec
- กู้คืนไฟล์ได้หลากหลายประเภทและมีประสิทธิภาพสูงจากสื่อที่เสียหายรุนแรง
- ใช้งานง่ายด้วยเมนูแบบอินเทอร์แอคทีฟ
- ไม่ขึ้นกับสภาพของระบบไฟล์ ทำให้สามารถกู้คืนจากสื่อที่ถูกจัดรูปแบบได้
- สามารถกู้คืนไฟล์จากอุปกรณ์ที่หลากหลาย
- ไม่สามารถกู้คืนชื่อไฟล์ดั้งเดิมได้ ชื่อไฟล์ที่กู้คืนมักจะเป็น "f0000001.ext"
- อาจสร้างไฟล์จำนวนมาก รวมถึงไฟล์ที่เสียหายหรือไม่สมบูรณ์ (false positives)
- ใช้เวลานานในการสแกนดิสก์ขนาดใหญ่
- ขาดคุณสมบัติในการปรับแต่งลายเซ็นไฟล์ได้อย่างละเอียดเท่า Foremost
การเปรียบเทียบและการประยุกต์ใช้ในด้านต่างๆ
ทั้ง Foremost และ PhotoRec เป็นเครื่องมือที่มีคุณค่าในการกู้คืนข้อมูล แต่มีจุดเด่นและการใช้งานที่แตกต่างกัน
การประยุกต์ใช้ใน Digital Forensics:
ในด้านนิติวิทยาศาสตร์ดิจิทัล เครื่องมือเหล่านี้มีความสำคัญอย่างยิ่งในการ:
การประยุกต์ใช้ใน Malware Analysis:
การประยุกต์ใช้ใน WiFi Penetration Testing (เชิงอ้อม):
แม้ว่า File Carving จะไม่เป็นเครื่องมือหลักในการเจาะระบบ WiFi โดยตรง แต่ในการประเมินความปลอดภัยของเครือข่าย WiFi หากมีการเข้าถึงระบบเป้าหมาย (เช่น เซิร์ฟเวอร์ที่อยู่เบื้องหลังเครือข่าย) ในขั้นตอนหลังการเจาะ (post-exploitation) ผู้ทดสอบอาจจำเป็นต้อง:
ขั้นตอนการทำงานและการตีความผลลัพธ์
การใช้เครื่องมือ File Carving ต้องอาศัยความเข้าใจในหลักการและขั้นตอนเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด:
1. การเตรียมแหล่งข้อมูล: ก่อนทำการ Carving ควรสร้างดิสก์อิมเมจ (เช่น .dd, .raw) ของอุปกรณ์จัดเก็บข้อมูลต้นฉบับเสมอ การทำงานกับดิสก์อิมเมจจะช่วยรักษาความสมบูรณ์ของหลักฐานและป้องกันการเขียนทับข้อมูลโดยไม่ตั้งใจ
h
sudo dd if=/dev/sdb of=/path/to/evidence.dd bs=4M status=progress
- if=/dev/sdb: ระบุแหล่งที่มา (อุปกรณ์ต้นฉบับ)
- of=/path/to/evidence.dd: ระบุปลายทาง (ไฟล์อิมเมจ)
- bs=4M: ขนาดบล็อก (Block Size) เพื่อเพิ่มความเร็วในการอ่าน/เขียน
- status=progress: แสดงความคืบหน้า
2. การเลือกเครื่องมือและกำหนดค่า: เลือกใช้ Foremost หรือ PhotoRec ตามความเหมาะสมของสถานการณ์ และกำหนดค่าให้ถูกต้อง เช่น ประเภทไฟล์ที่ต้องการกู้คืน หรือการตั้งค่าลายเซ็นไฟล์เพิ่มเติม
3. การเรียกใช้เครื่องมือ: รันคำสั่งหรือกระบวนการของเครื่องมือ โดยตรวจสอบให้แน่ใจว่าไดเรกทอรีเอาต์พุตมีพื้นที่เพียงพอและอยู่บนดิสก์ที่แตกต่างจากแหล่งที่มา
4. การตรวจสอบและวิเคราะห์ผลลัพธ์:
- Foremost: ผลลัพธ์จะถูกจัดเรียงตามประเภทไฟล์ในไดเรกทอรีย่อย เช่น recovered_files_foremost/jpg/, recovered_files_foremost/pdf/ นอกจากนี้ Foremost ยังสร้างไฟล์ audit.txt ที่บันทึกชื่อไฟล์ต้นฉบับ (หากมี), ขนาด, และออฟเซ็ต (offset) ที่ไฟล์นั้นถูกกู้คืนได้ ข้อมูลนี้มีค่าอย่างยิ่งในงานนิติวิทยาศาสตร์
- PhotoRec: ไฟล์ที่กู้คืนจะอยู่ในไดเรกทอรีย่อยที่สร้างขึ้นมา (เช่น recup_dir.1, recup_dir.2) โดยมีชื่อไฟล์เป็นรหัสตัวเลข (เช่น f0000001.jpg) ผู้ใช้จะต้องทำการคัดแยกและตรวจสอบไฟล์เหล่านี้ด้วยตนเองเพื่อระบุว่าไฟล์ใดมีความสำคัญ
การตรวจสอบความสมบูรณ์ของไฟล์: หลังจากกู้คืนไฟล์ได้แล้ว สิ่งสำคัญคือการตรวจสอบว่าไฟล์นั้นสมบูรณ์และสามารถเปิดใช้งานได้หรือไม่ สำหรับไฟล์ภาพ วิดีโอ หรือเอกสาร อาจต้องใช้โปรแกรมที่เกี่ยวข้องในการเปิดดู ส่วนไฟล์ปฏิบัติการ (executables) อาจต้องใช้เครื่องมือวิเคราะห์มัลแวร์ (เช่น PeStudio, Cuckoo Sandbox) เพื่อตรวจสอบ
การใช้ Hashing: เพื่อตรวจสอบว่าไฟล์ที่กู้คืนมาถูกแก้ไขหรือไม่ หรือตรงกับไฟล์ที่รู้จักในฐานข้อมูลหรือไม่ สามารถคำนวณค่าแฮช (hash value เช่น MD5, SHA256) ของไฟล์ที่กู้คืนแล้วเปรียบเทียบกับค่าแฮชที่ทราบ (หากมี)
Security Best Practices
การใช้เครื่องมือ File Carving เป็นส่วนหนึ่งของการจัดการข้อมูลและการตอบสนองต่อเหตุการณ์ ซึ่งมีหลักปฏิบัติที่ดีด้านความปลอดภัยที่ควรยึดถือ:
บทสรุป
File Carving ด้วยเครื่องมืออย่าง Foremost และ PhotoRec เป็นทักษะและเทคนิคที่จำเป็นอย่างยิ่งในสาขา Digital Forensics และ Malware Analysis โดยเฉพาะอย่างยิ่งในสถานการณ์ที่ข้อมูลสำคัญถูกลบ สูญหาย หรือเสียหาย เครื่องมือเหล่านี้ช่วยให้ผู้เชี่ยวชาญสามารถกู้คืนข้อมูลจากเศษซากของระบบไฟล์ที่พังทลาย ซึ่งอาจเป็นหลักฐานสำคัญในการไขคดีอาชญากรรมไซเบอร์, ทำความเข้าใจกลไกของมัลแวร์, หรือแม้แต่ประเมินความเสี่ยงด้านความปลอดภัยขององค์กร แม้ว่าจะมีข้อจำกัดในการกู้คืนชื่อไฟล์และอาจสร้างไฟล์ที่ไม่สมบูรณ์ แต่ประสิทธิภาพในการดึงข้อมูลดิบของพวกมันก็เป็นสิ่งที่ไม่อาจมองข้ามได้ การทำความเข้าใจหลักการทำงาน, วิธีการใช้งาน, และการปฏิบัติตามหลักการด้านความปลอดภัยที่ดีที่สุด จะช่วยให้ผู้ใช้งานสามารถใช้ประโยชน์จากเครื่องมือเหล่านี้ได้อย่างเต็มที่และมีประสิทธิภาพสูงสุดในการปกป้องและวิเคราะห์ข้อมูลในโลกดิจิทัลที่ซับซ้อนนี้