105
T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL ELDE ETME Ahmet Ali SÜZEN Danışman Dr. Öğr. Üyesi Kubilay TAŞDELEN DOKTORA TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI ISPARTA - 2018

ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

T.C.

SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL ELDE ETME

Ahmet Ali SÜZEN

Danışman Dr. Öğr. Üyesi Kubilay TAŞDELEN

DOKTORA TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI

ISPARTA - 2018

Page 2: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

© 2018 [Ahmet Ali SÜZEN]

Page 3: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme
Page 4: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme
Page 5: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

i

İÇİNDEKİLER

Sayfa İÇİNDEKİLER ......................................................................................................................... i ÖZET ......................................................................................................................................... iii ABSTRACT .............................................................................................................................. iv TEŞEKKÜR .............................................................................................................................. v ŞEKİLLER DİZİNİ ................................................................................................................. vi ÇİZELGELER DİZİNİ ............................................................................................................ ix KISALTMALAR DİZİNİ ....................................................................................................... x 1. GİRİŞ..................................................................................................................................... 1 2. KAYNAK ÖZETLERİ ........................................................................................................ 5 3. MATERYAL VE YÖNTEM .............................................................................................. 10

3.1. Adli Bilişim ............................................................................................................... 10 3.1.1. Elektronik delil .............................................................................................. 10 3.1.1. İmaj alma ........................................................................................................... 11

3.2.RAM Analizi ............................................................................................................... 12 3.2.1. RAM imajı alma araçları .......................................................................................... 13 3.2.2. RAM imajı analizi araçları .............................................................................. 15

3.3. Microsoft Word ....................................................................................................... 17 3.3.1. DOC dosya yapısı .......................................................................................... 17 3.3.2. DOCX dosya yapısı ........................................................................................ 18

3.4. PDF Dosya Yapısı ................................................................................................... 20 3.5. Kernel ve User Mode ............................................................................................ 24 3.6. Windows Bellek Yönetimi .................................................................................. 26

3.6.1. Sanal adres alanı ........................................................................................... 27 3.6.2. Sanal adres tanımlayıcısı ........................................................................... 28 3.6.3. Sayfa tabloları ................................................................................................ 29 3.6.4. EPROCESS ........................................................................................................ 30 3.6.5. File_Object ....................................................................................................... 30 3.6.6. Page dosyası ................................................................................................... 30

3.7. Ucucu Veri Analizi ................................................................................................. 31 3.7.1. Dizgi arama ..................................................................................................... 32 3.7.2. Dosya kazıma ................................................................................................. 33 3.7.3. Process analizi ............................................................................................... 35

3.8. Windows Driver Kit .............................................................................................. 36 4. ADLİ BİLİŞİM YAZILIMI ................................................................................................ 38

4.1. Kernel Mode RAM Sürücüsünün Geliştirilmesi .......................................... 41 4.1.1. Kernel Mode RAM sürücüsünün test edilmesi .................................. 45

4.2. İmaj Alma Yazılımının Gerçekleştirilmesi .................................................... 47 4.2.1. İmaj alma yazılımının test edilmesi ....................................................... 51

4.3. Dosya Kazıma Yazılımının Geliştirilmesi ...................................................... 53 4.3.1. Dosya kazıma yazılımının test edilmesi ............................................... 58

4.4. Veri Kurtarma Yazılımının Geliştirilmesi ..................................................... 60 4.4.1. DOC uzantılı dosyalardan verileri kurtarılması ................................ 61 4.4.1. PDF uzantılı dosyalardan verileri kurtarılması ................................ 62 4.4.1. DOCX uzantılı dosyalardan verileri kurtarılması ............................. 65

5. ARAŞTIRMA BULGULARI ............................................................................................. 70

Page 6: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

ii

6. TARTIŞMA VE SONUÇLAR ........................................................................................... 74 KAYNAKLAR .......................................................................................................................... 77 EKLER....................................................................................................................................... 82

EK A. Dosyalara Ait Header ve Footer Listesi ..................................................... 83 EK B. Kernel Mode RAM Sürücüsünün C++ Kodları ................................................. 84 EK C. RİMAY Yazılımın C++ Kodları ............................................................................. 86 EK D. DOKAY Yazılımın C++ Kodları ............................................................................ 88 EK E. Veri Kurtama Yazılımın C# Kodları ............................................................. 90

ÖZGEÇMİŞ ............................................................................................................................... 91

Page 7: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

iii

ÖZET

Doktora Tezi

ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL ELDE ETME

Ahmet Ali SÜZEN

Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü

Bilgisayar Mühendisliği Anabilim Dalı

Danışman: Dr. Öğr. Üyesi Kubilay TAŞDELEN

Bu çalışmada, Kernel Mode RAM sürücü ile RAM (Random Access Memory) imajı alan ve RAM imajından MS Word, PDF dosyalarını kazıyarak içerisindeki okunabilir bilgilerin çıkartılmasını sağlayan yazılımlar geliştirilmiştir. Kernel Mode RAM sürücüsü kullanan RAM imajı alma yazılımı (RİMAY) Windows’da Kernel mode seviyesinde RAM’in sanal adreslerine, fiziksel adreslerine ve tablo sayfalarına erişim sağlamaktadır. Geliştirilen imaj alma yazılımı RAM’in tüm adreslerini bit-to-bit kopyalayarak imajını almaktadır. Alınan imaj dosyasına, Windows’ta geçici hafıza olarak kullanılan pagefile.sys’de dahil edilmiştir.

Dosya kazıma ve analizi yazılımı (DOKAY), RAM imajı yazılım ile alınan imaj dosyasını kullanmaktadır. Yazılım tasarımında dizgi arama, imza tarama ve veri kazıma teknikleri kullanılmıştır. Analiz işlemleri 14 GB’lık RAM imajı dosyasında yapılmıştır. İmaj dosyasında yapılan veri kazımada 41dk 10sn’de 10 adet doc uzantılı, 37dk 45sn’de 10 adet docx’e ait document.xml dosyasına ve 45dk 01sn’de 10 tane PDF dosyasına ulaşılmıştır. Word dosyalarının her biri üzerinde dizgi arama ve sıkıştırma çözme teknikleri uygulanarak veriler kurtarılmıştır. PDF dosyalarında flatedecode sıkıştırma algoritması kullanıldığından dolayı, veri blokları çözülerek verilere ulaşılmıştır.

Kurtarılan veriler, orijinal dosyadaki veriler ile karşılaştırılarak her dosya için başarı oranı çıkartılmıştır. Sonuç olarak docx dosyalarında ortalama %40,4’lük, doc dosyalarında %35,6’lık ve pdf dosyalarında %16’lık başarı sağlandığı görülmüştür. RAM’e yüklenen word veya pdf dosyasının boyutunun artması, içerisindeki verinin kurtarılma oranını azalttığı tespit edilmiştir. Geliştirilen imaj alma yazılımı RAM’de 156 KB’lık yer kaplamaktadır. Bu sonuç ile de RAM’e yazılımın yüklenmesinden kaynaklı veri kayıpları en aza indirilmiştir. Anahtar Kelimeler: Adli Bilişim, Elektronik Delil, İmaj Alma, RAM, Veri Kazıma. 2018, 92 sayfa

Page 8: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

iv

ABSTRACT

Ph. D. Thesis

OBTAINING DIGITAL EVIDENCE BY ACQUIRING RAM IMAGE FOR COMPUTER FORENSICS

Ahmet Ali SÜZEN

Süleyman Demirel University

Graduate School of Natural and Applied Sciences Department of Computer Engineering

Supervisor: Asst. Prof. Dr. Kubilay TAŞDELEN

In this study, capture RAM with Kernel Mode RAM Driver and a piece of software has been developed to recover the readable data by carving MS Word and PDF files from the RAM image. Virtual addresses, physical addresses and table pages for RAM can be accessed using the developed RAM imager software in windows. In this way, image acquisition software using this driver is able to carry out bit-to-bit copying of RAM. File carving and analysis software use the image file received with the RAM image software. String searching, signature scanning, and data carving methods are used in the design of the software. The analysis was performed on a RAM image of 14 GB by using the software that was developed. In 41m and 10s, 10 files with DOC extension were recovered, in 37m and 45s, 10 document files with XML extension files of the 10 DOCX files were recovered, and in 45m and 1 s, 10 PDF files were recovered during data carving on the image file. Data carving was carried out separately for the MS Word and PDF files. The data was recovered by applying string searching and decoding techniques to each MS Word file. Since a flatedecoding algorithm was used for the PDF files, the data were accessed by decoding the data blocks. The success rate for each file was determined by comparing the recovered data to the data in the original file. In the end, it was observed that the average of the success rate was 42% for the MS Word files and 16% for the PDF files. It was determined that the rate of data recovery decreases as the size of the MS Word or PDF files loaded onto RAM increases. 10 files with DOC extension, 10 DOCX files and 10 PDF files were recovered during data carving previously used on the image file. When the image retrieval software is installed in RAM it occupies a meager 156 KB of space. Keywords: Computer Forensics, Electronic Evidence, File Carving, Image Acquisition, RAM. 2018, 92 pages

Page 9: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

v

TEŞEKKÜR

Bu araştırma için beni yönlendiren, karşılaştığım zorlukları bilgi ve tecrübesi ile aşmamda yardımcı olan değerli danışman hocam Dr. Öğr. Üyesi Kubilay TAŞDELEN’e teşekkürlerimi sunarım. Bu sürecin her anında bilgi birikimi ve tecrübesi ile bana zaman ayıran ve destek olan hocam Doç. Dr. Ecir Uğur KÜÇÜKSİLLE’ ye teşekkür ederim. 5035-D1-17 No’lu Proje ile tezimi maddi olarak destekleyen Süleyman Demirel Üniversitesi Bilimsel Araştırma Projeleri Yönetim Birimi Başkanlığı’na teşekkür ederim. Tezimin her aşamasında beni yalnız bırakmayan eşim ve kızıma sonsuz sevgi ve saygılarımı sunarım.

Ahmet Ali SÜZEN

ISPARTA, 2018

Page 10: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

vi

ŞEKİLLER DİZİNİ

Sayfa Şekil 1.1. Geliştirilen sistemin bölümleri .................................................................... 3 Şekil 3.1. Adli bilişim süreçleri ....................................................................................... 10 Şekil 3.2. İmaj alma yöntemleri yapısı ......................................................................... 12 Şekil 3.3. Doc uzantılı Word dosyasının ayrıştırılmış yapısı ............................... 17 Şekil 3.4. FIB yapısı ve bölümleri................................................................................... 18 Şekil 3.5. Docx uzantılı Word dosyasının verilerin ayrıştırılmış yapısı .......... 19 Şekil 3.6. Content_Types.xml dosyası içerği .............................................................. 19 Şekil 3.7. document.xml dosyasındaki XML yapısı ................................................. 20 Şekil 3.8. Örnek PDF dosyasının standart yapısı ..................................................... 22 Şekil 3.9. PDF dosyasındaki sıkıştırma etiketi .......................................................... 24 Şekil 3.10. Windows güvenlik seviyeleri .................................................................... 24 Şekil 3.11. Kernel ve user mode etkileşimi ................................................................ 25 Şekil 3.12. Sanal adres alanı ve fiziksel adres alanı eşleme ................................. 27 Şekil 3.13. Sanal belleğin fiziksel belleğe adreslemesi .......................................... 27 Şekil 3.14. 32 bit, 64 bit ve IA64 bit için sanal adres alanı kullanımı .............. 28 Şekil 3.15. Sayfa tablolarının etkileşimi ...................................................................... 29 Şekil 3.16. İmajda dizgi arama yöntemi örneği ........................................................ 33 Şekil 3.17. RAM’de bulunan resim dosyasının bellek haritasında görünümü 34 Şekil 3.18. WDK ile geliştirilen sürücü türleri .......................................................... 36 Şekil 4.1. Geliştirilen sisteme ait yazılımların gösterimi ...................................... 38 Şekil 4.2. Yazılım modelinin yapısı ve akış şeması ................................................. 39 Şekil 4.3. Kernel Mode Driver şablonu ........................................................................ 41 Şekil 4.4. DriverEntry ve A2SRamDriverEvtDeviceAdd ‘nın kullanımı ........ 42 Şekil 4.5. IoCreateDeviceSecure fonksiyonun çağrılması .................................... 42 Şekil 4.6. IRP_MJ_READ ve IRP_MJ_WRITE ................................................................ 43 Şekil 4.7. Driver’ın RAM Erişim Fonksiyonları ......................................................... 43 Şekil 4.8. Sürücü için Test Sertifikası Alma ................................................................ 44 Şekil 4.9. Sürücüye ait imzalanmış dijital sertifika ................................................. 44 Şekil 4.10. Test ortamının oluşturulması ................................................................... 45 Şekil 4.11. Test için kullanılacak donanımın seçim ekranı .................................. 45 Şekil 4.12. Alınacak imaj dosyasına ait tanımlama ................................................. 46 Şekil 4.13. A2SSistem isimli sınıf yapısı ...................................................................... 47 Şekil 4.14. Sürücü yükleme servisinin oluşturulması ........................................... 47 Şekil 4.15. A2SRAMinfo isimli struct yapısı ............................................................... 48 Şekil 4.16. RAM’in adresinin okunması ....................................................................... 48 Şekil 4.17. İmaj dosyasının sabit diske yazılması .................................................... 49 Şekil 4.18. Sürücü dosyasının sistemden kaldırılması .......................................... 49 Şekil 4.19. Sürücünün çalışma modeli ......................................................................... 50 Şekil 4.20. RİMAY’ın imaj alma işlemini görüntüsü ............................................... 51 Şekil 4.21. Oluşturulan imaj dosyasının görüntüsü................................................ 51 Şekil 4.22. RAM imajının hex görünümü .................................................................... 51 Şekil 4.23. Sabitler ve değişkenlerin tanımlanması................................................ 53 Şekil 4.24. CarveBilgi isimli yapının tanımlanması ................................................ 54 Şekil 4.25. Adres_Arama isimli yapının tanımlanması .......................................... 54

Page 11: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

vii

Şekil 4.26. İmzası bulunan dosyaların geçici belleğe atılması ............................ 55 Şekil 4.27. Footer verisi olmayan dosya taraması .................................................. 55 Şekil 4.28. İmzası bulunan dosyaların geçici belleğe atılması ............................ 56 Şekil 4.29. Kazınan dosyaların orijinal dosya formatlarına aktarımı .............. 56 Şekil 4.30. Dosya kazıma yazılımın ekran görüntüsü ............................................ 57 Şekil 4.31. Kazınan dosyaların listesi ........................................................................... 57 Şekil 4.32. PDF dosyasının açık metin görünümü ................................................... 58 Şekil 4.33. DOCX dosyasının açık metin görünümü ............................................... 59 Şekil 4.34. DOC dosyasının açık metin görünümü .................................................. 59 Şekil 4.35. Veri kurtarma yazılımının ana form ekran .......................................... 60 Şekil 4.36. Sıkıştırılmış DOC uzantılı MS Word dosyası ........................................ 61 Şekil 4.37. Sıkıştırılmış verilerin codepage1251 ile decode işlemi .................. 61 Şekil 4.38. Veri kurtarma yazılımının doc taraması akış şeması ....................... 62 Şekil 4.39. DOC dosyalarını kurtarma formu ............................................................ 63 Şekil 4.40. Sıkıştırılmış bir PDF dosyası ...................................................................... 64 Şekil 4.41. Veri kurtama yazılımının pdf taraması akış şeması ......................... 64 Şekil 4.42. PDF dosyasındaki veri bloklarının indexlerinin bulunması .......... 65 Şekil 4.43. Standart yapıda boş PDF dosyasının oluşturulması......................... 65 Şekil 4.44. PDF dosyasının kurtarılma arayüzü ....................................................... 66 Şekil 4.45. Kazınan docx uzantılı dosyanın XML görünümü ............................... 66 Şekil 4.46. Veri kurtama yazılımının DOCX taraması akış şeması .................... 67 Şekil 4.47. XML ve docx uzantılı dosyalarda dizgi arama tekniğinin uygulanması ..................................................................................................... 67 Şekil 4.48. DOCX dosyasının kurtarılma arayüzü .................................................... 68 Şekil 4.49. Başarı oranın tespit edilmesi için kullanılan arayüz ........................ 69 Şekil 5.1. Windows işletim sistemi sürümüne göre imaj alma süreleri .......... 70 Şekil 5.2. RAM İmajı alma yazılımlarının RAM’de kapladığı alanlar ................ 71

Page 12: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

viii

ÇİZELGELER DİZİNİ

Sayfa Çizelge 3.1. RAM imajı alma araçları ............................................................................ 14 Çizelge 3.2. İmaj alma araçlarının dosya formatları ve kapladığı alanların karşılaştırılması ........................................................................................... 15 Çizelge 3.3. RAM analizi araçlarının karşılaştırılması ........................................... 15 Çizelge 3.4. PDF dosyasının sürümleri ve sürüm yenilikleri .............................. 20 Çizelge 3.5. PDF dosya yapıları ve örnekleri ............................................................. 21 Çizelge 3.6. PDF verilerinin şifreleme etiketleri ...................................................... 23 Çizelge 3.7. PDF dosyalarında kullanılan şifreleme teknikleri ........................... 23 Çizelge 3.8. Sosyal medya hesaplarına ait veriler için kullanılan dizgiler ..... 32 Çizelge 3.9. Dosyaların header ve footer imzaları................................................... 34 Çizelge 4.1. RAM imajına ait sistem bilgisi ................................................................. 39 Çizelge 5.1. PDF ve Word dosyaları kazıma süreleri.............................................. 71 Çizelge 5.2. Word (DOC) dosyalarının kurtarılma analizleri .............................. 72 Çizelge 5.3. Word (DOCX) dosyalarının kurtarılma analizleri ........................... 73 Çizelge 5.4. PDF dosyalarının kurtarılma analizleri ............................................... 73

Page 13: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

ix

KISALTMALAR DİZİNİ CPU Central Processing Unit DOC Document File EVCSC Extended Validation Code Signing Certificates GPU Graphics Processing Unit FIB File Information Block FILO First In First Out IRPs IO Request Packess IO Input / Output LIFO Last In First Out PEB Process Environment Block PTE Page Table Entry PDF Portable Document Format RAM Random Access Memory WDK Windows Driver Kit WDF Windows Driver Frameworks XML Extensible Markup Language

Page 14: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

1

1. GİRİŞ

Bilişim teknolojilerinde bilginin, yazılımın, donanımın ve haberleşme ağlarının

hırsızlığı, yasadışı kullanımı, değiştirilmesi veya kopyalanması bilişim suçları

olarak tanımlanmaktadır. Bilişim suçların aydınlatılmasında fiziksel delillerden

ziyade dijital delillere ihtiyaç duyulur. Dijital delil, elektronik veya manyetik

cihazlarda kayıt edilen ve suçun aydınlatılmasını sağlayacak nitelikteki

verilerdir (Allen, 2005).

Dijital deliller bilişim sistemlerinde genel olarak;

• Sabit diskler, CD, DVD, Harici Diskler, Hafıza kartları,

• İnternet veya network,

• Cep Telefonları,

• Oyun konsolları,

• Yazıcı ve faks cihazları,

• Network cihazlarında bulunmaktadır (Alherbawi vd., 2016).

Dijital deliller yapıları itibarı ile kolaylıkla bozulabilir, silinebilir veya değişikliğe

uğrayabilirler. Bilişim suçlarında depolama aygıtlarından elde edilen dijital

deliller bozulmadan ve zarar görmeden toplanması adli bilişim ile sağlanır. Adli

Bilişim; bilişim sistemlerinde bulunan verilerin mahkemelere dijital delil olarak

sunulması için inceleme ve analiz tekniklerini kapsayan bilim dalıdır. Adli

bilişim; ilk müdahale, toplama, saklama, delil çıkartma ve raporlama

süreçlerinden oluşmaktadır (Wang ve Qi, 2011).

Adli bilişimde dijital delillerin elde edilmesi, olay yeri çalışmaları ile başlayan

uzun bir süreçtir. Delil elde edilecek bilişim sistemlerinde yapılacak olan

incelemeler, veri depolama aygıtlarından alınmış birebir kopya üzerinde

yapılmalıdır (Rogers ve Seigfried, 2004). Veri depolama aygıtlarının bit-to-bit

kopyasının alınması imaj alma olarak bilinir. İmaj alma; yazılım veya donanım

tabanlı sistemler ile yapılmaktadır (Zhang vd., 2010).

Page 15: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

2

İşletim sistemi; çalışan uygulama bilgilerini, internet aktivitelerini, ağ

bağlantılarını, kullanıcı dokümanlarını ve şifrelerini RAM’de saklamaktadır. Adli

