SQLite Veritabanı Analizi ve Mobil Uygulama Veri İncelemesi Dijital Adli Bilişimde Uygulama

SQLite, mobil uygulamalarda (Android ve iOS) en yaygın kullanılan gömülü veritabanı sistemlerinden biridir. Mesajlar, kullanıcı hesapları, konum verileri, uygulama ayarları ve işlem geçmişleri gibi kritik bilgiler çoğu zaman SQLite veritabanlarında saklanır. Bu nedenle SQLite veritabanı analizi, mobil adli bilişimin temel taşlarından biridir.

Mobil uygulamalarda kalıcı verilerin büyük bölümü SQLite veritabanlarında tutulur; bu veriler kullanıcı davranışlarını ayrıntılı biçimde ortaya koyabilir.

SQLite Nedir?

SQLite, sunucu gerektirmeyen, dosya tabanlı ve hafif bir ilişkisel veritabanıdır.

Temel Özellikler

- Tek dosya (örnek: data.db)
- Sunucusuz mimari
- ACID uyumlu
- Mobil platformlara gömülü yapı

SQLite veritabanları genellikle uygulama sandbox’ı içinde saklanır.

Mobil Platformlarda SQLite Konumları
Android

Yaygın dizin:

1/data/data/<paket_adı>/databases/

Örnek:

1/data/data/com.example.app/databases/app.db

iOS

Yaygın dizin:

1/private/var/mobile/Containers/Data/Application/<UUID>/
iOS’te uygulama dizinlerine erişim çoğu zaman jailbreak veya agent-based çözümler gerektirir.

SQLite Dosya Yapısı

Bir SQLite veritabanı aşağıdaki dosyalardan oluşabilir:

database.db → Ana veritabanı

database.db-wal → Write-Ahead Log

database.db-shm → Shared Memory

WAL ve SHM dosyaları, ana veritabanında bulunmayan çok güncel verileri içerebilir.

SQLite Veritabanı Analizi Yöntemleri
1. Temel SQLite İncelemesi

SQLite CLI ile veritabanını açma:

1sqlite3 app.db

Tabloları listeleme:

1.tables

Tablo yapısını görüntüleme:

1PRAGMA table_info(messages);

2. Veri Sorgulama

Tüm kayıtları listeleme:

1SELECT * FROM messages;

Zaman sıralı analiz:

1SELECT * FROM messages ORDER BY timestamp DESC;
Timestamp alanları genellikle UNIX epoch veya platforma özgü formatta tutulur.

Silinmiş Verilerin İncelenmesi
SQLite ve Silinmiş Kayıtlar

SQLite’ta silinen veriler:

- Hemen fiziksel olarak yok edilmez
- Boş sayfalarda (free pages) kalabilir

Bu durum, silinmiş veri kurtarma için fırsat yaratır.

VACUUM işlemi uygulanmamış veritabanlarında silinmiş kayıt izleri bulunabilir.

WAL Dosyası Analizi

WAL dosyası, henüz ana veritabanına yazılmamış işlemleri içerir.

1sqlite3 app.db
2PRAGMA wal_checkpoint;
WAL dosyası, son kullanıcı aktivitelerine dair en güncel delilleri barındırabilir.

Mobil Uygulama Veri İncelemesi
Yaygın İncelenen Veriler

- Mesajlaşma kayıtları
- Kullanıcı ID ve token’lar
- Konum geçmişi
- Arama kayıtları
- Uygulama içi loglar

Örnek: Mesajlaşma Uygulaması Analizi

1SELECT sender, receiver, message, timestamp
2FROM chat_messages;

Bu sorgu:

- Kim kime mesaj attı
- İçerik neydi
- Ne zaman gönderildi

sorularına yanıt verir.

Mesaj içerikleri bazen şifreli veya base64 encode edilmiş olabilir.

Zaman Damgası (Timestamp) Analizi

Mobil uygulamalar farklı zaman formatları kullanabilir:

- UNIX Epoch (saniye)
- UNIX Epoch (milisaniye)
- Mac Absolute Time
- ISO 8601

Örnek dönüştürme (UNIX Epoch):

1SELECT datetime(timestamp, 'unixepoch') FROM logs;
Yanlış zaman formatı yorumlaması, tüm zaman çizelgesini hatalı hale getirir.

Örnek Adli Senaryo

Senaryo:
Bir mobil uygulama üzerinden gizli veri paylaşımı şüphesi var.

İzlenen adımlar:

1 - Uygulama dizini tespit edilir
2 - SQLite veritabanları çıkarılır
3 - WAL ve SHM dosyaları dahil analiz edilir
4 - Mesaj ve işlem tabloları incelenir
5 - Zaman çizelgesi oluşturulur
6 - Diğer mobil artefaktlarla korelasyon yapılır

İpuçları ve En İyi Uygulamalar

- Veritabanını salt-okunur (read-only) açın
- WAL ve SHM dosyalarını asla atlamayın
- Timestamp formatını mutlaka doğrulayın
- Uygulama sürümünü ve paket adını belgeleyin
- Analiz öncesi ve sonrası hash alın

SQLite analizi, bağlamdan kopuk yapıldığında yanıltıcı sonuçlar üretebilir.

Sınırlamalar ve Zorluklar

- Şifreli SQLite veritabanları (SQLCipher)
- Uygulama bazlı özel veri formatları
- Silinmiş verilerin parçalı olması
- Jailbreak / root gereksinimleri

SQLite veritabanı analizi, mobil uygulama veri incelemesinde en kritik tekniklerden biridir. Ana veritabanı dosyalarıyla birlikte WAL ve SHM dosyalarının analizi, kullanıcı aktiviteleri ve uygulama içi işlemler hakkında yüksek doğrulukta bilgi sağlar. Ancak zaman damgası yorumları, silinmiş veri durumu ve şifreleme gibi faktörler dikkatle ele alınmalıdır.

Etkili bir mobil adli inceleme, SQLite verilerini diğer mobil artefaktlarla birlikte ve bağlamsal olarak analiz etmeyi gerektirir.

konu hakkında tepkinizi verebilirsiniz