BİZİ 7/24 ARAYIN
0(312) 354 77 33

İmaj Alma Aşamaları

İmaj Alma Aşamaları

Bu bölümde bir kapalı analiz için gerekli olan  verinin şüpheli bilgisayardan kopyalanması konusu ele alınacaktır.

 

Genel İmaj Alma Prosedürü

Veriler kaynak diskten, genellikle 512 byte ve katları büyüklüğünde veri yığınları halinde hedef diske kopyalanır.512 byte ve katları şeklinde olmasının sebebi çoğu diske ait sektörlerin 512 byte olmasından kaynaklanmaktadır.

 

Genel İmaj Alma Katmanları

Genel olarak bir araştırmacı en dip katmanda imaj almalıdır. Çünkü üst katmanlara çıktıkça gözden kaçan ve kopyalanmayan veri miktarı artmaktadır. Bunu şöyle örneklerle açıklayalım:

 

Örneğin volume seviyesinde kopyalama yaparsak, belki silinmiş veriyi geri getirebiliriz ancak bu sefer de sadece allocated partitionlardaki veriyi kopyalayabiliriz. Oysa unpartitioned alanlarda gizli veriler bulunabilir.

 

Farz edelim bir backup utility ile sadece allocated dosyaları kopyaladık. Bu durumda silinmiş verilere ulaşamayacağımız gibi, geçici dosyalara ve dosya ve partition sistem içerisine gizlenmiş verilere de ulaşamayız.

 

Ancak bazı sistemler için ise sadece delil değerini taşıdığını düşündüğümüz katman seviyesinde kopyalama yaparız. Örneğin bir sisteme saldırı olduğunu ve sistemde bir Saldırı Tespit Sistemi(IDS) olduğunu ve yapılan saldırıları bir log dosyasına kaydettiğini varsayalım. Eğer IDS’in de saldırıya uğradığını düşünüyorsak disk seviyesinde analiz yapmalıyız. Eğer IDS’nin saldırı almadığını düşünüyorsak sadece log dosyasını kopyalayarak diğer sıradan koruma prosedürünü uygulamaya koyarız.

 

Kaynak Veriyi Okuma

 

Direkt erişim vs. BIOS erişimi

Bir yazılım diske iki yöntemle erişebilir demiştik. Biri donanım özelliklerini bilmek zorunda kalarak direkt erişim, diğeri ise BIOS üzerinden erişimdi. BIOS üzerinden erişim daha iyi gibi görünse de imaj alma konusunda sıkıntılar yaratabilmektedir.

 

Eğer BIOS, yüklü olan diskinkinden farklı bir geometriye göre konfigüre edilmiş veya kullanılan yazılım, disk boyutunu öğrenmek için eski bir yöntem kullanıyorsa, BIOS diskin boyutunu olduğundan küçük görebilir. Bu da imaj alma sırasında yazılımımızın diskteki verinin bir kısmının imajını alamaması anlamına gelir. Örneğin, yazılımımız BIOS’a disk boyutunu sorarken,8GB sınırı olan orijinal INT13h fonksiyonunu kullanırsa disk boyutu CHS formatında, extended INT32h kullanırsa ise LBA formatında gelir. Yapılan bir araştırmada bu iki fonksiyonla 2GB’lık bir disk üzerinde yapılan sorgulamalar sonucunda extended INT13h kullanıldığında doğru sonuç, eski INT13h kullanıldığında ise olduğundan daha küçük bir sonuç elde edilmiştir.

 

Kapalı imaj alımı vs. Açık imaj alımı

Kapalı imaj alma, güvenilir bir işletim sistemi üzerinden imaj alma işlemi yapılması, açık imaj alma ise şüpheli cihazdaki mevcut işletim sistemi kullanılarak imaj alınması işlemidir.

 

Açık imaj almaktan genellikle kaçınılır çünkü şüpheli, cihazdaki işletim sistemini hatalı bilgi verecek şekilde değiştirmiş olabilir. Ya da rootkit denilen toolları sisteme yükleyerek belirli dosyaları veya işlenmekte olan süreçleri gizleyebilir. Ayrıca şüpheli, işletim sistemini, imaj alınırken belirli sektörlerin üzerine yazarak delilleri yok edecek şekilde modifiye edebilir.

 

