Freezing The Scene (Bagian 4)
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:
- 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.
Freezing The Scene (Bagian 1)
Freezing The Scene (Bagian 2)
Freezing The Scene (Bagian 3)
Freezing The Scene (Bagian 4)
Freezing The Scene (Bagian 2)
Freezing The Scene (Bagian 3)
Freezing The Scene (Bagian 4)
References :
Tidak ada komentar:
Posting Komentar