Veri Kurtarma Yazılımları Nasıl Çalışır?

Hiçbir veri kurtarma senaryosu bir diğeriyle aynı değildir. Birçok sefer, silinen veriyi gerçek dosya isimleri ve klasör yapısıyla tamamen kurtarmak mümkün olurken, diğer zamanlarda dosyalar kurtarılabilirken dosya isimleri, tarihler, zaman damgaları ve klasör yolları kaybedilebilir. Bazı senaryolarda ise hiçbir veriyi kurtarmak mümkün olmayabilir.

Birçok modern işletim sistemi fiziksel diski partition veya partition'lara böler. DOS/Windows tabanlı işletim sistemlerinde bu partition'lar mantıksal (logical) disk olarak adlandırılır. Mantıksal disklere kendisini tanımlayan açıklamalar ve sürücü harfleri atanır. Örneğin; C: (Sistem), D: (Data). Her bir partition, diğer partitionlardan bağımsız kendi dosya sistemine sahiptir. Örneğin; Windows sistemi için kullanılan bir fiziksel hard disk NTFS ve FAT32 sistemine sahip iki farklı logical disk'e sahip olabilir. Partition'lar hakkındaki bilgiler hard diskin başlangıç sektörlerinde depolanır. Bu genellikle partition tablosu veya partition haritası olarak adlandırılır.

Veri ve partition bilgilerini barındıran hard disk bölümü metadata olarak adlandırılır. Bu diskteki veri değil, veri hakkındaki bilgileri içeren bölümdür. Aynı şekilde, her bir partition veya logical disk, hakkındaki bilgiyi içeren alan (klasör yapısı, dosya sistemi, vb.) ve dosyaları oluşturan verileri içeren alan olmak üzere iki parçadan oluşur. Diskin bu şekilde metadata ve veri olarak ikiye ayrılması diskin daha iyi bir şekilde yönetilmesine, diskin daha stabil bir şekilde çalışmasına ve aranan dosyaların daha kolay bir şekilde bulunmasına olanak sağlar.

Disk servis bilgilerini (Disk Service Information) içeren bölümler partition boyutu ve dosya sistemi tipi gibi özel bilgiler içerir. Bu işletim sistemini disk üzerinde aradığı veriye ulaşabilmesi için gerekli bir yapılanmadır.

Dosya ve klasörler hakkında bilgi (info about files and folders) içeren bölüm dosya isimleri, boyutları, tarih/zaman bilgileri ve diğer teknik bilgileri içerir. Bu alan ayrıca dosya verilerini disk üzerinde hangi fiziksel lokasyonda olduğu bilgisini de içerir. Disk sürücü bu tablonun zarar görmesi ihtimaline karşı tabloyu kendi üzerine yedekler. Farklı dosya sistemleri bu bilgileri farklı yöntemlerle saklar. Örneğin FAT dosya sistemi bilgiyi File Allocation Table'da saklarken NTFS dosya sistemi Master File Table'da saklar.

Bilgisayar bir dosyayı okumak istediği zaman, öncelikle dosyaların bu bilgilerini içeren tabloları gözden geçirir ve dosya hakkında bilgi olup olmadığını kontrol eder. Eğer bu tablolardan dosyanın adresini bulursa, o adrese yani diskin o bölgesine gider ve veriyi diskten okur. Devam eden dosyalarda, veri disk üzerinde bir arada gruplanmışsa bu işlem gayet düz ve hızlı bir şekilde ilerler. Ancak dosya diskin başka bölgelerine parçalanmış (fragmented) olabilir.

Bu durumda dosya verisi disk üzerinde fiziksel olarak birbirine komşu olmayan bölgeleri işkâl eder. Bu durum kullanıcıların farkında olmadan çok sık olarak gerçekleşir. Kullanıcı dosyayı taradığı zaman, örneğin bir Word dokümanını, işletim sistemi dokümanı kullanıcıya tek seferde ve tek parça olarak gösterir. Bunun sebebi işletim sistemi arka planda disk üzerinde parçalara ayrılmış veriyi bularak tek parça haline getirmekle uğraşmaktadır. Bu tablo bilgileri ve bu bilgilerin nasıl elde edilebileceği veri kurtarma sürecinde büyük önem taşımaktadır.