Araştırmacının, sistemi bir DOS disketi veya Linux CD’si ile boot etmesi de yaygın bir durumdur. Çünkü şüpheli, işletim sistemi güvenilir olsa bile donanımı hatalı bilgi döndürecek şekilde modifiye etmiş olabilir.

 

Hata işleme

Bir diskteki hata, bütün sürücünün okunamaması olduğu gibi sadece bazı sektörlerin bozuk olması olabilir. Eğer bazı sektörler bozuksa, imaj alma yazılımı log dosyasına bozuk sektörlerin adresini işleyerek, normal imaj alma işlemine devam eder. Bu işlem esnasında bozuk sektörlerin bulunduğu adresleri 0’larla doldurur, geri kalan sektörleri aynen kopyalar.0’larla doldurmaz ise sonuç imajın boyutu çok küçük olacağından kimi analiz yazılımları çalışmaz.

 

HPA:

Bir ATA diskinin imajı alınırken HPA’nın da hesaba katılması gerekir. Bir imaj alma yazılımı HPA’ya bakmadıkça, oradaki bilgiyi kopyalayamaz.

 

Bir diskte HPA alanı olup olmadığını kullanıcı erişiminin olduğu sektör sayısını ve diskteki toplam sektör sayısını döndüren iki ATA komutuyla kontrol edebiliriz. İki komut sonucu arasında fark varsa HPA vardır demektir. Eğer bu komutları çalıştıracak bir yazılımımız yoksa alınan imajdaki sektör sayısı ile disk etiketinde yazılı olan toplam sektör sayısı karşılaştırılabilir.

 

Eğer HPA’daki verilere erişmek istiyorsak, HPA’yı silmemiz gerekir. Bu da disk konfigürasyonunu değiştirerek; maksimum adresleyebilir sektör sayısını maksimum sektör sayısına eşitleyerek sağlanır. Ancak bu silme işlemi esnasında sorun oluşma olasılığına karşı HPA silinmeden önceki diskin imajı alınmalı ve HPA’nın silindiği raporlanmalıdır.

 

DCO:

Daha yeni ATA diskleriyle karşı karşıyaysak, bu disklerde DCO alanı bulunabilir.

 

Bir diskte DCO alanı olup olmadığını, normal ATA komutlarının erişebildiği sektör sayısı ile diskteki gerçek fiziksel sektör sayısını döndüren iki ATA komutunun sonuçlarını karşılaştırarak öğrenebilirz. HPA ile aynı şekilde eğer DCO alanındaki verilere ulaşmak istiyorsak önce DCO lu diskin kopyasını alıp ardından DCO’yu silip, silindiğini raporlayarak bir imaj daha almalıyız.

 

Donanımsal yazma engelleyicisi (Hardware write blockers)

Bir imaj alma yazılımı genellikle imaj alırken orijinal diske veri yazmaz ancak bazı hatalı durumlar oluşabilir. Bu durumların oluşmaması için donanımsal yazma engelleyicisi kullanmak gerekir. Bu engelleyiciler basit olarak bilgisayarla disk arasında durur. Çoğu temel yazma engelleyicisi controllerdan gelen komut registerı’na yazma talebini geri çevirir ancak controller’ın diğer registerlara yazma talebi engelleyiciden geçer.

NoWrite isimli engelleyici ise controllerdan gelen tüm komut ve dataların diske ulaşmasını engelleyerek güvenli olup olmadığını (diske yazma yapıp yapmayacağını) kontrol eder. Eğer güvenliyse komut ve datayı geçirir.

 

HPA ve DCO’yu silmek gerektiğinde yazma engelleyiciler bu silme komutlarını genelde bloklar. NoWrite, bu silme işleminin geçici olması şartıyla bu komutların geçişini onaylar. Bazı engelleyiciler tüm HPA ve DCO silme komutlarını engellerken, bazılarıysa hepsini geçirir.

 

