Blog

Veri Kurtarma Yaklaşımları

Bilgisayar, telefon, bilgi depolanan ve günlük hayatımızda sıklıkla kullanılan önemli parçalar haline geldi. İçerisine önemli bilgiyi bırakır olduk tabi tartışmalı bir konu ama "ne diye kaydedelim diye sorarım önemsiz ise?", bu bilgileri değiştirebildiğimiz depolama birimleri üzerine alınca bilgileri korumamız gerekmeye başladı tabi yine cd/dvd'ler korunmalıydı ama fiziksel sağlığını koruduğu sürece diğer taraftan silmek gibi bir seçenek bulunmuyordu. Bu şu demekte değil yine veri zarar görmez de değil ona da bir uygulama ya da betik yazılıp çalıştırılırsa silemiyorsakta başka bir şey yapamayız diye bir seçeneğimiz yok değil elbette karalayarak da veriyi kullanılmaz hale getirebiliriz.

 

Buradan bir yere varalım, veriyi nasıl kaybedebiliriz bunları gözlemleyelim sonra neler yapabiliriz nasıl yöntemler bize geri dönüşüm sağlar bir bakalım. Verilerimizi yanlışlıkla kendimiz silebiliriz silmekten kastım çöpe taşımak olmadığını belirtmek isterim, Kendiniz değil başkaları tarafından silinebilir kasıtlı veya kasıtsız, Zararlı bir yazılım buna yol açabilir yetenekleri sadece silmekle kalmayıp veri kurtarma adımınada bir şeyler bırakmayabilir veya tam tersi şifreleyebilir, harici diskimizi yere düşürüp bir zarar almasını sağlayabiliriz bu zarar sonucu dosyalarımızı kaybetme ihtimalimiz yine bulunmakta veya başka bir senaryo düşünelim elimizde bir usb belleğimiz olduğunu varsayalım ve içerisinde verilerimiz bulunmakta her zamanki gibi acil bir dosya gerek oldu ve almak zorundasınız fakat usb belleğimizde yer kalmamış bir telaş ile içerisinde bir kaç gerekli belgeniz olduğunu unutup verileri silip diğer dosyayı içerisine kopyaladınız. Daha sonra fark ettiniz hata yaptığınızı ve  kopyalama işlemi tamamlandı. Burada dosyanızın geri dönüştürülmesini etkileyecek olan bir çok parametre var dosyanızın büyüklüğü, blok adresi(şans), dosyanızın imza değişkenleri gibi şimdi düşme durumunda da hasar alınca veya bu şekilde üzerine bir tekrar veri yazılma durumlarında kurtarılma ihtimalı bir kaç yöntemle bölünüyor ve bunların sonucunda çıkacak dosyanın hepsinin kurtarılma ihtimali bulunmamakta kısmi olarak ta kurtarılabilir ya da tamamen kaybedetmiş te olabilirsiniz.

 

Şimdi gelin en son bahsetmiş olduğumuz yöntemler nelermiş senaryolar üzerinden gidelim ve bu senaryoları ayrı ayrı uygulamasını yapalım.

1. Silinmiş Verileri Kurtarma (Recovering deleted data)

Bir adet harici diskimiz mevcut bunun içerisinde verilerimiz bulunmakta bu verileri önemsiz olduğunu düşündük ve sildik. Farkettiniz ki Örnek.jpg dosyanızı da yanlışlıkla sildiniz. Bu durumda veri kurtarmak isteyeceksiniz. Bu durumda nasıl olsa onları kurtarırım diye düşünüp içerisine bir veri dosyası aktarmayınız aksi takdir de bu düşüncenin sonucu size geri dönüşü olmayacak şekilde dosyayıkaybetmenize yol açabilir. Kurtarabilmemiz için hassas noktalar, silinen verimizi korumak adına diskimizi bağlı bulunduğu sistemden çıkaralım daha sonra tekrar yazma korumalı olarak sistemimize bağlayaıp kurtarma yöntemlerinden devam edelim. İki tür de veri kurtarmak için yöntem vardır. Bunlardan biri günlük dosya sistemini(JFS)'i kontrol etmek, diğeri ise dosya imzası belirli bir veriyse bunu bloklarda aratmak iki ana yöntem denebilir. Tabi bunları biz elimizle yapmayacağız bunun için geliştirilmiş araçlarımız bulunmakta bunlardan yardım alarak yapacağız bunların kimisi windows kurulumu misali ileri ileri, kimisi ise teknik bilgiyi hatırı sayılır şekilde sorgulamakta. :)

