Cyber Security Academy · Lekcja

Aplikacje, artefakty i raportowanie

Analizowanie danych aplikacji i przedstawianie ustaleń

Lekcja 4 z 413 kroki

Aplikacje, artefakty i raportowanie to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 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.

Artefakty aplikacji: ogólny obraz

Aplikacje innych firm w większości przypadków generują najbogatsze źródła dowodów. Każda aplikacja przechowuje dane na swój sposób, ale pewne schematy się powtarzają.

  • Bazy danych SQLite przechowujące wiadomości, historię i metadane.
  • Listy właściwości (plist) w systemie iOS oraz XML shared_prefs w systemie Android, służące do przechowywania ustawień i stanu.
  • Obiekty Protobuf / JSON osadzone w kolumnach baz danych.
  • Foldery pamięci podręcznej i multimediów zawierające miniatury i załączniki.

Zadaniem jest konsekwentne parsowanie tych danych, przypisanie ich użytkownikowi i czasowi oraz przedstawienie ich w sposób możliwy do obrony.

Artefakty aplikacji do przesyłania wiadomości

Aplikacje do przesyłania wiadomości są częstym źródłem dowodów. Każda z nich przechowuje główny magazyn wiadomości oraz tabele kontaktów i grup.

  • WhatsApp (Android): msgstore.db (wiadomości), wa.db (kontakty).
  • Signal: baza SQLCipher zaszyfrowana; klucz znajduje się w keystore/keychain.
  • Telegram: cache4.db z zawartością zakodowaną w formacie protobuf.

Należy zrekonstruować rozmowę WhatsApp na podstawie magazynu wiadomości:

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;

Zaszyfrowane bazy danych aplikacji

Niektóre aplikacje szyfrują własne bazy danych za pomocą SQLCipher (np. Signal i niektóre aplikacje bankowe). Nie można ich otworzyć za pomocą zwykłego sqlite3.

  • Klucz jest zwykle przechowywany w platformowym keystore/keychain i można go odzyskać tylko na podstawie odpowiednio głębokiej ekstrakcji.
  • Po odzyskaniu klucza należy otworzyć bazę za pomocą SQLCipher PRAGMA przed wykonaniem zapytań.

Otwieranie bazy SQLCipher po odzyskaniu klucza:

sqlcipher signal.db
sqlite> PRAGMA key = "x'6f3b...c91a'";   -- recovered raw key
sqlite> PRAGMA cipher_compatibility = 4;
sqlite> SELECT * FROM sms LIMIT 5;

Dekodowanie osadzonych obiektów

Bazy danych aplikacji często ukrywają dane strukturalne w kolumnach typu BLOB jako protobuf, plist lub JSON. Widoczne kolumny przedstawiają tylko część informacji.

  • Obiekty BPLIST (binarne listy właściwości Apple) można dekodować za pomocą plistlib lub plutil.
  • Obiekty Protobuf można dekodować za pomocą protoc lub blackboxprotobuf.

Należy przekonwertować binarny obiekt plist wyodrębniony z kolumny:

# 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

Artefakty lokalizacji i geolokalizacji

Dowody lokalizacji łączą osobę z miejscem i czasem, dlatego należy obchodzić się z nimi ze szczególną starannością.

  • Znaczniki GPS EXIF zdjęć, historia wyszukiwania w aplikacji map oraz kafelki w pamięci podręcznej.
  • Ważne lokalizacje systemu iOS (pamięć podręczna routined), historia lokalizacji systemu Android oraz logi Wi-Fi i sieci komórkowych.

Należy odróżnić miejsce, w którym znajdowało się urządzenie od miejsca, którego użytkownik jedynie szukał. Należy wyodrębnić dane GPS EXIF ze zdjęcia:

exiftool -GPSLatitude -GPSLongitude -DateTimeOriginal \
  IMG_0421.HEIC

Chmura, synchronizacja i stan wielu urządzeń

Nowoczesne aplikacje synchronizują dane między urządzeniami, dlatego dane z urządzenia mogą być niekompletne lub zduplikowane.

  • Wiadomość usunięta z telefonu może nadal znajdować się na połączonym tablecie lub w sesji internetowej.
  • Metadane synchronizacji mogą wskazywać, które urządzenie utworzyło wiadomość.

Podczas analizy należy odnotować przypisanie danych do urządzenia, a po dane z chmury lub urządzenia towarzyszącego sięgać wyłącznie na podstawie odrębnego, właściwego upoważnienia prawnego. Nigdy nie należy zakładać, że zabezpieczony telefon zawiera kompletny zapis.

Walidacja artefaktów

Zanim artefakt trafi do raportu, należy zweryfikować go na trzy sposoby.

  • Źródło: należy potwierdzić dokładny plik/tabelę/kolumnę, z którego pochodzi.
  • Dekodowanie: należy sprawdzić epokę znacznika czasu i znaczenie pola, najlepiej w odniesieniu do wiarygodnej wiadomości referencyjnej.
  • Potwierdzenie: należy porównać artefakt z drugim artefaktem, np. wpisem w rejestrze połączeń odpowiadającym danemu kontaktowi.