Yazılımsal yazma engelleyicisi (Software write blockers)

Diske INT13h komutuyla BIOS üzerinden erişen imaj yazılımları için yazılımsal yazma engelleyicileri bulunmaktadır. Bunların görevi donanımsal yazma engelleyicileriyle aynı olup bunu interrupt tablosunu modifiye ederek yaparlar.

 

Interrupt tablosunda BIOS servisleri içeren girdiler, bu girdilerde ise istenen servise ait BIOS kodunun adresi bulunmaktadır. Yazılımsal yazma engelleyicisi, imaj yazılımının verdiği INT13h komutuna karşılık gelen BIOS kodunu inceleyerek yazma komutuysa engeller. 

Ancak bu pek güvenilir değildir çünkü imaj yazılımı hala BIOS’u bypass ederek controllera yazabilir veya BIOS controllera direkt bağlı olduğu için sdiske yazım yapabilir.

 

Okunan Verinin Yazılması

 

Hedef konum

Kopyalanan veriyi yazarken hedef yerimiz bir dosya ya da disk olabilir. Direkt olarak diske yazarken verinin kaynak diskteki sektör lokasyonuyla hedef diskteki lokasyonu aynı olur. Buna klonlanmış kopya veya eş kopya adı verilir. Kopyalama yapmadan önce hedef disketin önceki araştırmadan kalan verilerden arınması için hedef disket wipe edilir. Ancak hedef disket kaynak diskten büyükse bu durumda kopyanın nerede bittiğine dair bir belirleme sorunu olur. Ayrıca Microsoft Windows gibi işletim sistemleri bulunan bütün diskleri mount etmeye çalışır-dolayısıyla kopyayı da-ve kopyanın verisi değiştirilebilir. Buna ek olarak eğer kaynak diskle hedef disk farklı geometriye sahipse, bu da bir sorun teşkil eder çünkü bazı dosya sistemleri, veri yerlerini tanımlamak için geometriye dayalı olarak çalışır.

 

Günümüzde en genel hedef bir CD-ROM veya harddiskte bulunan bir dosyadır. Bu sayede dosya bağlılıkları bilinir ve işletim sisteminin kopyayı otomatik mount etme isteği ortadan kalkar. Bu dosyaya imaj veya kopya imaj denir. Pek çok yazılım, imaj dosyalarını CD-ROM’a veya DVD-ROM’a sığdırmak için küçük parçalara bölebilmektedir.

 

Imaj dosya formatı

Raw imaj, sadece kaynak diskteki verilerin kopyasını içerir. Kaynak veri ile imajdakini karşılaştırmak kolaydır. (A)

Embedded image, verilerin yanında hash değerleri, zamanlar ve tarihler gibi bilgileri de verilerin yanında kaydeder. (B)

Bazı toollar ise raw image alırlar fakat hash değerleri gibi bilgileri de ayrı bir dosya halinde saklarlar. (C)

Imaj dosyasını sıkıştırma

Bir dosyaya veri yazarken, daha az yer kaplaması için sıkıştırılabilir. Bu sıkıştırma, tekrar eden bitlerin hepsi yerine bir kısmını yazarak gerçekleştirilir. Örneğin arka arkaya 10,000 bit 1’lerden oluşuyorsa, bu, sıkıştırılmış dosyada birkaç yüz bitle ifade edilebilir. Az tekrar içeren dosyalarda sıkıştırma pek verimli bir sonuç elde etmez, ayrıca zaten sıkıştırılmış olan bir dosyayı tekrardan sıkıştırmak bir yer kazancı sağlamaz.

 

Bir imaj dosyası sıkıştırılmışsa, analiz yazılımının o imajı decompress etmesi için o sıkıştırma biçimini desteklemesi gereklidir. Bazı toollar, bütün imaj yerine imajı bölüm bölüm decompress edebilmeyi sağlamaktadır.

 

Ağ bazlı imaj alma

