Silmek mi, yoksa Yoketmek mi?
Bilgisayarlarda dosya oluşturmak ve gereksiz
hale gelen dosyaları silmek yoğun olarak yaptığımız işlerdendir. Peki
bilgisayarınızdaki bir dosyayı silmeniz durumunda gerçekte neler oluyor hiç
düşündünüz mü? Dosyayı gerçekten silmiş oluyor musunuz? Daha doğru bir
tabirle silinmiş dosyaya ait içerik yok oluyor mu? Silinen dosyaları geri
getirmek yada kurtarmak gibi bir konudan bahsedildiğine ve bu işlem de
yapılabildiğine göre demekki dosyamızın içeriği gerçekte silinmiyor ve bir
yerlerde duruyor. “Silmek yada Yoketmek “ şeklinde bir ifade ile olayı
anlatmaya çalışmamızın nedeni de işte bu.
İşletim sistemleri, diskin ilk kullanım öncesi
organize edildiği yapı olan ve FAT, NTFS, Ext2/3FS gibi ifadelerle bilinen ve
dosya sistemi (file system) denilen yapılar ile dosyalarımızı diskte küme adı
verilen birim alanlarda tutarlar. Biz bir dosya oluşturduğumuzda, işletim
sistemi bu dosyaya boyutu oranında o an diskte kullanım dışı olan kümelerden
tahsis eder. Ayrıca, sistem alanında da dosyaya ait özel bilgileri (adı,
türü, tarihi vb.) ve dosyanın içeriğinin saklandığı küme listesini tutar.
Dikkat edecek olursanız, dosyaya boş kümeler değil, o an kullanım dışı olan
kümeler tahsis edilmektedir diyoruz. Bunun neden böyle olduğu aslında
kolaylıkla tahmin edilebilir. Disk bölümündeki veri alanında bulunan belirli
sayıda birim boyuta sahip kümenin durumu, yani kullanımda olup olmadığı ve
hangi dosyaya ait veriyi içerdiği bilgisi, tüm dosya sistemlerinde genellikle
bir tablo içerisinde tutulur. Buradan ortaya çıkan sonuç ise, gerçekte önemli
olan, bir kümenin içinde bir şeyler olup olmadığı değil, küme kullanım ve
tahsis tablosunda bu kümenin durumu ile ilgili verilen bilgidir. Yani küme
kullanımda mıdır yoksa şu an sahipsiz midir. Kullanımda ise hangi dosyaya ait
kaçıncı kümedir gibi. Kümelerdeki verileri bilfiil silmek, yada bu olayı
ifade etmek üzere seçmiş olduğumuz asıl kelime ile olayı ifade edersek,
verileri yoketmek, işletim sistemlerine kaldırılması mümkün olmayan yükler
bindirmekte ve asıl kullanım amaçlarını saptırmaktadır. Verdiğimiz bu
bilgiler çerçevesinde kolaylıkla tahmin edileceği ve anlaşılacağı üzere, biz
bir dosyayı veya dosya grubunu sildiğimizde, gerçekte sadece dosyaya ait
kümeler yeni kullanımlar için kullanım tablosunda boş yada daha doğru bir
tabirle, şu an herhangi bir dosya tarafından kullanılmayan ve yeni açılacak
veya büyütülme şeklinde değiştirilecek dosyalara tahsis edilmek üzere
bekleyen kümeler olarak işaretlenmektedir. Veri alanındaki kümeler gözümüzle
gördüğümüz şeyler olmadığı için içinde bir şeyler olup olmadığının aslında
hiçbir önemi yoktur. Peki sildiğimiz dosyalardaki bilgiler gizli bilgiler ise
veya sildiğimiz bilgilere herhangi bir şekilde ulaşılmasını istemiyorsak ne
olacak. İşte bu noktada silinen bilgilerin gerçekten silinmesi konusu gündeme
gelmektedir. Şimdi en başa dönüyoruz ve olayı daha kolay anlaşılabilmesi
açısından ayırıyoruz. Dosyaları silmek derken dosyalara ait kümelerin başka
kullanımlar için serbest bırakılmasını, dosyaları yoketmek derken de
dosyalara ait olan kümelerdeki verilerin bilfiil ortadan kaldırılmasını
söylüyoruz.
Diyelim ki 2 yıldır bilgisayarınızı
kullanıyorsunuz. On binlerce dosya oluşturdunuz. Sildiniz, yeniden
yüklediniz. Diskinizi formatladınız. Yeniden sistem yüklediniz. Yüzlerce kez
internete girdiniz. Pek çok program yüklediniz ve kaldırdınız. Şu an ise
diskinizde 25.000 adet dosya var ve diskinizin %43’ü dolu. Tahmin edeceğiniz
üzere, şu ana kadarki işlemleri standart işletim sistemi araçlarıyla
yaptığınız için, diskinizde eski dosyalara ve silinmiş dosyalara ait veriler
tamamen veya kısmen, şu an kullanım dışı olan kümeler içerisinde
durmaktadır.
Kullanmakta olduğunuz diskin kapasitesi size az
gelmeye başladı ve yeni bir disk almaya karar verdiniz. Yeni bir disk aldınız
ve elinizdeki diski de çorbada tuzu olsun diye ikinci el olarak satmaya karar
verdiniz. Eski diski formatladınız ve tertemiz(!) bir hale getirdiniz. Sonra
da uygun bir fiyata tanımadığınız birine sattınız. Dikkat!!! Eski
diskinizdeki bilgiler hala duruyor! İşin asıl kötü yanı, gerek meraklısı
gerekse kötü niyetlisi tarafından bu bilgiler ortaya çıkarılabilir. Dünyaca
ünlü haber ajanslarından birinin verdiği bir habere göre, özellikle gelişmiş
ülkelerde bu yöntemle pek çok özel bilgi çalınmakta ve kötü amaçlar için
kullanılabilmektedir. Böyle bir disk pekala rakip firmanıza, bir bankaya,
resmi bir kurumu ve saygın bir kişiye ait olabilir.
O halde şimdi diskteki verilerin gerçekte yok
olmadığı durumların neler olduğu ve gerekmesi durumunda nasıl yok
edilebileceği konusunun detaylarına geçelim. 2 yıldır kullanılmakta olan disk
örneğimizdeki diskin durumunu dikkate alarak olayı açıklamaya çalışalım.
1) Dosya silerken, dosyanın içeriğinin de
yokedilmesi: Standart işletim sistemi araçları asla böyle bir işlem
yapmaz. İşletim sistemleri, bahsettiğimiz üzere silinen dosyalara ait
kümeleri yeni kullanımlar için serbest bırakır. Dosya sildikten sonra diski
birleştirmek, büyük boyutlu önemsiz dosyaları diske kaydedip silmek (film
dosyası gibi), silinen dosyaya ait kümelerin mevcut veya yeni dosyalar
tarafından kullanılması sonucunu doğurabilir. Ancak bu tür işlemlerin ilkel
yaklaşımlar olacağı ortadadır. Silmek istediğiniz dosyalarınızı disk
yüzeyinden de silmek yani yoketmek istiyorsanız, bu tür işlemleri
gerçekleştirmek üzere yazılmış özel programlar kullanmanız gerekir.
2) Diskte şu an kullanım dışı olan
kümelerin, başka bir tabirle diskteki boş alanın içeriğinin yokedilmesi:
Yine, 2 yıldır kullanılan disk örneğimizde tahmin edileceği üzere, diskin şu
an kullanılmayan kümeleri büyük ihtimalle eski veya silinen dosyalar
tarafından kullanılıyor durumdadır. Diskin formatlanmadan önceki haline ait
dosyaların bulunduğu kümelerin ve silinen dosyalara ait kümelerin, sadece
yeni dosyalara tahsis edilmiş olanları içerisindeki bilgiler gerçekten
silinmiştir, yani yokolmuştur. Peki bu bilgileri şimdi nasıl yokedeceğiz. Tüm
yoketme programlarında olduğu gibi, bahsettiğim programda da böyle bir
seçenek bulunmaktadır. Yani şu an kullanım dışı olan kümelerdeki verilerin
yokedilmesi. Bu işlem diskin kapasitesine ve kullanılmayan miktarına göre
uzun zaman alabilecektir. Ama yine de bu işlemin yapıldığı esnada başka bir
işlem yapılmaması sorun çıkmaması açısından daha iyidir.
3) Daha önce başka dosyalar tarafından
kullanılmış olan ve şu an herhangi bir dosyanın son kümesi olan kümedeki
artık verinin yokedilmesi: Disk bölümlerindeki veri alanlarında
dosyaların belirli sayıda sektörden oluşan birim alanlarda tutulduğunu ve bu
birim alanları küme şeklinde isimlendirdiğimizi söylemiştik. Bir dosya,
bölümdeki veri alanına yerleştirilirken, boyutu küme boyutuna bölünür ve
dosyanın kaç kümeye yerleştirileceği tespit edilir. Bunu bir örnek dosya
üzerinde açıklamaya çalışalım. Küme boyutumuz 8.192 bayt (yani 16 sektör) ve
dosya boyutumuz da 18.512 bayt olsun. İşlemi yapalım.
18.512 / 8.192 = 2 ve kalan = 2.128
Bu hesaba göre dosyaya üç küme tahsis etmemiz
gerekiyor. Dikkat edilirse, son kümenin 2.128 baytı dosyaya ait, kalan 6.064
baytı ise ait değildir. Veri alanı küme blokları şeklinde adreslendiği için
bu durum kaçınılmazdır. Yani son kümedeki 6.064 bayt kayıp alan olarak
duracaktır ve hiçbir dosyaya ait olmayacaktır. Peki bu küme daha önce başka
bir dosya tarafından kullanılmış bir ara küme ise. Yani eski dosyanın son
kümesi değilse. O zaman bu 6.064 baytlık kısımda bir bilgi olabilir demektir.
Eski ve silinmiş dosyalara ait verileri tamamen yoketmek istediğimizde son
kümelerdeki artık alanlardaki verilerin de yok edilmesi gerektiği ortadadır.
Üzerine yazılmış disk bölümlerinde yapılan veri kurtarma çalışmalarında
genellikle bu alanlar dikkate alınmaktadır. Özellikle küme boyutu büyük olan
bölümlerde bu yaklaşım ile imkansız gibi görünen durumlarda bile verilerin
bir kısmına ulaşılabilmektedir. Çoğu yoketme programı, dosyalara ait son
kümelerdeki artık alanları temizleme ile ilgili seçeneklere sahiptir.
4) Formatlanmış bir disk bölümündeki veya
yeni bir amaç için kullanılacak diskin tamamındaki verilerin yokedilmesi:
Formatlanmış bir disk bölümündeki eski verilerin yokedilmesi işlemi, bölüm
içerisinde kullanımda olmayan kümelerin içeriğinin yok edilmesi işlemi
gibidir. Bu işlemi diskin tamamına uygulamak için disk tek bölüm halinde
düzenlenip formatlanır ve kullanımda olmayan küme yoketme işlemi uygulanır.
Diskteki sektörlerin tamamının içeriğini yoketmek istediğimizde ne yapacağız.
Bu işlem için de geliştirilmiş programlar bulunmaktadır. Hard disk
üreticileri de genellikle kendi markaları üzerinde bu işlemi gerçekleştiren
programlar sağlamaktadır. Hard format olarak bilinen ve diskteki alt seviye
mantıksal yapıyı yeniden düzenleyen programlar da bu işlemi gerçekleştirmek
üzere kullanılabilir.
6) Yokedilmiş bilgi geri gelir mi?:
Diskteki verilerin yokedilmesi ile ilgili bu kadar açıklamadan sonra bu da ne
demek oluyor diye düşünebilirsiniz. Size hak veriyorum. Ancak, üzerine yazma
yapılarak ortadan kaldırıldığı düşünülen verilerin geri getirilmesi teorik
olarak imkan dahilindedir. Şimdi bunun nasıl olduğunu açıklamaya çalışalım.
Güvenli Veri Silme
Hard disk plakalarında verilerin 0 ve 1 bit
dizeleri şeklinde tutulduğundan bahsetmiştik. Disklerdeki manyetik plakalarda
artı (+) ve eksi (-) şeklinde kutuplanabilen ve magnet (küçük mıknatıs) adı
verilen atomik düzeyde birim elemanlar vardır. Disk içindeki okuma/yazma
kafasının duyarlığına bağlı olarak plaka üzerinde belirli bir alan artı veya
eksi yönde kutuplanarak veri bitleri kaydedilmektedir. Bu kayıt birim alanını
bir kare şeklinde düşünelim. Bu kare bölge içerisinde milyonlarca magnet
bulunmaktadır. Manyetik kafa yazma işlemi yapacağı zaman bu kare bölgeye
elektromanyetik bir etki uygular ve magnetleri belirli bir yönde kutuplar. 1
için artı yönde, 0 için eksi yönde kutuplama yapıldığını düşünelim. Yeni bir
veri yazılacağı zaman, yazma yapılacak alandaki magnetler aynı veya diğer
yönde kutuplanır. Okuma işleminde ise manyetik kafa kare alandaki magnetlerin
pozisyonuna göre kutuplanır. Buraya kadar anlattıklarımızda şaşılacak bir
taraf yok.
Pratikte kare alandaki magnetlerin kutuplanması
%100 şekilde olmaz. Yani magnetlerin çoğunluğu yeni kutuplamadan etkilenir
ancak bir kısmı eski pozisyonlarını korumaya devam ederler. Yeni kutuplama
durumundan etkilenmeyen magnetler teorik olarak ihmal edilebilecek düzeyde
olduğundan bu durum pratikte hiçbir sorun oluşturmaz. Olayı şöyle düşünelim.
Bir kare alan içerisinde 100 magnet olsun. Okuma işleminde magnetlerin 55
adedinden fazlası bir yönde ise alandaki değerin 1 yoksa 0 olduğunu farz
edelim. Yüksek bir hata oranına göre bile tutarlı bir yaklaşım.
Peki kare alandaki eski değeri tespit etmek
kolay bir işlem mi? Maalesef çok zor bir işlem. Ancak çok spesifik elektron
mikroskopları aracılığı ile bu işlem yapılabilir. Her bit üzerinde de bu
işlemin yapılması gerekeceğinden uzun zaman alabilecek sıkıntılı bir iştir.
Ancak, olayın teorisine göre üzerine yazılmış verilerin eski durumlarının
ortaya çıkarılabileceği de ortadadır. Yapılan hesaplamalara göre 1MB için 1
asır gerekiyor. Bu nedenle böyle bir çalışmanın şu an için pratikte bir
değeri yok.
Aslında çok güzel, mantıklı ve faydalı bir
olay. Bunları niye söylüyorum. Diyelimki FAT dosya sisteminde bir disk
yanlışlıkla formatlandı. Neye ihtiyacımız var. Sadece FAT tablolarına ve Root
dizine. Üzerine yazılmış bu alanlar eski hallerine döndürüldüğünde, kurtarma
işlemi çok basit bir şekilde gerçekleştirilmiş olur.
Manyetik plakalardaki birim bit kayıt
alanlarındaki mevcut değerlerin tamamen ortadan kaldırılması mümkün müdür?
Tahmin edileceği üzere mümkündür. Ancak bunun olabilmesi için belirli
algoritmalara göre tekrarlı işlemlerin yapılması gerekmektedir. Bu konuda en
geniş çalışmayı “Peter Gutmann” yapmış olup bilimsel çalışması makale olarak
yayınlanmıştır. Ayrıca basitleştirmek için atladığımız noktalar olduğunu da
söyleyelim. Birim bit kayıt alanlarındaki magnet tabanlı verinin
oluşturulması, yazılması ve okunması ile ilgili de bir takım kodlama
algoritmaları bulunmaktadır. Konuyu genel hatlarıyla açıkladığımız
düşüncesiyle daha detaylara girmeye gerek görmüyoruz.
|