FILE UNDELETE UNTUK MEMULIHKAN FILE YANG TELAH TERHAPUS DARI FILE SYSTEM DENGAN ALGORITMA AHO-CORASICK
SKRIPSI
ANDREW HANDOKO 101402104
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2014
FILE UNDELETE UNTUK MEMULIHKAN FILE YANG TELAH TERHAPUS DARI FILE SYSTEM DENGAN ALGORITMA AHO-CORASICK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
ANDREW HANDOKO 101402104
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2014
PERSETUJUAN
Judul : FILE UNDELETE UNTUK MEMULIHKAN FILE
YANG TELAH TERHAPUS DARI FILE SYSTEM DENGAN ALGORITMA AHO-CORASICK
Kategori : SKRIPSI
Nama : ANDREW HANDOKO
Nomor Induk Mahasiswa : 1014020104
Program Studi : S1 TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Andri Budiman, ST, M. Comp. Sc, M.E.M. Prof. Dr. Opim Salim Sitompul, M.Sc NIP. 19751008 200801 1 011 NIP. 19610817 198701 1 001
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Muhammad Anggia Muchtar, ST., MM.IT NIP. 19800110 200801 1 010
PERNYATAAN
FILE UNDELETE UNTUK MEMULIHKAN FILE YANG TELAH TERHAPUS DARI FILE SYSTEM DENGAN ALGORITMA AHO-CORASICK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 7 Desember 2014
Andrew Handoko 101402104
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan kehadirat Tuhan Yang Maha Esa yang telah memberikan rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi.
Pertama, penulis ingin mengucapkan terima kasih kepada Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku pembimbing pertama dan Bapak M.Andri Budiman, ST, M.
Comp. Sc, M.E.M. selaku pembimbing kedua yang telah membimbing penulis dalam penelitian serta penulisan skripsi ini. Tanpa inspirasi serta motivasi yang diberikan dari kedua pembimbing, tentunya penulis tidak akan dapat menyelesaikan skripsi ini. Penulis juga mengucapkan terima kasih kepada Bapak Muhammad Fadly Syahputra, B.Sc. M. Sc.
IT sebagai dosen pembanding pertama dan Bapak Romi Fadillah Rahmat, B.Comp.Sc.
M.Sc sebagai dosen pembanding kedua yang telah memberikan masukan serta kritik yang bermanfaat dalam penulisan skripsi ini. Ucapan terima kasih juga ditujukan kepada semua dosen serta semua pegawai pada program studi S1 Teknologi Informasi, yang telah membantu serta membimbing penulis selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada kedua orang tua penulis, Bapak penulis Pikman Sukiyati, S.E., M.M. dan Ibu Tjunari Hartono yang telah membesarkan penulis dengan sabar dan penuh cinta. Penulis juga berterima kasih kepada seluruh anggota keluarga penulis yang namanya tidak dapat disebutkan satu per satu.
Terima kasih juga penulis ucapkan kepada seluruh teman-teman angkatan 2010 yang telah bersama-sama dengan penulis melewati perkuliahan pada program studi S1 Teknologi Informasi terutama teman-teman dekat penulis yaitu Aaron, S.TI., Andreas TSM, Andry Endang, dan Filbert Nicholas serta teman-teman dari komunitas Scarlet yang telah berbagi ilmu dan memberikan motivasi sehingga penulis dapat menyelesaikan skripsi ini.
ABSTRAK
Pemulihan file merupakan salah satu tahapan yang dilakukan pada bidang forensik digital untuk memulihkan file yang telah terhapus sehingga dapat dipergunakan kembali sebagai barang bukti digital. Metode yang telah dipergunakan untuk pemulihan file menerapkan algoritma Boyer-Moore yang memiliki kompleksitas waktu sebesar O(mn) pada fase pencarian string. Walaupun algoritma Boyer-Moore dengan kompleksitas waktu yang linear sudah cukup cepat, kecepatan pencocokkan string masih dapat ditingkatkan dengan mengganti algoritma tersebut dengan algoritma Aho-Corasick yang memiliki kompleksitas waktu O(m+n+z). Metode yang diajukan pada penelitian ini adalah file undelete untuk pemulihan file yang memperoleh metadata melalui proses parsing atribut Master File Table dan kemudian dilanjutkan dengan implementasi algoritma Aho-Corasick dalam proses identifikasi jenis file berdasarkan filename extension dan signature untuk selanjutnya dibandingkan hasilnya sehingga dapat ditentukan apakah file mengalami kerusakan atau tidak. Pada penelitian ini, metode yang diajukan mampu memulihkan file yang telah terhapus dari file system dengan ukuran total sebesar 3,52 GB dalam waktu 229,418 detik dengan kecepatan pemrosesan data rata-rata sebesar 15,77 MB/s serta mampu mengidentifikasi jenis file berdasarkan filename extension dan signature sehingga kondisi file dapat ditentukan.
Kata kunci: forensik digital, file undelete, algoritma Aho-Corasick, finite state automata
FILE UNDELETE TO RECOVER FILES WHICH ARE DELETED FROM FILESYSTEM USING AHO-CORASICK ALGORITHM
ABSTRACT
File recovery is one of the phases performed in digital forensic in order to restore a deleted file so it can be used as a digital evidence. The method which has been used to recover files implements the Boyer-Moore algorithm which has time complexity of O(mn) during string searching phase. Even though the Boyer-Moore algorithm which has a linear time complexity is already fast enough, the string matching speed can still be improved by replacing the Boyer-Moore algorithm with Aho-Corasick algorithm which has time complexity of O(m+n+z). The method proposed in this research is file undelete to recover file using metadata obtained through parsing Master File Table attributes and is followed by the implementation of Aho-Corasick algorithm in identifying file type through filename extension and signature which results are then compared in order to determine whether the file is corrupted or not. In this research, it is shown that proposed method is capable of recovering files which are deleted from file system with total size of 3.52 GB in 229,418 seconds having average processing rate of 15.77 MB/s and identifying file type through filename extension and signature to determine file condition.
Keywords: digital forensics, file undelete, Aho-Corasick algorithm, finite state automaton
DAFTAR ISI
Hal.
Persetujuan ii
Pernyataan iii
Ucapan Terima Kasih iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel x
Daftar Gambar xii
BAB 1 Pendahuluan 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 2
1.3. Tujuan Penelitian 3
1.4. Batasan Masalah 3
1.5. Manfaat Penelitian 3
1.6. Metodologi Penelitian 3
1.7. Sistematika Penulisan 4
BAB 2 Landasan Teori 6
2.1. Forensik Digital 6
2.2. File 7
2.2.1. Pemulihan file yang telah terhapus 8
2.3. Disk Imaging 11
2.4. File System NTFS 12
2.4.1. File Fragmentation 19
2.4.2. Slack Space 21
2.5. Master File Table (MFT) 23
2.5.1. Record MFT 24
2.5.2. LSN (Log Sequence Number), alamat File Reference 26
2.5.3. Atribut entry MFT 27
2.6. Metadata 31
2.7. Algoritma Aho-Corasick 31
2.7.1. Konstruksi Keyword Trie 32
2.7.2. Pencarian dalam Keyword Trie 33
2.8. Penelitian Terdahulu 35
BAB 3 Analisis dan Perancangan 38
3.1. Arsitektur Umum 38
3.2. Disk Imaging 40
3.3. Master File Table (MFT) 40
3.4. Identifikasi Jenis File dan Pemeriksaan Kerusakan 42
3.5. Proses Undelete 46
3.6. Proses Verifikasi 47
3.7. Proses Analisa 48
BAB 4 Implementasi dan Pengujian 50
4.1. Hasil Proses Undelete 50
4.2. Hasil Analisa 57
4.2.1. Analisa file yang rusak 57
4.2.2. Informasi berupa teks dalam file yang rusak 62 4.2.3. Informasi berupa citra dalam file yang rusak 63 4.2.4. Informasi yang dapat dibaca dari dokumen yang rusak 64
4.2.5. False Positive 66
BAB 5 Kesimpulan dan Saran 72
5.1. Kesimpulan 72
5.2. Saran 73
Daftar Pustaka 74
Lampiran A: Source Code 76
DAFTAR TABEL
Hal.
Tabel 2.1. Daftar file signature pada header untuk beberapa jenis file 8 Tabel 2.2. Daftar header dan footer untuk beberapa jenis file 10
Tabel 2.3. Komponen Arsitektur NTFS 12
Tabel 2.4. Susunan boot sector pada file system NTFS 15
Tabel 2.5. Susunan informasi dalam BPB 15
Tabel 2.6. Informasi yang diperoleh dari BPB 17
Tabel 2.7. Daftar ukuran cluster pada file system NTFS 19 Tabel 2.8. Daftar record berisi informasi tentang MFT 23
Tabel 2.9. Struktur data entry dalam MFT 26
Tabel 2.10. Jenis atribut MFT secara standar 28
Tabel 2.11. Struktur data 16 B pertama atribut record MFT untuk record resident
maupun non-resident 30
Tabel 2.12. Struktur data atribut resident 30
Tabel 2.13. Struktur data atribut non-resident 30
Tabel 2.14. Daftar kecocokan pola pada automata dan suffix link 35 Tabel 2.15. Output yang dihasilkan oleh state terminal 35
Tabel 2.16. Daftar penelitian terdahulu 36
Tabel 3.1. Daftar filename extension dan signature yang dipergunakan 43 Tabel 3.2. Perbandingan hasil identifikasi filename extension dengan signature
dan kondisi file 45
Tabel 3.3. Informasi-informasi yang dipergunakan dalam undelete 46 Tabel 4.1. Hasil pemulihan file dan elapsed time 50
Tabel 4.2. Informasi-informasi file yang mengalami kerusakan 57 Tabel 4.3. Informasi-informasi dari dokumen PDF yang rusak 64 Tabel 4.4. Informasi-informasi dari dokumen Microsoft (false positive) 67 Tabel 4.5. Informasi-informasi dari citra JPG (false positive) 69
DAFTAR GAMBAR
Hal.
Gambar 2.1. Proses disk imaging 11
Gambar 2.2. Arsitektur NTFS 13
Gambar 2.3. Struktur file system NTFS 14
Gambar 2.4. Susunan boot sector pada file system NTFS 15
Gambar 2.5. Penyebab terjadinya fragmentasi 20
Gambar 2.6. Proses fragmentasi sebuah file untuk menempati cluster kosong 21
Gambar 2.7. Contoh slack space 22
Gambar 2.8. Ilustrasi manajemen penyimpanan file dan slack space 23
Gambar 2.9. Struktur record MFT 25
Gambar 2.10. Record MFT untuk file berukuran kecil 25
Gambar 2.11. Alamat file reference 27
Gambar 2.12. Contoh struktur record MFT 28
Gambar 2.13. Contoh keyword trie 33
Gambar 2.14. Contoh automata dari keyword trie dengan penambahan
fungsi-fungsi transisi 34
Gambar 3.1. Arsitektur umum metode yang diajukan 39
Gambar 3.2. Proses disk imaging dengan buffer 40
Gambar 3.3. Filename extension dan sampel signature 42 Gambar 3.4. Trie untuk filename extension dan signature 44 Gambar 3.5. Proses rekonstuksi file pada saat pemulihan 47 Gambar 3.5. Analisa file yang mengalami kerusakan 49 Gambar 4.1. Perbandingan elapsed time dengan ukuran file 53
Gambar 4.2. Hasil dari proses undelete 55 Gambar 4.3. Ilustrasi kemungkinan kondisi file (tertimpa oleh file utuh) 58 Gambar 4.4. Ilustrasi kemungkinan kondisi file (tertimpa oleh fragment file) 58 Gambar 4.5. Nilai yang dipergunakan untuk mengisi slack space
dan footer dari file PDF 59
Gambar 4.6. Hasil analisa dari offset yang dipergunakan 60 Gambar 4.7. Hasil analisa data yang terdapat dalam file 61 Gambar 4.8. Informasi yang masih dapat dibaca dari file yang mengalami
kerusakan 62
Gambar 4.9. Pemulihan file citra dari dalam file dokumen yang rusak 63 Gambar 4.10. Beberapa halaman yang masih dapat terbaca dari dokumen
PDF yang rusak 65
Gambar 4.11. File yang merupakan false positive 66
Gambar 4.12. Signature untuk footer DOCX ditemukan pada dua offset 68 Gambar 4.13. Penelusuran isi (nilai heksadesimal) file citra JPG 70 Gambar 4.14. Penelusuran isi (nilai heksadesimal) file PDF 70