Şekil 1: A Senaryosu

2. Üzerine Yazılmış Veri Kurtarma (Recovering deleted data-Carving Taxonomy)

Yine bir adet harici diskimiz mevcut bunun içerisinde verilerimiz bulunmakta. Diskimizden bir kaç dosya sildik ve daha sonra içerisine bir kaç dosya aktardık bir bilgisayardan veya herhangi bir dijital ortamdan. Farkettiniz ki Örnek.jpg dosyanızı da yanlışlıkla sildiniz. Bu durumda veri kurtarmak isteyeceksiniz. Bu kısım dosya aktarırken mi yoksa aktardıktan sonra mı fark ettiniz önemli bir nokta eğer büyük bir tek parça dosya yazıyorken farkettiysek bir an önce işlemimizi iptal etmeliyiz. Burada ki amaç silinen verinin üzerine bir yazılmamışsa geri dönüştürme işini zorlaştırmamak veya bu imkanıtamamen kaybetmemek için yapıyoruz bunu. Aktarımdan sonra farkettiysek daha fazla veri yazmayalım iki işlemin sonucundan sonra silinen verimizi korumak adına bağlı bulunduğu sistemdençıkaralım daha sonra tekrar yazma korumalı olarak sistemimize bağlayaıp kurtarma yöntemlerinden devam edelim. İki tür de veri kurtarmak için yöntem vardır. Bunlardan biri günlük dosya sistemini(JFS)'i kontrol etmek, diğeri ise dosya imzası belirli bir veriyse bunu bloklarda aratmak tabi bu işlemler kendi içerisinde taksonomiye sahip bir çok teknik bulunmakta genel olarak ikisi ana yöntem denebilir. Tabi bunları biz elimizle yapmayacağız bunun için geliştirilmiş araçlarımız bulunmakta bunlardan yardım alarak yapacağız yine genel kullanımı basit olan uygulamamızda var daha tekniği de. :)

 

Yukarıdaki her iki senaryo da kullanabileceğimiz özgür yazılımlar ve ücretsiz yazılımlar bulunmaktadır. Bunları aşağıda listeleyeceğim ve birer uygulama ile görelim kurtarma adımlarını.

Şekil 2: B Senaryosu

Özgür Yazılımlar

a - PhotoRec --> http://www.cgsecurity.org/wiki/PhotoRec

b - Extundelete --> http://extundelete.sourceforge.net/

c - Redo Backup and Recovery --> http://redobackup.org/

d - FreeRecover --> https://sourceforge.net/projects/freerecover/

e - The Sleuth Kit --> http://www.sleuthkit.org/

 

Ücretsiz Yazılım

a - Recuva ücretsiz versiyon --> https://www.piriform.com/recuva

b - foremost --> http://foremost.sourceforge.net/

PhotoRec ve Extundelete Araçları ile Veri Kurtarma

PhotoRec yazılımı ntfs, fat, exfat, ext2/ext3/ext4, hfs+ dosya sistemlerini desteklemektedir ve işletim sistemlerinin çoğunu desteklemektedir, daha fazla bilgilere yukarıda vermiş olduğum adresten ulaşabilirsiniz. Extundelete aracı sadece genişletilmiş(external-ext2-3-4) dosya sistemlerinden veri kurtarabilmek üzere geliştirilmiştir Gnu/Linux işletim sisteminde çalışan bir araçtır.

 

