การเก็บข้อมูลและวิเคราะห์ iOS
ดึงและวิเคราะห์ข้อมูล iOS
การเก็บข้อมูลและวิเคราะห์ iOS เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
แบบจำลองความปลอดภัยของ iOS
นิติวิทยาศาสตร์ดิจิทัลบน iOS ถูกกำหนดโดย แบบจำลองความปลอดภัยของฮาร์ดแวร์ที่ผสานรวมอย่างแน่นหนา
- ตัวประมวลผลร่วมที่แยกออกมาอย่างปลอดภัย (SEP) — ตัวประมวลผลร่วมที่แยกออกมาและเก็บวัสดุกุญแจไว้ การพยายามใส่รหัสผ่านจะถูกจำกัดอัตราโดยฮาร์ดแวร์
- การปกป้องข้อมูล — กุญแจเข้ารหัสของแต่ละไฟล์เชื่อมโยงกับรหัสผ่านและ UID ของอุปกรณ์
- การจำกัดแอปให้อยู่ในพื้นที่แยก — แอปแต่ละแอปถูกจำกัดให้อยู่ในพื้นที่ของตนเอง
นั่นหมายความว่าการลองรหัสผ่านแบบไล่ครบทุกค่าจะถูก SEP หน่วงไว้ และข้อมูลดัมพ์แฟลชดิบจะเป็นข้อความเข้ารหัส การเข้าถึงโดยชอบด้วยกฎหมายมักอาศัยอุปกรณ์ที่ปลดล็อกโดยผู้ใช้ หรืออยู่ในสถานะ AFU
ระดับการปกป้องข้อมูล
ไฟล์ทุกไฟล์จะได้รับการกำหนด ระดับการปกป้อง ซึ่งควบคุมว่ากุญแจของไฟล์จะพร้อมใช้งานเมื่อใด
- สมบูรณ์ — กุญแจจะถูกลบออกไม่นานหลังจากอุปกรณ์ล็อก (มีการปกป้องสูงสุด)
- สมบูรณ์จนกว่าจะมีการยืนยันตัวตนของผู้ใช้ครั้งแรก — กุญแจจะพร้อมใช้งานหลังการปลดล็อกครั้งแรก (ค่าเริ่มต้น AFU ที่ใช้ทั่วไป)
- ไม่มีการปกป้อง — กุญแจพร้อมใช้งานเสมอ (พบได้น้อย)
นี่คือเหตุผลที่ AFU มีความสำคัญบน iOS: ไฟล์ในระดับจนกว่าจะมีการยืนยันตัวตนครั้งแรกจะสามารถอ่านได้ ทำให้เข้าถึงข้อมูลผู้ใช้ส่วนใหญ่ได้
การเก็บรวบรวมข้อมูลสำรองผ่าน iTunes/ไฟน์เดอร์
วิธีดึงข้อมูลเชิงตรรกะที่เข้าถึงได้ง่ายที่สุดคือ การเก็บรวบรวมข้อมูลสำรองผ่านความสัมพันธ์การจับคู่กับเครื่องโฮสต์ (กลไกเดียวกับ iTunes/ไฟน์เดอร์)
- ต้องมี บันทึกการจับคู่ (ใบรับรองการควบคุมการเชื่อมต่อ) ที่ถูกต้อง และต้องใช้อุปกรณ์ที่ปลดล็อกแล้วเพื่อสร้างบันทึกดังกล่าว
- ข้อมูลสำรองที่เข้ารหัส (ตั้งรหัสผ่านข้อมูลสำรองไว้แล้ว) จะมีข้อมูล มากกว่า จริง ได้แก่ พวงกุญแจ ข้อมูลสุขภาพ และรหัสผ่านที่บันทึกไว้
สร้างข้อมูลสำรองโดยใช้ไลบรารีสำหรับอุปกรณ์เคลื่อนที่ด้วยการอนุญาตที่เหมาะสม:
idevice_id -l # list connected UDIDs
ideviceinfo -k ProductVersion # confirm iOS version
idevicebackup2 backup --full ./ios_backup/โครงสร้างข้อมูลสำรองและรายการกำกับ
ข้อมูลสำรองของ iOS จะไม่จัดเก็บไฟล์ตามชื่อ แต่จะคำนวณแฮชของเส้นทางและจัดเก็บไฟล์แบบแบน โดยมีไฟล์ฐานข้อมูลเอสคิวไลต์ Manifest.db เป็นดัชนี
- Manifest.db จับคู่โดเมนกับเส้นทางสัมพัทธ์ไปยังชื่อไฟล์ที่ผ่านแฮชบนดิสก์
- Info.plist / Status.plist เก็บข้อมูลกำกับของอุปกรณ์และข้อมูลสำรอง
- ข้อมูลสำรองที่เข้ารหัสยังต้องคลายการห่อกุญแจพวงกุญแจด้วยรหัสผ่านข้อมูลสำรอง
ค้นหาหลักฐานที่ทราบตำแหน่งผ่านรายการกำกับ:
sqlite3 -readonly Manifest.db \
"SELECT fileID, domain, relativePath FROM Files
WHERE relativePath LIKE '%sms.db%';"การดึงข้อมูลจากระบบไฟล์ทั้งหมด
การดึงข้อมูลจากระบบไฟล์ทั้งหมด (FFS) จะเกินขอบเขตข้อมูลที่อนุญาตให้รวมอยู่ในข้อมูลสำรอง ไปจนถึงพาร์ทิชันผู้ใช้ทั้งหมด รวมถึงแคชของแอป หลักฐานจากฐานข้อมูลความรู้ และฐานข้อมูลระบบ
- ต้องใช้ ตัวแทนหรือช่องโหว่สำหรับใช้ประโยชน์ (เช่น อาศัยเช็กเอ็มแปดในชิปรุ่นเก่าที่มีช่องโหว่) และอุปกรณ์ที่อยู่ในสถานะ AFU
- เก็บหลักฐานที่ข้อมูลสำรองไม่รวมไว้ เช่น knowledgeC.db, interactionC.db และแคชตำแหน่ง
FFS เป็นมาตรฐานสูงสุดสำหรับการวิเคราะห์ iOS รุ่นใหม่เมื่อสามารถได้มาโดยชอบด้วยกฎหมาย เนื่องจากทำให้เห็นฐานข้อมูลพฤติกรรมของระบบที่มองไม่เห็นในข้อมูลสำรองมาตรฐาน
ฐานข้อมูลหลักของ iOS
iOS จัดเก็บกิจกรรมของผู้ใช้ไว้ในฐานข้อมูลเอสคิวไลต์ที่รู้จักกันดีภายในโดเมนของแอป
- sms.db — iMessage และ SMS (ตาราง: message, handle)
- CallHistory.storedata — บันทึกการโทร
- AddressBook.sqlitedb — รายชื่อติดต่อ
- Photos.sqlite — ข้อมูลกำกับสื่อและลิงก์ไปยังรายการสื่อ
ค้นเนื้อหา iMessage แบบอ่านอย่างเดียวจากข้อมูลที่ดึงมา:
sqlite3 -readonly sms.db
sqlite> SELECT datetime(date/1000000000 + 978307200,'unixepoch') ts,
...> h.id, m.text
...> FROM message m JOIN handle h ON m.handle_id=h.ROWID
...> ORDER BY m.date DESC LIMIT 20;การประทับเวลาของแอปเปิล (แมค/โคโคอา)
iOS มักใช้เวลาแบบ ยุคอ้างอิงของแอปเปิล/โคโคอา ซึ่งเป็นจำนวนวินาทีตั้งแต่ 2001-01-01 UTC ไม่ใช่ปี 1970 ฐานข้อมูลบางแห่งจัดเก็บค่าในรูปนาโนวินาที
- ค่าชดเชยไปยังยุคยูนิกซ์คือ 978307200 วินาที
dateของ iMessage คือจำนวนนาโนวินาทีตั้งแต่ปี 2001 ให้หารด้วย 1e9 แล้วบวกค่าชดเชย
การอ่านยุคอ้างอิงเวลาผิดจะทำให้วันที่คลาดเคลื่อนไป 31 ปี รูปแบบการแปลงคือ:
-- Cocoa seconds -> UTC
SELECT datetime(ZDATE + 978307200, 'unixepoch') FROM ZRECORD;
-- iMessage nanoseconds -> UTC
SELECT datetime(date/1000000000 + 978307200, 'unixepoch') FROM message;ฐานข้อมูลพฤติกรรม
iOS เก็บ ข้อมูลวัดพฤติกรรมอย่างละเอียดสำหรับคุณลักษณะของระบบ ซึ่งมีคุณค่าอย่างมากต่อการสร้างลำดับเวลา
- knowledgeC.db — การใช้งานแอป โหมดโฟกัส การล็อกและปลดล็อกอุปกรณ์ เหตุการณ์ของสิริ
- interactionC.db — การสื่อสารกับผู้ติดต่อผ่านแอปต่าง ๆ
- ข้อมูลตำแหน่งตามกิจวัตร / cache_encryptedB.db — ตำแหน่งสำคัญ
ข้อมูลเหล่านี้มีอยู่เฉพาะในการดึงข้อมูลแบบ FFS (ไม่อยู่ในข้อมูลสำรองมาตรฐาน) และสามารถระบุได้ว่าผู้ใช้กำลังทำอะไรในช่วงเวลาที่แน่นอนได้ แต่ต้องตีความอย่างระมัดระวัง เนื่องจากเหตุการณ์บางรายการสร้างขึ้นโดยระบบ ไม่ได้เกิดจากผู้ใช้โดยตรง
การกู้คืนพวงกุญแจ
พวงกุญแจเก็บรหัสผ่านไวไฟ โทเคน ข้อมูลรับรองของแอป และใบรับรอง โดยเข้ารหัสด้วยกุญแจระดับชั้นที่สร้างจากรหัสผ่าน
- กู้คืนได้จาก ข้อมูลสำรอง iTunes ที่เข้ารหัส (โดยใช้รหัสผ่านข้อมูลสำรอง) หรือการดึงข้อมูลแบบ FFS
- รายการแต่ละรายการมีระดับการปกป้องของตนเอง และบางรายการพร้อมใช้งานเฉพาะในสถานะ AFU
เนื้อหาในพวงกุญแจอาจเผยให้เห็นการเข้าถึงบัญชีและบริบทแวดล้อมที่เกี่ยวเนื่อง จึงต้องจัดการด้วยความระมัดระวังทางกฎหมายเช่นเดียวกับข้อมูลรับรองทุกประเภท
การแยกวิเคราะห์อัตโนมัติด้วย iLEAPP
iLEAPP แยกวิเคราะห์ข้อมูลสำรองของ iOS และการดึงข้อมูลแบบ FFS เป็นรายงานที่มีโครงสร้าง ครอบคลุมหลักฐานหลายร้อยประเภท
- ถอดรหัส knowledgeC, sms, ประวัติซาฟารี สถานะแอป และข้อมูลอื่น ๆ
- ใช้เพื่อคัดกรองเบื้องต้น จากนั้นตรวจสอบข้อค้นพบสำคัญกับฐานข้อมูลเอสคิวไลต์ดิบ
เรียกใช้ iLEAPP กับข้อมูลสำรองหรือข้อมูลที่ดึงมา:
python3 ileapp.py -t fs -i ./ios_filesystem/ -o ./ileapp_report/
# Or -t itunes for a Finder/iTunes backup folderiCloud และการตรวจสอบข้ามกัน
ข้อมูลที่ลบออกจากอุปกรณ์อาจยังคงอยู่ใน iCloud (ข้อมูลสำรอง รูปภาพ ข้อความใน iCloud และข้อมูลแอป)
- การเข้าถึง iCloud ต้องมี อำนาจตามกฎหมายแยกต่างหาก และข้อมูลรับรองหรือโทเคนที่ถูกต้อง
- ตรวจสอบข้อค้นพบจากอุปกรณ์โดยเปรียบเทียบกับสำเนาบนคลาวด์และเครื่องมืออีกชนิดหนึ่ง
เช่นเดียวกับทุกครั้ง ให้ยืนยันแฮชของข้อมูลที่ดึงมาก่อนและหลังการวิเคราะห์ และบันทึกรุ่นของเครื่องมือกับคำสั่งต่าง ๆ เพื่อให้ผู้ตรวจสอบคนอื่นทำซ้ำผลลัพธ์ของคุณได้
ตรวจสอบอย่างรวดเร็ว
คุณถอดรหัสการประทับเวลาของ iMessage เป็นยุคยูนิกซ์ แล้ววันที่ออกมาเร็วเกินไป 31 ปี เกิดอะไรขึ้น
ทบทวน: การเก็บรวบรวมและวิเคราะห์หลักฐานจาก iOS
ขณะนี้คุณสามารถทำความเข้าใจชุดข้อมูลนิติวิทยาศาสตร์ดิจิทัลของ iOS ได้แล้ว
- ระดับ Secure Enclave + การปกป้องข้อมูล ทำให้สถานะ AFU มีความสำคัญอย่างยิ่ง
- ข้อมูลสำรองที่เข้ารหัสมีพวงกุญแจและข้อมูลสุขภาพ ส่วนการดึงข้อมูลแบบ FFS จะเพิ่มฐานข้อมูลพฤติกรรม
- ข้อมูลสำรองมีดัชนีโดยใช้ Manifest.db พร้อมชื่อไฟล์ที่ผ่านแฮช
- หลักฐานสำคัญ ได้แก่ sms.db, CallHistory, AddressBook, knowledgeC.db
- ถอดรหัส การประทับเวลาแบบแอปเปิล/โคโคอา (ยุคปี 2001 และ +978307200)
- คัดกรองเบื้องต้นด้วย iLEAPP ตรวจสอบด้วยตนเอง และพิจารณาใช้ iCloud เมื่อมีอำนาจตามกฎหมายที่เหมาะสม
ถัดไป: การแยกวิเคราะห์หลักฐานจากแอปและการจัดทำรายงาน
คำถามที่พบบ่อย
บทเรียน “การเก็บข้อมูลและวิเคราะห์ iOS” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเก็บข้อมูลและวิเคราะห์ iOS” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเก็บข้อมูลและวิเคราะห์ iOS”
ดึงและวิเคราะห์ข้อมูล iOS คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การเก็บข้อมูลและวิเคราะห์ iOS” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐานนิติวิทยาศาสตร์อุปกรณ์เคลื่อนที่
- การเก็บข้อมูลและวิเคราะห์ Android
- การเก็บข้อมูลและวิเคราะห์ iOS
- แอป ร่องรอย และการรายงาน