bilişim sürecinde RAM’den elde edilecek deliller önem arz etmektedir. RAM

imajında çeşitli analiz yöntemleri ve teknikler kullanılarak delil aranmaktadır.

RAM’e ait veri yapıları analiz edilerek ayrılmış veya ayrılmamış bölgelerdeki

verilere erişilir (Russinovich vd., 2009).

RAM’in içerisindeki verilerin önemi, 1990’lı yıllarda yapılan çalışmalarda ortaya

konmuştur. Fakat verilerin elde edilmesine yönelik bir yöntem

geliştirilememiştir (Richard ve Roussev, 2005). İlk RAM imajı alma ve analiz

uygulaması, 2005 yılında geliştirilen KnTTools olarak bilinir. KnTTools ile RAM

imajında çalışan process ve thread arama analizi yapılmıştır (Garner, 2007).

2006 - 2012 yılları arasında yapılan çalışmalarda Windows XP’de RAM’den dizgi

arama ve kazıma yöntemleri ile 4KB altındaki veriler çıkartılmıştır (Amari,

2009). Bu çalışmalar, Windows Vista işletim sisteminde RAM’e tam erişimin

kısıtlanması ile beraber özelliğini kaybetmiştir. Windows Vista, 7, 8, 8.1 ve 10

işletim sistemlerinde RAM imajı almak için kernel mode RAM sürücüsü

kullanılması gerekmektedir (Quina vd., 2017). RAM sürücüsü ve bu sürücüyü

kullanan imaj alma yazılımları, ticari firmalar ve açık kaynak kod geliştiricileri

tarafından geliştirilmiştir (Hejazi vd., 2009).

RAM imajından verilere ulaşmak için dizgi tarama, imza arama, dosya kazıma ve

veri yapısı analizi yöntemleri kullanılmaktadır. Analiz işlemlerinde hangi

yöntemin kullanılacağı, istenilen veriye göre değişmektedir. Kullanıcının sosyal

medya veya uygulama şifrelerine erişim için dizgi arama tekniği uygulanır.

RAM’deki veri tabloları içerisinde çalışan veya sisteme yüklü process bilgileri

tutulmaktadır (Okolica ve Peterson, 2010). Bu bilgilere erişim için, veri yapısı

analizi yöntemi kullanılır. RAM’de dosyalara ait verilerin elde edilmesi için

öncelikle dosyanın çıkartılması gerekmektedir. İmaj içindeki dosyalar sırasıyla

imza arama ve dosya kazıma teknikleri ile çıkartılır. Kurtarılan dosyalar içindeki

bilgilere erişim için, dosya türüne göre farklı veri kurtarma teknikleri

uygulanmaktadır (Okolica ve Peterson, 2011).

Page 16: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

3

Bu tez çalışmasına adli bilişim sürecinde RAM’den delil niteliğindeki MS Word

ve PDF dosyalarının çıkartılması için yazılım geliştirilmiştir. Bu yazılım Şekil

1.1’de görüldüğü gibi dört bölümden oluşmaktadır. Sürücü dosyası, imaj alma

ve dosya kazıma yazılımları C++, veri kurtarma yazılımı C# programlama dili ile

geliştirilmiştir.

Şekil 1.1. Geliştirilen sistemin bölümleri

Çalışmanın ilk bölümünde RAM imajının alınması için gerekli kernel-mode RAM

sürücüsü geliştirilmiştir. Sürücü, WDK (Windows Driver Kit) kütüphanesini

kullanmaktadır. Geliştirilen RAM sürücüsü 32bit ve 64 bit Windows işletim

sistemlerinde RAM’in sanal adreslerine, fiziksel adreslerine ve tablo sayfalarına

erişilebilmektedir.

İmaj alma yazılımı sürücüye kullanarak RAM’in tüm adreslerinin ve işletim

sistemi tarafından geçici bellek olarak ayrılan pagefile.sys dosyasının imajını

almayı sağlamaktadır. İmaj alma işlemi 4GB, 6GB, 8GB, 14GB’lık RAM

kapasitelerinde test edilmiştir. Bu testler sonunda RAM kapasitelerinin artması

imaj alma süresini uzattığı görülmüştür. Ayrıca yazılım RAM’e yüklendiğinde

156 KB’lık yer kaplamaktadır.

Çalışmanın son aşamasında, RAM imajından MS Word ve PDF dosyaları

kazınarak, içerisindeki okunabilir verilerin çıkartılmasını sağlayan yazılım

geliştirilmiştir. Yazılım tasarımında dizgi arama, imza tarama ve veri kazıma

teknikleri kullanılmıştır. Geliştirilen yazılımda analiz işlemleri, 14 GB’lık RAM

imajında gerçekleştirilmiştir. İmaj dosyasında yapılan veri kazımada; 41dk

10sn’de 10 adet doc uzantılı, 37dk 45sn’de 10 adet docx’e ait document.xml

dosyasına ve 45dk 01sn’de 10 tane pdf dosyasına ulaşılmıştır. Word ve pdf

Kernel Mode RAM

Driver RAM İmajı

Yazılımı

Dosya Kazıma Yazılımı

Veri Kurtarma Yazılımı

Page 17: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

4

dosyaları için tarama ayrı ayrı gerçekleştirilmiştir. Word dosyalarının her biri

üzerinde dizgi arama ve decode tekniği uygulanarak veriler kurtarılmıştır. Pdf

dosyalarında flatedecode algoritması kullandığından veri blokları decode

edilerek, verilere ulaşılmıştır. Kurtarılan veriler, orijinal dosyasındaki veriler ile

karşılaştırılarak her dosya için başarı oranı çıkartılmıştır. Sonuç olarak docx

dosyalarında ortalama %40,4’lük, doc dosyalarında %35,6’lık ve PDF

dosyalarında %16’lık başarı sağlandığı görülmüştür. RAM’e yüklenen word veya

PDF dosyalarının boyutlarının artması durumunda, içerisindeki verinin

kurtarılma oranını azaldığı tespit edilmiştir.

Page 18: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

5

2. KAYNAK ÖZETLERİ

İşletim sisteminden ilk RAM imajı alma ve analiz uygulaması, 2005 yılında

geliştirilen KnTTools olarak bilinir. KnTTools ile RAM imajında çalışan process

ve thread arama analizi yapılmıştır (Hejazi vd., 2008). Harici donanım ile imaj

alma AfterLife uygulaması ile gerçekleşmiştir. AfterLife uygulamasının

bulunduğu USB bellek sisteme takıldıktan sonra sistem yeniden başlatılır.

Açılışta sistemin kontrolünü sağlayan uygulama, RAM içeriğini USB belleğin boş

alanına kopyalamaktadır. Bu yöntemde USB bellek kullanıldığı için hedef

sistemin BIOS boot ayarının USB bellek olarak değiştirilmesi gerekir. Ayrıca

uygulama 4 GB’ tan büyük RAM imajlarını alamamaktadır (Vidas, 2010) .

Ii ve Heiser (2001) kitaplarında adli bilişim ve süreçlerine yönetik tespitler

yapmıştır. Adli bilişimde araştırma, saklama ve raporlama süreçlerinin önemine

dair bilgiler verilmiştir. İlk adli bilişim incelemesinin 20MB’lık bir disk üzerinde

yapıldığı ve veri orjinalliğinin tespitinde MD5 hash değeri kullanıldığı

vurgulanmıştır.

Vidas (2007), RAM imajında yazılım tabanlı araçlar ile veri analizi konusunda

çalışma yapmıştır. Çalışma windows 2000, XP, XP SP2, 2003 ve Vista işletim

sistemleri üzerinde gerçekleştirilmiştir. RAM imajı üzerinde process kazıma

tekniği uygulanmış ve process’ler kazınmıştır. Analiz Windows Memory

Forensic Toolkit isimli yazılımda gerçekleştirilmiştir. Çalışma sonunda işletim

sistemlerinde ortalama 30 MB’lık process dosyaya erişim sağlanmıştır.

Garcia (2007), Adli bilişim için RAM analizi yapan araçların incelemesini

konusunda çalışma yapmıştır. Bu incelemeyi yazılım ve donanım tabanlı araçlar

olarak ayırmıştır. Donanım tabanlı analiz araçlarında Tribble ve FireWire Bus’ı

karşılaştırmıştır. Tribble, bilgisayarların PCI slotunu, FireWire Bus’ın ise IEEE

1394 portunu kullanıdığı tespit etmiştir. Yazılım tabanlı araçlarda Data Dumper,

Windows crach dump utility’i incelemiş ve RAM yapılarına erişim kıyaslaması

Page 19: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

6

yapılmıştır. Çalışmaya göre elde edilmek istenilen verilere göre analiz araçların

tercih edilmesi gerekmektedir.

Trivedi (2007) gerçekleştirdiği çalışmada Windows işletim sistemlerinde

bulunan pagefile.sys dosyasını incelemiştir. Windows’un geçici hafıza olarak

pagefile.sys kullandığını ve içerisinden işletim sistemine ait bilgilere

erişilebileceğini ifade etmiştir. Sonuç olarak pagefile.sys dosyasını Hex editör ile

açarak internet sayfası linklerine, dosya konumlarına ve kullanıcı şifrelerine

erişim sağlamıştır.

Gavitt (2007) çalışmasında, RAM alanındaki adli bilişim çalışmaları için RAM’in

VAD (Virtual Address Descriptor) veri yapısı için tanımlamalarda bulunmuştur.

Çalışma, sanal sunucu üzerinde Windows 2000 ve XP işletim sistemlerinde

gerçekleşmiştir. VAD yapısının çıkartılması için işletim sisteminde notepad.exe

process’i kullanılmıştır. Örnek process’e ait ConrolAreas ve FileObjects yapıları

listelenmiştir.

Baar ve arkadaşları (2008) çalışmalarında, RAM’deki dosya yapısı haritaları

üzerinden yorumlar çıkartmışlardır. RAM haritalarının çıkartılması için 90 farklı

RAM imajı kullanılmıştır. Bu imajlar VMWare sanal sürücüde Windows XP SP2

işletim sisteminden 256 MB RAM kapasitesinde alınmıştır. Çalışmada imajların

içerisindeki toplam %25 oranında dosya dökümüne erişilmiştir. Erişim

sağlanan dökümlerin %40’nın process ve process bağlantıları tespit edilmiştir.

Vömel ve Freiling (2011) yaptıkları çalışmada, Windows işletim sisteminde

RAM’den veri toplama ve analiz teknikleri ile ilgili önerilerde bulunmuştur.

RAM’in adres yapılarında ve sayfalarında tarama işlemleri yaparak, işletim

sistemine ait şifrelerin ve zararlı yazılım bilgilerinin bulunabileceği tespitini

yapmışlardır. RAM’den bulunan verilerin toplanması için kayıt defteri, network

ve process analizi yapılması gerekmektedir. RAM üzerinden veri toplama

işlemlerinde donanımsal veri toplama kartlarının daha etkili olduğu

Page 20: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

7

belirtilmiştir. Yazılım tabanlı veri kurtarma araçlarını user ve kernel mode

seviyesinde karşılaştırmışlardır.

Butler ve Murdock (2011) çalışmalarında, RAM’in dosya ve cache yapısına

yönelik çalışma yapmışlardır. Çalışmada örnek olarak kullanılan AcroRd32.exe

isimli process’in FILE_OBJECT veri yapısı içerisinde nasıl saklandığına dair

bilgiler verilmiştir. Örnek process’in FILE_OBJECT içerisinde DataSectionObject,

SharedCacheMap ve ImageSectionObject yapıları içindeki veriler incelenmiştir.

İşletim sisteminde çalışan dosyaların RAM’de FILE_OBJECT yapısına yüklendiği

ve bu yapının taranması ile dosyalara ait bilgilere ulaşılabileceği sonucu

çıkarılmıştır.

Suma ve arkadaşları (2013), 64 Bit Windows 7 işletim sisteminden alınan RAM

imajında işletim sistemi bilgisi, yüklü DLL ve process bilgilerine erişim ile ilgili

çalışma yapmışlardır. Çalışmada kullanılan RAM imajı Dumpit yazılımı

kullanılmıştır. RAM’in PEB (Process Environment Block) yapısında KPCR

(Kernel Processor Control Region) blokları incelenmiştir. EPROCESS yapısı

içerisinde tarama yapılarak sistem hakkında bilgilere erişilmiştir.

Cai ve arkadaşları (2013) yazılım tabanlı RAM imajı alma yazılımı Dumplt ve

imaj analizi yapan Volatility ile ilgili çalışma gerçekleştirmişlerdir. Freeware

olarak indirilen DumpIt ile Windows 7 SP1 üzerinde RAM imajı alınmıştır. Bu

imaj üzerinden Volatility açık kaynak analiz yazılımı ile RAM’deki çalışan

process ve kayıt defteri analizi gerçekleştirilmiştir. Çalışmada Volatility

içerisindeki pslist ve psscan komutları kullanılmıştır. Sonuç olarak çalışan

processlerin çalışma zamanları, kullanıcı bilgileri ve dosya konumlarına

erişilmiştir.

Carvajal ve arkadaşları (2013) çalışmalarında, FTK Imager, Pro Discover,

Win32dd, Nigilant32, Memoryze, and Helix3 (dd) isimli imaj alma araçlarını test

etmişlerdir. Bu test işleminde araçların kullanıcı arayüzleri, raporlamaları, işlem

süreleri, RAM’de kapladıkları alanlar incelenmiştir. İşlem sonuçlarını

Page 21: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

8

Memoryze’nın XML, Win32dd’nin vermediğini, Pro Discover’ın RTF, Helix3

(dd)’in PDF olarak verdiği görülmüştür. Ayrıca Win32dd’nin RAM’de kapladığı

alanın en düşük olduğu tespit edilmiştir.

Xu ve Wang (2013), Windows’da RAM imajından sistem giriş şifrelerinin

çıkartılmasına yönenik çalışma yapmışlardır. Çalışma Windows XP ve 7 işletim

sisteminde şifrelerin saklandığı lsasrv.dll dosya içeriğinin incelenmesini

kapsamaktadır. Lsasrv.dll dosyasının RAM’e yüklendiği zaman

PsActiveProcesHead yapısına bıraktığı izlerden açık şifreler tespit edilmiştir.

Thomas ve arkadaşları (2013), Windows 7 64bit işletim sisteminde RAM

metodolojisi üzerine çalışma gerçekleştirmişlerdir. Çalışmada, 64bit

sistemlerden alınan RAM imajlarından veri toplama teknikleri üzerinde

tespitlerde bulunulmuştur. Çalışma sonuçlarına göre; EPROCESS’de çalışan

process’ler, PEB_LDR_DATA’ da yüklü DLL dosyaları, HANDLE_TABLE’da açık

bayraklar bulunmaktadır. Ayrıca DBGKD_GET_VERSION64 içerisinden işletim

sistemi sürümü bilgisine erişilmektedir.

Thongjul ve Tritilanunt (2015), RAM’den kullanıcıların sosyal medya

hesaplarının kullanıcı adı ve şifrelerine erişim için taramalar yapmışlardır.

Taramalarda, sosyal medya hesaplarının tarayıcılarda kullandığı dizgi

yapılarından yararlanılmıştır. Çalışmada Blogger, Gmail, Google+, Play Store

Yahoo Mail ve Youtube hesapları kullanılmıştır. Arama ve dizgi yöntemi

taraması sonucunda Yahoo Mail’de %20, diğer hesaplarda %80’in üstünde

başarı elde edilmiştir.

Al-Sharif ve arkadaşları (2015), Open SUSE işletim sisteminde RAM imajından

PDF dosyalarınının çıkartılma testleri yapmışlardır. PDF dosyalarının yapısı

incelenerek, imzaları çıkartılmıştır. İşletim sisteminde Firefox tarayıcısı

üzerinde açık olan 10 tane PDF dosyası ve disk üzerinde açık olan 10 PDF

dosyası üzerinde imza taraması yapılmıştır (Al-Sharif vd., 2015).

Page 22: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

9

Al-Sharif vd. (2017) çalışmasında, RAM imajından dizgi arama yöntemi ile DOCX

uzantılı WORD dosyalarına erişim sağlamıştır. Çalışmada kullanılan 2 GB’lık

imaj dosyası DumpIt isimli yazılım ile alınmıştır. Kurtarma yazılımı Windows 7

işletim sistemi üzerinde uygulanmış ve sonucunda başarı oranının ortalama % 6

olduğu görülmektedir.

Akbal ve Dogan (2018) çalışmasında, imaj dosyalarından dijital delillerin

çıkartılması sağlayan yazılımların incelenmesini sağlamıştır. Çalışmada

donanım tabanlı imaj alma araçları olan CRU Ditto and Tableau TD3 cihazları,

yazılım tabanlı imaj alma araçları FTK Imager and Forensic Imager

incelenmiştir. Bu araçlardan alınan imaj dosyaları olan E01 ve DD raw

formatları arasındaki farklar belirtilmiştir. Çalışma sonucunda donanım ve

yazılım tabanlı imaj alma araçları arasında performas karşılaştırmaları

gerçekleştirilmiştir.

Page 23: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

10

3. MATERYAL VE YÖNTEM

3.1. Adli Bilişim

Adli bilişim; şüphelilerin bilişim sistemleri üzerinde işlediği suçun, Şekil 3.1’de

gösterildiği gibi suçlunun şüpheli olduğu süreçten başlayarak olay yerinin analiz

edilmesi, verilerin toplanması, verilerin incelenmesi ve suç ile ilgili

ilişkilendirmeler yapılarak, sonuçların düzenli bir rapor halinde adli makamlara

sunulmasıdır (Bui vd., 2003).

Şekil 3.1. Adli bilişim süreçleri

Adli bilişim sürecinde ilk müdahalenin önemini Edmond Locard’ın “her temas

bir iz bırakır” tespiti ile açıklanabilir. Suç ortamında, bilgisayar üzerindeki ilk

müdehale adli bilişim alanında uzman kişiler tarafından yapılması

gerekmektedir. Olay yerinde yapılan hatalar delil bütünlüğünün bozulması,

silinmesi veya değiştirilmesine sebep olabilir. Bu yüzden fiziksel, manyetik ve

elektronik izalasyonun sağlanması gerekmektedir (Hu vd., 2012).

Adli bilişimde inceleme ve analiz aşamasında adli bilişim inceleme yazılımları

kullanılır. Analiz ve inceleme sürecinde kullanılacak teknik ve yöntem, olay

türüne göre değişmektedir. Bundan dolayı olay yerinde bulunan delillerin ne

olduğu ve nerede aranması gerektiklerinin bilinmesi gerekir.

İlk Müdahale Delil Toplama ve Saklama Delil Çıkartma Rapor

Hazırlama Sunum

Page 24: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

11

3.1.1. Elektronik delil

Elektronik delil, bilişim sistemlerinde hafızaya sahip elektronik aygıtlardan elde

edilen ve suçun aydınlatılması için kullanılan sayısal verilerdir. Bu veriler

kullanıcı tarafından oluşturulan veya sistemin bıraktığı izlerden oluşabilir.

Elektronik delillerin gizli bir yapıda olması, delillerin elde edilmesi için yazılım

incelemelerinin gerekliliğini ortaya koymaktadır. Elektronik deliller yapı

itibariyle değişikliğe uğrayabilir veya silinebilir (Hejazi vd., 2008).

Elektronik deliller bilişim sistemlerinde; depolama aygıtları (Hard disk, USB

Disk, Hafıza Kartı, CD/DVD, vb.), RAM, cep telefonu ve yazıcıda

bulunabilmektedir. Bu aygıtlardan elde edilen ve elektronik delil niteliğinde

olabilecek veriler;

• Resim dosyaları,

• Videolar,

• Metinsel dökümanlar,

• Programlar,

• İletişim kayıtları,

• İnternet kayıtları,

• Network kayıtları,

• Gizli veya şifreli dosyalardan oluşmaktadır (Petroni vd., 2009).

Adli bilişimde elektronik delillerin elde edilmesi olay yerinde, depolama

cihazlarından alınan imaj üzerinden yapılmaktadır. Elde edilen elektronik

delillerin kabul edilebilir olması için değişikliğe uğramadığının ispat edilmesi

gerekir. Bu ispat hash değerlerinin hesaplanması ile gerçekleşmektedir. Hash

tek yönlü şifrelenmiş algoritmik bir fonksiyondur. Hash değerlerinden geriye

dönülerek veriye ulaşılması çok fazla zaman almaktadır. Hash değerlerinin

üretilmesi için MD5 ve SHA1 algoritmaları kullanılır (Russinovich vd., 2012).

Page 25: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

12

3.1.2. İmaj alma