Şekil 3: Fotolar Dizini

İki adet örnek jpg dosyamızı ext4 dosya sistemine sahip usb diskimize kopyaladıktan sonra usb mizden bu dosyaları hem photorec hem de extundelete yazılımları ile geri getirelim.

Extundelete aracımızı kurmamız gerekli öncelikle bunun için yukarıda belirtmiş olduğum adresten yazılımı indiriyoruz, indirdikten sonra kurulumu yapmak için sıkıştırılmış dosyalarımızı açalım daha sonra README dosyasını okuyalım.

 

$  cd extundelete-0.2.4

$  cat README

Burada bize iki adet geliştirme paketinin kurulması gerektiğini belirtiyor. Bu paketler;

e2fslibs ve e2fsprogs bu paketleri hemen paket yöneticimizden kurmasını istiyoruz.

 

$ sudo apt-get install e2fslibs e2fsprogs

Daha sonra derleme işlemi için bir eksiklik olup olmadığını kontrol etmek için,

$  sudo ./configure

komutunu çalıştırdıktan sonra eğer bir eksiklik yoksa kurulumu yapabiliriz, bir hata verdiyse hata bize eksik olanın ne olduğunu söyleyecektir, örneğin A paketi bulunamıyor derse yine paket yöneticisinden bu paketi yüklüyoruz. Ardından

$  sudo make

$  sudo make install

komutlarını çalıştırıp derleme işlemi tamamlıyoruz.

Burada kurtarma işlemine geçmeden üzerinden çalışılacak diskin adını ve öğrenip sisteme sadece okunabilir formatta veya sistemden umount ile bağını kopararak diskin üzerine hiçbir şey yazılmamısını sağlıyoruz. Daha sonra kurtarmamız için vermemiz gereken komut şu şekilde olacak.

$ sudo extundelete /dev/sd-ismi –restore-all

Bu komut ilgili aygıtın günlük bilgilerine bakarak dosyalarımızı bize geri getirecek, kurtarılan dosyaları komutu çalıştırdığım dizinin altına otomatik oluşturulan RECOVERED_FILES dizinine gelecektir.  Aşağıda örnek bir işlem ve sonuç gösterilmiştir.

 

Şekil 4: extundelete dosya kurtarma

 

Şekil 5: RECOVERED_FILES

Şimdi ise photorec aracı ile benzeri işlemleri görelim. Burada bir konuya dikkat çekmek istiyorum duruma göre yazılımlar farklı sonuçlar verebiliyor farklı farklı denemekte de fayda var. Senaryomuz yine aynı,

$ sudo photorec

diyerek kurtarma yazılımızı çalıştırıyoruz.

Şekil 6: PhotoRec disk seçimi

Buradan kurtarma yapacağımız diski seçiyoruz dikkat ederseniz disklerin yanlarında RO ifadesi bulunmakta yani yalnızca okunabilir olduğunu belirtiyor disklerin diskimizin üzerine yön tuşları ile geldikten sonra ilerleyi(Proceed) seçiyoruz.

 

Şekil 7: Disk bölüm bilgisi

Burada diskimizin bölümlerini görüyoruz biz dosya sistemimizde bir dosya arayacağımız için dosya sistemi belirtilmiş olan bölümü seçiyoruz aşağıdaki seçenekler de ise Options menüsünde gelişmişayarlar bulunmakta file options menüsünde ise dosya uzantı türleri daha doğrusu imza türleri mevcut hangi dosya türünde arama yapılacaksa onu seçiyoruz ve bu işlemden sonra farklı dosyalar görmezden geliniyor. Hiç değişiklik yapmadıysak varsayılan olarak hepsi seçili gelmekte.

Search seçeneği ile devam ediyoruz.

 

Şekil 8: Dosya sistemi seçimi

Photorec bize kaybettiğin dosya hangi dosya sistemindeydi diye soruyor ext4’tü. Onu seçip devam ediyoruz.

 

