0Pricing
Cyber Security Academy · บทเรียน

การเก็บข้อมูลและวิเคราะห์ Android

ดึงและวิเคราะห์ข้อมูล Android

การเก็บข้อมูลและวิเคราะห์ Android เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

สถาปัตยกรรมพื้นที่จัดเก็บข้อมูลของ Android

หากต้องการดึงข้อมูล Android อย่างมีประสิทธิภาพ คุณต้องทราบว่าข้อมูลเหล่านั้นอยู่ที่ใด

  • /data/data/<package>/ — พื้นที่แยกของแต่ละแอป: ฐานข้อมูล shared_prefs ไฟล์ และแคช
  • /data/media/0/ — พื้นที่จัดเก็บของผู้ใช้ (รูปภาพ ไฟล์ดาวน์โหลด)
  • /data/system/ — บัญชี การตั้งค่าการล็อก และสถิติการใช้งาน

พยานหลักฐานของแอปส่วนใหญ่อยู่ในฐานข้อมูล SQLiteและไฟล์การตั้งค่า XML ภายในพื้นที่แยกของแต่ละแอป ซึ่งอ่านไม่ได้หากไม่มีสิทธิ์ระดับผู้ดูแลระบบหรือกลไกการสำรองข้อมูล

ข้อกำหนดเบื้องต้นของ ADB และการแก้ไขข้อบกพร่อง

เครื่องมือเชื่อมต่อสำหรับแก้ไขข้อบกพร่องของ Android (ADB)เป็นช่องทางหลักสำหรับการเก็บข้อมูลเชิงตรรกะ โดยต้องเปิดใช้การแก้ไขข้อบกพร่องผ่าน USB และอนุญาตคีย์ของเครื่องโฮสต์

  • หากไม่ได้เปิดใช้การแก้ไขข้อบกพร่องและไม่ได้ปลดล็อกหน้าจอ การเข้าถึง ADB จะถูกปิดกั้น
  • ข้อความขออนุญาตเองก็เปลี่ยนสถานะของอุปกรณ์ — ให้บันทึกไว้

ตรวจสอบการเชื่อมต่อและเก็บคุณสมบัติของอุปกรณ์ก่อน:

adb devices -l
adb shell getprop ro.build.version.release   # Android version
adb shell getprop ro.product.model           # Device model
adb shell getprop ro.crypto.state            # encrypted / unencrypted

การเก็บข้อมูลเชิงตรรกะผ่านการสำรองข้อมูลด้วย ADB

adb backupสร้างไฟล์จัดเก็บ .ab ของข้อมูลแอปสำหรับการสำรองข้อมูล ไม่ต้องใช้สิทธิ์ระดับผู้ดูแลระบบและมีให้ใช้อย่างแพร่หลาย แต่มีข้อจำกัด: แอปจำนวนมากกำหนดให้ allowBackup=false

  • เก็บข้อมูลแอป ไฟล์ APK (ด้วย -apk) และพื้นที่จัดเก็บร่วม
  • ไม่รวมแอปที่เลือกไม่เข้าร่วมและระเบียนที่ลบแล้ว

สร้างและแปลงข้อมูลสำรองเพื่อใช้วิเคราะห์:

# Create a full backup (user must confirm on device)
adb backup -apk -shared -all -f android_backup.ab

# Convert the .ab to a readable tar (android-backup-extractor)
java -jar abe.jar unpack android_backup.ab android_backup.tar
tar -xvf android_backup.tar

การเก็บข้อมูลจากระบบไฟล์

การเก็บข้อมูลจากระบบไฟล์จะคัดลอกโครงสร้างไดเรกทอรี รวมถึงพื้นที่แยกของแอปและไฟล์บันทึก SQLite WAL/SHM ที่เก็บระเบียนซึ่งยังไม่ได้ซิงค์

  • ต้องมีสิทธิ์ระดับผู้ดูแลระบบ ตัวแทนนิติวิทยาศาสตร์ดิจิทัล หรือวิธีใช้ช่องโหว่/วิธีการผ่านบูตโหลดเดอร์
  • เก็บรักษาไฟล์-walและ-shmไว้ — สำคัญมาก เพราะระเบียนล่าสุดอาจมีอยู่เฉพาะในไฟล์เหล่านี้

เมื่อดึงฐานข้อมูล SQLite ให้เก็บไฟล์บันทึกที่มาคู่กันด้วยเสมอ:

adb pull /data/data/com.whatsapp/databases/msgstore.db ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-wal ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-shm ./out/

ข้อเท็จจริงของการเก็บข้อมูลแบบกายภาพ