Bilgisayar bir dosyayı silmek istediğinde veriyi disk üzerinden tamamen ortadan kaldırmaz. Bunun yerine dosya hakkındaki bilgileri içeren tablodan dosyayı silerek, dosyanın kapladığı alanları kullanıma açık olarak işaretler.

Bazı işletim sistemleri ise dosya hakkındaki metadata’yı bile silmeden dosyayı yalnızca silinmiş olarak işaretler. Ta ki dosyanın bulunduğu o alana başka bir veri yazılıp metadatası işlenene kadar. Mac OS X gibi diğer işletim sistemleri ise dosyanın kayıtları hakkındaki bütün metadatayı yok eder. Metadata'nın nasıl saklandığı işletim sistemleri arasında farklılık gösterirken, bütün işletim sistemleri verinin aslını disk üzerinden hemen silmez ve o alan başka bir dosya tarafından kullanılması şart olana kadar veriye dokunmaz. Eğer disk üzerine başka bir yazma işlemi yapılmazsa, disk üzerindeki bu veriler diskin ömrü yettiği kadar saklanabilir.

Yukarıda da bahsedilmiş olduğu gibi dosyaların bilgilerini içeren metadata’lar disk sürücü tarafından yedeklenir. Metadata’sı ortadan kaldırılan verilerde, eski metadata yedeği kullanılarak tekrar kurtarılabilir.

Dosya Kurtarma Metotları Nelerdir?

Üstüne veri yazılmamış alandaki veriyi kurtarmanın iki yolu vardır.  Veri kurtarma yazılımları genelde bu iki tekniği kullanmaktadırlar.

Dosya ve Klasör Bilgilerinin Analizi ile Dosya Kurtarma

Veri kurtarma yazılımları genelde ilk olarak bu yöntemi kullanarak veri kurtarmaya çalışırlar. Sebebi ise, bu yöntem başarılı olursa, dosyalar orijinal isimleri, klasör pathleri ve tarih/zaman damgalarıyla kurtarılmış olurlar.

Veri kurtarma yazılımı, öncelikle dosya ve klasör bilgilerini içeren bilgilerin (metadata) orijinal kopyasını okuyarak işlemeye çalışır. Dosyaların yanlışlıkla silinmesi gibi bazı durumlarda bu adım tek başına yeterli olacaktır.

Eğer dosya ve klasör bilgilerini içeren ilk metadata kopyası zarar görmüşse, yazılım bu bilgileri içeren ikinci kopya için diski taramaya başlar. Bunun yanı sıra veri kurtarma yazılımı, dosya ve klasör yapısı bilgilerini içeren ve diske ait bilgileri de derlemeye çalışır. Sonra bütün bu bilgileri kullanarak orijinal dosya ve klasör yapısını tekrar oluşturmaya çalışır.

Eğer disk üzerindeki dosya sistemi çok fazla hasara uğramamışsa, disk üzerindeki bütün dosya ve klasör yapısını geri kurtarmak mümkündür. Eğer disk üzerindeki dosya sistemi zarara uğramışsa bu yöntem bütün klasör yapısını tekrar yaratamayacak ve kurtarılabilen dosyalar "orphaned" dosyalar olarak görünecektir.

Bilinen Dosya Tiplerini Arama Yöntemiyle Veri Kurtarma (Raw File Recovery veya İmza Bazlı Veri Kurtarma)

Eğer ilk metot başarılı sonuç vermezse ham dosya arama yöntemine geçilir. Bu yöntem ilk yöntemden daha fazla başarı gösteren bir yöntemdir. Ancak, dosyaların isimlerini, tarih/zaman damgalarını veya diskin bütün klasör ve dosya yapısını baştan oluşturamaz.