Şekil 9: Nerede aranacak

Photorec bize nerede arayacağımızı soruyor, ilk seçenek olan free şuan diskteki boş alanları mı tarasın yoksa bütün diski bunu soruyor bütün olarak seçiyoruz. NOT! Eğer diskinizin içerisinde başka dosyalar mevcut ise free yi seçmeniz hem daha doğru olacaktır hem de zaman olarak daha hızlı elde etmiş olursunuz şimdi diskimiz 500GB olduğunu düşünürsek bu arama bir hayli uzayacak bu şekilde düşününce daha zaman tasarruflu bir seçenek.

 

Şekil 10: Dosyaların nereye kaydedilecek

Dosyalarımızın nereye kaydedileceğini soruyor. Ben kurtarma adında bir dizin oluşturmuştum masaüstüne orayı seçeceğim, Eğer dosyanızı farklı bir dizine oluşturduysanız “..” seçeneğine gelerek bir üst dizine çıkabilirsiniz. Dizini belirledikten sonra “.” işaretine geliyoruz ve C tuşuna basıyoruz ve kurtarma işlemi başlıyor.

 

Şekil 11: Kurtarma süreci

 

Şekil 12: İşlem sonucu

İşlem sonucunda bize iki dosya kurtardığını nereye kaydettiğini söylüyor.

 

Şekil 13: Kurtarılan dosyalar ve Rapor

Kafamıza takılan sorular olabilir 2 kurtardı burada 4 adet fotoğraf bulunuyor ve ayrıca ilk baştaki fotoğrafımız kurtarılmamış. Arkadaşlar 2 dosya kurtardığı doğru bu dosyaların hem thumbnail hem de kendisi olduğunu düşünürsek 4 adet oluyor. Diğer fotoğrafa gelince her zaman kurtarma olasılığımız bulunmamakta ama farklı uygulamalar deneyerek farklı sonuçlara varabiliriz.

Kurtarılan veri de dosya imza onarımı

Şimdi gelelim imza onarımı yapmaya bir adet dosya üst imzası bulunmayan dosyamız bulunmakta kurtarmış olduğumuz dosyamızın imzasını bulup dosya geri eklememiz sonucunda dosyamız doğru birşekilde okunabilir hala gelebilecek ama bunu nasıl çözeceğiz. Üst imzası olmadığını nereden biliyorum normal olarak tanımlı bir şekilde görünmüyor ikili(binary) bir dosya gibi görünüyor hemen burada hexdump aracı ile bir okuma yaptım üst imzası orada yoktu ama enson dosya alt bilgisi bulunuyordu(EOF).

 

Şekil 14: Hexdump dosya okuma

 

Şekil 15: Hexdump dosya okuma, Dosya alt bilgisi

Bu EOF(0a 25 25 45 4f 46 veya 25 25 45 4f 46) değerini kopyalayıp google da aratalım.

Karşımıza, http://www.garykessler.net/library/file_sigs.html dosya imza listesi çıktı. Ctrl + F kısayolu ile daha önceden kopyalamış olduğum değeri arattım ve adobe ye ait bir dosya olduğunu anladım.

 

Şekil 16:   25 25 45 4f 46 EOF dosya imza tespiti

Buradan anladığımıza göre 25 50 44 46 çiftini imzaya geri eklememiz durumu düzeltebilir. Dosyamızıbless hex editör ile açalım siz farklı bir editör kullanabilirsiniz google da hex editör diye arattığınız da karşınıza çıkacaktır.

 

Şekil 17: Bless hex editör

Üst imzayı kopyalıyoruz yani 25 50 44 46, bu değeri bless hex editörde açtığımız dosyanın başına ekleyip farklı kaydediyoruz ben yenidosya.pdf olarak kaydettim.

 

Şekil 18: Dosya görünmü

Otomatik olarak dosya görünümü değişti ve pdf dosyamız okunabilir hale geldi.