Artefakt, którego nie można niezależnie potwierdzić lub precyzyjnie przypisać do źródła, należy oznaczyć jako niskiej wiarygodności, a nie przedstawiać jako fakt.

Tworzenie zbiorczej osi czasu

Zbiorcza oś czasu łączy zdarzenia z wielu artefaktów w jeden chronologiczny widok, znormalizowany do UTC.

  • Należy połączyć wiadomości, połączenia, użycie aplikacji, lokalizacje i zdarzenia systemowe.
  • Każdy wiersz należy oznaczyć źródłowym artefaktem, aby zapewnić możliwość prześledzenia pochodzenia danych.

Narzędzia takie jak log2timeline/plaso lub skrypty analityczne tworzą takie zestawienia. W ujęciu koncepcyjnym każdy wiersz zawiera czas, zdarzenie i pochodzenie:

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)

Struktura raportu

Raport kryminalistyczny musi umożliwiać niezależnemu ekspertowi odtworzenie i zweryfikowanie wykonanych prac. Standardowe sekcje obejmują:

  • Podsumowanie — zakres, upoważnienie i najważniejsze ustalenia.
  • Przetworzone dowody — urządzenia, identyfikatory i łańcuch dowodowy.
  • Metodyka — narzędzia, wersje, dokładne polecenia i hashe.
  • Ustalenia — artefakty wraz ze wskazaniem źródeł.
  • Wnioski — interpretacja wyraźnie oddzielona od surowych faktów.

Każde twierdzenie powinno dać się prześledzić do źródła z hashem oraz udokumentowanego etapu.

Fakty a opinie

Wiarygodność raportu zależy od oddzielenia obserwacji od interpretacji.

  • Fakt: wiersz 482 w sms.db zawiera tekst X z datą Y (UTC).
  • Interpretacja: może to sugerować, że użytkownik planował spotkać się w lokalizacji Z.

Fakty należy przedstawiać neutralnie, a wnioski oznaczać jako interpretacje, uwzględniając także alternatywne wyjaśnienia. Nadmierna pewność, np. stwierdzenie zamiaru na podstawie jednej wiadomości, podważa wiarygodność całego raportu i może zostać zakwestionowana w sądzie.

Etyka, zakres i prywatność

Urządzenia mobilne przechowują bardzo prywatne dane. Osoby zajmujące się ich analizą muszą działać w granicach prawa i etyki.

  • Należy działać wyłącznie w ramach zatwierdzonego zakresu (warunków nakazu lub zgody).
  • Należy ograniczać dostęp do nieistotnych danych prywatnych.
  • Należy zachować obiektywizm — raportować także dowody odciążające, a nie tylko obciążające.
  • Wyodrębnione dane należy chronić z taką samą starannością jak oryginalne urządzenie.

Rzetelna etyka nie jest opcjonalna — to ona sprawia, że dowody cyfrowe są wiarygodne i dopuszczalne w postępowaniu sądowym.

Szybki test

W raporcie stwierdzono: „Użytkownik zamierzał popełnić ten czyn, jak wynika z wiadomości 482”. Recenzent zgłasza zastrzeżenie. Na czym polega główny problem?

Podsumowanie: aplikacje, artefakty i raportowanie

Potrafią już Państwo przekształcić surowe ekstrakcje w raport, którego można bronić.

  • Dane aplikacji to SQLite + plist/XML + protobuf/JSON blobs; bloby należy jawnie dekodować.
  • Zaszyfrowane magazyny (SQLCipher) wymagają kluczy uzyskanych podczas głębokiej ekstrakcji.
  • Z dowodami dotyczącymi lokalizacji należy obchodzić się ostrożnie; trzeba odróżniać potwierdzoną obecność od samego wyszukania.
  • Należy uwzględniać synchronizację między urządzeniami i pozyskiwać dane z chmury wyłącznie na podstawie odpowiedniego upoważnienia.
  • Przed uwzględnieniem informacji w raporcie należy zweryfikować źródło, dekodowanie i potwierdzenie.
  • Należy zbudować znormalizowaną do UTC zbiorczą oś czasu, uporządkować raport tak, aby można było odtworzyć analizę, oraz zachować oddzielenie faktów od opinii.
  • Należy działać w ramach upoważnionego zakresu i postępować etycznie — to właśnie sprawia, że dowody są dopuszczalne.
Bezpłatny start

Ucz się Cyber Security Academy dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
76
Lekcje
303

Często zadawane pytania

Czy lekcja „Aplikacje, artefakty i raportowanie” jest bezpłatna?

Tak — pełny tekst „Aplikacje, artefakty i raportowanie” 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 „Aplikacje, artefakty i raportowanie”?

Analizowanie danych aplikacji i przedstawianie ustaleń Ć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 4 z 4.

Ile czasu zajmuje lekcja „Aplikacje, artefakty i raportowanie”?

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