Bilinen dosya tiplerini arama yöntemi diskin içeriğinde dosya imzalarının (file signature) analiz edilmesiyle yapılır. Dosya imzaları, bir dosyanın başlangıcı ve bitişini belirten ve yaygın olarak kullanılan veri patern’leridir. Hemen hemen her dosya tipi en az bir dosya imzasına sahiptir. Örneğin, bütün png dosyaları "‰PNG" string’i ile başlar ve birçok mp3 dosyası "ID3" string’iyle başlar. Bu tip dosya imzaları disk üzerindeki verinin hangi dosya tipine ait olduğunun tespit edilmesinde ve dosyanın kurtarılmasında kullanılır. Yazılım dosya imzası taraması gerçekleştirdikten sonra bulduğu dosyaları büyük ihtimalle "Extra Found Files" sekmesi altında toplayacaktır.

İmza Bazlı Kurtarma Yapmanın Sınırlamaları

Bu yöntem büyük çapta hasar görmüş dosya sistemlerinin kurtarılması için önerilen en iyi yöntem olmasına rağmen beraberinde bazı sınırlamalar getirmektedir. Bazı dosyaların hem başlangıç hem bitiş imzası olmasına rağmen bazı dosyaların sadece başlangıç imzaları vardır. Bunlara ek olarak bazı dosyaların ise kolay bir şekilde tanınabilecek imzaları yoktur.

Eğer dosya kurtarma yazılımı başlangıç ve bitiş imzalarını tanıyabilirse dosya kolay bir şekilde kurtarılabilir. Bitiş imzası olmayan dosyalar için, yazılım bazen dosyayı bir sonraki dosyanın başlangıç imzasının olduğu yerde bittiğini varsayarak kurtarır. Şifrelenmiş dosyalar gibi, imzası hiç olmayan dosyalar için ise kurtarma yazılımı veri parçalarını, allocate edilmemiş disk alanlarından ayıramayacaktır.

Bu durumların her birisi dosyanın diskin farklı parçalarına yerleştirilmiş olmasıyla (fragmentation) daha da karmaşık bir hal alacaktır. Dahası, bitiş imzası olmadan kurtarılan dosyaların sonunda hiçbir şey ifade etmeyen veriler bulunacaktır.

Şekil 8’e bakılacak olursa, File 1 ve File 3 başlangıç ve bitiş imzasına sahip olduğu ve tek bir disk alanına sığabildiği için başarılı bir şekilde kurtarılacaktır. Ancak File 2'in bitiş imzası farklı bir disk bloğunda tutulduğu için File 2 başarılı bir şekilde kurtarılamayacaktır. Aynı şekilde File 4'ünde bitiş imzası bulunmadığı için unallocated space File 4'e ait olduğu varsayılarak veri kurtarması yapılmaya çalışılacaktır. Yazılımın izleyeceği adımlar aşağıdaki şekilde belirtilebilir:

  • File 1'in başlangıç imzası okundu.
  • File 1'e ait bir bitiş imzası bulanamadı
  • File 2'nin başlangıç imzası okundu.
  • File 2'inin başlangıç imzasını olduğu yer File 1'in bittiği yer olarak varsayıldı
  • File 1 başarılı bir şekilde kurtarıldı.
  • File 2'ye ait bitiş imzası bulunamadı
  • File 3'ün başlangıç imzası okundu
  • File 3'ün başlangıç imzasını olduğu yer File 2'in bittiği yer olarak varsayıldı
  • File 2'nin eksik bir şekilde kurtarıldı.
  • File 3'ün bitiş imzası okundu
  • File 3 başarılı bir şekilde kurtarıldı.
  • File 2'nin bitiş imzası okundu ama File 2 ile ilişkilendirilemediği için işlenmedi.
  • File 4'ün başlangıç imzası okundu
  • File 4'ün bitiş imzası bulunamadı
  • File N'in başlangıç imzası okundu
  • File N'in başlangıç imzasını olduğu yer File 4'ün bittiği yer olarak varsayıldı
  • File 4 Unallocated space'le birleştirilerek sonu anlamsız bir dosya olarak başarısız bir şekilde kurtarıldı.

Fragmented dosyalarda yaşanan bu tip karmaşıklıkların yanında, signature tabanlı aramalarda yazılımın “false positive” değer verme ihtimalide vardır.  Örneğin, MP3 dosyalara ait ID3 imzası herhangi bir metin dosyasının içeriğinde bulunabilir. Bu sebeple signature tabanlı arama yapan bir yazılım metin dosyasının bu kısmının bir MP3 dosyasının başlangıcı olarak işaretleyerek yanlış bir veri kurtarma işlemi gerçekleştirebilir.

