Analisis Unknown Program (part 5)
1. Analisis Unknown Program
Materi pada bagian ini diambil dari sumber. 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.