Bir incelemede ilk sorduğumuz soru çoğu zaman “bu kopyanın hash değeri nerede yazıyor?” olur. Cevap hiçbir yerde yoksa, raporun ilk sınırlılığı daha ilk günden bellidir.
Hash değeri nedir, nasıl hesaplanır?
Hash değeri, bir özet fonksiyonunun (hash fonksiyonu) girdideki bütün baytları işleyerek ürettiği sabit uzunlukta sayıdır. Girdi tek satırlık bir metin de olabilir, 2 TB'lık bir disk de; SHA-256 her durumda 256 bitlik, yani 64 onaltılık (hexadecimal) karakterlik bir değer verir. Adli kullanımı dört özelliğe dayanır:
- Belirlenimlidir. Aynı bayt dizisi, hangi bilgisayarda ve hangi programla hesaplanırsa hesaplansın aynı değeri verir.
- Tek bayta duyarlıdır. Tek karakterin değişmesi değerin tamamını değiştirir. “Birbirine yakın” iki hash diye bir şey yoktur; değer ya aynıdır ya farklı.
- Geri çevrilemez. Değerden dosyanın içeriği elde edilemez. Bu sayede hash, dosyanın kendisi paylaşılmadan tutanağa, yazışmaya ya da rapora yazılabilir.
- Yalnızca içeriğe bakar. Dosya adı, klasör ve işletim sisteminin tuttuğu oluşturma ya da değiştirme tarihleri hesaba girmez. Dosyanın içine yazılmış bilgiler ise içeriğin parçasıdır: bir fotoğrafın EXIF alanları ya da bir Word belgesindeki
docProps/core.xmltarihleri değişirse hash de değişir.
Örnek: Aşağıdaki iki cümle tek rakamla ayrılıyor. UTF-8 olarak hashlendiğinde SHA-256 değerleri arasında hiçbir ortak kalıp yoktur:
Toplantı saat 14.00'te. bbe540174797e88706c8cc9d31ae56ca0ab02661467213bc71944c4e59cebfc5
Toplantı saat 15.00'te. a5a5cd021b8e168d80f51e7745bcb2b1113c92afe0c12dcfbeb0fddd56dc7c05
Aynı cümleleri tarayıcıda çalışan hash hesaplama aracına yazıp değerleri kendiniz üretebilirsiniz; metin ve dosyalar hiçbir sunucuya gönderilmez. Cümlenin sonuna bir boşluk ya da satır sonu eklerseniz değer yine değişir, çünkü artık başka bir bayt dizisini hashliyorsunuzdur.
Hash neyi kanıtlar, neyi kanıtlamaz?
Eşleşen iki hash değeri, iki verinin bayt bayt aynı olduğunu gösterir. Gerisi, değerin ne zaman ve kimin önünde hesaplandığına bağlıdır.
| Eşleşme şunu gösterir | Tek başına şunu göstermez |
|---|---|
| İncelenen kopya, değerin hesaplandığı andaki veriyle aynıdır | Verinin o andan önce değiştirilmediğini |
| Kopyalama, aktarma ve saklama sırasında bozulma ya da eksilme olmamıştır | Dosyayı kimin oluşturduğunu, gönderdiğini ya da kullandığını |
| Bulgunun, taraflara verilen kopyada da aynı yerde bulunduğunu | Dosyadaki tarihlerin ve içeriğin doğru olduğunu |
Pratik sonucu şudur: hash değeri ne kadar erken ve ne kadar bağımsız bir kayda geçerse o kadar çok şey söyler. El koyma anında tutanağa yazılmış bir değer, sonraki bütün aşamaları kapsar. İnceleme günü ilk kez hesaplanan bir değer yalnızca o günden sonrasını kapsar; öncesi için başka kanıt gerekir.
Bir incelik daha: aynı e-posta iki farklı programla .eml olarak dışa aktarıldığında iki dosyanın hash değeri farklı çıkabilir. Hash, sizin edindiğiniz dosyanın bütünlüğünü korur; iletinin özgünlüğü ise başlık alanları ve imzalarla ayrıca değerlendirilir (bkz. e-posta incelemesi).
İmaj alma nedir?
İmaj alma (adli kopya, edinim), bir depolama ortamındaki bütün sektörlerin, boş ve silinmiş alanlar dahil, bit bit kopyalanmasıdır. Dosyaları sürükleyip bırakarak alınan kopya imaj değildir: o kopyada silinmiş dosyaların kalıntıları, ayrılmamış alan, dosya sistemi günlükleri ve çoğu zaman dosyaların orijinal zamanları yoktur.
| Biçim | Ne içerir | Hash açısından not |
|---|---|---|
Ham imaj (.dd, .img, .001) | Diskin birebir bayt kopyası; içinde başka bilgi yoktur | İmaj dosyasının hash'i diskin hash'iyle aynıdır. Değer ve vaka bilgisi ayrı bir kayda yazılmalıdır |
| E01 (Expert Witness / EWF) | Sıkıştırılmış, parçalı (E01, E02…) kapsayıcı; vaka ve inceleyici bilgisi tutar | Kaynağın MD5 ve SHA-1 değerlerini içinde saklar, SHA-256'yı saklamaz; SHA-256 ayrıca hesaplanıp rapora yazılır. E01 dosyasının kendi hash'i diskin hash'i değildir |
| AFF4 | ZIP tabanlı kapsayıcı; birden çok kaynak ve mantıksal delil taşıyabilir | E01'de olduğu gibi kapsayıcı dosyanın değil, içindeki verinin değeri karşılaştırılır |
| Mantıksal (seçici) edinim | Seçilen klasör ve dosyalar | Her dosyanın ayrı değeri alınır. Silinmiş veri ve sistem izleri çoğunlukla kapsam dışında kalır |
Write blocker ne işe yarar?
Yazma engelleyici (write blocker), inceleme bilgisayarının bağlı diske yazmasını engelleyen donanım ya da yazılım aracıdır (NIST SP 800-86). Gerekçesi basittir: işletim sistemleri takılan bir diske kendiliğinden yazabilir. Donanım engelleyici kaynak disk ile inceleme bilgisayarı arasına takılır ve yazma komutlarını diske ulaştırmaz.
Sınırı da bilinmeli. Engelleyici bilgisayardan gelen yazmayı durdurur, diskin kendi içindeki işlemleri durdurmaz. SSD denetleyicisi, TRIM ile boşaldığı bildirilen blokları çöp toplama (garbage collection) sırasında kendiliğinden temizler. Bu yüzden aynı SSD'den farklı zamanlarda alınan iki imajın değeri farklı çıkabilir ve bu tek başına müdahale belirtisi değildir. Böyle ortamlarda referans cihazın kendisi değil, ilk alınan imaj dosyasının hash değeridir; sonraki bütün kopyalar ona göre doğrulanır.
İmaj alınırken hash nasıl doğrulanır?
- Kaynak disk yazma engelleyiciye bağlanır; marka, model, seri numarası ve kapasite fotoğraflanıp not edilir.
- Kaynağın hash değeri hesaplanır. Bazı araçlar bunu edinimle eş zamanlı yapar.
- İmaj alınır; araç, sürümü, süre ve okuma hataları günlüğe yazılır.
- İmajın değeri hesaplanır ve kaynağınkiyle karşılaştırılır.
- NIST SP 800-86'nın tarif ettiği son adım: kaynağın değeri yeniden hesaplanır ve edinim sırasında değişmediği teyit edilir.
- Değerler tutanağa ve delil zinciri kaydına geçer. Ana imaj salt okunur saklanır; inceleme ondan türetilen ve yine hashle doğrulanan çalışma kopyasında yapılır.
Arızalı disklerde kaynak ile imajın eşleşmemesinin sık nedeni okunamayan sektörlerdir; edinim araçları bunları genellikle sıfırla doldurup günlüğe yazar. Raporda hangi sektörlerin okunamadığı ve hangi dosyaları etkileyebileceği belirtilmelidir.
Telefon ve bulut verisinde hash neyin değeridir?
Mobil incelemede hash, cihazın değil edinim aracının ürettiği çıktının (mantıksal edinim, yedek ya da tam dosya sistemi arşivi) değeridir; bulut hesabından indirilen veride de arşiv dosyasının değeridir. Bu yüzden değer, çıktı üretildiği anda kayda geçirilir. Edinim seviyeleri için: mobil cihaz incelemesi.
MD5, SHA-1 ve SHA-256 arasındaki fark nedir?
Üçü de aynı işi görür; fark, değerin uzunluğunda ve bilinen saldırılardadır. Adli bütünlük doğrulamasında güncel tercih SHA-256'dır.
| MD5 | SHA-1 | SHA-256 | |
|---|---|---|---|
| Değer uzunluğu | 128 bit, 32 karakter | 160 bit, 40 karakter | 256 bit, 64 karakter |
| Çakışma (collision) | 2004–2005'te gösterildi. RFC 6151'in aktardığı 2007 tarihli çalışmaya göre 2,6 GHz'lik bir Pentium 4'te 10 saniye ya da daha kısa sürede bulunabiliyor | İlk pratik çakışma 23.02.2017'de yayımlandı (SHAttered: aynı SHA-1 değerini taşıyan iki PDF). Seçilmiş önekli çakışma Ocak 2020'de gösterildi | Bilinen pratik çakışma yok |
| Kurumsal durum | RFC 6151: dijital imza gibi çakışma direnci gereken yerlerde artık kabul edilemez | NIST 15.12.2022'de emekliye ayırdı; 31.12.2030'a kadar SHA-2 ya da SHA-3'e geçilmesi bekleniyor | SHA-2 ailesinden; önerilen |
| Adli bütünlük doğrulaması | Değer güvenli biçimde kayıtlıysa uygun (SWGDE, 2019); SHA-2/SHA-3'e geçiş teşvik ediliyor | Esas alınan algoritma | |
Çakışma, aynı değere sahip iki farklı dosyanın birlikte üretilebilmesi demektir; saldırgan iki dosyayı da baştan kendisi hazırlar. Delil bütünlüğünde sorulan soru başkadır: değeri önceden kaydedilmiş bir dosyayla aynı değeri veren ikinci bir dosya üretilebilir mi? Buna ön görüntü (preimage) saldırısı denir ve MD5 için bile pratik değildir; RFC 6151'in aktardığı en iyi sonuç 2^123,4 işlem gerektirir. SWGDE'nin MD5 ve SHA-1'i, değer güvenli biçimde kaydedilmiş olmak şartıyla bütünlük doğrulaması için uygun sayması bu yüzdendir.
SHA-256'nın açıkça fark yarattığı iki durum var. Birincisi, dosyanın kimliğinin yalnızca hash eşleşmesiyle belirlendiği işler: SWGDE, görsel doğrulama yapılmadan eşleşmeye dayanan tanımlamada (bilinen yasa dışı içerik listeleri gibi) yalnızca SHA-2 ve SHA-3'ü uygun görür. İkincisi, dosyanın incelemeye karşı taraftan hazır gelmesi: çakışma saldırısı tam da iki dosyayı aynı kişinin hazırladığı durumda işe yarar. Bizim uygulamamız basittir: SHA-256 esastır, eski bir kayıtla karşılaştırma gerekiyorsa MD5 ve SHA-1 de hesaplanıp rapora yazılır.
NIST SP 800-86 (2006), federal kurumlara MD5 yerine SHA-1'i önerir. Bu, 2006 yılının önerisidir; bugün SHA-1 için geçerli olan, NIST'in 2022'deki emeklilik kararıdır. Öte yandan “MD5 kırıldı, bu yüzden delil geçersiz” cümlesi de yanlış bir genellemedir.
Hash değeri tutanağa neden yazılır?
Çünkü hash, aynı verinin farklı ellerdeki kopyalarını birbirine bağlayan tek nesnel ölçüdür. Ceza dosyalarında bu kopyalar genellikle üç tanedir: el konulan cihazdan alınan yedek, bilirkişinin incelediği kopya ve şüpheliye ya da vekiline verilen kopya. Üçünün değeri aynıysa, bir bulgunun hangi kopyadan çıktığı tartışması teknik olarak kapanır.
CMK m.134/3'e göre bilgisayar veya bilgisayar kütüklerine el koyma sırasında “sistemdeki bütün verilerin yedeklemesi yapılır”; m.134/4'e göre bu yedekten bir kopya şüpheliye veya vekiline verilir ve bu durum tutanağa geçirilir. Kanun “hash” kelimesini kullanmaz, yedekleme ve kopya der. Mevzuatta hash'e en yakın tanım, 5651 sayılı Kanun'a bağlı Usul ve Esaslar Yönetmeliği'nin m.3/1-d bendindeki “dosya bütünlük değeri”dir: bir dosyadaki verilerin matematiksel işlemden geçirilmesiyle elde edilen ve değişiklik olup olmadığını kontrol etmeye yarayan değer.
Hash değerinin tutanaktaki yeri Yargıtay kararlarından çıkar:
- Yargıtay 8. Ceza Dairesi, onadığı bir beraat kararının gerekçeleri arasında sanığın kullandığı bilgisayarda usulünce imaj alınarak veri bütünlük (hash) değerlerinin tespit edilmemiş olmasını da saymıştır (E.2012/21817, K.2013/25428).
- Yargıtay 4. Ceza Dairesi, CMK m.134 uyarınca inceleme ve imaj kararı bulunmayan ve yedeğin sanığa verildiğine dair tutanak olmayan bir dosyada, bilirkişi incelemesiyle elde edilen delilleri delil değerlendirme yasağı kapsamında görerek mahkûmiyeti bozmuştur (E.2021/16706, K.2021/23109).
CMK m.134, Anayasa Mahkemesi'nin 12.02.2026 tarihli, E.2023/128, K.2026/36 sayılı kararıyla iptal edilmiştir (RG 25.05.2026). İptal 25.02.2027'de yürürlüğe girecektir; yerine gelecek yasal düzenleme takip edilmelidir. Hash değerinin teknik işlevi bu değişiklikten etkilenmez.
Teknik açıdan iyi bir hash kaydında şunlar bulunur: algoritmanın adı; değerin kısaltılmadan tamamı; neyin hashlendiği (fiziksel disk mi, E01 kapsayıcısı mı, tek tek dosyalar mı); kullanılan araç ve sürümü; tarih, saat ve saat dilimi; işlemi yapan ve hazır bulunanlar. En sık gördüğümüz eksik, değerin ilk ve son birkaç karakterinin yazılması ya da algoritmanın hiç belirtilmemesidir.
Örnek tutanak satırı: Seri no. XXXXXXXX olan 1 TB SSD, donanım yazma engelleyici üzerinden [araç adı ve sürümü] ile E01 biçiminde edinilmiştir. Kaynak SHA-256: [64 karakterlik değer]. İmaj doğrulama SHA-256: kaynakla aynı. Edinim bitişi: 27.09.2026 14:05 (UTC+3).
Bu kuralların somut dosyaya nasıl uygulanacağı ve bir eksikliğin hukuki sonucu avukatın ve mahkemenin değerlendirmesidir. Bizim işimiz teknik tabloyu eksiksiz çıkarmaktır.
Hash değeri olmayan delilde ne olur?
Teknik açıdan, zamanında hesaplanmamış bir değer sonradan üretilemez. Bugün hesaplanan hash verinin bugünkü hâlini kayda geçirir; el koyma ile bugün arasındaki süre hakkında bir şey söylemez. Bu boşluğu daraltmak için sırayla şunlara bakarız:
- Bağımsız kopyaları karşılaştırmak. Şüpheliye verilen kopya ile bilirkişinin incelediği kopya aynı değeri veriyorsa, en azından bu iki kopya birbirinin aynısıdır. Farklıysa farkın nerede olduğu (hangi dosya, hangi sektör) ayrıca incelenir.
- El koymadan sonraki izleri aramak. Disk el koyma tarihinden sonra engelleyici olmadan bir bilgisayara takılmış ya da içindeki sistem açılmışsa çoğu zaman iz bırakır: olay günlüğü hizmetinin başladığını gösteren 6005 kaydı, yeni kısayol (LNK) dosyaları,
$UsnJrnldeğişiklik kayıtları. Bu kayıtların tarihi el koymadan sonraysa orijinal veri kullanılmıştır. - Verinin kendi içindeki bütünlük değerlerine bakmak. Bazı kayıtlar kendi özetini taşır: DKIM imzalı bir e-postanın
bh=etiketi gövdenin özetidir; imzalı bir PDF'inByteRangealanı imzanın kapsadığı baytları gösterir; E01 dosyası edinim anındaki MD5 değerini içinde saklar. Bunlar, ilgili parçanın sonradan değişip değişmediğini tek tek gösterebilir. - Sınırlılığı yazmak. Bulgular boşluğun ölçüsünde “ile tutarlıdır”, “desteklenmektedir” diliyle raporlanır ve boşluk raporda açıkça belirtilir.
Bizce hash değerinin yokluğu delilin sahte olduğunu göstermez; yalnızca bütünlüğün matematiksel olarak gösterilemediğini gösterir. Tersi de doğrudur: sonradan hesaplanan bir hash, eksik bir tutanağı tamamlamaz. Bir bilirkişi raporunda bu boşluğu görüyorsanız, bilirkişi raporlarının teknik değerlendirmesinde hangi noktalara baktığımızı ayrıca anlattık.
Kendi dosyanızın hash değerini nasıl alırsınız?
Elinizde delil olabilecek bir dosya varsa (bir e-posta dışa aktarımı, bir ses kaydı, platformdan indirilen veri arşivi) değerini ilk fırsatta alın ve dosyayı açmadan önce kaydedin. İşletim sistemlerinin yerleşik komutları yeterlidir:
| Sistem | Komut |
|---|---|
| Windows (PowerShell) | Get-FileHash -Algorithm SHA256 .\kayit.zip |
| Windows (Komut İstemi) | certutil -hashfile kayit.zip SHA256 |
| macOS | shasum -a 256 kayit.zip |
| Linux | sha256sum kayit.zip |
Değeri yalnızca kendi bilgisayarınızdaki bir not dosyasına yazmak zayıf bir kayıttır, çünkü o notu da siz değiştirebilirsiniz. Daha güçlü seçenekler: değeri aynı gün avukatınıza ya da karşı tarafa e-postayla bildirmek ya da değere nitelikli zaman damgası almak; hizmete dosyanın kendisi değil, yalnızca özet değeri gönderilir. Bu imzalı kayıt, dosyaların içinde tutulan tarih bilgisinden farklıdır; onları zaman damgaları ve saat dilimi yazısında ele alıyoruz.
Cihazın açık mı kapalı mı bırakılacağı, bulut verisinin nasıl indirileceği ve delil zinciri kaydı ayrı konulardır: dijital delil nasıl korunur.