Bilişim sistemlerinde depolama aygıtlarındaki verilerin tamamımın farklı bir

kaynağa kopyalanması imaj alma olarak nitelendirilir. Adli bilişim alanında

yapılan inceleme ve analizler, diskin veya belleğin orijinalinde herhangi bir

değişiklik veya zarar oluşturmaması için imajlar üzerinden yapılır. İmaj alma

işlemi özel yazılım ve donanımlarla gerçekleştirilmektedir. İmaj, delil

niteliğindeki donanımın üzerindeki bütün verilerin kopyasının alınması

anlamına gelmektedir. Alınan imaj; hâlihazırdaki verileri, silinmiş verileri ve

izlerini de kapsamaktadır Adli bilişim süreçlerinde imaj alma delilin bozulması,

silinmesi veya değiştirilmesini önlemek için yapılan bir işlemdir (Schatz ve

Director, 2007).

İmaj alma işlemleri donanım ve yazılım tabanlı olarak yapılmaktadır. Donanım

tabanlı imaj alma yönteminde, imaj almak için geliştirilmiş özel cihazlar

kullanılmaktadır. Yazılım tabanlı imaj alma sürecinde yazılım, sisteme CD, DVD

veya harici depolama kaynakları ile yüklenip, sistemin imajını alan

yazılımlardır. İmaj alma yöntemlerinde kullanılan yapı Şekil 3.2’de

gösterilmiştir (Simon ve Slay, 2010).

Şekil 3.2. İmaj alma yöntemleri yapısı

3.2. RAM Analizi

RAM’lerin hızı sabit disklere göre çok yüksektir. Bu nedenle işletim sistemi

üzerinde kullanılan process ve dosyalar RAM’e yüklenerek çalıştırılmaktadır.

Page 26: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

13

RAM bellekler bilgisayarlı sistemlerde kısa süreli veri saklamaya imkân

sağlamaktadır. Bundan dolayı RAM’deki veriler, uçucu veri olarak

adlandırılmaktadır.

İşletim sistemi RAM’de;

• Çalışan process ve hizmetlere ait bilgiler,

• Sisteme ait bilgiler,

• Kullanıcıya ait bilgiler,

• Ağ bağlantısı bilgileri,

• Panoda bulunan bilgiler,

• Çalışan yazılımlara ait bilgiler,

• Kayıt defteri bilgileri,

• Sosyal medya hesaplarına ait bilgiler,

• İnternet günlükleri,

• Eposta bilgileri,

• Kripto anahtarları,

• Sisteme ait şifreler gibi bilgiler saklanabilmektedir (Sitaraman, 2006).

RAM analizi adli bilişim incelemelerinin zorunlu basamaklarından biri haline

gelmiştir. Müdahale sırasında alınan RAM imajından, delil niteliğinde çok sayıda

elektronik veriler elde edilmektedir.

3.2.1. RAM imajı alma araçları

Adli bilişimin bir basamağı olan RAM analizi, siber suçların aydınlatılmasında

önemli yer tutmaktadır. RAM analizinin doğru bir şekilde yapılabilmesi için olay

anında imajın alınması gerekmektedir. İmaj alma süreci yazılım ve donanım

tabanlı araçlar ile gerçekleştirilir (Stüttgen vd., 2015).

Donanım tabanlı araçlara Tribble, Crash Dump ve FireWire Bus örnek

verilebilir. Bu araçlar bilgisayar sistemlerine PCI slotları ve portlar aracılığla

bağlanmaktadır. Günümüzde donanım tabanlı araçların hem maliyet yüksekliği

Page 27: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

14

hem de kullanım zorluğu sebebi ile RAM imajı alma sürecinde kullanılmadığı

görülmektedir (Vömel ve Stüttgen, 2013).

Yazılım tabanlı imaj alma araçları bilgisayar sistemlerine harici kaynaklardan

yüklenerek, sistemin imajını alabilmektedir. Genel olarak imaj alma araçlarının

yaptıkları işlev birbirlerine benzemektedir. Adli bilişim alanında RAM imajı

almak için kullanılan araçlar ve işletim sistemi karşılaştırması Çizelge 3.1’de

verilmiştir (Walter ve Petroni, 2007). Bu karşılaştırma sonucunda Memory DD,

KnTDD ve Fast Dump Pro yazılımları Vista sonrası Windows işletim

sistemlerinde kullanılmadığı görülmektedir.

Çizelge 3.1. RAM imajı alma araçları

İmaj Alma Aracı Windows Versiyonları FTK (Forensic Toolkit) Windows Vista, 7, 8, 8.1 ve 10 Imager, Encase v7 Windows Vista, 7, 8, 8.1 ve 10 Belkasoft Live RAM Capturer Windows Vista, 7, 8, 8.1 ve 10 Memory DD Win2000, XP, Vista ve Windows

Server Memoryze Windows XP, Vista, 7, ve 8 DumpIt Windows Vista, 7, 8, 8.1 ve 10 WinEn (EnCase) Windows Vista, 7, 8, 8.1 ve 10 Forensic Toolkit Windows Vista, 7, 8, 8.1 ve 10 KnTDD (KnTTools) Win2000, XP ve Vista Fastdump Pro Win2000, XP ve Vista MagnetRAM Capture Windows Vista, 7, 8, 8.1 ve 10 Windows Memory Toolkit Win2000, XP, Vista ve 7

İmaj dosyaları RAM’in tüm adreslerini bit-to-bit saklayan ham veri

dosyalarından oluşmaktadır. Geliştirilen imaj alma araçlarına göre farklı dosya

uzantıları verilmektedir. Fakat dosya uzantıları ham veri dosyalarını temsil

etmektedir. Yazılım tabanlı imaj almada kullanılan yazılımın RAM’de kapladığı

alan önemlidir. Bu alan ne kadar büyürse RAM’de bulunan verilere zarar verme

ihtimali de artmaktadır. Bundan dolayı imaj alma yazılımlarının RAM’de

minimum alan kaplamayanlar tercih edilir (Yasinsac vd., 2003). İmaj alma

yazılımlarının Windows işletim sisteminde, RAM’de kapladığı alanlar ve imaj

dosyasının uzantıları Çizelge 3.2’de verilmiştir. İmaj alma yazılımları arasında

Page 28: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

15

DumpIt yazılımı RAM’de en az yer kapladığı görülmüştür. Bu da imaj alma

sırasında meydana gelebilecek veri kaybını en aza indirilmesini sağlamaktadır.

Bu sebeple literatürde RAM imajı üzerinden yapılan analiz çalışmalarında

DumpIt yazılımının kullanıldığı görülmektedir.

Çizelge 3.2. İmaj alma araçlarının dosya formatları ve kapladığı alanların karşılaştırılması

Araç İmaj Dosyası

Uzantısı RAM’de Kullandığı Alan

Forensic Toolkit Raw 13 MB WinEn (EnCase) Raw 120 MB KnTDD (KnTTools) Mem 19 MB

Fastdump Pro Bin 3 MB Guymager Aff 56 MB Fmem Mem 43 MB Memoryze Mem 6 MB Memory DD Dd 7 MB Belkasoft Live RAM Capturer

Mem 6.5MB

DumpIt Raw 0,58 MB Windows Memory Toolkit

Raw 12 MB

MagnetRAM Capture Raw 6.5MB

3.2.2. RAM imajı analizi araçları

Olay yerinde alınan RAM imajının, RAM analizi araçları kullanılarak analizi

yapılmaktadır. Bu analizlerde kullanılan algoritma ve tekniğe göre elektronik

deliller elde edilmektedir (Zhang vd., 2010). RAM imajı analizi yazılımları

process, ağ, dosya, sistem kayıt analizi başlıklarında işlem yapmaktadır. Çizelge

3.3’de RAM analizi araçlarının hangi analizleri gerçekleştirdiği ve elde

edebileceği veri türleri karşılaştırılmıştır (Süzen vd., 2016).

Page 29: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

16

Çizelge 3.3. RAM analizi araçlarının karşılaştırılması Analiz Aracı

İşletim Sistemi

Özellikleri

Forensic Toolkit

Windows ve Linux

Process Analizi: Açık Dosya Tespiti, Çalışan Uygulama Tespiti, Kötücül Yazılım Tespiti. Ağ Analizi: İnternet Sayfası Kayıtları, Kötücül Yazılım Tespiti, Pornografik Erişim, E-mail Kayıtları, Ağ bağlantıları, DDOS kayıtları. Dosya Analizi: Kripto Anahtarına Erişim, Kayıtlı Şifre Tespiti, Kötücül Yazılım ve Virüs Tespiti, Açık Dosya Tespiti, İndirilen Dosyalar, Şifreli ve Gizli Dosyalar, Silinmiş Dosya Tespiti. Sistem Kayıt Analizi: Dosyaların oluşturulma ve silinme tarihleri, İşlem kayıtları, Sistem ve uygulama ayarlarına erişim.

FTK Imager

Windows ve Linux

Process Analizi: Açık Dosya Tespiti, Çalışan Uygulama Tespiti, Kötücül Yazılım Tespiti. Ağ Analizi: İnternet Sayfası Kayıtları, Kötücül Yazılım Tespiti, Pornografik Erişim, E-mail Kayıtları, Ağ bağlantıları, DDOS kayıtları. Dosya Analizi: Kripto Anahtarına Erişim, Kayıtlı Şifre Tespiti, Kötücül Yazılım ve Virüs Tespiti, Açık Dosya Tespiti, Şifreli ve Gizli Dosyalar.

Memoryze Windows Process Analizi: Açık Dosya Tespiti, Çalışan Uygulama Tespiti, Kötücül Yazılım Tespiti. Ağ Analizi: İnternet Sayfası Kayıtları, Kötücül Yazılım Tespiti, Açık Ağ bağlantıları. Dosya Analizi: Kripto Anahtarına Erişim, Kayıtlı Şifre Tespiti, Kötücül Yazılım ve Virüs Tespiti, Açık Dosya Tespiti.

HBGary Responder PRO

Windows ve Linux

Process Analizi: Açık Dosya Tespiti, Çalışan Uygulama Tespiti, Kötücül Yazılım Tespiti ve Şifreleri. Ağ Analizi: Kötücül Yazılım Tespiti, Pornografik Erişim, Aktif Ağ bağlantıları, DDOS kayıtları. Dosya Analizi: Dosya Sistemi Tespiti, Kripto Anahtarına Erişim, Kayıtlı Şifre Tespiti, Kötücül Yazılım ve Virüs Tespiti, Açık Dosya Tespiti, İndirilen Dosyalar, Şifreli ve Gizli Dosyalar. Sistem Kayıt Analizi: Sistem ve uygulama ayarlarına erişim.

Mandiant RedLine

Windows ve Linux

Process Analizi: Açık Dosya Tespiti, Çalışan Uygulama Tespiti, Kötücül Yazılım Tespiti. Ağ Analizi: Açık Ağ bağlantıları. Dosya Analizi: Dosya Sistemi Tespiti, Kötücül Yazılım ve Virüs Tespiti, Açık Dosya Tespiti. Sistem Kayıt Analizi: Web Geçmişi.

Page 30: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

17

3.3. Microsoft Word

Microsoft tarafından 1990 yılında yayınlanan Microsoft Ofis uygulamalarının bir

türü olan Word; metin, ses, resim ve video saklayabilen kelime işlemci

yazılımıdır. Word dokümanlarına ait dosyalar iki farklı dosya uzantısına

sahiptir. Word 2007 öncesi dokümanlar doc uzantısını kullanmaktadır. Word

2007 ve sonrası doküman dosyalarının uzantısı ise docx’dir (Microsoft, 2017).

3.3.1. DOC dosya yapısı

Doc uzantılı word dosyaları Şekil 3.3’de görüldüğü gibi yapılandırılmış OLE

Compound Binary File (CBF) dosya formatındadır. OLE Compound Binary File

tek bir dosyada birden fazla veri akışının depolanması için kullanılan bir

yöntemdir. Doc uzantılı dosyaların içerisindeki veriler, WordDocument blokları

arasında codepage 1252 ile sıkıştırılmıştır. Dosya içerisindeki sıkıştırılmış

veriler [Content_Types] ile STX etiketleri arasında yer almaktadır.

Şekil 3.3. Doc uzantılı word dosyasının ayrıştırılmış yapısı

Doc uzantılı bir word dosyasında 1Table veya 0Table veri akışı tablosu bulunur.

WordDocument içerisindeki base.fWhichTblStm yapısı 1 ise akış için 1Table

çağrılır. base.fWhichTblStm 0 olarak ayarlanırsa akış için 0Table kullanılır. Doc

uzantılı dosyalarda 1Table ve 0Table akışı 0x7FFFFFF’den büyük olmamaktadır.

Page 31: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

18

FIB (File Information Block), doc dosyasına ait bilgileri ve belgeyi oluşturan

bölümlere ait işaretçileri saklayan yapıdır. Doc dosyalarında FIB değişken

uzunlukta yapıya sahiptir. Şekil 3.4’de görüldüğü gibi FIB içerisindeki bölümleri

farklı uzunlukta ve birbirini takip eden konumdadır. Yeni oluşturulan doc

dosyasının metinleri ve nesnelerinin adresleri FIB içinde tutulur. FIB

bloklarındaki bağlantılar izlenerek döküman içerisindeki veriler

bulunabilmektedir (Microsoft, 2017).

Şekil 3.4. FIB yapısı ve bölümleri

3.3.2. DOCX dosya yapısı

Docx uzantılı word dosyaları sıkıştırılmış Office Open XML dosyalarından

oluşmaktadır. Word dosyalarının XML formatına ayrıştırılması için sıkıştırma

programları kullanılır. Word dokümanı ayrıştırıldığında metinsel veri, stil,

resim, ses, video ve dosyaya ait yapısal bilgiler xml uzantılı dosyalara

çıkarılmaktadır. Şekil 3.5’de örnek docx uzantılı word dosyasının veri bloğunun

ayrıştırılmış yapısı gösterilmektedir.

Page 32: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

19

Şekil 3.5. Docx uzantılı word dosyasının veri bloğunun ayrıştırılmış yapısı

DOCX uzantılı word dosyası nasıl ayrıştırılacağı Content_Types.xml dosyası

içerisinde belirtilmektedir. Content_Types.xml’da dosyaya ait tüm bilgiler şekil

3.6’da verildiği gibi XML formatında saklanmaktadır.

Şekil 3.6. Content_Types.xml dosyası içerği

DOCX dosyası içinde bulunan xml dosyaları ve sakladığı verinin özellikleri aşağıda verilmiştir.

• document.xml : metinsel veriler • core.xml : dosyayı ait kullanıcı bilgileri • app.xml : sayfa, kelime, karakter, paragrah, satır sayıları • style.xml: yazı tipleri, stiller • footer1.xml : sayfa numarası • fontTable.xml : kullanılan fontlar • theme1.xml : kullanılan tema • settings.xml: sayfa yapısı ayarları

Page 33: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

20

Word dosyasında verilerin ham halleri document.xml içerisinde tutulmaktadır.

Bu XML dosya içerisinde Şekil 3.7’de gösterildiği gibi <w:t> </w:t> etiketileri

arasında her paragrafın verisi yer almaktadır (Al-Sharif vd., 2018).

Şekil 3.7. document.xml dosyasındaki XML yapısı

3.4. PDF Dosya Yapısı

PDF yazılım, donanım ve işletim sisteminden bağımsız taşınabilir ve

yazdırılabilir belge oluşturma amacıyla geliştirilen sayısal bir yöntemdir. PDF

dosya biçimi ilk olarak 1992 yılında Adobe firması kurucularından olan Camelot

tarafından geliştirilmiştir. Günümüzde bu format, ISO (International

Organization for Standardization) tarafından yönetilen açık standart olarak

kullanılmaktadır. PDF dosyaları içerisinde metin, ses, video ve resim verileri

bulunmaktadır. PDF dosyaları Adobe Acrobat yazılımı ile düzenlenmektedir.

Ancak 2003 yılında PDF 1.5 tanıtılması ile beraber Adobe Acrobat ve Adobe

Reader kullanılmaya başlanmıştır (Adobe, 2017). PDF dosyalarının tarihsel

gelişimi Çizelge 3.4’de gösterilmiştir.

Page 34: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

21

Çizelge 3.4. PDF dosyasının sürümleri ve sürüm yenilikleri

PDF Sürüm Yıl Yenilik

PDF 1.0 1992 RGB renk desteği, Metin desteği

PDF 1.1 1994 Harici Link, Şifreli Koruma, Çoklu sütun, Yönlendirme linki, notlar, Bağımsız renkler

PDF 1.2 1996 Formlar, Unicode desteği, OPI 1.3, CMYK

PDF 1.3 1999 Temalar, Dijital İmzalama, Java Script desteği, RC4 şifreleme

PDF 1.4 2001 128-bit RC4 şifreleme, JBIG2 Sıkıştırma, Şeffaflık görünümü, PDF tag

PDF 1.5 2003 Nesne şifreleme, JPEG 2000 sıkıştırması, XRef Table, XRef stream desteği, XML yapısı, Katmanlı Yapı

PDF 1.6 2005 Gömülü 3D desteği, AES şifreleme, XML Formlar, DeviceN renkler,

PDF 1.7 2006 Yorum ve güvenlik destekleri, 3D Objeler ve Animasyon desteği, 256-bit AES Şifreleme, XFA 3.0

PDF 2.0 (ISO 32000-2)

2017 AES-256-bit güvenlik desteği, Birden fazla sayfa birleştirmesinde farklı tema desteği, 3D nesne bileşenlerini inceleme, Matbaa basım desteği, CxF/X-4 renk desteği

PDF dosyaları doğrusal ve sabit bir yapıya sahiptir. Standart bir PDF dosyası

yapısında bulunan bileşenler ve bunların örnekleri Çizelge 3.5’de verilmiştir.

Ayrıca PDF dosyalarının farklı yazılımlar ile oluşturulduğu veya farklı dosya

formatlarından dönüştürüldüğü görülmektedir. Bundan dolayı bazı PDF

dosyalarındaki doğrusal ve sabit yapı bozulmaktadır.

Çizelge 3.5. PDF dosya yapıları ve örnekleri

Yapı Örnek

Başlık %PDF-1.7 Doğrusal Parametreler 43 0 obj

<< /Linearized 1 /L 54567 /H [475 598] /O 45 /E 5437 /N 11 >> endobj

Page 35: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

22

İlk Sayfa xref table yapısı xref 43 14 0000000052 00000 n 0000000392 00000 n trailer << /Size 57 /Prev 52776 /Root 44 0 R startxref 0 %%EOF

Dosya seviye nesneleri 44 0 obj << /Type /Catalog /Pages 42 0 R >> endobj

İlk Sıkıştırma 56 0 obj << /Length 457 stream …. endstream endobj

İlk Sayfa nesneleri 45 0 obj << /Type Page >>

Kalan sayfaların nesneleri 1 0 obj << /Type /Page stream …. endstream

Main xref table ve trailer xref 0 43 0000000000 65535 f trailer<< /Size 43 >> startxref 257

Kullanıcı tarafından oluşturulmuş ve veri girilmemiş standart bir PDF

dosyasının yapısal görünümü Şekil 3.8’de verilmiştir.

Page 36: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

23

Şekil 3.8. Örnek PDF dosyasının standart yapısı

PDF dosyalarında yapısı dışındaki veriler de sıkıştırılmaktadır. PDF sürümlerine

göre farklı sıkıştırma teknikleri uygulanmaktadır. PDF dosyalarında verilerin

sıkıştırmasında kullanılan etiketler Çizelge 3.6’ da verilmiştir (Adobe 2015).

Çizelge 3.6. PDF verilerinin sıkıştırma etiketleri

Anahtar Tanım Length Zorunludur. Stream ve endstream arasındaki

karakterlerin uzunluğu temsil edilir Filter Zorunludur. Verilere uygulanan filitrenin ismi saklanır. DecodeParms Opsiyoneldir, Şifre çözme anahtarı ihtiyaç ise kullanılır. F Opsiyoneldir. Şifrelenen verilere ait dosya adı saklanır. FFilter Opsiyoneldir. Verilere uygulanan filitrenin dosya adını

saklar. FDecodeParms Opsiyoneldir. Şifre çözmek için kullanılan parametreleri

saklar. PDF dosyalarındaki binary veya metinsel veriler Çizelge 3.7’de verilen teknikler

ile sıkıştırılmaktadır. PDF dosyalarında kullanılan sıkıştırma, dosya içerisindeki

referans etiketlerde verilmektedir. Günümüzde PDF programları, PDF

dosyalarını FlateDecode ile sıkıştırılmaktadır. PDF dosyalarında sıkıştırılmış