Kötü durumda veri kurtarma (C Senaryosu)(Recovering bad data)

C - Harici diskimiz meşhur oldu ama bu sefer onu seçmemde mekanik olma nedeni var. Harici diskimizi düşürmüş olabiliriz veya zaman içerisinde ortam koşulu, diskin sağlığı, çalışırken sallaması gibi nedenler ötürü donanımsal zararlar oluşacaktır. Bu örnekte sadece içerisinde bulunan bir kaç parça için çalışmalardan bahsedeceğim ama şunu söyleyebilirim fiziksel olarak zarar görmüş bir diskte hasara bağlı olarak durumlar değişebilir, optik disk zarar görmediği ve içerik listesi diyebiliriz bu kısımlar zarar görmediği sürece diskimizden veri kurtarma ihtimalımız bulunmakta. Kötü sektör(bad sector) dediğimiz bir durum var dosyanız böyle bir bölgeye yakın veya bir parçası bu bölge de bulunan dosyamız mevcut ise bunu disk ayarlarını oynayarak okunamayan bölgeyi atlayıp dosyanın sağlam olan bölümlerini kurtarabiliriz pek iyi olmadı sanki ha :| ama yüzünüz asılmasın sadece imza bölümü ya da farklı bir kısmı geldiyse çok az bir kayıpla dosyanız geri dönüştürülebilir. Veya başka bir örnek daha verelim harddisk aksağımlarından biri de disk kafalarıdır. Bu kafalar hem bilgi okumak hem de silmek için çalışırlar. Sayısı içerisinde bulunan optik disk sayısına göre farklılık gösterir. Bu örnek te diskimizden ses geldiğini işitiyoruz burada bir sorun olduğunu anlıyoruz hepimiz, genel bu durum kafanın bir bölümü okuyamaması, disk geometri düzenine uyamaması durumunda sürekli yenileyerek denemesinden kaynaklı da olabiliyor diğer bir taraftan mekanik bir zarar görmüş olması da bunu tetikleyebiliyor sonuç olarak harddisk kafamız veriyi okuyamıyor. Bu durumda teknik biraz destek gerekiyor kişisel olarak maliyetini düşününce yüksek olunca kurumsal destek maliyeti biraz daha azaltabilir :). Neyse bu sadece bir tavsiye biz arkaplanını anlatalım kafa ayarlarını değiştiriyoruz ve diskteki verileri ayrıca dışarıya çıkartıyoruz.

 

Şekil 19:  DFL-PCIe 4X Data Recovery Express ile disk bağlantısı

C senaryosunda kullanılan araçlardan iki tanesi ise aşağıdadır.

 

a - Pc3000 Express à http://www.acelaboratory.com/ExpressSystemà data extractor udma

b - DFL-PCIe 4X Data Recovery Express à http://www.dolphindatalab.com/product/dfl-dre-4x-pcie-data-recovery-equipment/ à dfl-de data extractor tool

 

Bu araçlardan farklı olarak diğer araçlara da göz atabilirsiniz yukarıda verdiğimiz araçlara  alternatif olarak diskler için geliştirilmiş yazılımlara hdd guru dan bakabilirsiniz.

http://files.hddguru.com/index.php

Sonuç

Sonuç olarak bu üç farklı senaryo da anlatılmak istenen veri kurtarma durumlarını sınıflıyoruz;

  • Silinmiş verileri kurtarma(A senaryosu)(Recovering deleted data)
  • Üzerine yazılmış veri kurtarma (B Senaryosu)(Recovering deleted data-Carving Taxonomy)
  • Kötü durumda veri kurtarma (C Senaryosu)(Recovering bad data)
  • Birde Gutmann makaleleri var, bu makaleler de Gutmann üzerine defalarca yazılmış veriyi bile geri dönüştürebileceğini ortaya koyuyor(daha fazlası için bkz.

http://forensicswiki.org/wiki/Recovering_Overwritten_Data)








Yorum Yapmak İçin Giriş Yapın.