แอป ร่องรอย และการรายงาน
แยกวิเคราะห์ข้อมูลแอปและนำเสนอข้อค้นพบ
แอป ร่องรอย และการรายงาน เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
หลักฐานจากแอป: ภาพรวม
แอปจากผู้พัฒนาภายนอกสร้างหลักฐานที่มีรายละเอียดมากที่สุดในหลายกรณี แอปแต่ละแอปจัดเก็บข้อมูลในแบบของตนเอง แต่มีรูปแบบที่พบซ้ำกัน
- ฐานข้อมูลเอสคิวไลต์สำหรับข้อความ ประวัติ และข้อมูลกำกับ
- รายการคุณสมบัติบน iOS และ ค่ากำหนดร่วมในเอ็กซ์เอ็มแอลบนแอนดรอยด์สำหรับการตั้งค่าและสถานะ
- ข้อมูลไบนารีโปรโตบัฟ / เจสันที่ฝังอยู่ภายในคอลัมน์ของฐานข้อมูล
- โฟลเดอร์แคชและสื่อสำหรับภาพตัวอย่างและไฟล์แนบ
หน้าที่ของคุณคือแยกวิเคราะห์ข้อมูลเหล่านี้อย่างสม่ำเสมอ ระบุว่าเป็นของผู้ใช้และเวลาใด และนำเสนอโดยมีหลักฐานรองรับ
หลักฐานจากแอปส่งข้อความ
แอปส่งข้อความเป็นแหล่งหลักฐานที่พบได้บ่อย แต่ละแอปจะมีที่เก็บข้อความหลัก รวมถึงตารางผู้ติดต่อและกลุ่ม
- WhatsApp (แอนดรอยด์): msgstore.db (ข้อความ), wa.db (ผู้ติดต่อ)
- ซิกแนล: ฐานข้อมูลเอสคิวไลต์ไซเฟอร์ที่เข้ารหัส กุญแจอยู่ในคลังเก็บกุญแจหรือพวงกุญแจ
- เทเลแกรม: cache4.db พร้อมเนื้อหาที่เข้ารหัสด้วยโปรโตบัฟ
สร้างบทสนทนา WhatsApp ขึ้นใหม่จากที่เก็บข้อความ:
sqlite3 -readonly msgstore.db
sqlite> SELECT datetime(timestamp/1000,'unixepoch') ts,
...> key_remote_jid, key_from_me, data
...> FROM messages
...> WHERE key_remote_jid LIKE '%@s.whatsapp.net'
...> ORDER BY timestamp;ฐานข้อมูลแอปที่เข้ารหัส
แอปบางแอปเข้ารหัสฐานข้อมูลของตนเองด้วย เอสคิวไลต์ไซเฟอร์ (เช่น ซิกแนลและแอปธนาคารบางชนิด) คุณไม่สามารถเปิดฐานข้อมูลเหล่านี้ด้วยเครื่องมือเอสคิวไลต์สามทั่วไปได้
- โดยทั่วไปกุญแจจะถูกเก็บไว้ใน คลังเก็บกุญแจ/พวงกุญแจของแพลตฟอร์ม และจะกู้คืนได้เฉพาะจากการดึงข้อมูลที่มีความลึกเพียงพอ
- เมื่อได้กุญแจแล้ว ให้เปิดฐานข้อมูลผ่านคำสั่ง PRAGMA ของเอสคิวไลต์ไซเฟอร์ก่อนทำการค้นข้อมูล
การเปิดฐานข้อมูลเอสคิวไลต์ไซเฟอร์เมื่อกู้คืนกุญแจได้แล้ว:
sqlcipher signal.db
sqlite> PRAGMA key = "x'6f3b...c91a'"; -- recovered raw key
sqlite> PRAGMA cipher_compatibility = 4;
sqlite> SELECT * FROM sms LIMIT 5;การถอดรหัสข้อมูลไบนารีที่ฝังอยู่
ฐานข้อมูลของแอปมักซ่อนข้อมูลที่มีโครงสร้างไว้ในคอลัมน์ BLOB ในรูปโปรโตบัฟ รายการคุณสมบัติ หรือเจสัน คอลัมน์ที่มองเห็นเป็นเพียงส่วนหนึ่งของข้อมูลทั้งหมด
- ข้อมูล BPLIST (รายการคุณสมบัติไบนารีของแอปเปิล) ถอดรหัสได้ด้วยไลบรารีจัดการรายการคุณสมบัติหรือเครื่องมือแปลงรายการคุณสมบัติ
- ข้อมูลโปรโตบัฟถอดรหัสได้ด้วยโปรโตซีหรือแบล็กบ็อกซ์โปรโตบัฟ
แปลงข้อมูลรายการคุณสมบัติไบนารีที่ดึงออกมาจากคอลัมน์:
# Apple binary plist -> readable XML
plutil -convert xml1 -o decoded.plist attachment_blob.bin
# Unknown protobuf -> field tree
python3 -m blackboxprotobuf decode message_blob.binหลักฐานตำแหน่งและพิกัดภูมิศาสตร์
หลักฐานตำแหน่งเชื่อมโยงบุคคลเข้ากับสถานที่และเวลา จึงต้องจัดการด้วยความเคร่งครัดเป็นพิเศษ
- แท็ก GPS ใน ภาพถ่าย EXIF ประวัติการค้นหาของ แอปแผนที่ และแผนที่ส่วนที่แคชไว้
- ตำแหน่งสำคัญของ iOS (แคชตำแหน่งตามกิจวัตร) และประวัติตำแหน่งกับบันทึกไวไฟ/เครือข่ายเซลลูลาร์ของแอนดรอยด์
แยกให้ออกระหว่าง ตำแหน่งที่อุปกรณ์อยู่กับสถานที่ที่ผู้ใช้เพียงค้นหา ดึง GPS EXIF จากภาพถ่าย:
exiftool -GPSLatitude -GPSLongitude -DateTimeOriginal \
IMG_0421.HEICคลาวด์ การซิงค์ และสถานะจากหลายอุปกรณ์
แอปสมัยใหม่ซิงค์ข้อมูลข้ามอุปกรณ์ ดังนั้นข้อมูลบนอุปกรณ์อาจไม่ครบถ้วนหรือมีข้อมูลซ้ำ
- ข้อความที่ลบจากโทรศัพท์อาจยังอยู่ใน แท็บเล็ตที่เชื่อมโยงหรือเซสชันเว็บ
- ข้อมูลกำกับการซิงค์อาจแสดงให้เห็นว่า อุปกรณ์ใดเป็นผู้สร้างข้อความ
ระบุแหล่งที่มาของอุปกรณ์ไว้ในการวิเคราะห์ และขอข้อมูลจากคลาวด์หรืออุปกรณ์ประกอบเฉพาะเมื่อมีอำนาจตามกฎหมายที่เหมาะสมและแยกต่างหาก อย่าสันนิษฐานว่าโทรศัพท์ที่ยึดมาเก็บบันทึกไว้ครบถ้วน
การตรวจสอบยืนยันหลักฐานดิจิทัล
ก่อนนำหลักฐานดิจิทัลไปใส่ในรายงาน ให้ตรวจสอบยืนยันด้วยสามวิธี
- แหล่งที่มา: ยืนยันไฟล์/ตาราง/คอลัมน์ที่เป็นแหล่งที่มาอย่างถูกต้อง
- การถอดรหัส: ตรวจสอบจุดเริ่มต้นของยุคเวลาและความหมายของช่องข้อมูล โดยควรเทียบกับข้อความอ้างอิงที่ทราบว่าถูกต้อง
- การยืนยันด้วยหลักฐานประกอบ: ตรวจสอบไขว้กับหลักฐานอีกชิ้น (เช่น รายการบันทึกการโทรที่ตรงกับรายชื่อติดต่อ)
หลักฐานที่ไม่สามารถยืนยันจากแหล่งอื่นหรือระบุแหล่งที่มาได้อย่างแม่นยำ ควรระบุว่ามีความน่าเชื่อถือต่ำ ไม่ใช่ระบุเป็นข้อเท็จจริง
การสร้างลำดับเหตุการณ์รวม
ลำดับเหตุการณ์รวมจะผสานเหตุการณ์จากหลักฐานหลายชิ้นเข้ามาเป็นมุมมองตามลำดับเวลาเดียวกัน โดยปรับมาตรฐานเวลาเป็น UTC
- รวมข้อความ การโทร การใช้งานแอป ตำแหน่งที่ตั้ง และเหตุการณ์ของระบบ
- ติดป้ายกำกับแต่ละแถวด้วยหลักฐานต้นทางเพื่อให้ตรวจสอบย้อนกลับได้
เครื่องมืออย่าง log2timeline/plaso หรือสคริปต์ของนักวิเคราะห์จะรวบรวมข้อมูลเหล่านี้ ในเชิงแนวคิด แต่ละแถวจะประกอบด้วยเวลา เหตุการณ์ และแหล่งที่มา:
timestamp_utc | source | event
2026-06-01 09:14:02 | sms.db | iMessage sent to +1555...
2026-06-01 09:15:40 | knowledgeC.db | App in foreground: Maps
2026-06-01 09:16:05 | Photos.sqlite | Photo captured (GPS present)โครงสร้างรายงาน
รายงานทางนิติวิทยาศาสตร์ต้องช่วยให้ผู้ตรวจสอบอิสระทำซ้ำและตรวจสอบงานของคุณได้ ส่วนประกอบมาตรฐานมีดังนี้:
- สรุป — ขอบเขต การอนุญาต และข้อค้นพบสำคัญ
- หลักฐานที่จัดการ — อุปกรณ์ ตัวระบุ และลำดับการครอบครองหลักฐาน
- ระเบียบวิธี — เครื่องมือ รุ่น คำสั่งที่ใช้ทั้งหมด และค่าแฮช
- ข้อค้นพบ — หลักฐานดิจิทัลพร้อมการอ้างอิงแหล่งที่มา
- ข้อสรุป — การตีความที่แยกจากข้อเท็จจริงดิบอย่างชัดเจน
ข้อกล่าวอ้างทุกข้อต้องย้อนกลับไปยังแหล่งที่มาที่มีค่าแฮชและขั้นตอนที่มีการบันทึกไว้
ข้อเท็จจริงกับความคิดเห็น
ความน่าเชื่อถือของรายงานขึ้นอยู่กับการแยกการสังเกตออกจากการตีความ
- ข้อเท็จจริง: แถวที่ 482 ของ sms.db มีข้อความ X พร้อมวันที่ Y (UTC)
- การตีความ: ข้อมูลนี้บ่งชี้ว่าผู้ใช้อาจวางแผนจะพบกันที่ตำแหน่ง Z
ระบุข้อเท็จจริงอย่างเป็นกลาง และระบุข้ออนุมานว่าเป็นข้ออนุมาน รวมถึงคำอธิบายทางเลือกด้วย การกล่าวเกินความแน่นอนที่มี (เช่น ยืนยันเจตนาจากข้อความเพียงข้อความเดียว) จะบั่นทอนความน่าเชื่อถือของรายงานทั้งฉบับและอาจถูกโต้แย้งในศาลได้
จริยธรรม ขอบเขต และความเป็นส่วนตัว
อุปกรณ์เคลื่อนที่เก็บข้อมูลส่วนตัวที่ละเอียดอ่อนไว้เป็นจำนวนมาก ผู้ปฏิบัติงานต้องอยู่ภายในกรอบกฎหมายและจริยธรรม
- ทำงานเฉพาะภายในขอบเขตที่ได้รับอนุญาต (เงื่อนไขของหมายค้น/ความยินยอม)
- ลดการเปิดเผยข้อมูลส่วนตัวที่ไม่เกี่ยวข้องให้น้อยที่สุด
- รักษาความเป็นกลาง — รายงานหลักฐานที่เป็นคุณแก่ผู้ถูกกล่าวหาด้วย ไม่ใช่เฉพาะหลักฐานที่มัดตัว
- ปกป้องข้อมูลที่สกัดออกมาด้วยความระมัดระวังเช่นเดียวกับอุปกรณ์ต้นฉบับ
จริยธรรมที่ดีไม่ใช่สิ่งที่เลือกปฏิบัติได้ แต่เป็นสิ่งที่ทำให้หลักฐานดิจิทัลน่าเชื่อถือและสามารถใช้ในศาลได้
ตรวจสอบความเข้าใจ
รายงานของคุณระบุว่า: ‘ผู้ใช้มีเจตนาจะก่อเหตุ ดังที่แสดงโดยข้อความ 482’ ผู้ตรวจสอบคัดค้าน ปัญหาหลักคืออะไร?
ทบทวน: แอป หลักฐานดิจิทัล และการจัดทำรายงาน
ตอนนี้คุณสามารถเปลี่ยนข้อมูลดิบที่สกัดออกมาให้เป็นรายงานที่มีเหตุผลรองรับและปกป้องได้แล้ว
- ข้อมูลแอปประกอบด้วย SQLite + plist/XML + ข้อมูลก้อน protobuf/JSON ให้ถอดรหัสข้อมูลก้อนเหล่านี้อย่างชัดเจน
- คลังข้อมูลที่เข้ารหัส (SQLCipher) ต้องใช้คีย์จากการสกัดข้อมูลเชิงลึก
- จัดการหลักฐานตำแหน่งที่ตั้งอย่างระมัดระวัง และแยกแยะการปรากฏอยู่จริงออกจากการค้นหาเพียงอย่างเดียว
- คำนึงถึงการซิงโครไนซ์หลายอุปกรณ์ และขอข้อมูลบนคลาวด์เฉพาะเมื่อมีอำนาจอนุมัติที่เหมาะสม
- ตรวจสอบยืนยันแหล่งที่มา การถอดรหัส และการยืนยันด้วยหลักฐานประกอบก่อนรายงาน
- สร้างลำดับเหตุการณ์รวมตาม UTC จัดโครงสร้างรายงานให้สามารถทำซ้ำได้ และแยกข้อเท็จจริงออกจากความคิดเห็น
- อยู่ภายในขอบเขตและปฏิบัติงานอย่างมีจริยธรรม — สิ่งนี้ทำให้หลักฐานสามารถใช้ในศาลได้
คำถามที่พบบ่อย
บทเรียน “แอป ร่องรอย และการรายงาน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แอป ร่องรอย และการรายงาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แอป ร่องรอย และการรายงาน”
แยกวิเคราะห์ข้อมูลแอปและนำเสนอข้อค้นพบ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “แอป ร่องรอย และการรายงาน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐานนิติวิทยาศาสตร์อุปกรณ์เคลื่อนที่
- การเก็บข้อมูลและวิเคราะห์ Android
- การเก็บข้อมูลและวิเคราะห์ iOS
- แอป ร่องรอย และการรายงาน