veriler stream ve endstream blokları arasında saklanır. Verilerin sıkıştırılması

Page 37: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

24

için kullanılan algoritma Şekil 3.9’daki gibi filter etiketinde gösterilmektedir

(Didier, 2017).

Çizelge 3.7. PDF dosyalarında kullanılan şifreleme teknikleri

Şifreleme Türü Tanım ASCIIHexDecode Binary verilerin ASCII hexdecimal gösterimidir. LZWDecode Metin veya binary verileir LZW sıkıştırması uygular. RunLengthDecode Sıkıştırılmamış binary verilerinin uzunluğuna göre

şifreler. CCITTFaxDecode Sıkıştırılmamış binary verilerinin CCITT facsimile

standartına göre şifreler. DCTDecode Resim ve veriyi JPEG sıkıştırması uygular. FlateDecode Sıkıştırılmamış binary veya metinlere Flate

sıkıştırma metodunu uygular.

Şekil 3.9. PDF dosyasındaki sıkıştırma etiketi

3.5. Kernel ve User Mode

x86 veya x64 işlemcilerde Şekil 3.10’da görüldüğü üzere 4 farklı güvenlik

seviyesi vardır. Bunlar ring0 (kernel mode), ring1, ring2, ring3 (user mode)’dür.

Windows işletim sistemlerinde kernel ve user mode kullanılmaktadır. İşlemci,

üzerinde çalışan komut türüne bağlı olarak iki mod arasında geçiş yapar.

Uygulamalar user mode’da çalışır. Çekirdek işletim sistemi bileşenleri de Kernel

mode’da çalışır (Ariffin vd., 2015). Aynı zamanda birçok sürücü kernel mode’da

çalışırken, bazı sürücüler user mode’da çalışabilir (Liv vd., 2010). Bir user mode

uygulaması başlatıldığında Windows işletim sistemi, uygulama için bir process

oluşturur. Process, uygulamaya özel sanal adres alanı ve özel bir tanıtıcı tablo

sağlar. Bir uygulamanın sanal adres alanı özel olduğu için, uygulama başka bir

uygulamaya ait verileri değiştiremez. Her bir uygulama tek başına çalışır ve bir

Veri Bloğu

Filtre Yapısı

Page 38: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

25

uygulama çökerse kilitlenme bu uygulama ile sınırlıdır. Diğer uygulamalar ve

işletim sistemi kilitlenmeden etkilenmez (Ball vd., 2006).

Şekil 3.10. Windows güvenlik seviyeleri

User Mode güvenlik seviyesinde sanal adres alanı sınırlıdır. User mode’da

çalışan bir process, işletim sistemi için ayrılmış olan sanal adreslere erişemez

(Okolica ve Peterson, 2010). Bir user mode uygulamanın sanal adres alanını

sınırlamak, uygulamanın kritik sistem verilerini değiştirmesini ve zarar

vermesini engellemektedir. Kernel mode’da çalışan komutlar ortak ve tek bir

sanal adres alanını paylaşır. Bundan dolayı kernel mode driver yanlışlıkla, farklı

bir sanal adrese yazarsa, işletim sistemine veya başka bir driver’a ait verileri

tehlikeye atabilir. Ayrıca sistem içerisinde bir kernel mod driver hata oluşturur

ise işletim sistemi de bu hatadan etkilenmektedir.

Şekil 3.11’de verilen diyagramda user ve kernel mode bileşenleri arasındaki

etkileşim yapısı gösterilmektedir. Bu yapıya göre user mode içerisinde çalışan

komutların doğrudan donanıma erişme yetkisi yoktur. İşletim sistemine ait

API’ler aracılığı ile CPU (Central Processing Unit), RAM gibi kaynaklara

erişebilirler (Matousek ve Jezek, 2009).

Page 39: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

26

Şekil 3.11. Kernel ve user mode etkileşimi (Microsoft, 2017)

3.6. Windows Bellek Yönetimi

RAM, işletim sistemlerinde işlemlerin veya sürecin belirli bir süre tutulduğu

hafıza olarak kullanılmaktadır. RAM fiziksel donanımın ismi olmakla beraber

işletim sistemlerinde bellek olarak isimlendirilir. Windows işletim sisteminde

çalışan tüm işlemler belleği kullanılır. RAM bellekteki veriler, donanım üzerinde

enerji olduğu sürece saklanmaktadır. Enerji kesintilerinde bellek içerisindeki

veriler kaybolmaktadır (Ni vd., 2012).

İşletim sistemi fiziksel bellek alanının yetersiz olduğu durumlarda sabit diskin

bir bölümünü bellek olarak kullanılmasına izin verir. Sabit diskten alınan bu

bölüm sanal bellek olarak geçmektedir. Bu sanal belleğin sabit diskteki karşılığı

pagefile.sys isimli dosyadır (Poisel vd., 2011). Windows toplam bellek alanını

standart olarak mevcut RAM boyutunun minimum 1,5 katı maksimum ise 3 katı

olacak şekilde ayarlar. Yani 4GB’lık RAM için disk üzerinde minimum 2 GB’lık,

maksimum ise 8GB sanal bellek ayrılabilmektedir. Bu büyüklükler istenildiği

zaman kullanıcı tarafından değiştirilebilmektedir (Ruichao vd., 2009).

Page 40: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

27

Windows işletim sisteminde çalışan uygulamalar direk fiziksel bellekteki

adreslere veya verilere erişemez. Bundan dolayı Windows, üzerinde çalışan her

uygulamaya özel sanal adres alanları verir (Microsoft, 2017). Çalışan

uygulamalar fiziksel bellekte bulunan verilere Şekil 3.12’de görüldüğü gibi sanal

adres alanını kullanarak erişim sağlar. İşletim sistemi bu sanal adreslerin

fiziksel adres karşılığını bulur ve bu adresteki veriyi istemci programa iletir. Bu

dönüşüm işlemini gerçekleştiren işletim sistemi bileşenleri bellek yöneticisidir

(Vidas, 2010).

Şekil 3.12. Sanal adres alanı ve fiziksel adres alanı eşleme

3.6.1. Sanal adres alanı

Windows’da bellek yöneticisi, uygulamaların belleği kullanması için her

uygulamaya yer ayırması gerekir. Şekil 3.13’de görülüğü gibi uygulamalara

ayrılan bu bölümler sanal adres alanı olarak tanımlanır. Sanal adres alanları

uygulamaya özeldir. Çalışan bir uygulama farklı uygulamaya ait sanal adres

alanlarına erişemez. Bundan dolayı uygulamalar, başka bir uygulama tarafından

bozulamamaktadır (Povar ve Bhadran, 2011).

Page 41: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

28

Şekil 3.13. Sanal belleğin fiziksel belleğe adreslemesi

Windows’da sanal adres alanı Şekil 3.14’de görüldüğü gibi 32 bit sistemlerde

maksimum 4GB, 64 bit sistemlerde 8 TB ve IA64 bit sistemde ise 7 TB

büyüklüğünde olmaktadır (Dolan-Gavitt, 2007). Şekil 3.14’de verilen adres

alanı büyüklükleri 32 bit ve 64 bit donanımlarının sınırladığı maksimum

değerlerdir. Teknik olarak 32 bit mimarisinde 65 GB’lık ve 64 bit mimarisinde

17 milyar GB’lık bir adresleme yapılabilmektedir (Ravi vd., 2016).

Şekil 3.14. 32 bit, 64 bit ve IA64 bit için sanal adres alanı kullanımı

Page 42: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

29

3.6.2. Sanal adres tanımlayıcısı

Sanal adres tanımlayınıcısı (VADs), windows bellek yöneticisi tarafından ayrılan

bellek aralıklarının ve fiziksel sayfa listelerini tanımlamak ve yönetmek için

kullanılır. Ayrıca yazma veya kopyalama işlemleri sırasında görev yerine

getirilene kadar sayfaların yapı içinde bekletilmesini sağlar (Dolan-Gavitt,

2007).

Sanal adres tanımlayıcısının procestion ve private memory isimli 2 yapısı

bulunmaktadır.

Protection: Bellek bölgelerine erişimde verilen izinleri saklayan yapıdır. Bu

yapının sabitleri aşağıdaki gibidir.

• PAGE_EXECUTE: Bellekte çalıştırılabilir.

• PAGE_EXECUTE_READ: Bellekte çalıştırılabilir, okunabilir.

• PAGE_EXECUTE_READWRITE: Bellekte çalıştırılabilir, okunabilir ve

yazılabilir.

• PAGE_NOACCESS: Bu bellek bölgesine bağlantı sağlanamaz.

• PAGE_READONLY: Sadece okunabilir.

• PAGE_READWRITE: Okunabilir ve yazılabilir.

Private Memory: Process’ler ile paylaşılmayan özel alanları temsil etmektedir.

3.6.3. Sayfa tabloları

Sayfa tabloları Şekil 3.15’de görüldüğü gibi RAM’in fiziksel adreslerinin sanal

adres alanları ile eşleşmesini sağlayan veri tablolarıdır. Aynı zamanda işlemlerin

diskten yaptıkları takasların durumları da bu tablo üzerinde tutulmaktadır.

Sayfa tabloları fiziksel bellekte saklanmaktadır (Ariffin vd., 2015).

Page 43: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

30

Şekil 3.15. Sayfa tablolarının etkileşimi

RAM üzerinde çalışan her process’in sayfa tablosu bulunur. Windows işletim

sisteminde her process’e ait sayfa tabloları maksimum 4 MB büyüklüğünde

olmaktadır. Sistem üzerinde çalışan bir process bellekteki verilere erişmek

istediği zaman fiziksel belleğin adreslerine sayfa tablolarından erişir.

3.6.4. EPROCESS

Windows işletim sistemi üzerinde çalışan tüm process’ler EPROCESS (Executive

Process) tablosunda tutulur. EPROCESS veri tablosunda çalışan process’in,

Process ID, oluşturulma tarihi, çıkış tarihi ve çıkış durumu bilgisi saklamaktadır

(Dolan-Gavitt, 2007).

3.6.5. File_Object

File_Object tablosunda windows işletim sistemi tarafından oluşturulmuş I/O

fonksiyonları, dosya adları ve sonlandırılan process’in cache bilgileri

tutulmaktadır. Aynı zamanda File_Object içerisinde açık olan dosyaların klasör

ve aygıt bilgileri de yer almaktadır (Okolica ve Peterson, 2010).

Page 44: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

31

3.6.6. Pagefile.sys dosyası

Fiziksel belleğin kapasitesi her bir process’e bellek yöneticisi tarafından atanan

bellek alanlarına göre sınırlı kalmaktadır. Bundan dolayı bazı durumlarda

çalışan tüm process’ler tarafından kullanılan sanal belleğin toplamı fiziksel

belleğin kapasitesine geçmektedir. Bu problemin çözülmesi için Windowsda

paging olarak adlandırılan bir teknik kullanılır. Bu teknik ile bellek yöneticisi,

fiziksel bellekte boş alan oluşturabilmek için bellekte bulunan bazı sayfaları

diske taşır. Hangi sayfanın diske kopyalanacağı işletim sistemi tarafından karar

verilmektedir. Taşınacak process’lere FIFO (First In First Out) ve LIFO (Last In

First Out) gibi farklı algoritmaların yanında process’in öncelik seviyelerine ve

boyutlarına bakılarakta karar verilir (Thomas vd., 2013).

Bellek dışına taşınan sayfalar, işletim sisteminin kök sürücüsü altında bulunan

pagefile.sys dosyasında depolanır. Windows işletim sistemleri 16 farklı page

dosyasını desteklenmesine rağmen genellikle bir tane oluşturmaktadır. Çoğu

durumda, page dosyasının boyutu fiziksel belleğin 1,5 ile 3 katı kadar

olmaktadır. Bilgisayar çalışır durumda iken, bu dosya işletim sistemi tarafından

kullanılır. Bundan dolayı kullanıcı bu dosyaya erişim sağlayamaz. Bu dosya

işletim sistemini tarafından varsayılan olarak silinmez. Fakat bu seçenek kayıt

defterindeki ilgili anahtar ayarı ile değiştirilebilir (Zhang vd., 2010).

Bir sayfa bellek dışına taşındığında, bellekte bulunan ilgili page tablosunda

işaretlenir. Bir process diske taşındığında sayfaya ihtiyaç duyarsa, bir sayfa

hatası (page fault) oluşur. Bu hata ile bellek yöneticisi tetiklenir ve ilgili sayfalar

tekrar belleğe yüklenir (Burdach, 2013).

3.7. Uçucu Veri Analizi

Uçucu veriler, sürekli veri akışının olduğu bellek üzerinde geçici olarak

depolanan ve güç kesildiği zaman kaybolan verilerdir. Bilişim suçlarında disk

analizi ile elde edilemeyen veriler, uçucu veri analizi ile elde edilebilmektedir.

Page 45: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

32

Uçucu veri analizinin yapılabilmesi için RAM imajının alınması gerekmektedir.

RAM imajı üzerinden yapılan analizler ile elde edilebilecek veriler aşağıda

listelenmiştir (Garcia, 2007).

• Sistemde çalışan process’ler,

• Çalışan process’lerin ne zaman ve hangi kullanıcı tarafından başlatıldığı,

• Gizli programlar,

• Kötücül Yazılım ve virüs,

• Aktif ağ bağlantıların durumu,

• Kullanıcı şifreleri,

• Kripto anahtarları,

• Kaydedilmemiş veya sonlandırılmış dokümanlar,

• Yakın geçmişte gerçekleşen internet üzerindeki aktiviteler veya mailler.

Windows işletim sisteminde uçucu veri elde etmek için 2 farklı yöntem

uygulanmaktadır.

3.7.1. Dizgi arama

Dizgi arama, RAM imajı üzerinde yapılacak analiz işlemlerinden biridir. Bu

yöntemde RAM imajı içerisindeki veri yapılarının kullanılmasına gerek

olmamaktadır. RAM imajında üzerinde çeşitli arama seçenekleri belirlenerek,

özel yazım biçimlerine sahip ASCII ve Unicode dizgileri taranabilmektedir. Dizgi

arama yöntemi Windows’da çalışan uygulamaların RAM’de bıraktığı açık

metinlere uygulanmaktadır. RAM’e yüklenmiş dosya türlerinde veri dizilimi,

belirli algoritma ve teknikler ile yapıldığından dolayı bu tür yapılara dizgi arama

yöntemi uygulanmamaktadır. Dosya türlerine ait veriler dosya kazıma yöntemi

ile kurtarılmaktadır (Amari, 2009).

Linux ve Windows ortamlarda kullanılabilen String ve Winhex gibi yazılımlar ile

totalrecall.sh <imaj_dosyası> <imza_dosyası> şeklinde ilk argüman olarak imaj

dosyasını, ikinci argüman olarak da imza dosyasını vererek arama işlemi

gerçekleştirilir (Ball vd., 2006).

Page 46: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

33

Windows işletim sisteminde çalışan internet tarayıcıları, kullanıcıya ait bilgileri

belirli bir süre şifreleme kullanılmadan RAM’de saklamaktadır. Bu bilgilere RAM

imajından, dizgi arama yöntemi kullanarak erişim sağlanır. Bu noktada her

uygulama için ayrı dizgi yöntemleri belirlenerek tarama yapılmaktadır (Poisel

vd., 2011). Çizelge 3.8’de sosyal medya hesaplarına ait kullanıcı adı ve şifre

taraması için oluşturulmuş dizgi örnekleri verilmiştir.

Çizelge 3.8. Sosyal medya hesaplarına ait veriler için kullanılan dizgiler

Hesap Adı Hesap Adı Şifre Gmail &Email= &Passwd= Facebook &email= &pass= Google+ &Email= &Passwd= Youtube &Email= &Passwd= Twitter &session%5Busername_or_email

%5D= &Session%5Bpassword%5D=

Amazon &Email= &password Blogger &Email= &Passwd Playstore &Email= &Passwd

Dizgi arama yöntemi RAM’de belirli kurallara göre dizelenmiş tüm açık

metinlere uygulanmaktadır. İnternet tarayıcıları web sayfalarına ait verileri

RAM’de açık olarak saklamaktadır. Saklanan bu verilere erişmek için RAM

içerisinde yapılacak dizgi arama örneği aşağıdaki verilmiştir. Ayrıca Şekil

5.16’da Internet Explorer’dan giriş yapılmış bir sosyal medya hesabına ait

tarama yapılmış kullanıcı bilgisi ve şifre dizilimi gösterilmektedir (Thongjul ve

Tritilanunt, 2015).

Gmail signin: &Email==[0-9]?{15}[a-z]?{15}%40([a- z]{8}\.)?[a-z]{8}\.com&Passwd== Facebook: locale=el_GR&email=[0-9]?{15}[a-z]?{15}%40([a-z]{8}\.)?[a-z]{8}\.com&pass=[0-9]?{15}[a-z]?{15} Hotmail signin: MSPPre=[0-9]?{15}[a-z]?{15}@[a-z]{8}.com|[a-z]?{18}[0-9]?{18}||MSPCID= [a-z]?{18}[0-9]?{18}

Page 47: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

34

Şekil 3.16. İmajda dizgi arama yöntemi örneği

3.7.2. Dosya kazıma

Dosya kazıma, RAM’de binary olarak saklanan sonlandırılmış veya silinmiş

dosyaları arama-kurtarma süreci olarak bilinir. Windows işletim sisteminde

kullanılan dosyalar, RAM’de header ve footer imzaları arasında saklanmaktadır.

RAM’de bulunan dosyalar, header ve footer imza taraması yapılarak

çıkartılmaktadır. Dosya türlerinin sürümlerine göre header ve footer imzaları

değişebilmektedir. Çizelge 3.9’da farklı dosya türlerine ait header ve footer

imzaları verilmiştir. Ayrıca adli bilişimde elektronik delil elde edilecek dosya

türlerine ait header ve footer imzaları EK 1’de verilmiştir (Yasinsac vd., 2003).

Çizelge 3.9. Dosyaların header ve footer imzaları

Dosya Türü

Header Footer

PNG 89 50 4E 47 0D 0A 1A 0A 49 45 4E 44 JPEG FF D8 FF FF D9 JPG FF D8 FF E0 00 10 FF D9 GIF 47 49 46 38 39 61 00 00 3B PDF 25 50 44 46 25 25 45 4F 46 WORD D0 CF 11 E0 A1 B1 1A E1 00 00 D0 CF 11 E0 A1 B1 E1 00 00 XML 3C 3F 78 6D 6C 20 76 65 72 73

69 6F 6E 3D 22 31 2E 30 22 3F 3E

-

RAM imajı içerisinde dosya kazıma yöntemi ile kurtarılan verilerde oluşan kayıplar dosya yapısını bozabilmektedir. Bundan dolayı dosya kazıma tekniğinde öncelikle veri blokları kurtarılmaya çalışılmaktadır. Şekil 3.17’de

Page 48: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

35

RAM’de bulunan jpeg dosyasına ait dosya boyutu, veri yapısı işaretçileri, header ve footer imzaları görüntülenmektedir.

Şekil 3.17. RAM’de bulunan resim dosyasının bellek haritasında görünümü

Bazı dosya türleri RAM’e footer imzası bırakmamaktadır. RAM imajı analizinde

footer imzası olmayan dosya türleri için header imzasından sonra maksimum

büyüklük girilerek sonlandırma yapılmaktadır. Footer imzası olmayan

dosyalarda kullanılan maksimum büyüklük o dosyaya ait gömülü boyuttan

alınmaktadır (Walters ve Petroni, 2007).

3.7.3. Process analizi

Process, içerisinde iş parçacıklarının, tanıtıcıların ve güvenlik halkaları gibi

sistem bileşenlerini bulunduran bir yapıdır. İşletim sisteminde diskte bulunan

program kodlarının işlemci tarafından çalışması için bu kodların ve eriştiği

verilerin belleğe yüklenmesi gerekmektedir.

Page 49: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

36

Process analizinin yapılabilmesi için process’lerin bellekte bulunduğu

durumların bilinmesi gerekmektedir. Process’ler bellekte çalışma biçimlerine

göre 3 farklı durumda bulunmaktadır. Birinci tip process’ler işletim sisteminin

ilk açıldığı zaman bellekte çalışırlar. Bu process’lerin analizi ile sistemde hangi

programların çalıştığı, bu programların eriştiği dosyalar ve açık ağ

bağlantılarına ait bilgiler öğrenilebilir (Okolica ve Peterson, 2010). Uçucu

bellekte bulunabilen ikinci process tipi ise sonlandırılmış process’lerdir. Bir

process sonlandırıldığında bu process için ayrılmış bellek boş olarak işaretlenir.

Eğer sonlandırılmamış process’e ait bellek alanına yeni bir process

