Melacak
Sumber Program Perusak
Hal yang menarik bagi pelaku penyusupan kejahatan dan komputer adalah
faktor anonimitas, artinya pembuat virus, trojan, atau pelaku compromise tidak
merasa khawatir akan dikenali. Di sisi lain, insiden penyusupan virus,worm,
trojan dan cracker kadang meninggalkan potongan program. Bisakah dengan
peninggalan tersebut diidentifikasi sumbernya? Peninggalan dari serangan
tersebut bisa berupa source program, kode object, shell script, perubahan pada
program yang ada, atau file teks yang dibuat oleh penyusup. Hal tersebut bisa
dipergunakan untuk mengidentifikasi sumber dari serangan, serupa dengan
analisis tulisan tangan yang dilakukan oleh aparat hukum untuk mengenali
penulis suatu dokumen. Hal ini biasa disebut forensik perangkat lunak. Forensik
perangkat lunak bisa dilakukan pada :
1. Kode executable.
Biasanya dilakukan pada virus atau worm. Sayangnya banyak
feature yang bisa berguna dalam analisis telah terhapus, misalkan komentar,
identasi dan identifier. Optimisasi juga dilakukan sehingga program telah
berbeda dengan program semula. Beberapa feature yang masih bisa dipertimbangkan
di antaranya:
·
Algoritma
dan struktur data: Pilihan algoritma dan struktur data bisa menunjukkan
background dari pembuat
·
Kompilator:
Dalam kasus virus bisa ditentukan bahasa pemrogramannya dan dari vendor mana,
karena rutin-rutin dan library yang dipergunakan
·
Pengetahuan
pemrograman: Bisa dilihat tingkat kemampuan pemrogram dari penggunaan fungsi
dan error checking semacam exception handling
·
Pilihan
system call
·
Kesalahan:
Beberapa programmer membuat kesalahan serupa pada program-programnya.
2. Kode Sumber.
Ini mampu memberikan informasi yang lebih banyak.
Beberapa feature yang bisa dianalisis :
Bahasa : Menunjukkan pengetahuan dan ketersediaan pada
pemrogram
Format : Biasanya konsisten, misal identasi dan deklarasi
Komentar
Nama variabel
Ejaan: Ada pemrogram yang melakukan kesalahan eja secara
tetap
Feature bahasa: Beberapa pemrogram lebih suka menggunakan
pilihan tertentu, misal antara perulangan for dengan repeat until atau while
Scope: pemilihan variabel lokal dan global
Jalur eksekusi: adanya kode yang tidak pernah dieksekusi
Bug: Kesalahan serupa yang dibuat dalam
program-programnya.
Analisis Unknown Program
Untuk mempelajari perilaku suatu program yang tidak kita
ketahui sumber dan kegunaannya terdapat beberapa cara:
1.
Analisis statik
Mempelajari program tanpa benar-benar mengeksekusinya.
Tool yang dipergunakan adalah dissasembler, decompiler, tool analisis kode
sumber, dan tool dasar semacam grep. Dalam kenyataannya bisa memberikan suatu
gambaran pendekatan mengenai program.
2. Analisis
dinamik
Mempelajari program saat dieksekusi. Tool yang
dipergunakan adalah debugger, tracer, emulator mesin, analisis logika dan
terkadang sniffer jaringan. Keuntungan dari analisis dinamik adalah cepat dan
akurat. Kasus khusus dari analisis dinamik adalah analisis kotak hitam (black
box), yaitu analisis dinamik tanpa mengakses internal program. Dalam kasus ini,
pengamatan dilakukan pada input dan output eksternal, serta karakteristik
pewaktuannya.
3.
Analisis postmortem
Mempelajari perilaku perangkat lunak dengan mengamati
dampak setelah eksekusi program. Bisa jadi ini merupakan satu-satunya alat yang
tersedia setelah penyusupan sistem.
Analisis
dinamik harus dilakukan sehingga tidak menimbulkan kerusakan yang berbahaya,
sehingga eksekusi program bisa dijalankan pada :
1. Mesin “percobaan” tanpa koneksi jaringan
2. Mesin dengan sandbox Virtual Machine
Untuk memantau kemajuan (progress) suatu program, pengamatan bisa dilakukan
dengan cara:
·
Pengamatan
pada level instruksi mesin
·
Pengamatan
system call yang dipergunakan
Suatu mesin yang mengalami compromise tidak akan bisa
dipercaya, dan semua informasi yang berasal dari mesin tersebut perlu
diragukan. Perubahan pada suatu program aplikasi dan file data mudah dideteksi
jika diketahui file mana yang mengalami perubahan. Perubahan pada proses yang
berjalan lebih susah dideteksi, begitu pula dengan perubahan pada level kernel
sistem operasi, atau bahkan perubahan pada tingkat di bawah level kernel.
(part 1) : http://amoekinspirasi.wordpress.com/2013/10/14/penanganaan-insiden-forensik-freezing-the-scene/
(part 2) http://uyakacrut.blogspot.com/2013/10/prinsip-kerja-forensik-digital.html
(part 3) http://bolehdilihat.wordpress.com/2013/10/14/penanganan-insiden-forensik-dan-freezing-scene/
(part 4) http://riswanagnita.blogspot.com/2013/10/freezing-scene-part-4.html
(part 5) http://nicxusedell.blogspot.com/2013/10/freezing-scene-season-1.html
(part 2) http://uyakacrut.blogspot.com/2013/10/prinsip-kerja-forensik-digital.html
(part 3) http://bolehdilihat.wordpress.com/2013/10/14/penanganan-insiden-forensik-dan-freezing-scene/
(part 4) http://riswanagnita.blogspot.com/2013/10/freezing-scene-part-4.html
(part 5) http://nicxusedell.blogspot.com/2013/10/freezing-scene-season-1.html
Tidak ada komentar:
Posting Komentar