วันพุธที่ 11 มิถุนายน พ.ศ. 2551

ทำ data-carving บน memory image ของโทรศัพท์มือถือ

สวัสดีครับวันนี้มีโจทย์ forensics มาอีกแล้ว ^_^ โดยเจ้าของโจทย์อยากทราบว่า memory image ที่ได้จากโทรศัพท์มือถือมีไฟล์อะไรอยู่บ้าง ซึ่งเทคนิคที่เราจะใช้ในการค้นหาครั้งนี้เรียกว่า data-carving ครับ

data-carving เป็นเทคนิคการค้นหาไฟล์จาก image ต่างๆไม่ว่าจะเป็น image ของ harddisk, memory, หรือ USB storage โดยการค้นหาดังกล่าวนี้จะอาศัยการค้นหา header ของประเภทของไฟล์ที่ต้องการหา ไม่ว่าจะเป็นไฟล์รูปภาพ (.gif, .jpg, .png) ไฟล์เสียง (.mp3, .wav) หรือไฟล์วีดีโอต่างๆ (.avi) โดยหลังจากที่เจอ header ของไฟล์ดังกล่าวแล้ว ก็จะ extract ไฟล์ต่างๆออกมาตามข้อมูลที่ได้จาก header ไฟล์ครับ

โปรแกรมที่ใช้สำหรับทำ data carving คราวนี้คือ foremost ครับ เป็นโปรแกรมฟรีรันบน Linux ดาวน์โหลดมา compile แล้วรันได้ทันทีเลยครับ ตามภาพ

Photobucket

สำหรับ image ที่ support โดย foremost นั้นมี image ที่ได้จาก dd ครับ แต่ image ที่ผมได้มานี่ใช้ซอฟต์แวร์ตัวอื่นที่ไม่ใช่ dd ทำ image เอา แต่ก็สามารถอ่านได้เหมือนกัน สำหรับเวลาที่ใช้ในการรันนั้นถือว่าเร็วมากครับ image ขนาด 1GB ใช้เวลาไม่ถึง 10 นาที ซึ่งถ้าเปรียบเทียบกับซอฟต์แวร์กู้ข้อมูลซึ่งใช้เวลาชาติกว่า ถือว่า work มากๆครับ (ผมไม่ได้เทสซอฟต์แวร์กู้ข้อมูลนะครับ เลยไม่ทราบว่าเจ้าของโจทย์ใช้ตัวไหน แต่บอกมาว่าช้ามากๆ)

เมื่อ foremost รันเสร็จก็จะสรุปผลให้ครับว่าเจอไฟล์ประเภทใดบ้าง จำนวนกี่ไฟล์

Photobucket

โดยไฟล์ที่ foremost เจอจะถูกสร้างไว้ที่โฟลเดอร์ชื่อ output ครับดังภาพ

Photobucket

เข้าไปเลือกดูตามใจชอบเลยครับ ข้อเสียอย่างเดียวของ foremost คือยังไม่ support ไฟล์ประเภท mp3, เละไฟล์ประเภทใหม่ๆบนโทรศัพท์มือถือครับ จบ.

วันจันทร์ที่ 2 มิถุนายน พ.ศ. 2551

การอ่าน ext2/ext3 file system บน Windows

คงมีหลายครั้งที่เวลาทำ forensics เราต้องประสบกับปัญหาเรื่อง compatibility ของ file system ของระบบที่ต่างกัน เช่น อุปกรณ์เก็บข้อมูลต่างๆของเราถูก format เป็น NTFS แต่ ระบบที่เราใช้อ่าน/เขียนข้อมูลลงไปในอุปกรณ์กลับเป็น Linux ซึ่งมีเพียงไม่กี่ตัวเท่านั้นที่สนับสนุนความสามารถในการเขียน NTFS ได้แบบ default ส่วนที่เหลือต้อง compile kernel เอง หรือถ้าเรา format อุปกรณ์เก็บข้อมูลเป็น ext2/ext3 ซึ่ง Linux สามารถอ่านเขียนได้ เราจะพบปัญหาอีกว่า Windows ไม่สามารถมองเห็นได้เลย ถ้าเราใช้ Windows เปิดอุปกรณ์ที่ format เป็นแบบ ext2/ext3 เราจะพบความเอ๋อๆดังภาพ

Photobucket

แน่นอน เราไม่สามารถ format ได้ เพราะข้อมูลจะหายหมด - -" ... แล้วมันมีวิธีไหนบ้างหว่าที่สามารถทำให้ Windows อ่าน ext2/ext3 ได้ ?

คำตอบคือมีหลายวิธีเลยครับ ไล่ตั้งแต่ติดตั้ง driver ซึ่งทำขึ้นมาเพื่อ support ext2/ext3 โดยเฉพาะ จนถึง application ที่ support การอ่าน ext2/ext3 ในตัวเลย ใน entry นี้ผมจะกล่าวถึงตัวหลังนะครับ เพราะตัวแอพพลิเคชั่นที่ผมจะกล่าวถึงต่อไปนี้สามารถใช้อ่านและ copy ได้อย่างเดียวครับ ไม่สามารถเขียนได้ ซึ่งหลายๆคนอาจจะไม่ีสะดวก แต่สำหรับการทำ forensics ถือว่ามีประโยชน์ครับเพราะมีส่วนช่วยป้องกันทำการเขียนทับข้อมูล evidence ที่เราเก็บมาจากระบบครับ ถ้าใครอยากให้สามารถทั้งอ่านและเขียนได้เลย ผมแนะนำว่าใช้ตัวนี้ดีกว่าครับที่ fs-driver.org

สำหรับตัวที่ผมใช้ชื่อว่า linux-reader ครับ หน้าตานี่เหมือน Windows Explorer เลยครับ

Photobucket

Linux-Reader จะแบ่งมุมมองออกเป็น 3 ส่วนครับ คือ harddisk ที่มีในระบบ, removeable disk และ physical disk จริงๆที่มีอยู่ในระบบ โดย Linux-Reader จะไม่สามารถเข้าไปอ่านพื้นที่ที่เป็น NTFS ได้ หากเราใช้ Linux Reader เข้าไปอ่าน มันจะฟ้องดังภาพ

Photobucket

ส่วนอุปกรณ์ที่เป็น ext2/ext3 นั้นมันจะขึ้น label ว่า Linux Native Volume (ดูภาพข้างบนนู้นประกอบ) และเมื่อเรียกเข้าไปดูจะเป็นดังภาพครับ

Photobucket

เราสามารถนำไฟล์ดังกล่าวออกมาใช้งาน/ตรวจสอบได้ครับ นอกจากนี้แล้วเจ้า Linux-Reader นี้ยังมีความสามารถในการ mount image ของ linux ที่สร้างขึ้นจาก dd ได้อีกด้วย ลองไปเล่นดูนะครับ

P.S. การนำไฟล์จาก Linux-Reader ไปใช้ ให้ click ขวาที่ไฟล์/โฟลเดอร์และเลือก save ครับ