yüklenmemiş ise, bu process’lere tekrar ulaşılabilir. Son tip olarak kötücül

yazılımların oluşturdukları gizli process’lerdir. Örneğin rootkit, aslında bir

Windows hizmeti olan svchost adı altında bir process oluşturarak kendini

saklayabilmektedir (Karayianni vd., 2012).

Windows işletim sisteminde process’ler kendine ait özelliklerini ve veri

yapılarını içeren Eprocess veri yapısı içerisinde saklanır. Bellekte Eprocess

block ve içerdiği veri yapıları sistem adres alanında bulunur. Eprocess block

içerisindeki veri yapılarından biri olan Process Environment Block (PEB) ise

istisna olarak sürece ait adres alanında bulunur ve user mode’da çalışan

process’in kullanım bilgilerini içermektedir. Eprocess bloklar RAM’de,

List_Entry veri yapısı kullanılarak birbirlerine bağlanmaktadır (Stevens ve Casey,

2010).

List_Entry kullanılarak, process ile ilgili process numarası, parent numarası,

ilişkili thread sayısı, açık handle sayısı, oturum numarası, açılma tarih ve saati

gibi birçok bilgiye erişilebilir.

3.8. Windows Driver Kit

WDK, Şekil 3.18’de görüldüğü gibi Visual Studio platformu üzerinden C++ ile

User veya Kernel Mode üniversal driver geliştirmek için kullanılan

Page 50: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

37

kütüphanedir. Universal driver modeli ile tek driver’ın bilgisayar, tablet, telefon

ve Xbox üzerinde çalışabilmesi amaçlanmaktadır (Microsoft, 2018).

Şekil 3.18. WDK ile geliştirilen sürücü türleri

WDK Windows Vista işletim sisteminde değişen dosya yapısı sonrasında

kullanılmaktadır. Vista işletim sistemi öncesi DDK (Driver Development Kit) ile

sürücü geliştirilmekteydi. Bundan dolayı WDK ile geliştirilen driver’lar Vista

sonrası Windows işletim sistemlerinde kullanılmaktadır.

WDK ile geliştiren sürücünün sisteme sorunsuz yüklenmesi için gerekli testler

için Windows Hardware Lab Kit (Windows HLK), Windows Hardware

Certification Kit (Windows HCK) ve Windows Logo Kit (WLK) kullanılmaktadır

(Microsoft, 2018).

Windows Hardware Lab Kit (Windows HLK) : Sürücünün donanım yükleme

testlerinin yapılması için kullanılır.

Windows Hardware Certification Kit (Windows HCK) : Geliştirilen

sürücünün dijital imzasının üretilmesi için kullanılır.

Windows Logo Kit (WLK) : Cihaz imza kalitesi ve performans testleri için

kullanılır.

Page 51: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

38

4. ADLİ BİLİŞİM YAZILIMI

Adli bilişimde sürecinde RAM’den elektronik delil elde etmek için geliştirilen

yazılım Şekil 4.1’de gösterildiği gibi 4 bölümden oluşmaktadır. Birinci bölümde

RAM’e Kernel mode’da erişim sağlanıp, adreslerinin alınması için RAM sürücüsü

yazılmıştır. İkinci bölümde bu RAM sürücüyü kullanıp Windows’da RAM imajı

alan RİMAY isimli yazılım geliştirilmiştir. Alınan imaj dosyasından MS Word ve

PDF dosyalarının kazıma işlemleri DOKAY yazılımı ile üçüncü bölümde

gerçekleştirilmiştir. Dördüncü bölümde ise kazınan dosyalar içerisinde

okunabilir verileri kurtarılması sağlanmaktadır. Geliştirilen sistemin Şekil 4.2’de

çalışma modeli ve algoritması verilmiştir.

Şekil 4.1. Geliştirilen sisteme ait yazılımların gösterimi

Yapılan çalışmanın imaj alma ve analiz işlerinde kullanılan donanımın özellikleri

Çizelge 4.1’de verilmiştir. Ayrıca farklı boyutlardaki RAM’lerin imaj alma

sürelerin ölçümü için farklı RAM kapasitelerinde sanal sunucu oluşturulmuştur.

•Kurtarılan dosyalardaki verilerin toplanmasını sağlar.

•DOC,DOCX, XML ve PDF ait dosyaların çıkartılması sağlar.

•RAM ve pagefile.sys dosyasının içeriğini bit-to-bit kopyalar.

•Kernel Mode seviyesinde RAM'in tüm adreslerine erişimi sağlar.

Kernel Mode RAM Driver

RAM İmajı Alma Yazılımı

(RİMAY)

Veri Kurtarma Yazılımı

Dosya Kazıma Yazılımı (DOKAY)

Page 52: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

39

Çizelge 4.1. RAM imajına ait sistem bilgisi

Fiziksel Donanımının özellikleri İşletim sistemi Windows 10 64 Bit RAM 12 GB Page File 2 GB CPU Intel i7 7300U 2.90 Ghz

Şekil 4.2. Yazılım modelinin yapısı ve akış şeması

Page 53: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

40

4.1. Kernel Mode RAM Sürücüsünün Geliştirilmesi

RAM analizin yapılabilmesi Windows üzerinde belleğin içerisindeki tüm

adreslerin ve verilerin imajının alınması gerekmektedir. İmaj alma yazılımları

Windows Vista öncesi, RAM adreslerine erişim sağlamaktadır. Fakat Windows

Vista sonrası RAM’in adreslerine erişim kısıtlanmıştır. Windows’da user

mode’da RAM’e tam erişim sadece Kernel mode seviyesinde çalışan uygulamalar

ile mümkündür. Bir uygulamanın Windows’da kernel mode seviyesinde

çalışabilmesi için Kernel mode sürücü dosyası kullanması gerekir. Bundan

dolayı imaj alma yazılımı için öncelikle kernel mode RAM driver geliştirilmiştir.

Kernel Mode RAM sürücüsü, WDF (Windows Driver Frameworks)

kütüphanesini kullanan WDK şablonunda C++ programlama dili ile

geliştirilmektedir. Sürücü geliştirmek için gerekli WDK, Visual Studio 2015 ve

2017 platformlarına yüklenmektedir. Ayrıca WDK, Windows 7 ve üzeri işletim

sistemlerinde kullanılır.

Geliştirilen sürücü, Windows Vista ile beraber işletim sisteminde çalışması için

dijital imzasının bulunması gerekmektedir. Kernel Mode sürücüsü için dijital

imzalamada Extended Validation Code Signing Certificates (EVCSC) kullanılır.

EVCSC, işletim sistemlerinde kernel mode sürücünün çalışabilmesi için gerekli

donanım güvenlik modüllerini içeren dijital imza sertifikasıdır. Bu sertifika

ticari kullanımlarda, güvenlik firmalarından satın alınmaktadır. WDK ile sürücü

geliştirme ve test işlemlerinde dijital imzalama, Test Certificate Kit ile

yapılmaktadır. Test Certificate Kit, Kernel mode sürücünün Windows işletim

sisteminde test edilmesi ve kullanılmasını sağlayan bir yazılımdır. Test

Certificate Kit ile üretilen sertifikanın kullanılması için Windows işletim

sisteminin başlangıç ayarlarından “sürücü imza zorlamasını devre dışı bırak”

yapılması gerekir.

İşletim sistemine yeni bir kernel driver yüklendiği zaman I/O, Güç ve Tak &

Çalıştır yöneticileri ile iletişime girer. Sürücünün ilk yükleme sürecinde I/O

Page 54: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

41

yöneticine istekte bulunulur. Bu istek, driver dosyası içindeki IRPs (I/O Request

Packets) parametreleri ile gerçekleşir. Yüklenecek sürücünün I/O yöneticisinin

isteklerine IRPs parametresi ile doğru cevap vermesi gerekir. Hatalı parametre

gönderme kernel mode üzerinden olacağı için kilitlenme, donma veya mavi

ekran hatalarına neden olmaktadır.

Sürücü geliştirme süreci Şekil 4.3’de görüldüğü gibi Visual Studio 2017

üzerinden yeni bir Kernel Mode Driver şablonunun açılması ile başlamaktadır.

Şekil 4.3. Kernel Mode Driver şablonu

Açılan şablon proje içerisine, sürücü oluşturma için driver.c ve PTE üzerinde

adreslere erişim için kullanılacak address_pte_list.c isimli C++ kütüphane

dosyası oluşturulmuştur. driver.c dosyası içerisinde I/O yöneticisine istekte

bulunan DriverEntry ve A2SRamDriverEvtDeviceAdd fonksiyonları Şekil 4.4’ teki

gibi tanımlanmıştır.

Page 55: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

42

Şekil 4.4. DriverEntry ve A2SRamDriverEvtDeviceAdd fonksiyonu kullanımı

Driver’in RAM adres erişimi için WDF’de yer alan wdm.h kütüphanesine ait

FILE_READ_DATA fonksiyonu kullanılır. Driver’ın RAM erişimi için

IoCreateDeviceSecure fonksiyonunun Şekil 4.5’deki gibi çağrılması

gerekmektedir.

Şekil 4.5. IoCreateDeviceSecure fonksiyonun çağrılması

IoCreateDeviceSecure fonksiyonu Windows’ta kullanılacak yeni donanımı

oluşturabilmesi için DriverObject, DeviceExtensionSize, DeviceName, DeviceType,

DeviceCharacteristics, Exclusive, DeviceObject parametrelerinin verilmesi

gerekmektedir.

Sürücünün sisteme yüklendikten sonra imaj alma yazılımından RAM’e erişim

için aygıt ismi tanımlanması yapılmaktadır. Bu tanımlama için kullanılan etiket

yapısı aşağıda verilmiştir.

Page 56: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

43

#define A2S_DEVICE_NAME L"a2sram"

Sürücü sisteme yüklenirken, IRPs parametreleri I/O yöneticisi ile iletişimi

wdm.h kütüphanesinden Şekil 4.6’daki gibi referans alınan IRP_MJ_READ ve

IRP_MJ_WRITE fonksiyonları ile sağlanmaktadır.

Şekil 4.6. IRP_MJ_READ ve IRP_MJ_WRITE fonksiyonları

wdm.h kütüphanesine ait __outword ve __inword fonksiyonları, Şekil 4.7’de

gösterilen fonksiyonlarda kullanılarak RAM’in adres aralıklarına erişim imkanı

sağlamaktadır. Ayrıca her adrese test verisi ve okuma komutu gönderme işlemi

yapılmaktadır. Bu sayede RAM imajı alınırken adres atlamalarının önlenmesi

sağlanmaktadır.

Şekil 4.7. Driver’ın RAM’e erişim fonksiyonları

RAM Driver’ın işletim sistemine yüklenebilmesi için dijital imza dosyasının

olması gerekir. Dijital imza, Şekil 4.8’de gösterildiği gibi projede property

penceresinden Signing > Test Certificate > Create Test Certificate yolu

izlenerek alınabilmektedir. Geliştirilen RAM sürücü için alınan dijital imza

sürücü dosyası içerisine Şekil 4.9’da görüldüğü gibi yüklenmiştir. Alınan dijital

imzalar 10 yıl geçerliliğe sahiptir.

Page 57: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

44

Şekil 4.8. Sürücü için test sertifikası alma

Şekil 4.9. Sürücüye ait imzalanmış dijital sertifika

4.1.1. Kernel Mode sürücünün test edilmesi

Kernel Mode RAM sürücünün sistem dosyalarının oluşturulması için projenin

derlenmesi gerekir. Derlemeden sonra Debug klasör içerisine,

A2SRamDriver.sys isimli kernel mode driver ve A2SRamDriver.inf isimli driver

kurulum dosyası üretilir. Geliştiren sürücü, Visual Studio’da 32bit ve 64bit için

ayrı ayrı derlenerek sürücü dosyaları oluşturulur.

Page 58: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

45

Kernel mode RAM driverin işletim sistemi üzerine yüklenip fiziksel donanıma

erişiminin test edilmesi için WDK ile beraber gelen Driver Test kiti

kullanılmıştır. Bu kit visual studio içerisinde sanal donanım oluşturarak,

sürücünün bu donanıma yüklenmesini sağlamaktadır. Visual Studio’da test

ortamının oluşturulması için Şekil 4.10’da görüldüğü gibi Driver menüsü

içerisinden Test>New Test Group menüsüne tıklanmaktadır.

Şekil 4.10. Test ortamının oluşturulması

Driver’ın testi için oluşturulan test ortamında hangi donanıma yükleneceği Şekil

4.11’de gösterildiği gibi seçilmesi gerekmektedir. Test ortamı çalıştırıldığında

driver’ın sisteme yüklenme sürecinde oluşan hatalar output penceresinde

görülmektedir.

Şekil 4.11. Test için kullanılacak donanımın seçim ekranı

Page 59: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

46

4.2. RİMAY Yazılımının Geliştirilmesi

Windows işletim sisteminde RAM imajının alınması için öncelikle Kernel mode

seviyesine geçilmesi gerekir. Bunun için imaj alma yazılımı tarafından kernel

mode RAM sürücünün sisteme yüklenmesi gerekmektedir. Yüklenen sürücü

üzerinden RAM’in tüm adreslerine ve verilerine erişim sağlanılarak bit-to-bit

kopyası sabit diske alınmaktadır. RİMAY yazılımının çalışması sırasında RAM’de

az yer kaplaması için Windows komut satırı üzerinde çalıştırılmaktadır. Böylece

yazılımın imaj alma sürecinde RAM’de kapladığı alandan dolayı verilerin silinme

ihtimali azaltılmaktadır.

RİMAY’ın geliştirilmesinde öncelikle imaj dosyasının tanımlamalarının

yapılması gerekmektedir. Şekil 4.12’de verildiği gibi imaj dosyasının dosya adı,

sistem bilgisi, sanal bellek konumu bilgileri tanımlanmıştır. Yazılımın Kernel

mode’da çalışması için gerekli sürücü dosyaları projeye kaynak dosya olarak

eklenip, referansları A2S_64BIT_DRIVER ve A2S_32BIT_DRIVER isimli

değişkenler içerisinde saklanmaktadır.

Şekil 4.12. Alınacak imaj dosyasına ait tanımlama

İmaj dosyasının alındığı sistemin bilgilerinin dosya içine aktarılması için

kullanılan A2SSistem isimli sınıf Şekil 4.13’de verilen kodlar ile oluşturulmuştur.

A2SSistem isimli sınıf mevcut sistemin işlemci ve işletim sistemi bilgisini ana

sınıfa parametre olarak döndürmektedir.

Page 60: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

47

Şekil 4.13. A2SSistem isimli sınıf yapısı

Sürücünün sisteme yüklenmesi servis üzerinden gerçekleşir. Bunun için yazılım

içerisinde winsvc.h kütüphanesinde yer alan SC_HANDLE sınıfından aşağıdaki

kod bloğu ile nesne alınmıştır. Oluşturulan nesneye Şekil 4.14’deki görüldüğü

gibi CreateService fonksiyonu ile servisin adı, sürücü dosyası ve gerekli sabit

değerler yollanarak çalıştırılır.

SC_HANDLE servis = OpenSCManager(NULL, NULL, SC_MANAGER_CREATE_SERVICE);

Şekil 4.14. Sürücü yükleme servisinin oluşturulması

Kernel mode RAM sürücüsü üzerinden erişilen fiziksel belleğin yapısını sisteme

yüklemek için Şekil 4.15’de verilen A2SRAMinfo isimli struct oluşturulmuştur.

Bu yapı ile RAM’e ait bellek haritası çıkartılmaktadır.

Page 61: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

48

Şekil 4.15. A2SRAMinfo isimli struct yapısı

SC_HANDLE sınıfından alınan servis nesnesinin tetiklediği driver’ın sisteme

yüklenmesi ile RAM’ın adresleri ve adreslere ait yapılar bu servis üzerinden

gelmektedir. RAM driver’dan RAM’e ait gelen bilgiler A2SRAMinfo

saklanmaktadır. Şekil 4.16’da verilen döngü bloğu ile RAM’in ilk adresi ile son

adresi arasındaki verileri ReadFile fonksiyonu ile buffer’a atılmaktadır. Aynı

zamanda ReadFile fonksiyonu okuma sırasında hata oluşturmaz ise buffer’daki

veriler, WriteFile fonksiyonu ile geçici imaj dosyası içerisine eşzamanlı olarak

yazılmaktadır.

Şekil 4.16. RAM’in adresinin okunması

Yazılım tarafından oluşturulacak olan RAM imajı dosyasının sabit diske

yazılması için fileapi.h C++ kütüphanesi içerisinden CreateFile fonksiyonu

kullanılmaktadır. CreateFile fonksiyonu ile Şekil 4.17’de görüldüğü gibi imaj

dosyasının adı ve sabit parametreleri gönderilmektedir. Sabit diske

Page 62: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

49

oluşturulacak dosyanın durumu bool tipindeki cikisi_dosya_yol isimli değişkende

saklanmaktadır.

Şekil 4.17. İmaj dosyasının sabit diske yazılması

RAM’ın tüm adreslerinin ve verilerin imaj dosyasına aktarılması

tamamlandıktan sonra sisteme yüklü olan sürücünün kaldırılması

gerekmektedir. Sürücüyü kaldırmak için öncelikle OpenService fonksiyonu ile

sürücüyü yükleyen servisin bulunması gerekir. Daha sonra ControlService

fonksiyonu aktif servise SERVICE_CONTROL_STOP parametresi ile durdurma

komutu gönderir. Son olarak servis sistemden silinir ve RAM’den işaretçisi

kaldırılır. RAM sürücüsüne ait servisin sistemden kaldırılmasını sağlayan

driver_kaldir fonksiyonu Şekil 4.18’de verilmiştir.

Şekil 4.18. Driver dosyasının sistemden kaldırılması

4.2.1. İmaj alma yazılımın test edilmesi

Geliştirilen imaj alma yazılımının test edilmesi için Kernel mode RAM driver ile

kullanılması gerekmektedir. RAM driver dosyası imaj alma yazılımın çalıştığı

debug klasörü içerisinde bulunmaktadır. İmaj alma işlemi, Windows 8, 8.1 ve

Page 63: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

50

10 (32 ve 64 bit) işletim sistemleri üzerinde farklı RAM kapasitelerinde

uygulanmıştır. Ayrıca bellek yönetimi tarafından geçici hafıza olarak ayrılan

2GB pagefile.sys dosyası da imaja dahil edilmiştir. RİMAY yazılımın sürücüyü

kullanma modeli Şekil 4.19’da verilmiştir.

Şekil 4.19. Driver’ın çalışma modeli

İmaj alma yazılımının RAM sürücüsünün sisteme yükleyebilmesi ve çalıştırması

için Windows işletim sisteminin “Başlangıç Ayarları” ekranından “7) Sürücü

imzası zorlamasını devre dışı bırak“ seçeneğinin seçilmesi gerekmektedir. Bu

başlangıç ayarı penceresi, Windows’un çalıştır ekranına “shutdown /o /r -t 00”

komutu girilip, sistem yeniden başladıktan sonra açılmaktadır.

Şekil 4.20’de ekran görüntüsü verilen RİMAY yazılımı Windows komut satırı

üzerinde administrator olarak çalışmaktadır. Yazılım çalıştığında ilk olarak

sürücü sisteme yüklenmektedir. Daha sonrada RAM adresleri ve verileri

okunarak imaj dosyası içerisine yazılır. Yazma işlemi tamamlandıktan sonra

dosya kapatılır ve sürücü sistemden kaldırılır. Windows 10 işletim sistemi

üzerinde alınan RAM imajı dosyası Şekil 4.21’de görüldüğü gibi test.raw ismi ile

kaydedilmiştir. Alınan imaj dosyasında 12GB lık fiziksel RAM ve 2GB ‘lık

pagefile.sys sanal bellek dosyası bulunmaktadır. İmaj dosyasına ait ham veriler

Şekil 4.22’de hex haritası üzerinde gösterilmiştir.

Page 64: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

51

Şekil 4.20. RİMAY’ın imaj alma işlemini görüntüsü

Şekil 4.21. Oluşturulan imaj dosyasının görüntüsü

Şekil 4.22. RAM imajının hex görünümü

4.3. DOKAY Yazılımının Geliştirilmesi

DOKAY, RİMAY yazılımdan ile alınan raw uzantılı RAM imajı dosyasından dizgi

tarama ve kazıma tekniği ile MS Word ve PDF dosyalarını kazımaktadır. Yazılım

Visual Studio 2017 plaformunda C++ programlama dili ile geliştirilmiştir. Ayrıca

yazılımda görevlerin iş parçacıklarına bölünüp eş zamanlı tarama yapılması için

Page 65: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

52

