Sabit
Diskler ve Dosya Sistemleri
Sabit diskler fiziksel olarak,
silindir, sektör ve izlerden oluşur. Adli
bilişimin konusu olan verinin disk üzerinde nerede ve ne şekilde bulunduğunun
en somut açıklaması, disk ve dosya sistemleri yapısını anlatan bilginin içinde
yer almaktadır. Dosya sisteminin farklı işletim sistemleri ile nasıl
çalıştığının anlaşılabilmesi için, bir kayıt aracı olan disk üzerindeki
fiziksel organizasyonun yeterince bilinmesi gerekir. Sabit diskler birden
fazla mantıksal disk bölümüne sahip olabilirler. Mantıksal olarak
"birincil" ve "uzatılmış" bölümlere ayrılarak
kullanılırlar. Disk üzerinde aynı anda sadece bir bölüm aktif (başlatılabilir)
olarak seçilebilir. Disk ya da disk bölümleri, belirlenen dosya sistemi ile
biçimlendirilerek üzerine veri yazılabilir hale getirilir. Dosya sistemi,
verilerin sabit disk üzerinde nasıl yerleştirileceğini ve işletim sistemi
tarafından ihtiyaç duyulduğunda/istendiğinde nerede bulunacağını belirleyen sistemdir.
Adli bilişim sürecinde, silinen ya da gizlenen dosyaların dosya sistemine bağlı
olarak nerede ve ne şekilde bulunacağının bilinmesi, bu tür verilerin tekrar
elde edilebilmesi açısından büyük önem taşımaktadır.
İşletim sistemi, kullanıcı ile
donanım arasında bir arayüz görevini üstlenmektedir. Dosya sistemi, verilerin
disk üzerine nasıl oluşturacağı, sileceği, değiştireceği ve okuyacağını işletim
sistemine bildirir. İşletim sistemi tarafından sabit disk üzerinde oluşturulan
sanal bellek alanları da, adli incelemelerde önemli bulgu ve dosyaların elde
edildiği alanlar arasında yer almaktadır.
6.1
Disk Geometrisi ve Disk Üzerine Veri Yazma İşlemi
Bilgisayarlar ve üzerinde
veri bulunduran birçok elektronik cihaz (kamera, mp3 çalar vb.) üzerinde
kullanılan sabit disklerin temel görevi, sayısal bilgileri kalıcı ve düzenli
olarak depolamaktır. Sabit diskler üzerine kaydedilen veriler silinmediği ve
sabit disk manyetik alan gibi dış etkilere maruz kalmadığı sürece disk üzerinde
kalmaya devam eder. Disklerin diğer depolama birimlerine oranla daha hızlı,
daha fazla veri depolama kapasitesine sahip ve maliyeti daha düşük depolama
birimi olma özelliği, kullanım alanının çok geniş olmasına ve buna bağlı olarak
adli bilişim uzmanlarının temel odak noktası haline gelmesine neden
olmaktadır. Sabit diskler, bilgisayar üzerinde dijital delillerin en fazla
bulunduğu kaynaklardır.
Sabit diskler, verilerin depolandığı
ve disk kapasitesine bağlı olarak sayısının değiştiği plaka, okuma-yazma
kafaları ve plakaları hareket ettiren disk motoru ve kontrol kartı bileşenlerinden
oluşurlar.
Verilerin üzerinde
bulunduğu disk plakaları, kapasite ve kullanım alanına bağlı olarak alüminyum,
seramik veya cam maddeden yapılırlar. Plakaların ısı direncinin yüksek olması
istenen disklerde cam tercih edilmektedir. Fakat camın kırılganlığını azaltmak
amacıyla belirli oranda içerisine seramik karıştırılır. Manyetik duyarlılığı
bulunmayan plakaların üzeri, kobalttan oluşan manyetik bir film ile kaplanır ve
ayrıca üzerine kafa çarpmalarına karşı koruma tabakası yerleştirilir. Low-level
for-matlama işlemi sonrasında plakalar üzerinde bilgilerin depolanacağı iz ve
sektörler oluşturulur ve disk üzerindeki başlangıç/bitiş noktaları belirlenir.
Plakalar her iki yüzeyine yerleşmiş okuma-yazma kafalarının arasında belirli
bir hızda (5400, 7200, 15000 RPM Revolutions Per Minute gibi) ve tek yönlü
olarak dönerler. Okuma-yazma kafaları disk üzerinde hareket ederek ve CHS
yapısını kullanarak, verinin bulunduğu adrese ulaşırlar.
Disk üzerine veri
yazmak için yapılan adresleme işlemi, sabit disk üzerinde silindir (iz), kafa
ve sektör numarasına bağlı olarak yapılır. Silindir, kafa ve sektör numaralarının
ve ilave olarak 521 byte değerinin çarpımı (C x H x S x 512 bytes), toplam disk
kapasitesini oluşturur. Bu yapıya, CHS (Sectors-Heads-Cylinders) adı verilir.
Örneğin, 1024 silindir, 256 kafa ve 63 sektör içeren bir sabit diskin
kapasitesi, 8.4 Gb (1024 x 256 x 63 x 512 bytes = 8455716864 bytes =>
8455716864 bytes /1024 bytes /l 024 bytes = 8.4 Gbytes) olarak hesaplanır.
Sabit
disk üzerinde yer alan kafa, iz sektör ifadeleri kısaca şöyle
açıklanabilir:
6.1.1 Silindir (İz)
Sabit disk plaklarının
her iki yüzeyinde, birbirini kesmeyen halkalardır. Silindir ve iz deyimleri
şekilden de anlaşılacağı gibi farklı olmasına karşın, aynı anlamda kullanılması
da yanlış olmayacaktır. Çünkü silindirin alt alta gelen izlerden oluştuğu
varsayılan yapı olduğu için aynı sayıyı vermektedir. İz ve sektörler düşük
seviyeli (low-level) formatlama sonrasında oluşturulur.
6.1.2 Kafa
Sabit disk plakalarının
her iki yüzeyinde de bulunur ve okuma-yazma işlemi yapar. Plaka yüzeyine temas
etmeden, manyetik polarizasyon yöntemiyle okuma-yazma işlemi yapmaktadır. Plaka
ile okuma-yazma kafası arasında 0.05-0.07 mm boşluk bulunur. Bütün kafalar
birbirine bağlı olduğu için, hepsi aynı anda aynı silindir üzerinde yer alır.
Buna bağlı olarak, performans kaybı olmaması için, bir iz dolduğu anda aynı
plaka üzerinde başka bir iz değil, aynı silindir üzerinde bulunan başka bir iz
kullanılarak veri yerleştirilir. Okuma-yazma yapmadığı ve üzerinde elektrik
olmadığı zamanlarda plaka üzerinde bulunmayıp, "Landing Zone" adı
verilen bekleme bölümüne çekilirler.1
6.1.3 Sektör
İzlerin
dilimlenmesi ile oluşan ve işletim sisteminin veri yazma işlemi yapabildiği en
küçük alandır. Her sektör, üzerinde 512 byte bilgi içerecek büyüklüğe sahiptir.
Dosya sistemleri içerisinde sıkça adı geçen ve adli bilişim açısından da önem
ta-şıyan "cluster" ise, bir grup sektörün (İki veya
daha fazla) birleşmesi ile meydana gelir.
Dosya sistemi sektörlerin tamamını bir seferde
toplayamaz. Program ve verileri cluster içinde toplar. Cluster, her defasında
birlikte okunan ve birlikte yazılan sektörler kümesidir. (1
Henkoğlu, Türkay
(2007))
Sabit disklerin içyapısında,
genel itibariyle elektronik kontrol kartı ve mekanik kısım bulunur. Elektronik
kartın temel görevi, sabit disk motorunu harekete geçirmek, verilerin disk
üzerinde nerelere ve nasıl yazılacağı konusunda yönetimi sağlamak ve veriler
üzerinde yapılacak her türlü işlem için gerekli veri yolu haberleşmesini sağlamaktır.
Diskin yönetimi, işletim sistemi üzerinde bulunan "disk operating
system" tarafından yapılır. İşletim sisteminin sabit diske bilgi
okuma/yazma isteğinin kayıt-çılardan disk kontrol kartına gönderilmesi intl3h
ile yapılır. INT13h, BlOS'ta diske ulaşımı sağlayan kesilmedir.2
Başka bir ifadeyle, disk üzerinden yapılacak işlemler, BIOS düzeyinde 13
numaralı kesilme adresi kullanılarak yerine getirilir.
İşletim
sisteminin başladığı nokta, CHS=001 noktasıdır. Dosya sistemi oluşturulmadan
önce, zorunlu olarak disk bölümleri oluşturulur. Diskin ilk sektöründe, MBR
(Master Boot Record) bulunur. MBR üzerinde, sabit diskin nasıl bölümlendirildi-ğine
dair bilgileri içeren ve işletim sistemine bunu anlatan bölüm tablosu yer alır.
Bölüm tablosundaysa, her bölümün ilk ve son sektörüne ait bilgiler yer alır.3
Disk bölümleri oluşturulduktan sonra, oluşturulan disk bölümleri herhangi bir
dosya sistemi kullanılmak suretiyle formatlanır.
Disk yapısı
içerisinde adli bilişim açısından önem arz eden alanlardan biri de, disk
üzerinde bulunan ilk silindirdir. Disk üzerinde bulunan ilk silindir, disk
geometrisi ve disk üzerinde bulunan bozuk sektörlerin adresleri gibi bilgileri
üzerinde bulundurmaktadır. Bu alanda yapılacak işlemlerle, disk üzerinde
belirli bir alan bozuk sektörlerin bulunduğu alan olarak işaretlenmek
suretiyle, bu alanlara yerleştirilen bilgiler işletim sisteminden
gizlenebilmektedir. Bu tür alanlara sıradan adli bilişim yazılımlarıyla erişmek
de mümkün olmamaktadır. İlk silindir ve disk POST alanına erişim için, Anadisk1
ve BXDR5 gibi özel programlara ihtiyaç duyulmaktadır. (
6.2 Fat (File Allocation
System) Dosya Sistemi
FAT dosya yapısı,
MSDOS işletim sistemi ile birlikte yaygın olarak kullanılmaya başlamış ve
Windows işletim sistemlerinin ana dosya sistemi olmuştur. FAT dosya sisteminin,
FAT 12, FAT 16 ve FAT32 isimleriyle üç farklı modeli farklı zamanlarda
kullanılmıştır. FAT 12 ile FAT dosya sisteminin temelleri atılmış ve disketler
üzerinde kullanılmıştır. FAT 16, MSDOS işletim sistemi ve Windows işletim
sistemlerinin ilk sürümlerinde yaygın olarak kullanılmış ve daha sonra
ihtiyaçları karşılayamadığı için NT tabanlı işletim sistemlerinde de daha
işlevsel bir dosya sistemi olarak geliştirilen FAT32'ye yerini bırakmıştır.
Windows 98 işletim sistemi sonrasındaki ilk dönemlerde, Windows Server işletim
sistemlerinin boot bölümü FAT dosya sistemi, verilerin yer aldığı bölümler NTFS
dosya sistemi ile formatlanmıştır. Bunun başlıca nedenleri, o dönemde açılış
disklerinin NTFS dosya sistemini tanımaması ve sistem kurtarma işlemlerinin
FAT dosya sistemi üzerinde daha kolay yapılabilmesiydi. FAT32'nin günümüzde en
yaygın kullanım alanı USB depolama birimleridir.
FAT16'nın
başlıca kısıtlamaları şunlardır:
• En
fazla 65536 dosya alabilir.
• FAT
16 üzerine kopyalanan her dosyanın boyutu en fazla 4 GB olabilir.
• Cluster
boyutunun fazla olması nedeniyle, disk alan kaybı fazladır.
• Veri
güvenliğine yönelik herhangi bir tedbir alınmamıştır. FAT dosya sistemi içeren
bir disk veya disk bölümü üzerinde bulunan bilgileri, bilgisayara erişim
sağlayan herkes okuyabilir.
FAT32 dosya sistemi 2 TB a kadar
olan sabit disk bölümlerinin kullanılabilmesine
olanak sağlarken, 32 GB'a kadar olan bölümleri formatlayabilir. Cluster boyutu
daha küçük olduğu için, disk alanını daha verimli kullanabilmektedir. Veri
koruma özelliği FAT16'ya nazaran daha gelişmiştir. Tek parça halinde 4 GB'a
kadar olan dosyaların kullanımına izin verir. Fakat büyük boyutlu dosyalara
erişim hızı yavaştır. Disk üzerindeki verilerin parçalanması/dağılması arttıkça
FAT32'nin performansında hissedilir derecede düşme olabilir. FAT dosya sistemi
üzerinde bulunan dosyalar ile ilgili olarak, dosya ismi, özelliği, ne zaman
oluşturulduğu, ne zaman erişildiği ve değiştirildiği hakkında herhangi bir
bilgi yer almamaktadır. FAT üzerinde, sadece hangi clusterların boş olduğu ve
erişilen dosyanın hangi clusterlar içinde yer aldığı (her cluster içinde bir
sonraki cluster bağlantısını içeren bilgi) bilgilerini tutulmaktadır.
FAT dosya sistemlerinin türüne
bağlı olarak hangi Windows işletim sistemleri tarafından kullanıldığı ve
maksimum kulanım alanı büyüklüğü, Tablo 6.1'de yer almaktadır.
Tablo
6.1 FAT dosya sistemini kullanan windows işletim sistemleri
İşletim Sistemi
|
Varsayılan Dosya Sistemi
|
Kullanılabilecek Maksimum Alan
|
MS-DOS
|
FAT 12
|
8 MB
|
Windows 3.1
|
FAT 16
|
4 GB
|
Windows 95
|
FAT 16
|
4 GB
|
Windows 98
|
FAT32
|
32 GB
|
FAT dosya sistemi, analiz için
en elverişli olan dosya sistemidir. Linux üzerinde çalışan adli bilişim
yazılımları dahil olmak üzere, analiz için kullanılan tüm yazılımlar FAT dosya
sistemini desteklemektedir. Ayrıca, FAT32 ile formatlanmış bir disk üzerinden
silinmiş dosyaların yeniden elde edilmesi de (boot sector üzerine veri yazılmış
ya da fiziksel olarak zarar görmüş olsa dahi) daha kolaydır.
6.3 NTFS (New Technology
File Sytstem) Dosya Sistemi
NTFS, Windows NT işletim
sistemleri ile (ilk olarak 1993 yılında NT 3.51) kullanılmaya başlamış ve
işletim sistemlerinin gelişim sürecine bağlı olarak güncellenmiştir. NT3.51 ve
NT4.0 işletim sistemlerinde, vl.O, vl.l ve vl.2, Windows 2000 işletim
sisteminde v3.0, Windows XP, Windows Server 2003 ve Windows Vista işletim sistemlerinde
v3.1, daha sonrasında ise v4.0, v5.0 ve v5.1 sürümleri kullanılmaktadır.
NTFS dosya sistemi, verilerin disk üzerindeki
yerleşim bilgilerini takip etmek için FAT dosya sisteminde olduğu gibi bir
dosya yerleşim tablosu tutmaz. Onun yerine, dosya sisteminin yönetimini
sağlayan, veri bilgilerini içeren ve dosya bazında izinlerin tutulduğu MFT
(Master File Table) yapısını kullanır. NTFS, yedekleme amacıyla MFT'nin bir
kopyasını disk üzerinde bulundurur. NTFS dosya sistemi üzerinde bulunan bir
dosyanın silinmesi halinde, gerçekte dosya silinmemekte ve sadece MFT üzerinde
o dosyaya ait cluster'ın kullanımda olduğu bilgisi silinmektedir. NTFS dosya
sisteminin başlıca özellikleri şunlardır6:
• 256
TB a kadar olan sabit diskleri formatlayabilir.
• 16
TB'a kadar olan dosya büyüklüğünü tanıyabilir.
• Cluster
boyutu küçük olduğu için disk alanını daha verimli kullanır.
• Dosya
ve klasörleri sıkıştırma ve şifreleme özelliği bulunur. Fakat bir dosya hem
sıkıştırılmış hem de şifrelenmiş olamaz.
• Üst
seviyede bir güvenlik için, dosya ve klasörlere kullanıcı bazında erişim ve
kullanım yetkisi verilebilir.
•
Dosya ve klasörler üzerinde yapılan
tüm işlemlerin kaydı tutulabilir/izlenebilir.
•
FAT16 ve FAT32 dosya sistemlerini de
desteklemektedir.
•
Dosya bozulmalarına karşı kendi
içinde koruma ve otomatik olarak onarabilme özelliğine sahiptir. Bölüm yapısı
bozulduğunda/silindiğinde, NTFS bu yapının yeniden
oluşturulmasını/kurtarılmasını sağlayabilir.
•
Bölüm veya birim büyüklüğünün
artışına bağlı olarak, FAT dosya sisteminde olduğu gibi performans kaybı
oluşmaz.
•
Ağ kaynaklarının görüntülenmesi ve
denetimini sağlayan Active Directory'nin kullanımı için NTFS dosya sisteminin
kullanımı zorunludur.
Disk kotası koyma desteğiyle,
kullanıcıların disk üzerindeki ihtiyacı esas alınarak alan tahsis edilmesini
sağlanabilir. (6 http://windows.microsoft.com/tr-TR/windows7/Comparing-NTFS-and-FAT32-file-systems
)
6.4 EXT2/EXT3 Dosya Sistemleri
EXT2 (Second Extended Filesystem) ve
EXT3 (Third Extended Filesystem), Linux işletim sisteminin kullanımı için
geliştirilmiş dosya sistemleridir. EXT2, EXT3 un geliştirilmesi ve yerini
alması sürecine kadar, birçok Linux işletim sisteminin ana dosya sistemiydi. Bu
yüzden EXT3, geriye dönük olarak EXT2 ile tamamen uyumlu olacak şekilde
geliştirilmiştir.
EXT2 dosya sistemi ilk defa Linux çekirdeği
içinde bütünleşmiş olarak yer alan dosya sistemidir. EXT3, Linux işletim
sistemleri ile birlikte kullanılan bazı dosya sistemlerinden (JFS, ReiserFS ve
XFS gibi) performansı daha düşük olsa da, EXT2 dosya sisteminden yükseltme
işlemi esnasında yedek almaya ihtiyaç duyulmaması ve daha az işlemci gücüne
ihtiyaç duyması nedeniyle daha kullanışlı bir dosya sistemidir. EXT2 ve EXT3
dosya sistemlerinin başlıca özellikleri şunlardır:
•
255 karaktere kadar olan dosya
isimlerini destekler.
Blok büyüklüğüne bağlı olarak (8KB),
maksimum 2 TB büyüklüğünde dosya ve 32 TB disk alanı desteği sunmaktadır. Blok
aralığı büyüdükçe desteklenen maksimum disk ve dosya büyüklüğü artmaktadır. Bu
durum sabit disk okuma/ yazma kafasının dosyalara daha kolay ulaşarak
performansın artmasına da sebep olmakta, fakat diskin verimli kullanımını
olumsuz etkilemektedir.7
(7
http://tldp.org/HOWTO/Filesystems-HOWTO-6.html)
• FAT
ve NTFS dosya sistemlerinden farklı olarak, EXT2/EXT3 dosya sisteminde sürücü
ismi kullanılmaz.
• EXT3
dosya sistemi, EXT2 dosya sisteminin bütün özelliklerini taşımakla beraber,
ilave olarak günlükleme/kayıt tutma (Journaling) özelliğine sahiptir. Günlük tutma
işlemi veritabanı yapısına benzemektedir. Bu sayede, herhangi bir sistem
arızasının (Yerel bilgisayar üzerinde ya da paylaşıma açılmış uzak noktadaki
bir bilgisayar olabilir) kurtarma işlemi ile giderilmesi daha kısa sürede
sağlanabilmektedir.
•
Linux işletim sistemi üzerinde, EXT2/EXT3 dosya sisteminin kullanımı ile beraber
bir ağaç yapısı oluşturulmuştur ve tüm bağlantılar kök (root) üzerinde bir dal
şeklinde bulunur. Ayrıca, Linux için özel bir alan olan ve sanal bellek gibi
işlev gören takas alanının (Swap) kullanılması, yapı olarak da FAT ve NTFS'ten
ayrılan özelliklerinden biridir. Takas alanı, disk üzerinden ayrılan bir bellek
alanı olarak tanımlanabilir. Ana belleğe sığmayan veriler, işletim sistemi tarafından
takas alanının ana bellek gibi kullanılması ile işlenir. Sabit diskin yazma
hızının düşük olması nedeniyle performansı ana bellekten daha düşük olan takas
alanının Windows işletim sistemlerindeki karşılığı "pagefile.sys"
dosyasıdır.
Ext3 dosya sistemi ile Linux üzerinde
uygulanabilecek 3 günlükleme (kayıt tutma) seviyesi vardır":
Journal (Düşük riskli)
Veri dosya sistemine yazılmadan
önce, meta bilgisi ve dosya içeriği günlüğe yazılır. Bu işlem yöntemi verinin
iki defa yazılması anlamına gelir ve performansı olumsuz etkilediği
düşünülebilir. Fakat günlük disk üzerinde sürekli devam eden bir yapıda olduğu
için, ön bellek gibi çalışır ve bazı durumlarda performansı arttırır.
Ordered (Orta riskli)
Orta riskli seviyede sadece meta
verileri günlüğe yazılırken, dosya içeriği günlüğe yazılmaz. Fakat
meta verileri ile ilişkili dosya içeriğinin diske yazılması, meta verilerinin
günlüğe işlenmesinden önce gerçekleşir ve garanti edilir. Bu seçenek birçok
Linux dağıtımında varsayılan olarak gelmektedir.
MVriteback (Yüksek riskli)
Yüksek
riskli seviyede sadece meta verileri günlüğe yazılırken, dosya içeriği günlüğe
yazılmaz. Günlük içerisinde meta verileri ile dosya içeriği arasında herhangi
bir ilişkilendirme bulunmadığı için, problem çıkma olasılığı daha yüksektir.
Çünkü dosya içeriği, günlük güncellenmeden öne veya sonra yazılmış olabilir.
Örneğin dosya içeriği yazılmadan hemen önce günlük değişirse, günlükteki kayıt
ile diskteki veri farklı yapıda olacaktır. Bu durumda günlük kurtarması
yapıldığında, dosyaların eski sürümleri ortaya çıkacaktır. Bu yöntemde günlük
içerisinde meta verileri ile dosya içeriği arasında herhangi bir ilişkilendirme
yapılmamasının sebebi, performansı en üst seviyeye çıkartmaktır.(8http://en.wikipedia.org/wiki/Ext3)
6.5
Silinen Verilerin Dosya Sistemi Üzerinden
Kurtarılması
Silinen dosyalardan kast edilen
kavram, normal silme işlemi ile çöp kutusuna gönderilmiş
dosyalar değil, kullanıcı ya da işletim sistemi trafmdan artık erişilmesi
mümkün olmayan, fakat dosya sistemi üzerinde varlığı devam eden dosyalardır.
Silinen dosyaların kurtarılarak analizinin yapılması, adli incelemelerde
gerçekleştirilen öncelikli ve önemli işlemlerden biridir. Şüpheli disk
üzerinden imaj alma işlemi öncesinde silinen dosyalar, şüpheli tarafından
gizlemeye yönelik olarak yapılan işlemlere dair önemli ipuçlarına ulaşım
kaynaklarıdır. Bir adli inceleme esnasında silinen dosyaların kurtarılma
işleminin ve kurtarılan dosyaların analizinin yapılmaması, incelemenin eksik
yapıldığı ve çok önemli delillerin elde edilemediği düşüncesini çoğu zaman
haklı çıkarmaktadır. Günümüzde kullanılan adli bilişim teknikleriyle, silinen
dosyaların tekrar elde edilmesi zor ve karmaşık işlemler arasında yer
almamaktadır.
Dosya sistemleri geliştirilirken,
birçok faktör göz önüne alınmaktadır. Bunlardan en çok ön planda tutulan faktör
kullanım hızıdır. Temel olarak bir dosyanın silme işleminin yapılması
esnasında iki farklı yöntem kullanılabilir. Bunlar, var olan verinin üzerine
bilgi yazarak silme işlemi ve dosya yerleştirme tablosu üzerinde dosyanın silinmiş
olarak işaretlenmesi teknikleridir. İşlem hızı daha yüksek olduğu için, hemen
hemen tüm dosya sistemlerinde dosya silme işlemi ikinci yöntemin kullanılması
ile gerçekleştirilmektedir.9 Bu yüzden, işletim sistemi ve kullanıcı
tarafından erişileme-yen ve tamamen silindiği düşünülen dosyalar, gerçekte
sadece erişim adresi silinmiş olarak dosya sistemi üzerinde varlığını
sürdürmektedir. Adli incelemelerde silinen dosyaların tekrar elde edilmesi,
dosya sistemlerinin bu şekilde tasarlanmış olması nedeniyle kolaylıkla
gerçekleştirilebilmektedir.
Her
dosya sistemi, silinen dosyaları farklı yöntemlerle işaretlemektedir.
Örneğin, FAT dosya sisteminde, listede yer alan dosya isminin ilk karakteri "F5" ile işaretlenir. Dosya
isminin ilk karakterinin "F5" ile işaretlenmesi, işletim sistemi
tarafından bu dosyanın yok sayılacağı ve dosya sistemi üzerinde yerleşmiş
olduğu alanın (Clus-ter) işletim sistemi tarafından yeniden kullanıma açık
olduğu anlamına gelmektedir. NTFS dosya sisteminde ise, silme işlemini
yansıtacak şekilde, MFT üzerinde yer alan bilgilerde değişiklik yapılır. NTFS
üzerinde bir dosya silindiğinde, MFT üzerinde dosya ile ilgili "IN_USE"
işareti kaldırılır.
İşletim
sistemi üzerinden silme işlemi gerçekleştirilerek FAT/NTFS dosya sistemi
üzerinde ilk karakteri "F5" ile işaretlenmiş veya MFT üzerinde
"IN_USE" işareti kaldırılmış bir dosyanın adli bilişim yazılımı
üzerindeki görünümü Şekil 6.2de yer almaktadır.(9 Philipp, Aaron Cowen, David -
Davis, Chris (2010))
Adli bilişim
yazılımları, FAT ve MFT tablolarını otomatik olarak taramaktadırlar. Dosya
ismi, özelliği ve içerdiği veriler, dosyanın bulunduğu dosya sistemi alanı üzerine
başka bir veri yazma işlemi olmadığı sürece varlığını korumakta ve kayıpsız
olarak tekrar elde edilebilmektedir. Silinen dosyaların parçalı olarak elde
edilmesinin başlıca nedenleri, dosyanın bulunduğu alanın bir kısmına yeni
verilerin yazılmış olması ya da disk birleştirme işleminin yapılmış olmasıdır.
Veri/dosya kurtarma deyimi, kullanıcı
ya da işletim sistemi trafından artık erişilmesi mümkün olmayan, fakat dosya
sistemi üzerinde varlığı devam eden dosyaların, kayıpsız olarak ya da sadece
bir parçasının adli bilişim yazılımı ile dosya sistemi üzerinden çıkartılmasını
ifade etmektedir. Çıkartılan dosya, çoğu zaman ilk oluşturulduğu dosya
uygulaması (Örneğin, MS Word Uygulaması) üzerinde açılabilecek niteliktedir.
Veri kurtarmak için üretilmiş ve internet üzerinden elde edilebilecek birçok
program bulunmaktadır. Fakat adli incelemelerde raporlamanın da önemli olduğu
düşünülerek, rapor hazırlama özelliğini üzerinde bulunduran adli inceleme
yazılımları, veri kurtarma işlemlerinde de tercih edilmektedir.
Veri kurtarma işlemleri
için, EnCase, FTK ve X-Ways Forensic gibi adli inceleme yazılımları yaygın
olarak kullanılmaktadır. Dosya sisteminin FAT ya da NTFS olması, veri kurtarma
işlemi ve uygulanan yöntem üzerinde farklılık yaratmamaktadır. EnCase adli
inceleme yazılımı ile örnek bir veri kurtarma işleminin adımları aşağıda yer
almaktadır:
• Öncelikle,
incelenmek üzere teslim alınan adli disk imajı EnCase yazılımı ile
açılır/yüklenir.
• EnCase
ile otomatik olarak tespit edilen silinmiş dosya seçilir ve dosya bilgisi
üzerine sağ fare ile tıklanır.
• Açılan
menü üzerinden, Şekil 6.3'de görüldüğü gibi, "Copy/UnErase..." seçeneği
seçilir.
Seçilen dosyanın kurtarılması için,
açılan pencereden "Highlighted File' seçeneği seçilir. Bu aşamada
yapılan işlem, dosyayı silinmiş olarak gösteren işaretin (Örneğin ilk
karakterin E5 olması gibi) bir sonraki adıma geçerken dosyanın orijinalindeki
ile değiştirilmesidir.
Bir sonraki pencerede, sadece mantıksal
olarak ya da tüm fiziksel dosyanın kurtarılması ile ilgili seçim yapılır.
Son olarak, dosyanın
sabit disk üzerinde nereye kaydedileceği belirlenir ve dosya kurtarma işlemi
tamamlanır. Kurtarılan dosya, kaydedildiği alan üzerinden açılarak analizi
yapılır.
Dosya Analiz İşlemleri
Dosya
analizi aşaması, delilleri ortaya çıkartma ve üzerinde herhangi bir
yargıya varma noktasında sonuca gidilen en önemli süreçtir. Adli bilişim uzmanı
bu aşamada çalışırken, tam olarak disk/dosya üzerinde neyi bulmak istediğini
bilmelidir. Dosya analiz işlemleri esnasında izlenen yol, dosyadan yola
çıkılarak sonuca ulaşma şeklindedir. Dosya analiz işlemlerinden ve/veya bir
dosya üzerinden elde edilebilecek bilgiler özetle şunlar olabilir:
• Dosyanın
oluşturulma, değiştirilme, erişim, zaman ve sahiplik bilgileri gibi standart
bilgiler.
• Dosya
imzası ve hash bilgilerinin doğruluğu.
• Sistem
üzerinde zararlı kodların varlığı.
• Üzerine
başka bir dosya gizlenmiş olup olmaması (steganografi).
• Zararlı
kodların ya da diğer dosyaların içine gizlenmiş verilerin varlığ.,
• Dosya
bütünlüğünün bozulması/değiştirilmesi.
• Silinmiş
dosyalar ve silinme zamanı bilgileri.
7.1 Dosya Özellikleri
Dosya özellikleri
işletim sistemi ve kullanıcı tercihlerine bağlı olarak farklılıklar göstermektedir.
Bir dosya, yalnızca okunabilir dosya, arşiv dosyası, gizli dosya, sistem
dosyası, kriptolanmış dosya, sıkıştırılmış dosya ve kullanıcı tarafından özel
olarak erişimi yetkilendirilmiş dosya özelliği taşıyabilmektedir. Ayrıca
dosyanın uzantı ve çalışma şekline bağlı olarak, çalıştırılabilir dosya,
veritabanı dosyası, metin dosyası, grafik dosyası gibi gruplandırmalar
yapılabilirdir. Yedek
alma yazılımlarında sıkça kullanılan "en son alınan yedekten
sonraki değişiklikleri yedekleme" seçeneği kullanıldığında, arşiv dosyası
olarak işaretlenmiş olmasına göre yedeklenecek dosyalar seçilmektedir.
Yedekleme yazılımı, yedeği alınan her dosya üzerindeki "arşiv"
işaretini kaldırmaktadır. Programlar aracılığıyla yeni oluşturulan veya
değiştirilen her dosyaya bu amaçla arşiv özelliği/işareti yeniden
eklenmektedir.
• Dosya
özelliklerini görmek için (Windows 7, Vista ve XP işletim sistemlerinde),
dosyaya sağ fare ile tıklamak ve "özellikler" seçeneğini seçmek
yeterlidir. "Sistem" özelliği ile ilgili değişiklik yapmak için komut
satırından işlem yapmak gerekmektedir. Komut satırında bir dosyaya özellik
eklemek için "+", dosyanın herhangi bir özelliğini kaldırmak için
"-" parametresi kullanılır. Örneğin, "attrib +h hdd.doc"
komutu dosyayı gizli hale getirirken, , "attrib -h hdd.doc" komutu
dosyayı tekrar açık hale getirir.
7.2 Dosya İmzaları
Bilinen
tüm dosyalar, başlık bölümü içine (dosya binary kodunun en
başına) yerleştirilmiş bir imzaya sahiptirler.2 Dosya imzaları
kullanılmak suretiyle, dosya isim ve uzantısı değiştirilmiş olsa dahi, dosyanın
gerçek kimliğine (jpg, doc, xls vb.) ulaşmak ve ilgili programı kullanarak
içeriğini görüntülemek mümkündür.
Dosya imzaları,
adli bilişim uzmanlarının dosya incelemesi aşamasında, şüpheli dosyayı ortaya
çıkartmak amacıyla kullandıkları en önemli ipuçlarındandır. Varlığı bilinen bir
dosyanın, şüpheli bilgisayar üzerinde araştırılarak ortaya çıkartılması, çoğu
zaman klasik yöntemlerle arama yaparak ya da silinen dosyaların geri getirilmesi
ile mümkün olmamaktadır. Dosyanın disk üzerinde gizlenebileceği özel alanları
kullanmak dışında, dosya üzerinde değişiklikler (Uzantısının silinmesi gibi)
yapılmak suretiyle gizleme yöntemleri de kullanıcılar tarafından kullanılmaktadır.
Fakat dosya üzerinde yapılan bu tür değişiklikler, dosyanın kimliğini/imzasını
değiştirmemektedir. Bu yüzden, dosya imzalarını incelemek suretiyle bir
dosyanın hangi kimliğe sahip olduğunu ve hangi programı kullanmak suretiyle
açılabileceğini tahmin etmek hiç de zor değildir. Bu noktada sonuca daha kısa
zamanda ulaşmayı sağlayan husus, analiz yapan uzmanın tecrübesine bağlı olarak
dosya imzalarını çabuk algılaması ya da elindeki listeden karşılaştırma
hızıdır. EK-l'de yaygın olarak kullanılan dosya imzaları yer almaktadır.
Şekil 7.1de yer alan dosyanın isim
ve uzantısı bilinmemesine rağmen, dosya imzasından yola çıkılarak yeterli
bilgiye ulaşmak mümkün olabilmektedir.' 00H ile 05H satırları arasında kalan
seçili bölüm, dosyanın GIF formatında bir resim dosyası olduğunu bildiren
(GIF89a) dosya imzasıdır. Çoğu zaman bu bilgi dahi sonuca ulaşmak için yeterli
olabilirken, kodların daha detaylı incelenmesi halinde bu dosyanın çözünürlüğü
ve renkli/siyah-beyaz olup olmadığı hakkında da somut bilgiye ulaşılabilir.
Örnek dosyada 06H-07H (F4 00 => 00F4H = 244) ve 08H-09H (73 01 => 0173 =
371) değerleri dosya çözünürlüğü', 13H-14H-15H üçlüsünde bulunan değerler (00
00 00) ile bu grubu izleyen üçlü gruptaki değerlerin (09 10 OA) farklı oluşu
renkli bir dosya olduğunu işaret etmektedir. Şayet dosyada sadece gri tonlar
kullanılmış olsaydı, 13H-14H-15H üçlüsünde bulunan değerleri (00 00 00),
"01 01 01" ve "02 02 02" gibi üçlü gruplar izliyor
olacaktı.
7.3 Kötü Niyetli
Kodlarla İlgili Dosya
Analizi
Virüs ve
benzeri zararlı kodların neler olduğu, yabancı ve Türk hukuk mevzuatların-daki
yeri ve bilişim suçları açısından değerlendirilmesi, "zararlı
yazılımlar" başlığı altında detaylı olarak ele alınmaktadır. Dijital
delillerin elde edilmesi ve analizi sürecinde zararlı kodların varlığının
tespit edilmesi, meydana gelen sonucun etkilediği hedef kitleyi ve dolaylı
olarak analiz sonucunu değiştirmektedir. Bu nedenle, söz konusu
araştırma/incelemenin konusu ne olursa olsun, meydana gelen sonuca etki eden
bir zararlı kodun varlığı adli bilişim uzmanları tarafından araştırılmalıdır.
(3-Sammes,
Tony, fenkinson, Brian, 2007- 4-http://easycalculation.com/hex-converter.php)
Virüs ve
benzeri zararlı kodların tespit edilmesi ve temizlenmesi antivirüs programları
ile yapılsa da, bir bilgisayar üzerindeki suç unsurları araştırılırken çoğu
zaman dosya analizi zorunlu hale gelebilmektedir. Bir antivirüs programının
zararlı kodu algılayabilmesi için, listesinde zararlı kodun tanımlı olması
gerekir. Zararlı kodların antivirüs şirketleri tarafından yazılım listesine
dahil edilmesi, bu zararın etkilerinin ortaya çıkması veya antivirüs
laboratuvarının kendi araştırmaları ve bulguları sonucunda mümkün
olabilmektedir. Bu nedenle, yerel seviyede veya özel bir amaca/
kişiye/bilgisayara yönelik olarak üretilen ve dağıtılan zararlı kodun antivirüs
yazılımları tarafından kolayca fark edilmesi ve engellenmesi beklenmemelidir.
Ayrıca, hackerlarm uzaktan sisteme girmek ya da sistemde kalmak amacıyla
kullandıkları birkaç satır koddan oluşan küçük programcıklar (scriptler) ve
bunların dosyalar üzerinde meydana getirmiş olduğu zararlar çoğu zaman
antivirüs programları tarafından tespit edilememektedir.
Virüs ve
benzeri kötü niyetli kodların sistem dosyaları üzerinde yapmış olduğu değişikliklerin
tespit edilmesi için kullanılan yöntemlerin en başında kıyaslama tekniği
gelmektedir. İşletim sistemi ve servis paketlerinde bulunan dosyalar, belirli
bir dosya bütünlüğüne sahiptirler ve her kurulumda farklılık göstermezler. Bu
nedenle, analiz aşamasında üzerinde işlem yapılmamış bir sistemin dosyaları ile
şüphe duyulan sistem dosyaları karşılaştırılarak sonuca ulaşmak mümkündür.
Bilinen dosyalar üzerinde değişikliğin olup olmadığını anlamak için kullanılan
yöntemlerden bir diğeri ise hash veritabanı oluşturulması ve hash değerlerinin
karşılaştırılmasıdır. Sistem dosyalarının hash değerleri, herhangi bir
güncellemenin olmadığı normal şartlarda değişken değildir. Bu nedenle, orijinal sistem dosyalarına ait hash değerleri ile
şüpheli sistem üzerindeki dosyalara ait hash değerlerinin
karşılaştırılmasıyla da sonuca ulaşılabilmektedir.
Daha çok
kurumsal yapılarda tercih edilen, ana bilgisayarlar üzerinde meydana gelen her
türlü dosya değişikliğini takip eden ve dosya bütünlüğünü kontrol ederek aynı
zamanda kaydını tutan yazılımlar (Tripwire gibi) bulunmaktadır. Dosya bütünlüğünü
kontrol eden yazılımlar, dosyanın kim tarafından değiştirildiği, değişikliğin
öncesinde ve sonrasında hangi işlemlerin yapıldığı ve ne zaman değiştirildiği
hakkında detaylı bilgi sunarlar. Bu tür yazılımların kayıtlarında yer alan
bilgiler de adli bilişim uzmanlarına yol gösteren en önemli kaynaklardır. Fakat
dosya bütünlüğünü kontrol eden yazılımların da dosya analizi esnasında
yanıltıcı bilgi vermeleri söz konusu olabilmektedir. Örneğin, rootkitler dosya
bütünlüğüne yönelik olarak meydana getirdiği zararları sistem üzerinde tanımlı
en yetkili kullanıcının yetkilerini kullanarak oluştururlar. Dolayısıyla
dosyalar üzerinde yapılan değişiklikler sistem yöneticisi tarafından bilinçli
olarak oluşturulmuş gibi görülebilmektedir. O yüzden, zararlı kodların aktif
hale gelme tarzı ve verebileceği zararların tümü göz önünde tutulmalı, dosyalar
üzerinde meydana gelen değişiklikler öncesinde ve sonrasında yapılan
işlemlerle birlikte detaylı olarak irdelenmelidir.(5 http://www.tripwire.com/it-compliance-products/te/capabilities/)