Eğer şüpheli diske erişim yapamıyorsanız veya gerekli araçlara sahip değilseniz veya şüpheli diskete uygun ara yüzünüz yoksa bu yöntem kullanılır. Bu yöntemde veriler kapalı ya da açık sistemdeki uzak bilgisayardan okunur ve ağ üzerinden hedef cihaza gönderilir.

 

Doğruluk hashleri

Elde edilen delillerin doğruluğunu ispatlamak için verilere ait hash değerleri hesaplanması gerektiğinden bahsetmiştik. Bu bölümde nerelerde hash değeri hesaplanması gerektiğini inceleyeceğiz.

 

Image alınmadan önce şüpheli diske ait bir hash değeri alınmalı ki, imaj alınırken bir hata sonucu veriler değiştirilirse, kaynak diskteki ile image dosyasındaki verilerin birebir aynı olduğu imaj ve kaynak disk hash değerleri karşılaştırılarak anlaşılabilsin.

 

Hash değerleri imajın içinde gömülü olarak saklanabilir fakat biri imaj dosyasında değişiklik yaparsa gömülü olan hash değerini de tekrar hesaplatabileceğinden, verinin güvenilirliği için hash değeri saklanırken bir saklı yazı grafik imza ve güvenilir bir zaman kaynağı kullanılmalıdır. Ayrıca tüm verilerin toplamının hash değerini hesaplamak yanında veri yığınlarının da hash değerlerini hesaplamak veri güvenliği açısından önemlidir.

 

Bir hash hesaplanırken bu hesap, yazılımın ulaşabildiği ve kopyalayabildiği alanların hash değerini hesaplar. Örneğin imaj alma yazılımı12GB lık bir diskin 8GB lık kısmını görebiliyorsa sadece o kısımın imajını alır ve sadece o kısmının hash değerini hesaplar.

 

DD kullanılan örnek olay

dd komut bazlı en basit ve esnek imaj alma araçlarından biridir. dd, verileri blok halinde girdi kaynağından alır. Genellikle blok büyüklüğü 512 bytedır. Flag sistemi kullanır. İF= flag girdi kaynağını belirtir. Eğer bir şey belirtilmemişse kaynak genel olarak klavyedir. Of= flag çıktı dosyasını belirtir. Bir şey belirtilmemişse genel olarak görüntüleme kullanılır.

 

Örneğin 1024 bytelık veriyi bir dosyadan diğer dosyaya kopyalayacağımızda,

 

Komutunu kullanırız. Bu,2 adet tam 512bytelık veriyi file1.dat’tan file2.dat’a kopyaladığımızı gösterir. Ancak eğer file1.dat 1024 yerine 1500 byte olursa;

 

 

kullanılır.

 

Hata işleme

Dd, girdi verisini okurken bir hata olursa, kopyalamayı durdurarak bir hata mesajı yaratır.”conv=noerror” flag’i ayarlanırsa, dd hata mesajı yayınlar ama kopyalamayı durdurmaz. Bu yöntemle dd hatalı bloğu atladığından, imaj boyutu disk boyutundan küçük olur ve veri adresleri karışır. Bunu önlemek için sync komutu vardır. Bu komut hatalı blok yerine 0’lar yerleştirir. Ancak bu komutla, blok büyüklüğünden küçük veriler kopyalandığında blok büyüklüğüne tamamlamak için blokta kalan boşluklara 0’lar konulur ve bu da yer israfı oluşturur.

 

Kripto grafik hashler:

Dd ile bir dosyanın imajını alıyorsanız ve bu imaj için bir kriptolojik hash değeri hesaplayacaksanız, bu hesaplama için md5sum gibi ek bir araca gereksinim duyacaksınız. Ancak ddnin hash hesaplayan bir versiyonu da bulunmaktadır. Bu sürüm (dccidd) verinin bütünü için, istenirse de bunun yanında belirli byte uzunlukları için de MD5,SHA-1,SHA256 gibi hash değerlerini hesaplayabilmektedir.

BLOG

BİZE SORU SORUN

Bizimle iletişime geçmek ve soru sormak için iletişim butonuna tıklayınız.