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 yokolmuyor 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, Ext2FS, HFS 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 yani yokedilmesi 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.