0Pricing
Cyber Security Academy · Lekcja

Pozyskiwanie i analiza danych z iOS

Pozyskiwanie i analizowanie danych z iOS

Pozyskiwanie i analiza danych z iOS to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Model bezpieczeństwa iOS

Informatyka śledcza iOS jest kształtowana przez ściśle zintegrowany sprzętowy model bezpieczeństwa.

  • Secure Enclave (SEP) — odizolowany koprocesor przechowujący materiał kluczowy; liczba prób podania kodu jest ograniczana sprzętowo.
  • Data Protection — klucze szyfrowania poszczególnych plików powiązane z kodem i identyfikatorem UID urządzenia.
  • Sandboxing — każda aplikacja jest ograniczona do własnego kontenera.

Oznacza to, że łamanie kodu metodą brute force jest ograniczane przez SEP, a surowy zrzut pamięci flash jest szyfrogramem. Dostęp zgodny z prawem zwykle wymaga, aby urządzenie było odblokowane za zgodą użytkownika lub znajdowało się w stanie AFU.

Klasy ochrony danych

Każdemu plikowi jest przypisywana klasa ochrony, która określa, kiedy dostępny jest jej klucz.

  • Complete — klucz jest usuwany wkrótce po zablokowaniu urządzenia (najwyższy poziom ochrony).
  • Complete Until First User Authentication — klucz staje się dostępny po pierwszym odblokowaniu (typowa domyślna klasa AFU).
  • No Protection — klucz jest zawsze dostępny (rzadko stosowane).

Dlatego stan AFU ma w iOS kluczowe znaczenie: pliki w klasie dostępnej do pierwszego uwierzytelnienia stają się możliwe do odczytania, co odblokowuje większość danych użytkownika.

Pozyskiwanie kopii zapasowej iTunes/Finder

Najłatwiej dostępną metodą logiczną jest pozyskanie kopii zapasowej za pośrednictwem relacji parowania z hostem (z wykorzystaniem tego samego mechanizmu co iTunes/Finder).

  • Wymaga prawidłowego pairing record (lockdown certificate) oraz odblokowanego urządzenia, aby taki rekord utworzyć.
  • Zaszyfrowana kopia zapasowa (z ustawionym hasłem kopii) zawiera w rzeczywistości więcej danych: dane pęku kluczy, dane zdrowotne i zapisane hasła.

Należy utworzyć kopię zapasową za pomocą libimobiledevice, korzystając z właściwej autoryzacji:

idevice_id -l                       # list connected UDIDs
ideviceinfo -k ProductVersion       # confirm iOS version
idevicebackup2 backup --full ./ios_backup/

Struktura kopii zapasowej i manifestu

Kopia zapasowa iOS nie przechowuje plików pod ich nazwami. Haszuje ścieżki i zapisuje pliki płasko, a ich indeksowanie odbywa się za pomocą bazy SQLite Manifest.db.

  • Manifest.db odwzorowuje domenę i ścieżkę względną na zahaszowaną nazwę pliku na dysku.
  • Info.plist / Status.plist przechowują metadane urządzenia i kopii zapasowej.
  • Zaszyfrowane kopie zapasowe wymagają również odszyfrowania klucza pęku kluczy za pomocą hasła kopii.

Należy odnaleźć znany artefakt za pomocą manifestu:

sqlite3 -readonly Manifest.db \
  "SELECT fileID, domain, relativePath FROM Files
   WHERE relativePath LIKE '%sms.db%';"

Pełna ekstrakcja systemu plików

Pełna ekstrakcja systemu plików (FFS) wykracza poza dane dozwolone przez kopię zapasową i obejmuje całą partycję użytkownika, w tym pamięci podręczne aplikacji, artefakty wiedzy i bazy systemowe.

  • Wymaga agenta lub exploita (np. opartego na checkm8 w przypadku podatnych starszych układów) oraz urządzenia w stanie AFU.
  • Pozwala pozyskać artefakty pomijane przez kopie zapasowe: knowledgeC.db, interactionC.db, pamięci podręczne lokalizacji.

FFS jest złotym standardem współczesnej analizy iOS, gdy można ją uzyskać zgodnie z prawem, ponieważ ujawnia systemowe bazy danych dotyczące zachowania, niewidoczne w standardowej kopii zapasowej.

Najważniejsze bazy danych iOS

iOS przechowuje aktywność użytkownika w dobrze znanych bazach SQLite znajdujących się w domenach aplikacji.

  • sms.db — iMessage i SMS (tabele: message, handle).
  • CallHistory.storedata — rejestry połączeń.
  • AddressBook.sqlitedb — kontakty.
  • Photos.sqlite — metadane multimediów i odnośniki do zasobów.

Należy wykonać zapytanie dotyczące treści iMessage (tylko do odczytu) na podstawie ekstrakcji:

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;

Znaczniki czasu Apple (Mac/Cocoa)

iOS często używa czasu epoki Apple/Cocoa: liczby sekund od 2001-01-01 UTC, a nie od 1970 roku. Niektóre bazy danych przechowują go w nanosekundach.

  • Przesunięcie względem epoki Unix wynosi 978307200 sekund.
  • Wartość date w iMessage jest wyrażona w nanosekundach od 2001 roku; należy podzielić ją przez 1e9, a następnie dodać przesunięcie.