อิมเมจแบบกายภาพคือสำเนาของ NAND แบบทีละบิต รวมถึงพื้นที่ที่ไม่ได้จัดสรรซึ่งข้อมูลที่ลบแล้วอาจยังคงอยู่ บน Android รุ่นใหม่ การสร้างอิมเมจประเภทนี้ทำได้ยากที่สุด

  • การเข้ารหัส FBEหมายความว่าดัมป์ NAND ดิบจะเป็นข้อความเข้ารหัสหากไม่มีคีย์ของผู้ใช้
  • วิธีการต่าง ๆ ได้แก่ การใช้ช่องโหว่ของผู้ผลิต โหมด EDL/บูตโหลดเดอร์ หรือการถอดชิปออก (ทางเลือกสุดท้ายและทำลายอุปกรณ์)
  • ในทางปฏิบัติ การเก็บข้อมูลจากระบบไฟล์ขณะอยู่ในสถานะ AFU มักให้ข้อมูลที่ใช้งานได้มากกว่าดัมป์แบบกายภาพที่เข้ารหัส

เลือกการเก็บข้อมูลแบบกายภาพเฉพาะเมื่อมีเหตุผลรองรับและสามารถถอดรหัสได้

SQLite: หัวใจของพยานหลักฐาน Android

ร่องรอยหลักฐานของ Android ส่วนใหญ่อยู่ในฐานข้อมูล SQLite นักวิเคราะห์สอบถามฐานข้อมูลโดยตรงเพื่อกู้คืนข้อความ บันทึกการโทร และเวลา

  • เปิดแบบอ่านอย่างเดียวเพื่อหลีกเลี่ยงการแก้ไขไฟล์พยานหลักฐาน
  • ค่ามักแสดงเวลาเป็นมิลลิวินาทีของยุค Unix

ตรวจสอบฐานข้อมูลรายชื่อผู้ติดต่อจากข้อมูลที่เก็บมา:

sqlite3 -readonly contacts2.db
sqlite> .tables
sqlite> SELECT display_name, data1
   ...> FROM view_v_contacts LIMIT 20;

การกู้คืนระเบียน SQLite ที่ลบแล้ว

การลบระเบียนใน SQLite มักเพียงทำเครื่องหมายพื้นที่ของหน้าให้ว่าง เศษข้อมูลที่กู้คืนได้อยู่ใน:

  • หน้าพื้นที่ว่างและพื้นที่ที่ไม่ได้จัดสรรของไฟล์ .db
  • บันทึกการเขียนล่วงหน้า -wal ซึ่งเก็บเวอร์ชันของระเบียนก่อนถึงจุดตรวจสอบ

เครื่องมือกู้คืนด้วยการค้นหาโครงสร้างข้อมูลจะสร้างระเบียนเหล่านี้ขึ้นใหม่ ให้ดำเนินการกู้คืนกับฐานข้อมูล:

# Carve deleted rows from freelist + WAL
python3 sqlite_carver.py --db msgstore.db --wal msgstore.db-wal \
  --out recovered_messages.csv

# Cross-check live vs recovered counts in your notes

เส้นเวลาและการถอดรหัสเวลา

การสร้างเส้นเวลาช่วยเชื่อมโยงเหตุการณ์ระหว่างแอปต่าง ๆ ความท้าทายคือ Android ใช้รูปแบบเวลาหลายรูปแบบ

  • ยุค Unix (ms) — ฐานข้อมูลข้อความส่วนใหญ่
  • ยุค Unix (s) — บันทึกข้อมูลระบบจำนวนมาก
  • เวลา WebKit/Chrome — ไมโครวินาทีตั้งแต่ปี 1601 (ประวัติเบราว์เซอร์)

ปรับเวลาให้เป็นUTCเสมอ และระบุเขตเวลาของอุปกรณ์ ตัวอย่างการแปลงใน SQLite:

-- Convert epoch milliseconds to readable UTC
SELECT datetime(timestamp/1000, 'unixepoch') AS sent_utc,
       key_remote_jid, data
FROM messages
ORDER BY timestamp DESC LIMIT 25;

หลักฐานสำคัญของระบบ

นอกเหนือจากข้อมูลแอป หลักฐานจากระบบแอนดรอยด์ยังเผยให้เห็นพฤติกรรมของผู้ใช้และการใช้งานอุปกรณ์

  • สถิติการใช้งาน — แอปใดทำงานและทำงานเมื่อใด
  • accounts.db / accounts_ce.db — บัญชีกูเกิลและบัญชีแอปที่เชื่อมโยงกัน
  • สถิติเครือข่าย / นโยบายเครือข่าย — การใช้ข้อมูลของแต่ละแอป
  • การกำหนดค่าไวไฟ (WifiConfigStore.xml) — เครือข่ายที่รู้จัก ซึ่งมีประโยชน์ต่อบริบทการระบุตำแหน่งภูมิศาสตร์