İleri Seviye Veri Kurtarma

Birçok veri kurtarma yazılımı yukarıda belirtilen iki yöntemi kullanır. Ancak bunlara ek olarak, daha iyi sonuç elde etmek için birçok farklı arama parametresi ve veri kurtarma yöntemi mevcuttur. İleri seviye veri kurtarma yazılımları, kullanıcının manuel olarak kendi parametrelerini girmesine izin vererek, kendilerine ait signature üretmesine ve bu signature ile arama yapmasına izin verir.

Veri Kurtarma İşleminden Beklenen Çıktılar

Yukarıda bahsedilen bilgiler ışığında, bir veri kaybı durumunda kurtarma işleminin çıktılarının neler olacağı ve nasıl bir yöntem izlenmesi gerektiği öngörülebilir. Ancak, bunların dışında aşağıda bahsedilen faktörler unutulmamalıdır:

Dosya sistemindeki hasarın tahmin edilmesi mümkün olmayabilir. Dosyaların kurtarılabilme ihtimali aşağıdaki faktörlere bağlıdır:

  • Veri kaybına sebep olan hasarın nedeni
  • Veri kaybından önce diskin sağlık durumu
  • Veri kurtarma işleminden önce diske uygulanan işlemler
  • Veri kaybında sonra diske yazma işlemi yapılıp yapılmadığı

Eğer disk üzerinde donanımsal bir arıza varsa diske yazılımsal veri kurtarma prosedürleri uygulanmamalıdır. Disk üzerinde fiziksel bir arıza olduğu düşünülüyorsa 4. Başlıkta bahsedilen hususlar dikkate alınmalıdır. Diske bu konuda ki uzmanlar tarafından özel laboratuvar ortamında, özel cihazlar ile müdahale edilmelidir. Fiziksel zarara uğramış disk üzerinde yapılan her işlem, kurtarılması mümkün olan verinin tamamen yok edilmesine yol açabilir.

Yapılacak bütün kurtarma işlemlerinin orijinal disk üzerinde değil, orijinal diskin imajı üzerinde yapılması gerekmektedir. Bu sayede yapılan kurtarma işlemleri sırasında imaj diske zarar verilirse, orijinal disk üzerinden tekrar imaj alınabilir.

Veri Kurtarma Senaryoları Nelerdir?

Metadata’sı Zarar Görmüş Hard Diskten Veri Kurtarma

Eğer disk, kullanıcı hatasından ötürü yanlış bir şekilde yerleştirilmeye çalışılmış veya çıkarılmışsa veya güç dalgalanmasına maruz kaldıysa, diskin üzerindeki metadata zarar görebilir veya tamamen yok olabilir. Hard disk üzerindeki servis bilgileri ve partition’ların yapı bilgileri tamamen yok olsa bile disk üzerindeki veriler zarar görmez. Bu gibi durumlarda, veri kurtarma yazılımları disk partition’ları üzerinde hala sağlam bir şekilde duran dosya ve klasör bilgilerini (metadata’larını) analiz edebilir. Signature tabanlı tarama yapmaya bu gibi durumlarda genelde ihtiyaç duyulmaz. Bu senaryo veri kaybı durumlarda yaşanabilecek ve kurtarılması en kolay senaryodur.

Tekrar Partition’larına Ayrılmış Diskten Veri Kurtarma

Bir disk yanlışlıkla veya kasten tekrar partition’larına ayrılmış ise, yapılması gereken işlemlerdeki fark ise, bir disk yeniden partition’larına ayrıldığında diske bir miktar yeni veri yazılır. Bu sebeple bir önceki disk partition yapısının metadata’sı yeni disk partition yapısının metadatası ile değiştirilmiş olur. Ancak dosya ve klasör bilgilerine (metadataları)  dokunulmaz ve diske yeni veri yazılana kadar saklanır. Bu sebeple, veri kurtarma yazılımlar, diski tarayarak signature bazlı tarama yapmaya gerek duymadan bu bilgilere erişerek dosya ve klasörleri kurtarabilir.