Błędne odczytanie epoki powoduje przesunięcie dat o 31 lat. Schemat konwersji:

-- Cocoa seconds -> UTC
SELECT datetime(ZDATE + 978307200, 'unixepoch') FROM ZRECORD;

-- iMessage nanoseconds -> UTC
SELECT datetime(date/1000000000 + 978307200, 'unixepoch') FROM message;

Bazy danych zachowań

iOS przechowuje bogatą telemetrię zachowania dotyczącą funkcji systemowych, która jest niezwykle cenna przy tworzeniu osi czasu.

  • knowledgeC.db — użycie aplikacji, tryb skupienia, blokowanie i odblokowywanie urządzenia, zdarzenia Siri.
  • interactionC.db — komunikacja z kontaktami między aplikacjami.
  • routined / cache_encryptedB.db — ważne lokalizacje.

Dane te występują wyłącznie w ekstrakcjach FFS (nie w standardowych kopiach zapasowych) i mogą ustalić, co użytkownik robił w konkretnej chwili — należy jednak zachować ostrożność w interpretacji, ponieważ niektóre zdarzenia są generowane przez system, a nie przez użytkownika.

Odzyskiwanie danych pęku kluczy

Pęk kluczy przechowuje hasła Wi-Fi, tokeny, dane uwierzytelniające aplikacji i certyfikaty. Jest szyfrowany za pomocą kluczy klas wyprowadzonych z kodu.

  • Można go odzyskać z zaszyfrowanej kopii zapasowej iTunes (za pomocą hasła kopii) lub z ekstrakcji FFS.
  • Elementy mają własną klasę ochrony; niektóre są dostępne wyłącznie w stanie AFU.

Zawartość pęku kluczy może ujawnić dostęp do kont i dodatkowy kontekst — należy obchodzić się z nią z taką samą ostrożnością prawną jak z wszelkimi materiałami zawierającymi dane uwierzytelniające.

Automatyczne parsowanie za pomocą iLEAPP

iLEAPP parsuje kopie zapasowe iOS oraz ekstrakcje FFS, tworząc ustrukturyzowane raporty obejmujące setki typów artefaktów.

  • Dekoduje knowledgeC, sms, historię Safari, stany aplikacji i inne dane.
  • Należy używać go do wstępnej analizy, a kluczowe ustalenia weryfikować na podstawie surowych baz SQLite.

Należy uruchomić iLEAPP dla kopii zapasowej lub ekstrakcji:

python3 ileapp.py -t fs -i ./ios_filesystem/ -o ./ileapp_report/
# Or -t itunes for a Finder/iTunes backup folder

iCloud i weryfikacja krzyżowa

Dane usunięte z urządzenia mogą nadal być przechowywane w iCloud (kopie zapasowe, Photos, Messages in iCloud, dane aplikacji).

  • Dostęp do iCloud wymaga odrębnego upoważnienia prawnego oraz właściwych danych uwierzytelniających lub tokenów.
  • Należy porównywać ustalenia z urządzenia z kopiami w chmurze oraz z wynikami drugiego narzędzia.

Jak zawsze, należy potwierdzić hash ekstrakcji przed analizą i po niej oraz udokumentować wersje narzędzi i polecenia, aby inny biegły mógł odtworzyć wyniki.

Szybki test

Odczytują Państwo znacznik czasu iMessage jako epokę Unix, a data wychodzi o 31 lat za wczesna. Co poszło nie tak?

Podsumowanie: pozyskiwanie i analiza danych z iOS

Można już sprawnie pracować z całym stosem kryminalistyki iOS.

  • Połączenie Secure Enclave + Data Protection sprawia, że stan AFU ma kluczowe znaczenie.
  • Zaszyfrowane kopie zapasowe zawierają dane pęku kluczy i zdrowotne; ekstrakcje FFS dodatkowo obejmują bazy danych zachowań.
  • Kopie zapasowe są indeksowane przez Manifest.db za pomocą zahaszowanych nazw plików.
  • Najważniejsze dowody: sms.db, CallHistory, AddressBook, knowledgeC.db.
  • Należy dekodować znaczniki czasu Apple/Cocoa (epoka 2001, +978307200).
  • Należy przeprowadzać wstępną analizę za pomocą iLEAPP, ręcznie weryfikować wyniki i uwzględniać iCloud przy odpowiednim upoważnieniu.

Następnie: parsowanie artefaktów aplikacji i przygotowanie raportu.

Często zadawane pytania

Czy lekcja „Pozyskiwanie i analiza danych z iOS” jest bezpłatna?

Tak — pełny tekst „Pozyskiwanie i analiza danych z iOS” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Pozyskiwanie i analiza danych z iOS”?

Pozyskiwanie i analizowanie danych z iOS Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?

Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Pozyskiwanie i analiza danych z iOS”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?

Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy informatyki śledczej urządzeń mobilnych
  2. Pozyskiwanie i analiza danych z Androida
  3. Pozyskiwanie i analiza danych z iOS
  4. Aplikacje, artefakty i raportowanie
← Powrót do Cyber Security Academy