ข้อมูลเหล่านี้ช่วยสนับสนุนหรือขัดแย้งกับคำกล่าวอ้างเกี่ยวกับผู้ที่ใช้อุปกรณ์และช่วงเวลาที่ใช้งาน

การแยกวิเคราะห์อัตโนมัติด้วย ALEAPP

การแยกวิเคราะห์ด้วยตนเองไม่สามารถขยายรองรับข้อมูลปริมาณมากได้ ALEAPP (ตัวแยกวิเคราะห์บันทึก เหตุการณ์ และโปรโตบัฟของแอนดรอยด์) รับข้อมูลจากการดึงข้อมูลระบบไฟล์และสร้างรายงานแบบมีโครงสร้างในรูปแบบ HTML/CSV

  • แยกวิเคราะห์ข้อมูลสถิติการใช้งาน กิจกรรมล่าสุด การแจ้งเตือน สิทธิ์ของแอป และข้อมูลอื่น ๆ
  • ใช้เพื่อคัดกรองเบื้องต้น จากนั้นตรวจสอบข้อค้นพบสำคัญด้วยตนเองกับฐานข้อมูลดิบ

เรียกใช้ ALEAPP กับไดเรกทอรีข้อมูลที่ดึงมา:

python3 aleapp.py -t fs -i ./android_filesystem/ -o ./aleapp_report/
# Open ./aleapp_report/index.html to review parsed artifacts

การตรวจสอบยืนยันและการต่อต้านการดัดแปลง

อย่าไว้วางใจเครื่องมือเพียงรายการเดียว ตรวจสอบยืนยันผลลัพธ์อัตโนมัติกับข้อมูลต้นทางและเปรียบเทียบข้ามเครื่องมือ

  • เรียกใช้คำค้นสำคัญซ้ำด้วย เครื่องมือเอสคิวไลต์สาม ด้วยตนเองเพื่อยืนยันผลลัพธ์ของตัวแยกวิเคราะห์
  • เฝ้าระวัง สัญญาณการต่อต้านนิติวิทยาศาสตร์ดิจิทัล เช่น บันทึกที่ถูกล้าง การประทับเวลาที่ถูกแก้ไข แอปลบข้อมูลอย่างปลอดภัย หรือแอปแชตที่ตั้งค่าให้ข้อความหายไป
  • ยืนยันว่าแฮชของอิมเมจยังตรงกันทั้งก่อนและหลังการวิเคราะห์

การทำซ้ำได้และการตรวจสอบข้ามกันทำให้ข้อค้นพบมีหลักฐานรองรับ

ตรวจสอบอย่างรวดเร็ว

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

ทบทวน: การเก็บรวบรวมและวิเคราะห์หลักฐานจากแอนดรอยด์

ขณะนี้คุณสามารถเก็บรวบรวมและวิเคราะห์หลักฐานจากแอนดรอยด์ได้ตั้งแต่ต้นจนจบ

  • ข้อมูลแอปอยู่ใน พื้นที่แยกของแต่ละแอป ในรูปฐานข้อมูลเอสคิวไลต์และค่ากำหนดเอ็กซ์เอ็มแอล
  • ข้อมูลสำรอง ADB = ดึงข้อมูลเชิงตรรกะได้ง่าย; การดึงข้อมูลจากระบบไฟล์ (สิทธิ์ระดับราก) จะรักษา WAL ไว้; การดึงข้อมูลทางกายภาพ ทำได้ยากที่สุดภายใต้ FBE
  • กู้คืนระเบียนที่ถูกลบจาก หน้าข้อมูลว่างและ WAL
  • ปรับการประทับเวลาให้เป็นมาตรฐาน UTC และถอดรหัสรูปแบบยุคอ้างอิงเวลากับ WebKit
  • ใช้ ALEAPP เพื่อคัดกรองเบื้องต้น จากนั้น ตรวจสอบยืนยันด้วยตนเองด้วยเครื่องมือเอสคิวไลต์สาม
  • เฝ้าระวังการดัดแปลงเพื่อต่อต้านนิติวิทยาศาสตร์ดิจิทัล และตรวจสอบแฮชของอิมเมจอีกครั้ง

ถัดไป: ส่วนของ iOS

คำถามที่พบบ่อย

บทเรียน “การเก็บข้อมูลและวิเคราะห์ Android” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเก็บข้อมูลและวิเคราะห์ Android” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเก็บข้อมูลและวิเคราะห์ Android”

ดึงและวิเคราะห์ข้อมูล Android คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การเก็บข้อมูลและวิเคราะห์ Android” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐานนิติวิทยาศาสตร์อุปกรณ์เคลื่อนที่
  2. การเก็บข้อมูลและวิเคราะห์ Android
  3. การเก็บข้อมูลและวิเคราะห์ iOS
  4. แอป ร่องรอย และการรายงาน
← กลับไปที่ Cyber Security Academy