POSIX Kütüphanesi kullanılmıştır. POSIX kütüphanesi Visual Studio ile

derlenmediği için derleme işlemi TDM-GCC isimli yazılım ile yapılmıştır.

TDM-GCC : C/C++ ve Fortran dillerine ait çoklu dosyaları hızlı olarak derleme

avantajı sağlayan bir derleyicidir. 32 bit ve 64 bit Windows işletim

sistemlerinde farklı kütüphaneleri ortak bir derleme dosyası içerisinden

çalıştırılabilir dosyalarını oluşturmaktadır.

DOKAY yazılımı imaj içerisindeki MS Word ve PDF dosyaların çıkartılması için

dosyaların RAM’de bıraktığı imzalarını taramaktadır. MS Word dosyalarında

bilindiği üzere 2 farklı uzantı kullanılmaktadır. Word 2007 öncesinde kullanılan

DOC uzantılı dosyalarda yapılacak imza taramasında doc dosyasına ait imzalar

kullanılmaktadır. Word 2007 sonrasında kullanılan DOCX uzantılı dosyalarda

ise DOCX ve XML dosyalarına ait imza taraması yapılmaktadır. Yazılımda imza

taramasında kullanılan header ve footer verileri EK 1’de verilmiştir. PDF, DOC,

DOCX ve XML dosyalarına ait kullanılan imza örneği aşağıdaki verilmiştir.

İmza Örneği

PDF Header:25 50 44 46 Footer:25 25 45 4F 46 DOC Header:50 4B 03 04 14 00 06 00 Footer:50 4B 05 06 DOCX Header:50 4b 03 04 14 00 06 00 Footer: XML Header:3c 3f 78 6d 6c Footer:

DOKAY yazılımı kazıma işlemi için imaj dosyasına ve imza veri tabanına ihtiyaç

duymaktadır. Kullanılan imaj dosyası boyutlarının büyük olması ve farklı imza

türlerinin bulunması kazıma işlemi süresini artırmaktadır. Bu sürenin kısalması

için her imza türü GPU (Graphics Processing Unit) üzerinde ayrı bir process

üzerinde işlenmektedir. Bu teknik ile aynı imaj dosyasını kullanılan imza türü

sayısı process oluşturulmaktadır. GPU üzerinde çoklu process çalıştırmak için

POSIX kütüphanesi kullanılmıştır.

RAM imajı içerisinde kazıma işlemi öncelikle işlem sürecinde kullanılacak genel

değişken ve sabitlerin Şekil 4.23’deki gibi tanımlanması gerekmektedir.

Tanımlanan sabit ve değişkenlerin işlevleri aşağıda verilmiştir.

Page 66: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

53

• toplam_aranan: Tarama sürecinde kaç adet dosyanın arandığının

bilgisini tutar.

• toplam_kuyruk: Kazınacak kaç adet dosyanın olduğunun bilgisini tutar.

• toplam_okunan: İmaj içerisinden kaç adet dosyanın okunduğunun

bilgisini tutar.

• toplam_yazilan: Kuyruğa kaç adet dosyanın yazıldığının bilgisini tutar.

• PARS_DEFAULT_CONFIG_FILE: Dosyalara ait imzaların saklandığı konum

bilgisini saklar.

• PARS_DEFAULT_OUTPUT_DIR : Kazınan dosyaların çıkartılacağı dosya

bilgisini saklar.

• STARTCARVE, STOPCARVE, STARTSTOPCARVE, CONTINUECARVE: Kazıma

sürecinde kullanılan sabit değerlerdir. Sırasıyla 1,2,3,4 verilerini saklar.

Şekil 4.23. Sabitler ve değişkenlerin tanımlanması

Tarama sonucunda elde edilecek olan dosyaların geçici bellekte saklanması için

Şekil 4.24’deki gibi CarveBilgi isimli yapı tanımlaması yapılmıştır. Bu yapı

içerisinde dosyanın adı, dosya yapısı, imajdaki başlangıç ve bitiş adresi ve ham

verileri tutulmaktadır. İmaj içerisinde yapılan ilk taramada bulunan dosyalara

ait bilgileri CarveBilgi yapısınden referans alan jeneriklerde saklanacaktır.

Şekil 4.24. CarveBilgi isimli yapının tanımlanması

Page 67: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

54

İmza veri tabanında bulunan header ve footer verilerine göre tarama yapılması

için Adres_Arama isimli yapı tanımlanmıştır. RAM’e yüklenen her dosya header

imzası bırakmaktadır. Fakat bazı dosyalar RAM’e yüklenirken footer imzası

bırakmazlar. Dosyalara ait footer imzası olmadığı zaman kazıma işlemleri için

tahmini büyüklük değerleri girilir ve bu büyüklüğe göre dosya sonu oluşur. Şekil

4.25’de gösterilen Adres_Arama isimli yapı içerisinde header ve footer

imzalarına ait veri ve büyüklük değerleri saklanabilmektedir. Footer bilgisinin

olmadığı dosyalarda 1.5 MB’lık tahmini bir boyut girilmektedir. Bu boyutun

adres aralıkları içerisinde yeni bir header bulunursa header adresinin öncesine

çekilmektedir. Tercih edilen 1.5 MB boyut ortalama yüz sayfalık doküman

dosyasına ait bir boyutudur. Boyutun 1.5 MB fazla olması kazınan dosyaların

boyutlarını artırak veri kurtarmayı zorlaştıracaktır.

Şekil 4.25. Adres_Arama isimli yapının tanımlanması

RAM imaj dosyasının içinde imza veritabanında yer alan header ve footer

verileri ile eşlenen dosyalar için dosya büyüklükleri kadar yer ve adresleri geçici

hafızada malloc fonksiyonu ile oluşturulmaktadır. Geçici hafızada adresleri

oluşturulan dosyalar Toplanan_Dosya_Kontrol fonksiyonu ile kazınmak için

biriktirilmektedir. Şekil 4.26’da görüldüğü gibi Toplanan_Dosya_Kontrol

fonksiyonu ile biriktirilen dosyaların verileri strcopy fonksiyonu ile

yazılmaktadır.

Page 68: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

55

Şekil 4.26. İmzası bulunan dosyaların geçici belleğe atılması

Veri tabanında footer imzası bulunmayan dosyaların taranmasında sabit

büyüklük değeri ile dosya sonu belirlenmiştir. Header verisine ait adrese 5 MB

büyüklüğünde sabit bir uzunluk eklenerek o dosyanın kapanışı yapılmaktadır.

Şekil 4.27’de verilen şart bloğunda footer adresi olmayan dosyaların

taranmasını sağlanmıştır.

Şekil 4.27. Footer verisi olmayan dosya taraması

İmza veri tabanından gelen header ve footer verilerine göre tarama yapılırken

imaj içerisinde aranılan dosyaya ait adresler bulunduğunda Kuyruga_Ekle

fonksiyonu ile geçici hafızaya alınmaktadır. Tarama sırasında bulunan tüm

adreslerin hafızaya atılması için Kuyruga_Ekle isimli fonksiyon Şekil 4.28’deki

gibi döngü içerisinde tetiklenmektedir.

Şekil 4.28. İmzası bulunan dosyaların geçici belleğe atılması

Page 69: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

56

Geçici bellekte bulunan dosya verilerinin adreslerinden okunarak imza veri

tabanında bulunan dosya formatına aktarılması için, Şekil 4.29’da gösterilen

RAM_Data_Topla fonkiyonunun çağrıldığı kod bloğu kullanılmaktadır.

Şekil 4.29. Kazınan dosyaların orijinal dosya formatlarına aktarımı

4.3.1. Dosya kazıma yazılımının test edilmesi

Yazılımın geliştirilmesinden sonra exe dosyasının üretilmesi için öncelikle C++

dosyalarının TDM-GCC programı ile derlenmesi gerekir. Bu derleme işlemi için

komut satırına “mingw32-make -f Makefile” komutunun girilmesi

gerekmektedir. Derleme işlemi bittikten sonra yazılımın exe dosyası derleme

yapılan klasör içerisinde oluşturulacaktır. Komut satırı üzerinden, derlenen

pars.exe yazılımı çalıştırıldığı zaman Şekil 4.30’da görüldüğü gibi imza

veritabanında yer alan verilere göre tarama ve kazıma işlemini başlatacaktır.

Şekil 4.30. Dosya kazıma yazılımın ekran görüntüsü

Page 70: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

57

RAM imajında dosya kazıma işlemi bittikten sonra hafızadan çıkartılan DOC,

DOCX, PDF ve XML formatlarına ait dosyalara sıralı rakamlardan isim

verilmektedir. Sabit diske çıkartılan dosyaların listesi Şekil 4.31’de verilmiştir.

İşletim sisteminde sonlandırılmış dosyaların üzerine yazılan verilerden dolayı

dosyaların yapısında ve verilerinde bozulmalar olmaktadır. Kazınan dosyalar

üzerinde veri kurtarma teknikleri uygulanarak ayrı bir yazılımda içerisindeki

okunabilir verilere ulaşılacaktır.

Şekil 4.31. Kazınan dosyaların listesi

RAM’de dosyalar parçalı bloklarda ve farklı adreslerde saklanmaktadır.

Sonlandırılmış dosyalara ait veriler kurtarılırken kayıplar meydana

gelmektedir. Yâda Windows bu adreslere yeni veriler yazabilmektedir. Bundan

dolayı her dosyada oluşacak veri kaybı büyüklüğü ve yapısı farklı olmaktadır.

Kazıma sonucunda kurtarılan her dosyanın, dosya yapısı analizinin yapılması

gerekmektedir. Şekil 4.32, Şekil 4.33 ve Şekil 4.34’ de verilen örneklerde

görüldüğü gibi hex editör üzerinden her dosyanın yapısı gözden geçilmiştir.

Buna göre veri kurtarma yazılımında kullanılacak teknikler belirlenmektedir.

Page 71: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

58

Şekil 4.32. PDF dosyasının açık metin görünümü

Şekil 4.33. DOCX dosyasının açık metin görünümü

Page 72: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

59

Şekil 4.34. DOC dosyasının açık metin görünümü

4.4. Veri Kurtarma Yazılımının Geliştirilmesi

RAM imajından kazınan dosyalar üzerinde veri kurtarma tekniklerinin

uygulanması gerekmektedir. Dosyaların RAM’den kazınması sırasından dosyaya

ait veri ve yapı bilgisinde kayıplar oluşmaktadır. Bundan dolayı kurtarılan

dosyalar Windowsda uygulamaları üzerinden açılmamaktadır. Dosyalar

içerisindeki verilere erişim sağlamak ve okunabilir verileri kurtarmak için veri

kurtarma yazılımına ihtiyaç duyulmuştur. Şekil 4.35’de ana formu gösterilen

veri kurtarma yazılımında MS Word ve PDF dosyalarındaki verilerin

kurtarılması için 3 farklı teknik uygulanmıştır.

Page 73: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

60

Şekil 4.35. Veri kurtarma yazılımının ana form ekran

Birinci teknikte, PDF dosyalarında yer alan veri blokları (stream-endstream)

yazılım tarafından tek tek çıkarılarak boş bir PDF yapısı içerisinine

yerleştirilmiştir. Oluşturulan PDF yapısı, PDF dosya formatında kaydedilerek

kurtarılan verilere erişim sağlanmıştır.

İkinci teknikte, word dosyasına ait veriler için docx ve xml uzantılı dosyalarda

dizgi arama işlemi kullanılmıştır. Docx ve xml uzantılı dosyalardaki ham

verilerin <w:t> ve <w:tbl> etiketleri içinde kalan kısımları birleştirilerek

dosyaya ait kurtarılan veriler elde edilmektedir.

Üçüncü teknikte, word dosyalarına ait doc uzantılı dosyalarda RAM yüklenirken

şifrelenen veriler çözülmüştür. Her bir doc uzantılı dosyaya ait ham verilerin

sisteme yüklenip içerisindeki veri blokları tespit edilmiştir. Tespit edilen

sıkıştırılmış veri blokları decode edilerek içerisindeki verilere erişim

sağlanmıştır.

Veri kurtarma yazılımının geliştirilmesinde Visual Studio 2017 üzerinde C# 6.0

programlama dili kullanılmıştır. Yazılımın Windows Vista ve üstü tüm işletim

sistemlerinde çalışması için Framework 3.5 ‘de çalışılmıştır.

Page 74: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

61

4.4.1. DOC uzantılı dosyalardan verilerin kurtarılması

Doc uzantılı bir word dosyası 7 parçaya bölünerek şifrelenmektedir. Dosya

içerisindeki veriler WordDocument kısmında yer almaktadır. Dosya içerisinde

WordDocument bloğu [Content_Types] etiketi ile başlamaktadır. Dosya

içerisindeki şifreli veriler, Şekil 4.36’da görüldüğü gibi başlangıç ile STX etiketi

arasında kalan adreslerden çıkartılmaktadır.

Şekil 4.36. Sıkıştırılmış DOC uzantılı MS Word dosyası

Kazınan doc dosyasında yer alan şifreli veri blokları C# programlama dili

içerisinde bulunan codepage 1252 ile decode edilmiştir. Gerçekleştirilen decode

işlemine ait kod bloğu Şekil 4.37’de verilmiştir.

Şekil 4.37. Sıkıştırılmış verilerin codepage1251 ile decode işlemi

Doc uzantılı word dosyalarında yer alan veri bloklarındaki kodların çözülmesi

ve toplanan verilerin yeni word dosyasına aktarılma süreci Şekil 4.38’de verilen

akış şemasında gösterilmiştir.

Page 75: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

62

Şekil 4.38. Veri kurtama yazılımının doc taraması akış şeması

Veri kurtarma yazılımının Şekil 4.39’da gösterilen formu ile DOC uzantılı

dosyaların bloklar arasındaki sıkıştırılmış veriler çözülerek editör içerisine

aktarılmaktadır. Aynı zamanda elde edilen verilerin başarı oranının tespit

edilmesi için kurtarılan verilerin KB türünden boyutu ekranda gösterilmektedir.

Page 76: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

63

Şekil 4.39. DOC dosyalarını kurtarma formu

4.4.2. PDF uzantılı dosyalardan verilerin kurtarılması

PDF dosyası içerisinde oluşan 1 byte’lık kayıp bile dosyanın yapısı bozmaktadır.

Bundan dolayı pdf dosyalarından okunabilir verileri çıkartmak için Şekil 4.40’da

yapısı verilen dosyanın içindeki stream ve endstream arasında bloklar tespit

edilmektedir. PDF dosyalarında verilerin kurtarılmasını sağlayan yazılım Şekil

4.41’de verilen akış şemasına göre çalışmaktadır. Buna göre editöre yüklenen

dosyanın içindeki stream ve endstream etiketlerinin bulunması gerekmektedir.

Veri bloklarını saklayan etiketler birden fazla yerde olabilmektedir. Aynı

zamanda oluşan kayıplardan dolayı etiketlerin bazıları bulunmamaktadır.

Birden fazla stream etiketi bulunup endstream etiketi bulunmaz ise, iki stream

etiketi arası alınmaktadır. İki veya daha fazla endstream etiketi bulunursa ilk

endstream etiketinin index değerine 1500 karakter ekleyerek başlangıç

belirlenir. Dosya içerisinde stream ve endstream etiketlerinin aranması için Şekil

4.42’deki gibi tanımlama yapılmıştır.

Page 77: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

64

Şekil 4.40. Sıkıştırılmış bir PDF dosyası

Şekil 4. 41. Veri kurtama yazılımının PDF taraması akış şeması

Page 78: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

65

Şekil 4.42. PDF dosyasındaki veri bloklarının indexlerinin bulunması

Okunabilir veri blokları flatedecode ile sıkıştırılmaktadır. Bundan dolayı

sıkıştırılmış veriyi çözmek için boş bir pdf dosya yapısından yararlanılmaktadır.

C#’da yeni bir pdf dosyası oluşturmak için itextsharp.dll kütüphanesi

kullanılmaktadır. Bu boş pdf yapısı için Şekil 4.43’da verilen kod bloğu

kullanılmıştır.

Şekil 4.43. Standart yapıda boş PDF dosyasının oluşturulması

Veri kurtarma yazılımında PDF dosyalarının içerisindeki okunabilir verilerin

kurtarılması için Şekil 4.44’deki form kullanımaktadır. Kazınan PDF dosyası

yazılıma yüklenmektedir. Yazılım tarafından açılan boş PDF dosyası içerisine

kazınan dosyadaki veri blokları aktarılmaktadır. Form üzerinde bulunan Kurtar

butonu ile kurtarılan yeni PDF dosyası diske kaydedilmektedir.

Page 79: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

66

Şekil 4.44. PDF dosyasının kurtarılma arayüzü

4.4.3. DOCX uzantılı dosyalardan verilerin kurtarılması

DOCX uzantılı word dosyaları içerisindeki okunabilir veriler RAM’e

yüklendiğinde XML yapısından dolayı sıkıştırılmaz. XML yapısındaki Word

dosyaları içerisinde veriler, kullanılan tema, renk, font ve düzen ayarlarına göre

farklı etiketler içerisinde saklanmaktadır. Kurtarılan DOCX uzantılı Word

dosyasının XML yapısı Şekil 4.45’de verilmiştir.

Şekil 4.45. Kazınan DOCX uzantılı dosyanın XML görünümü

Kurtarılan her word dosyası Şekil 4.46’de verilen akış şemasında görüldüğü gibi

yazılıma tek tek yüklenerek her birinde dizgi araması yapılmaktadır. Dosya

içerisinde okunabilir verilerin bulunduğu <w:t> ve </w:t> etiketlerinin açılış ve

kapanış etiketi arasında kalan tüm veriler toplanmaktadır. Toplanan bu

verilerin itextsharp.dll kütüphanesi kullanılarak yeni MS Word dosyası

oluşturulmaktadır. Bu dizgi taraması için Şekil 4.47’da verilen kod bloğu

kullanılmaktadır.

Page 80: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

67

Şekil 4.46. Veri kurtama yazılımının DOCX taraması akış şeması

Şekil 4.47. XML ve DOCX uzantılı dosyalarda dizgi arama tekniğinin uygulanması

Page 81: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

68

Veri kurtarma yazılımında, kazınan DOCX dosyalarınındaki okunabilir verilerin

kurtarılması Şekil 4.48’de gösterilen form üzerinden yapılmaktadır. Kurtarılan

verilerin başarı oranının bulunması için boyut bilgisi KB türünden ekranda

gösterilmektedir.

Şekil 4.48. DOCX dosyasının kurtarılma arayüzü

Kazınan dosyalardan elde edilen veriler kendi dosya formatına aktarıldıktan

sonra kurtarma oranlarının çıkartılması için Şekil 4.49’da gösterilen form ile

yapılmıştır. Bu form orijinal veriler ile kurtarılan veri arasında karakter ve

boyut tabanlı karşılaştırma yaparak benzerlik oranını bulmaktadır. Orijinal ve

kurtarılan verilere ait dosyalar gözat butonu ile editöre yüklenmektedir. Editör

içerisinde bulunan veriler, işlenerek label’da iki dosya arasındaki benzerlik

yüzdesi verilmektedir.

Page 82: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

69

Şekil 4.49. Başarı oranın tespit edilmesi için kullanılan arayüz

Page 83: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

70

5. ARAŞTIRMA BULGULARI

Geliştirilen imaj alma yazılımının amacı Windows işletim sisteminde, kullanıcı

arayüzünden RAM’in tüm içeriğinin kopyalanmasını sağlamaktır. Bunun için de

RAM’e tam erişim sağlayan kernel mode sürücü geliştirilmiştir. Geliştirilen

kernel mode RAM sürücüsü Windows 8, 8.1 ve 10 (32 ve 64 bit) işletim

sistemleri üzerinde test edilmiş ve imaj alma işlemi gerçekleştirilmiştir. Şekil

5.1’de işletim sistemi sürümlerinde farklı RAM boyutlarının imajının alınma

süresi verilmiştir. Bu verilere göre RAM kapasitesinin artması imaj alma

süresini de artırmaktadır. Ayrıca işletim sisteminin sanal veya fiziksel makineye

kurulmasının imaj alma süresine etkisinin olmadığı görülmektedir.

Şekil 5.1. Windows işletim sistemi sürümüne göre imaj alma süreleri RAM imajı alınırken, imaj alma yazılımın RAM’de minimum yer tutması gerekir.

İmaj alma yazılımı çalışması sırasında RAM’e yüklendiği için var olan verileri

silebilir. Geliştirilen RAM driver ve imaj alma yazılımı RAM’de 156 KB’lık yer

kaplamaktadır. Buna göre Şekil 5.2’de verilen imaj alma yazılımları ile