Formatlanmış Partition’dan Veri Kurtarma

Partition’u tamamen formatlamak diskte kurtarılması istenen veriye diski tekrar partition’lamaktan daha fazla zarar veren bir uygulamadır (formatlarken kullanılan yönteme bağlı olarak). Tam format atmak partition üzerindeki bütün veriyi belirli bir pattern’le (00 veya FF) dolduran bir işlemdir. Bu işlem partition üzerindeki eski verinin kurtarılmasını imkânsız hale getirir. Hızlı format dosya ve klasör metadatalarının hepsinin veya bir kaçının silinmesine neden olabilir. Ancak birçok dosyanın metadatasına dokunulmaz. Dosya kurtarma yazılımları diski tarayarak bir önceki dosya sisteminden kalan verileri kurtarır. Bu tip durumlarda ilk tarama başarısız olsa bile signature tabanlı tarama yapmak daha çok başarı gösteren bir yöntem olacaktır.

Dosya Sistemi Zarar Görmüş Diskten Veri Kurtarma

Bu durum kurtarma işleminin başarısı dosya sisteminin ne kadar hasara uğradığıyla bağlantılıdır. Daha önce bahsedildiği gibi disk sürücü dosya ve klasör bilgilerini içeren metadata’dan iki kopya tutar. Bir kopya zarar görürse, dosya kurtarma yazılımı diğer kopyayı bularak analiz edebilir ve verileri bu kopyayı kullanarak geri döndürebilir. Eğer iki kopyada zarar görmüş ise dosyaları başarılı bir şekilde kurtarmak mümkün olmayabilir. Bu durumda signature tabanlı arama yapmak daha yüksek başarı oranı gösterecektir.

Dosyaları Disk Üzerinde Taşınmış Diskten Veri Kurtarma

Eğer bilgisayar bir yeniden partition’lama veya disk defragmentation’ı sırasında takılır veya crash ederse karşılaştığımız durumdur. Bu durum karşılaşabileceğimiz en kötü senaryolardan biridir. Dosya ve klasörlerin metadata’ları sağlıklı görünse de, metadata’lar disk üzerine yanlış fiziksel adresleri işaret ediyor olabilir. Çünkü dosyalar yeni adreslerine kopyalanmış ancak metadata dosyaları yeni bilgilere göre işlenemeden bilgisayar takılmış ve çökmüş olabilir veya metadata bilgileri yeni dosya adresine göre işlenmiş ancak, dosyanın tamamı yeni adrese kopyalanamamış olabilir. Bu gibi durumlarda, imza (signature) tabanlı arama yapmak bile başarısızlıkla sonuçlanacaktır.

Manuel Yöntemlerle Diskten Veri Kurtarma

Veri kurtarma yazılımları yukarıda bahsedilen yöntemler ile çalışmaktadır. Yazılımlara yüklenen arama algoritmaları ve signature’lar sayesinde yazılım disk üzerinde dosyanın başladığı ve bittiği alanları tespit ederek bu alandaki verileri anlamlı hale getirmektedir. Ancak yazılımlar, bazı durumlarda dosyanın başladığı ve bittiği fiziksel disk alanını tespit edemeyip dosyayı başarılı bir şekilde kurtaramamaktadırlar. Varsayalım ki elimizde birden fazla Word dosyasına ait olduğunu bildiğimiz bir sektör kümesi vardır.

Veri kurtarma yazılımları bu dosyaların metadata’larını okumadan veya başlangıç/bitiş signature’larını tespit etmeden dosyaları kurtarma işlemini başarılı bir şekilde uygulayamaz. Ancak bu sektörleri tek tek inceleyen uzman bir teknik personel, Word dokümanları içinde yazan veriyi yine bir yazılım yardımıyla tek tek okuyarak anlamlı halde dizebilir ve dosyaları oluşturabilir.  Çok zaman ve kaynak gerektiren bir işlem olmasına rağmen kritik önem taşıyan veri kurtarma işlemleri için bu yöntem izlenebilir.

Adres   : Balgat Mah. Ceyhun Atuf Kansu Cad. 36/6 Çankaya/Ankara