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.
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ı
Mobil Platformlarda SQLite Konumları
Android
Yaygın dizin:
1/data/data/<paket_adı>/databases/Örnek:
1/data/data/com.example.app/databases/app.dbiOS
Yaygın dizin:
1/private/var/mobile/Containers/Data/Application/<UUID>/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
SQLite Veritabanı Analizi Yöntemleri
1. Temel SQLite İncelemesi
SQLite CLI ile veritabanını açma:
1sqlite3 app.dbTabloları listeleme:
1.tablesTablo 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;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.
WAL Dosyası Analizi
WAL dosyası, henüz ana veritabanına yazılmamış işlemleri içerir.
1sqlite3 app.db2PRAGMA wal_checkpoint;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, timestamp2FROM chat_messages;Bu sorgu:
- Kim kime mesaj attı
- İçerik neydi
- Ne zaman gönderildi
sorularına yanıt verir.
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;Ö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
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.
0 yorum