kıyaslandığında veri kaybının en az olduğu görülen yazılımdır.

4 46 6

1014 14

13,6 14,217,1 17,5

21,1

33,6 33,7

Windows 832 bit

(VirtualMachine)

Windows 864 bit

(VirtualMachine)

Windows 8.132 bit

((VirtualMachine)

Windows 8.164 bit

(VirtualMachine)

Windows 1032 bit

(VirtualMachine)

Windows 1064 bit

(VirtualMachine)

Windows 1064 bit

(PhysicalMachine)

0

5

10

15

20

25

30

35

40

Toplam Boyut (GB) RAM Image Geçen Süre (Saniye)

Page 84: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

71

Şekil 5.2. RAM İmajı alma yazılımlarının RAM’de kapladığı alanlar

DOKAY isimli yazılım test edilirken 4 farklı imaj dosyası kullanılmıştır. Bu imaj

dosyaları içerisinden MS Word ve PDF dosyaları kazınmıştır. Çizelge 5.1’de

görüldüğü gibi pdf dosyaları, imaj dosyası büyüklüğüne göre 23 dk ile 37 dk

arasında çıkartılmıştır. Word dosyaları için tarama süresi 17 dk ile 45 dk

arasındadır. MS Word dosyalarındaki tarama süresinin uzun olması, tarama

işlemine XML dosyalarının da dâhil olmasından kaynaklanmaktadır.

Çizelge 5.1. PDF ve MS Word dosyaları kazıma süreleri

Süre

Toplam İmaj Dosyası PDF Word (DOCX) Word (DOC) 4 GB 23d 17s 32d 25s 17d 03s 6 GB 28d 54s 36d 25s 30d 52s

10 GB 32d 03s 39d 23s 39d 12s 14 GB 37d 45s 45d 01s 41d 10s

MS Word ve PDF dosyalarındaki verilerin kurtarılmasında 14GB’lık RAM

imajından kazınan dosyalar kullanılmıştır. Bu imaj dosyası geliştirilen RAM

imajı alma yazılımı ile oluşturulmuştur. İşletim sisteminde daha önceden

açılmış ve sonlandırılmış 10’ar adet DOC, DOCX ve PDF dosyası analize dâhil

edilmiştir. Analiz işlemleri C# programlama dili ile geliştirilmiş yazılımda

yapılmaktadır.

120

19

3

56

43

6

7

6,5

0,5

12

0,156

0 20 40 60 80 100 120 140

WinEn (EnCase)

KnTDD (KnTTools)

Fastdump Pro

Guymager

Fmem

Memoryze

Memory DD

Belkasoft Live RAM Capturer

DumpIt

Windows Memory Toolkit

Rimay

Page 85: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

72

DOC uzantılı Word dosyalarına ait veriler codepage1252 ile decode edilmiştir.

Elde edilen verilerin, orijinal dosya ile karşılaştırılması Çizelge 5.2’de

verilmiştir. 300KB’ın altındaki dosyalarda %50’nin üzerinde başarı

sağlanmıştır. Dosya boyutu artıkça verilerin kurtarılma oranı da düşmektedir.

Sonuç olarak 10 adet DOC uzantılı word dosyasındaki verilerin kurtarılma oranı

%35,6 ’dır.

Çizelge 5.2. Word (DOC) dosyalarının kurtarılma analizleri

Doküman Toplam (KB)

Kurtarılan Dosya Boyutu(KB)

Kurtarılan Metin Boyutu (KB)

Oran %

DOC1 100 56 50 50,0 DOC2 180 160 120 66,7 DOC3 205 200 110 53,7 DOC4 270 201 140 51,9 DOC5 490 350 143 29,2 DOC6 672 600 300 44,6 DOC7 730 540 103 14,1 DOC8 750 590 130 17,3 DOC9 840 400 102 12,1 DOC10 1.205 900 201 16,7 Ort (%) 35,6

Kazınan DOCX uzantılı word dosyalarında dizgi tarama ile kurtarılan verilerin,

orijinal dosya ile karşılaştırılması Çizelge 5.3’de verilmiştir. Boyutu 200 KB’ın

altındaki Word dosyalarındaki verilerin kurtarılmasında ortalama %50 başarı

sağlanmıştır. Dosya boyutu artıkça verilerin kurtarılma oranı da düşmektedir.

Sonuç olarak 10 adet Word dosyasındaki verilerin kurtarılma oranı %40,4’ dür.

Page 86: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

73

Çizelge 5.3. Word (DOCX) dosyalarının kurtarılma analizleri

Doküman Toplam Boyut (KB)

Toplam Metin Blocks

Toplam Paragraf

Kurtarılan Dosya Boyutu(KB)

Kurtarılan Metin Boyutu (KB)

Oran (%)

DOCX1 38 22 20 23 12 52,2 DOCX2 47 31 27 28 14 50,0 DOCX3 58 42 32 45 21 46,7 DOCX4 87 46 34 28 17 60,7 DOCX5 120 51 45 34 19 55,9 DOCX6 145 76 65 66 32 48,5 DOCX7 236 89 71 80 21 26,3 DOCX8 350 91 75 120 29 24,2 DOCX9 3.512 156 130 320 80 25,0 DOCX10 5.200 280 213 824 120 14,6 Ort (%) 40,4

PDF dosyalarındaki veriler flatedecode ile sıkıştırılmaktadır. Kurtarılan veriler

içerisindeki blokların her biri decode edilerek verilere ulaşılmıştır. Çizelge

5.4’de görüldüğü gibi 10 adet PDF dosyasına ait verilerin kurtarılma oranları

verilmiştir. Buna göre dosya boyutu 250 KB’ın altında olan PDF dosyalarına ait

kurtarılma oranı %30’un üstündedir. Dosya boyutu 250 KB’tan büyük

dosyalara ait verilerin kurtarılma oranı %8,6 ile %17,4 arasındadır.

Çizelge 5.4. PDF dosyalarının kurtarılma analizleri

Doküman Toplam Boyut (KB)

Kurtarılan Dosya (KB)

Kurtarılan Metin Boyutu (KB)

Oran (%)

PDF1 158 149 60 38,0 PDF2 244 200 76 31,1 PDF3 298 290 52 17,4 PDF4 305 251 40 13,1 PDF5 561 352 43 7,7 PDF6 630 427 54 8,6 PDF7 728 549 103 14,1 PDF8 757 520 67 8,9 PDF9 900 630 102 11,3

PDF10 1.056 900 107 10,1 Ort (%) 16,0

Page 87: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

74

6. TARTIŞMA VE SONUÇLAR

Bilişim teknolojilerinde bilginin, yazılımın, donanımın ve haberleşme ağının

hırsızlığı, yasadışı kullanımı, değiştirilmesi veya kopyalanması bilişim suçları

olarak tanımlanmaktadır. Bilişim suçların aydınlatılmasında fiziksel delillerden

ziyade elektronik delillere ihtiyaç duyulur. Delil niteliğindeki veriler depolama

aygıtları ve RAM’den elde edilmektedir. Delillerin silinmemesi için olay yerinde

delil kaynaklarının imajının alınması gerekmektedir. Alınan imajda yapılan

analizler ile elektronik deliller elde edilmektedir (Bui vd., 2003).

Gerçekleştirilen çalışmada, RAM imajı alan RİMAY ve alınan imaj dosyasından

verileri kazıyan DOKAY yazılımı tasarlanmıştır. Bu süreçte RAM’in imajının

alınması için öncelikle sisteme kernel mode seviyesinde erişim sağlanmalıdır.

Bunun için WDK ile Windows için RAM sürücüsü geliştirilmiştir. İmaj alma

yazılımı RAM sürücüyü sisteme yükleyerek RAM’e tam erişim sağlamaktadır.

Bununla beraber RAM’in bit-to-bit kopyasını almaktadır.

RAM imajında elektronik delil etme sürecinde yazılım tabanlı işlemler RAM’e

yüklenmektedir. Bundan dolayı yazılıma ait adresler RAM’deki mevcut verilerin

adresleri üzerine denk gelebilmektedir. Bunun sonucunda veri kayıpları

oluşabilmektedir. Oluşabilecek veri kayıplarını en aza indirmek için imaj alma

yazılımının RAM’de kapladığı alanın minimum seviyede olması gerekmektedir.

Geliştirilen imaj alma yazılımının RAM’de kapladığı boyut, ticari ve açık kaynak

olarak kullanılan RAM imajı alma yazılımları ile karşılaştırılmıştır. Karşılaştırma

sonucunda RİMAY yazılımının RAM’de 156 KB boyut ile en az yer kaplayan

yazılım olduğu görülmektedir. Bundan dolayı imaj alma sürecinde oluşabilecek

veri kayıpları minimum seviyede tutulmuştur.

Windows işletim sisteminde bir process sonlandırıldığı zaman process’e ait

adres bilgileri silinmektedir. Fakat RAM veri yapılarında process’e ait verileri

silinmemektedir. Bu verilere RAM imajında yapılacak dosya kazıma ve veri

kurtarma yöntemleri ile erişilmesi mümkün olmaktadır. Adli bilişimde

kullanılmak üzere RAM imajından MS Word ve PDF dosyalarının kazınması için

Page 88: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

75

DOKAY isimli yazılım geliştirilmiştir. Kazıma yapılacak imaj dosyasının

boyutunun küçük olması silinmiş dosyalara erişim oranının düşürdüğünden

dolayı 14 GB ‘lık bir imaj dosyası seçilmiştir. DOKAY yazılımı ile 14 GB’lık RAM

imajından rastgele seçilen 10 adet PDF, DOC ve DOCX dosyası orijinal

dosyalarındaki veriler ile karşılaştırılmıştır. Karşılaştırma sonucunda her dosya

için kurtarılma başarı oranı elde edilmiştir.

Elde edilen sonuçlara göre PDF dosyalarının kurtarılmasında ortalama %16’lık

başarı elde edilmiştir. PDF dosyalarındaki her paragraf, farklı veri bloklarında

flatedecode sıkıştırma tekniği ile sıkıştırılmaktadır. Kazıma sürecinde

sıkıştırılmış veri bloklarında oluşan 1 byte’lık kayıp, o bloğun içindeki verilerin

kurtarılmasını engellemektedir. Kurtarılma oranının düşük olmasının sebebinin

sıkıştırılmış bloklarda oluşan kayıplar olduğu görülmektedir.

Word dosyalarında iki farklı dosya yapısı olduğundan dolayı iki farklı sonuç elde

edilmiştir. DOCX uzantılı word dosyaları, XML tabanlı ve RAM’de açık metin

olarak saklandığından dolayı dizgi tarama yöntemi ile verilere erişilmiştir.

Kurtarılan veriler orijinal dosyaları ile karşılaştırıldığında %40.4’lük başarı

sağlanmıştır. DOC uzantılı word dosyaları, Word 2007 öncesi sürümleri temsil

etmektedir. Bu dosya tipinde veriler şifrelenerek saklanmaktadır. Kurtarılan

DOC uzantılı Word dosyalarındaki verilerin çözümlenerek %35.6’lık başarı elde

edilmiştir.

Windows işletim sisteminde veri kurtarma ve elektronik delil elde etme ile ilgili

birçok çalışma bulunmaktadır. Literatürde yapılan çalışmalar disk ve RAM’e

göre ayrılmaktadır. Disk üzerinden silinmiş dosyalar, sistem bilgileri, çalışan

process’ler gibi birçok veriler kurtarılmaktadır. Ayrıca bu bilgilerin kurtarılması

için ticari ve açık kaynak yazılımlarda bulunmaktadır. RAM üzerinden veri

kurtarma ve elektronik delil etme çalışan process’ler üzerinde yapılmaktadır.

RAM imajından veri kazıma işlemleri için açık kaynak ve ticari yazılımlar

geliştirilmiştir. Bu yazılımlar ile çalışan sistem bilgisi, aktif process ve verileri,

multimedya dosyaları ve açık metin veriler elde edilmektedir. Ayrıca diskte

Page 89: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

76

kullanılan veri kazıma teknikleri kullanılarak silinmiş dosyalara erişim

sağlanmaktadır. Fakat bu dosyaların içerisindeki sıkıştırılmış verilere erişim

sağlanmamaktadır. Geliştirilen DOKAY yazılımı RAM kazıma teknikleri ile

silinmiş veya sonlandırılmış MS WORD ve PDF dosyaları kazımaktadır. Bununla

beraber kazınan her dosya içerisindeki okunabilir verileri kurtarmaktadır.

Çalışma, literatür ve ticari yazılımlar ile karşılaştırıldığında benzeri

bulunmamaktadır.

Literatür çalışmalarında RAM’deki PDF dosyalarının kazınması için yöntemler

önerilmiştir. Fakat önerilen yöntemlerin Windows Vista öncesine ait olması

nedeni ile Windows Vista ve sonrası işletim sistemlerinde kullanılamamaktadır.

Bununla beraber Vista işletim sistemi sonrasında PDF dosyalarının kazınmasına

yönelik çalışma bulunmamaktadır.

RAM’den elektronik delil elde etmek için kullanılan dosya türlerinden biri de

word’tür. Literatürde RAM’den word dosyalarının kurtarılması ile ilgili yapılan

ve kısmen sonuç gösteren tek çalışma bulunmaktadır. Al-Sharif vd. 2017

yılındaki çalışmasında, RAM imajından dizgi arama yöntemi ile sadece DOCX

uzantılı word dosyalarına erişim sağlamıştır. Bu çalışma Windows 7 işletim

sistemi üzerinde uygulanmış ve sonucunda başarı oranının ortalama %6 olduğu

görülmektedir. Sonuç olarak DOKAY yazılımı ile elde edilerin verilerin başarı

oranının daha yüksek olduğu görülmektedir.

Geliştirilen adli bilişim yazılımlarının performans ve veri kurtarma başarı

oranlarının iyileştirilmesine yönetik çalışmalar yapılabilir. DOKAY yazılımında

kullanılan imza veri tabanının genişletilmesi daha çok MS Word ve PDF

dosyalarının kazınmasını sağlayacaktır. Ayrıca kazıma işleminin yapıldığı

donanımın özelliklerinin artırılarak GPU ‘da yapılan işlerimlerin hızlandırılması

kazıma sürelerine de düşürecektir. Veri kurtarma yazılımda sıkıştırılmış veri

bloklarının çözülmesi karakter tabanlı tersine mühendislik algoritmaları ile

güçlendirilebilir. Bunun sonucunda veri kurtarma başarı oranının artması

beklenilebilir.

Page 90: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

77

KAYNAKLAR

Adobe, 2017. Erişim Tarihi: 29.05.2017. https://acrobat.adobe.com/tr/tr/why-

adobe/about-adobe-pdf.html Adobe, 2015. Accessing PDF Documents with Assistive Technology, Adobe

Press, P1-27, USA. Akbal, E., Dogan, S., 2018. Forensics Image Acquisition Process of Digital

Evidence, I. J. Computer Network and Information Security, 5, 1-8. Al-sharif Z., A, Bagci, H., Asad, A., 2018. Towards the Memory Forensics of MS

Word Documents, Information Technology-New Generations. Springer, Cham 558, 179–85.

Allen, W. H., 2005. Computer Forensics. IEEE Security and Privacy Magazine, 3,

59–62. Alherbawi N, Shukur Z, Sulaiman R., 2016. A Survey On Data Carving in Digital

Forensic. Asian Journal Information Technology, 15, 5137–44. Amari, K., 2009, Techniques and Tools for Recovering and Analyzing Data from

Volatile Memory. SANS. Ariffin, K., A., Z., Mahmood, A., K., Jaafar, J., & Shamsuddin, S., 2015. Tracking

File's Metadata from Computer Memory Analysis. In Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing (CIT/IUCC/DASC/PICOM), 2015 IEEE International Conference, 975-980.

Ball, T., Bounimova, E., Cook, B., Levin, V., Lichtenberg, J., McGarvey, C., A., 2006.

Thorough static analysis of device drivers. ACM SIGOPS Operating Systems Review, 40(4), 73-85.

Baar, R. B., Alink, W., & van Ballegooij, A. R., 2008. Forensic memory analysis:

Files mapped in memory. Digital Investigation, 5(SUPPL.), 52–57. Bui, S., Enyeart, M., & Luong, J., 2003. Issues in Computer Forensics. Santa Clara

University Computer Engineering, USA. Butler, J., & Murdock, J., 2011. Physical Memory Forensics for Files and Cache.

Craigchamberlain.Dreamhosters.Com. Erişim Adresi: http://www. Craigchamberlain.dreamhosters.com/blackhat2011/materials/Butler/BH_US_11_ButlerMurdock_Physical_Memory_ForensicsWP.pdf%5Cnpapers2://publication/uuid/0D588947-26F8-4823-86C4-B1E231D50CD4

Page 91: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

78

Cai, L., Sha, J., Qian, W., 2013. Study on Forensic Analysis of Physical Memory. International Symposium on Computer, Communication, Control and Automation, (3ca), 221–224.

Carvajal, L., Varol, C., Chen, L., 2013. Tools for collecting volatile data: A survey

study. 2013 The International Conference on Technological Advances in Electrical, Electronics and Computer Engineering, TAEECE 2013, 318–322.

Burdach M., 2013. Digital forensics of the physical memory. J Natl Cancer Inst

Monogr, Warsaw University, 3, 1134-1139. Didier, S.,2017. Erişim Tarihi:29.05.2017, https://blog.didierstevens.com /2008

/05 /19/pdf-stream-objects/. Dolan-Gavitt B., 2007 The VAD tree: A process-eye view of physical memory.

Digit Investigation 2007. 4, 62–4. Garcia, G. L., 2007. Forensic physical memory analysis: an overview of tools and

techniques. In TKK T-110.5290 Seminar on Network Security (pp. 305-320).

Garner, George M., 2007. KnTTools with KnTList. http://gmgsystemsinc.com/

knttools/. Hu L, Zhang XL, Wang F, Wang WB, Zhao K., 2012. Research on the architecture

model of volatile data forensics. Procedia Eng 2012, 29, 4254–8. doi:10.1016/j.proeng.2012.01.653.XXX

Hejazi SM, Debbabi M, Talhi C., 2008. Automated Windows memory file

extraction for cyber forensics investigation. J Digit Forensic Pract 2008, 2, 117–31. doi:10.1080/15567280802552829.XXX

Hejazi SM, Talhi C, Debbabi M., 2009. Extraction of forensically sensitive

information from Windows physical memory. Digit Investig 2009, 6. doi:10.1016/j.diin.2009.06.003.XXX

Quina, G., N., Diaz J., Park, S., G., Y., Piccirilli, D., 2017. Data restoration and file

carving [Restauración de datos y el File Carving]. Iber Conf Information System Technology Cist.

Karayianni, S., Katos, V., Georgiadis, C. K., 2012. A framework for password

Harvesting From Volatile Memory. IJESDF, 4(23), 154–163. Li, S., Jia, X., Lv, S., & Shao, Z., 2010. Research and Application of USB Filter

Driver Based on Windows Kernel. In Intelligent Information Technology and Security Informatics (IITSI), 2010 Third International Symposium, 438-44.

Page 92: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

79

Microsoft, 2017. Erişim Tarihi: 13.06.2017. https://support.office.com/tr-tr/article/Open-XML-Bi%C3%A7imleri-ve-dosya-ad%C4%B1-uzant%C4%B1lar%C4%B1-5200d93c-3449-4380-8e11-31ef14555b18

Microsoft, 2018. Erişim Tarihi: 02.01.2018. https://docs.microsoft.com/en-

us/windows-hardware/drivers. Matousek, T., Jezek, P., 2009. DeSpec: Modeling the Windows Driver

Environment11This work was partially supported by the Czech Academy of Sciences project 1ET400300504 and the Grant Agency of the Czech Republic project GD201/05/H014. Electronic Notes in Theoretical Computer Science, 203(7), 55-69.

Ni, T., Yin, Z., Wei, Q., Wang, Q., 2012. High-Coverage Security Testing for

Windows Kernel Drivers. In Multimedia Information Networking and Security (MINES), 2012 Fourth International Conference, 905-908.

Okolica, J., Peterson, G. L., 2011. Extracting the Windows Clipboard From

Physical Memory. Digital Investigation, 8, S118-S124. Okolica, J., Peterson, G. L., 2010. Windows Operating Systems Agnostic Memory

Analysis. Digital Investigation, 7, S48-S56. Petroni, N., L., Walters A., Fraser T., Arbaugh W., A., 2009. FATKit: A Framework

For The Extraction And Analysis Of Digital Forensic Data From Volatile System Memory. Digital Investigation,3(4).

Poisel, R., Tjoa, S., Tavolato, P. 2011. Advanced File Carving Approaches For

Multimedia Files. JoWUA, 2(4), 42-58. Povar, D., Bhadran V., K., 2011. Forensic data carving. Lect Notes Inst Computer

Science Soc Telecommun Engineering LNICST 2011, 53, 137–48. Ravi, A, Kumar, T.,R., Mathew A., R., 2016. A Method For Carving Fragmented

Document And Image Files. Internation Conferences Advanced Human Mach Interaction HMI, 43–7.

Richard III, G. G., Roussev, V., 2005. Scalpel: A Frugal, High Performance File

Carver. In DFRWS. Rogers, M. K., Seigfried, K., 2004. The future of computer forensics: A needs

analysis survey. Computers and Security, 23(1), 12–16. Russinovich, M., Solomon, A., Ionescu, A., 2012. Windows Internals (6th Edition),

Part 2, Microsoft Press, USA.

Page 93: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

80

Ruichao, Z., Lianhai, W., Shuhui, Z., 2009. Windows Memory Analysis Based on KPCR. In: Fifth International Conference on Information Assurance and Security, 2, 677-680.

Schatz, B., Director, E., 2007. Recent developments in volatile memory forensics.

URL: http://www.schatzforensic.com/presentations/BSchatz-CERT-CSD2007 .pdf.

Simon, M., Slay, J., 2010. Recovery of Skype Application Activity Data from

Physical Memory. 2010 International Conference on Availability, Reliability and Security, 284-288.

Sitaraman, S., 2006. Computer and Network Forensics. Digital Crime and

Forensic Science in Cyberspace. Hershey Idea Group Inc, 55-74. Stüttgen, J., Vömel, S., Denzel, M., 2015. Acquisition and analysis of compromised

firmware using memory forensics. Digital Investigation, 12, 50–S60. Stevens, R. M., Casey, E., 2010. Extracting Windows command line details from

physical memory. Digital Investigation, 7, 18-31. Süzen, A., A., Taşdelen, K., Küçüksille, E., U., 2016. Volatile Data Analysis And

Methods In Computer Forensics ", International Conference on Research in Education and Science (ICRES), 1441-1448.

Thongjul, S., Tritilanunt, S., 2015. Analyzing and Searching Process of Internet

Username and Password Stored in Random Access Memory (RAM), 12th International Joint Conference on Computer Science and Software Engineering (JCSSE).

Thomas, S., Sherly, K. K., Dija, S., 2013. Extraction Of Memory Forensic Artifacts

From Windows 7 Ram ımage. 2013 IEEE Conference on Information and Communication Technologies, ICT 2013, (Ict), 937–942.

Suma, G. S., Dija, S., & Thomas, K. L., 2015. A novel methodology for windows 7

x64 memory forensics. 2014 IEEE International Conference on Computational Intelligence and Computing Research, IEEE ICCIC 2014.

Vidas T., 2010. Volatile memory acquisition via warm boot memory

survivability. Proc Annu Hawaii Int Conf Syst Sci 2010, 12(2), 11-14. Vidas, T., 2007. The acquisition and analysis of random Access memory. Journal

of Digital Forensic Practice, 1(4), 315-323. Vömel, S., Freiling, F. C., 2011. A survey of main memory acquisition and analysis

techniques for the windows operating system. Digital Investigation, 8(1), 3-22.

Page 94: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

81

Vömel, S., Stüttgen, J., 2013. An Evaluation Platform For Forensic Memory Acquisition Software, Digital Investigation Elsevier, S30.

Walters, A, Petroni, Jr N., L., 2007. Volatools Integrating Volatile Memory

Forensics Into The Digital Investigation Process. In Black Hat DC. Wang, Y. Q., Qi, M., 2011. Computer Forensics İn Communication Networks. IET

International Communication Conference on Wireless Mobile and Computing (CCWMC 2011), 379-383.

Xu, L., Wang, L., 2013. Research on Extracting System Logged-In Password

Forensically from Windows Memory Image File. In 2013 Ninth International Conference on Computational Intelligence and Security, IEEE, 716–720.

Yasinsac, A., Erbacher, R. F., Marks, D. G., Pollitt, M., Sommer, P. M., 2003.

Computer forensics education. IEEE Security and Privacy, 4, 123,140. Zhang, S., Wang, L., Zhang, R., & Guo, Q., 2010. Exploratory study on memory

analysis of Windows 7 operating system. In Advanced Computer Theory and Engineering (ICACTE), 2010 3rd International Conference, IEEE 6-373.

Zhang L, Zhang D, Wang L., 2010. Live Digital Forensics in a Virtual Machine.

ICCASM 2010 - 2010 Int Conf. Computer Apply System Model Proc 2010, 4, 322-329.

Page 95: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

82

EKLER

EK A. Dosyalara ait Header ve Footer Listesi EK B. Kernel Mode RAM Driver’ın C++ Kodları EK C. RİMAY Yazılımın C++ Kodları EK D. DOKAY Yazılımın C++ Kodları EK E. Veri Kurtama Yazılımın C# Kodları

Page 96: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

83

EK A. Dosyalara ait Header ve Footer Listesi

#Doküman Dosyaları PDF Header:25 50 44 46 Footer:25 25 45 4F 46 PDF Header:25 50 44 46 Footer:25 25 45 4F 46 0A PDF Header:25 50 44 46 Footer:0D 0A 25 25 45 4F 46 0D 0A PDF Header:25 50 44 46 Footer:0D 25 25 45 4F 46 0D PDF Header:25 50 44 46 2d 31 2e 32 0d 0a 25 e2 e3 cf Footer: #WORD Dosyaları DOC Header:50 4B 03 04 14 00 06 00 Footer:50 4B 05 06 DOC Header:d0 cf 11 e0 a1 b1 1a e1 00 00 Footer:d0 cf 11 e0 a1 b1 1a e1 00 00 DOC Header:0d 44 4f 43 Footer: DOC Header:31 be 00 00 00 ab 00 00 Footer: DOC Header:50 4b 03 04 14 00 00 00 00 00 Footer: DOC Header:7f fe 34 0a Footer: DOC Header:cf 11 e0 a1 b1 1a e1 00 Footer: DOC Header:d0 cf 11 e0 a1 b1 Footer: DOC Header:d0 cf 11 e0 a1 b1 1a e1 Footer: DOCX Header:50 4b 03 04 Footer: DOCX Header:50 4b 03 04 14 00 06 00 Footer: #XML Dosyaları XML Header:3c 3f 78 6d 6c Footer: XML Header:3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 3f 3e Footer: XML Header:ff fe 3c 00 52 00 4f 00 4f 00 54 00 53 00 54 00 55 00 42 Footer:

Page 97: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

84

EK B. Kernel Mode RAM Driver’ın C++ Kodları

#include "read.h" static int EnsureExtensionHandle(PDEVICE_EXTENSION extension) { NTSTATUS NtStatus; UNICODE_STRING PhysicalMemoryPath; OBJECT_ATTRIBUTES MemoryAttributes; if(!extension->MemoryHandle) { RtlInitUnicodeString(&PhysicalMemoryPath, L"\\Device\\PhysicalMemory"); InitializeObjectAttributes(&MemoryAttributes, &PhysicalMemoryPath, OBJ_KERNEL_HANDLE, (HANDLE) NULL, (PSECURITY_DESCRIPTOR) NULL); NtStatus = ZwOpenSection(&extension->MemoryHandle, SECTION_MAP_READ, &MemoryAttributes); if (!NT_SUCCESS(NtStatus)) { WinDbgPrint("Failed ZwOpenSection(MemoryHandle) => %08X\n", NtStatus); return 0; } }; return 1; } static LONG PhysicalMemoryPartialRead(IN PDEVICE_EXTENSION extension, LARGE_INTEGER offset, PCHAR buf, ULONG count) { ULONG page_offset = offset.QuadPart % PAGE_SIZE; ULONG to_read = min(PAGE_SIZE - page_offset, count); PUCHAR mapped_buffer = NULL; SIZE_T ViewSize = PAGE_SIZE; NTSTATUS NtStatus; if (EnsureExtensionHandle(extension)) { /* Map page into the Kernel AS */ NtStatus = ZwMapViewOfSection(extension->MemoryHandle, (HANDLE) -1, &mapped_buffer, 0L, PAGE_SIZE, &offset, &ViewSize, ViewUnmap, 0, PAGE_READONLY); if (NT_SUCCESS(NtStatus)) {

Page 98: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

85

RtlCopyMemory(buf, mapped_buffer + page_offset, to_read); ZwUnmapViewOfSection((HANDLE)-1, mapped_buffer); } else { WinDbgPrint("Failed to Map page at 0x%llX\n", offset.QuadPart); RtlZeroMemory(buf, to_read); }; }; return to_read; }; // MmMapIoSpace'i kullanarak tek bir sayfa okumayı burda yapıyoruz. static LONG MapIOPagePartialRead(IN PDEVICE_EXTENSION extension, LARGE_INTEGER offset, PCHAR buf, ULONG count) { ULONG page_offset = offset.QuadPart % PAGE_SIZE; ULONG to_read = min(PAGE_SIZE - page_offset, count); PUCHAR mapped_buffer = NULL; SIZE_T ViewSize = PAGE_SIZE; NTSTATUS NtStatus; LARGE_INTEGER ViewBase; // Ortalama sayfa boyutu. ViewBase.QuadPart = offset.QuadPart - page_offset; // Haritalanmış sayfayı tam olarak eşleme. mapped_buffer = a2s_KernelExports.MmMapIoSpace( ViewBase, PAGE_SIZE, MmNonCached); if (mapped_buffer) { RtlCopyMemory(buf, mapped_buffer + page_offset, to_read); } else { // Sayfa eşleştirilemedi, arabellek hatası. RtlZeroMemory(buf, to_read); }; a2s_KernelExports.MmUnmapIoSpace(mapped_buffer, PAGE_SIZE); return to_read; };

Page 99: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

86

EK C. RİMAY Yazılımın C++ Kodları

#include "windows.h" #include "stdio.h" #include "tchar.h" #include <stdint.h> #include "elf.h" #include <stdio.h> #include <stdarg.h> #include <varargs.h> #define A2S_SURUM "v1.0" // RAM driver'ında değişiklik yapılması gerekiyor. #define A2S_SURUCU_ISIM "a2sdriver" #define A2S_SERVIS_ISIM TEXT("AhmetAliSUZEN") // Exe versiyon (inş bitince düzeltiriz). //static TCHAR surum[] = TEXT(A2S_SURUM) TEXT(" ") TEXT(__DATE__); #define A2S_64BIT_DRIVER 104 #define A2S_32BIT_DRIVER 105 #define A2S_FCAT_EXECUTABLE 106 #define PAGE_BOYUTU 0x1000 #define PT_A2S_METADATA (PT_LOOS + 0xd656d70) class a2S { public: a2S(); virtual ~a2S(); virtual __int64 driver_yukle(); virtual __int64 driver_kaldir(); virtual __int64 yazma_aktif(); virtual __int64 veri_toplama(unsigned __int32 mod); virtual void driver_dosya_ata(TCHAR *driver_dosyaadi); virtual void pagefile_yol_ata(TCHAR *pagefile_konumu); virtual void page_sayfa_yazdir(); virtual void ram_bilgi_yazdir(); virtual __int64 imaj_dosyasi_olustur(TCHAR *cikis_dosyadi); virtual __int64 raw_image_yaz(); virtual __int64 coredump_yaz(); __int64 suppress_output; TCHAR cikis_hatasi[1024]; virtual __int64 driver_cikar() = 0; virtual __int64 driver_cikar(TCHAR *driver_dosyaadi);

Page 100: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

87

protected: void ProcessOlustur(TCHAR *komut, HANDLE bayrak); __int64 Dosya_Cikar_(__int64 kaynak_id, TCHAR *dosyaadi); virtual __int64 coredump_header_yaz(struct A2SRAMinfo *info); virtual void LogHata(TCHAR *mesaj); virtual void Log(const TCHAR *mesaj, ...); virtual void LogSonHata(TCHAR *mesaj); __int64 sayfalama(__int64 uzunluk); __int64 ram_kopyala(unsigned __int64 start, unsigned __int64 end); HANDLE fd_; HANDLE cikisi_dosya_yol; TCHAR *servis_adi; char *buffer_; size_t buffer_size_; TCHAR *driver_dosyaadi1; bool driver_gecici_dosya; // Maksimum hafıza hesapla. unsigned __int64 max_ram_hafiza; unsigned __int64 cikis_adres; unsigned __int32 mod; unsigned __int32 default_mod_; TCHAR *pagefile_konum; private: char *metadata_; DWORD metadata_len_; unsigned __int64 header_adres_son; }; class a2S32: public a2S { virtual __int64 driver_cikar(); }; class a2S64: public a2S { virtual __int64 driver_cikar(); };

Page 101: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

88

EK D. DOKAY Yazılımın C++ Kodları

#include "pars.h" char wildcard; int signal_caught; int ttywidth; int inputReaderVerbose; int extractSearchSpecData(struct parsState *state, struct SearchSpecLine *s, char **tokenarray) { int err = 0; s->suffix = (char *) malloc(MAX_SUFFIX_LENGTH * sizeof(char)); checkMemoryAllocation(state, s->suffix, __LINE__, __FILE__, "s->suffix"); s->begin = (char *) malloc(MAX_STRING_LENGTH * sizeof(char)); checkMemoryAllocation(state, s->begin, __LINE__, __FILE__, "s->begin"); s->end = (char *) malloc(MAX_STRING_LENGTH * sizeof(char)); checkMemoryAllocation(state, s->end, __LINE__, __FILE__, "s->end"); s->begintext = (char *) malloc(MAX_STRING_LENGTH * sizeof(char)); checkMemoryAllocation(state, s->begintext, __LINE__, __FILE__, "s->begintext"); s->endtext = (char *) malloc(MAX_STRING_LENGTH * sizeof(char)); checkMemoryAllocation(state, s->endtext, __LINE__, __FILE__, "s->endtext"); if (!strncasecmp(tokenarray[0], PARS_NOEXTENSION_SUFFIX, strlen(PARS_NOEXTENSION_SUFFIX))) { s->suffix[0] = PARS_NOEXTENSION; s->suffix[1] = 0; } else { memcpy(s->suffix, tokenarray[0], MAX_SUFFIX_LENGTH); } s->casesensitive = (!strncasecmp(tokenarray[1], "y", 1) || !strncasecmp(tokenarray[1], "yes", 3)); char split[MAX_STRING_LENGTH]; char *maxcarvelength; strcpy(split, tokenarray[2]); maxcarvelength = strchr(split, ':'); if (!maxcarvelength) { s->minlength = 0; s->length = strtoull(split, 0, 10);

Page 102: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

89

} else { *maxcarvelength = 0; maxcarvelength++; s->minlength = strtoull(split, 0, 10); s->length = strtoull(maxcarvelength, 0, 10); } s->searchtype = SEARCHTYPE_FORWARD; if (!strncasecmp(tokenarray[5], "REVERSE", strlen("REVERSE"))) { s->searchtype = SEARCHTYPE_REVERSE; } else if (!strncasecmp(tokenarray[5], "NEXT", strlen("NEXT"))) { s->searchtype = SEARCHTYPE_FORWARD_NEXT; } else if (!strncasecmp(tokenarray[5], "FORWARD", strlen("FORWARD"))) { s->searchtype = SEARCHTYPE_FORWARD; } if (isRegularExpression(tokenarray[3])) { #ifdef GPU_THREADING std::stringstream ss; ss << "HATA: GPU REGEX aramasını Desteklemiyor!\n"; std::string msg = ss.str(); fprintf(stderr, "%s", msg.c_str()); throw std::runtime_error(msg); #endif s->beginisRE = 1; strcpy(s->begin, tokenarray[3]); strcpy(s->begintext, tokenarray[3]); s->beginlength = strlen(tokenarray[3]); s->begin[s->beginlength] = 0; err = regncomp(&(s->beginstate.re), s->begin + 1, s->beginlength - 2, REG_EXTENDED | (REG_ICASE * (!s->casesensitive))); if (err) { return PARS_ERROR_BAD_HEADER_REGEX; } } else { s->beginisRE = 0; strcpy(s->begintext, tokenarray[3]); s->beginlength = translate(tokenarray[3]); memcpy(s->begin, tokenarray[3], s->beginlength); init_bm_table(s->begin, s->beginstate.bm_table, s->beginlength, s->casesensitive); }

Page 103: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

90

EK E. Veri Kurtama Yazılımın C# Kodları

using System; namespace PDFPars { public static class BenzerlikOranBul { public static long Hesapla(this string kaynak, string hedef) { if (string.IsNullOrEmpty(kaynak)) return string.IsNullOrEmpty(hedef) ? 0 : hedef.Length; if (string.IsNullOrEmpty(hedef)) return string.IsNullOrEmpty(kaynak) ? 0 : kaynak.Length; long kaynak_uzunluk = kaynak.Length; long hedef_uzunluk = hedef.Length; long[,] uzunluk = new long[kaynak_uzunluk + 1, hedef_uzunluk + 1]; for (int i = 0; i <= kaynak_uzunluk; uzunluk[i, 0] = i++) ; for (int j = 0; j <= hedef_uzunluk; uzunluk[0, j] = j++) ; for (int i = 1; i <= kaynak_uzunluk; i++) { for (int j = 1; j <= hedef_uzunluk; j++) { int cost = (hedef[j - 1] == kaynak[i - 1]) ? 0 : 1; uzunluk[i, j] = Math.Min( Math.Min(uzunluk[i - 1, j] + 1, uzunluk[i, j - 1] + 1), uzunluk[i - 1, j - 1] + cost); } } return uzunluk[kaynak_uzunluk, hedef_uzunluk]; } public static double BenzerlikHesapla(this string kaynak, string hedef) { if (string.IsNullOrEmpty(kaynak)) return string.IsNullOrEmpty(hedef) ? 1: 0; if (string.IsNullOrEmpty(hedef)) return string.IsNullOrEmpty(kaynak) ? 1 : 0; double benzer_adim = Hesapla(kaynak, hedef); return (1.0 - (benzer_adim / (double)Math.Max(kaynak.Length, hedef.Length))); } } }

Page 104: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

91

ÖZGEÇMİŞ

Adı Soyadı : Ahmet Ali SÜZEN Doğum Yeri ve Yılı : Isparta, 1986 Medeni Hali : Evli Yabancı Dili : İngilizce E-posta : [email protected] Eğitim Durumu Lise : Antalya Endüstri Meslek Lisesi, 2001 Lisans :SDÜ, Teknik Eğitim Fakültesi, Bilgisayar Kontrol Öğretmenliği, 2011 Yüksek Lisans : SDÜ, Fen Bilimleri Enstitüsü, Elektronik Bilgisayar Eğitimi, 2013 Mesleki Deneyim A2S Yazılım 2010-2013 SDÜ Uluborlu MYO 2013-…….. (halen) Yayınları Süzen, A.,A., Ceylan, O., Çetin, A., Ulusoy, A., "Drawing Robot with Ardunio

Controlled", The Journal of Graduate School of Natural and Applied Sciences of Mehmet Akif Ersoy University Special Issue 1, 79-87 (2017)

Süzen, A.,A., Deniz, Ö., Çetin, A., "Wheelchair Controlled by Head Movements",

The Journal of Graduate School of Natural and Applied Sciences of Mehmet Akif Ersoy University Special Issue1, 66-72 (2017)

Süzen,A.A., Taşdelen, K., 2016. Anlamsal Web Teknolojisi İle İçerik Arama. El-

Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 1, 2016 (118-124) Süzen, A.A.,Taşdelen, K., 2013. Kinect Teknolojisi Kullanılarak Engelliler İçin Ev

Otomasyonu,SDÜ Uluslararası Teknolojik Bilimler Dergisi,Vol 5 No 2, ss.122-131, Aralık 2013.

Page 105: ADLİ BİLİŞİM İÇİN RAM İMAJI ALINARAK ELEKTRONİK DELİL …tez.sdu.edu.tr/Tezler/TF04182.pdf · adlİ bİlİŞİm İÇİn ram İmaji alinarak elektronİk delİl . elde etme

92

Arabacı, E., Süzen, A., A., "Programmable Intelligent Irrigation Manager Design",

VI. International Vocational Symposium , 2017, Bosnia and Herzegovina.

Süzen, A.,A., Taşdelen, K., Küçüksille, E. U., " Volatile Data Analysis And Methods

In Computer Forensics ", International Conference on Research in Education and Science (ICRES), 2016, Turkey.

Süzen, A.,A., Taşdelen, K., Küçüksille, E. U., "Access To User Accounts Through

Ram Image For Computer Forensics ", International Conference on Research in Education and Science (ICRES),May 19 22, 2016, Turkey.