Selasa, Januari 17, 2012

FREEZING THE SCENE part 3

Pemrosesan Barang Bukti
Terdapat perdebatan dalam komunitas forensik untuk melakukan plug suatu sistem, misalnya apakah diperlukan untuk mematikan mesin. Sistem operasi bersangkutan akan merupakan kuncinya. Jika ada suatu usaha compromise atau penyusupan, penyelidikan diarahkan pada proses yang ada di memori, sistem file yang dipetakan melalui jaringan, koneksi mencurigakan lainnya pada host tersebut dan port apa yang sedang dipergunakan.
Panduan umum pemrosesan barang bukti berikut diambil dari :
  • Shut down computer perlu dipertimbangkan kerusakan proses yang berjalan di background.
  • Dokumentasikan konfigurasi hardware dari sistem: perhatikan bagaimana komputer di set up karena mungkin akan diperlukan restore kondisi semula pada tempat yang aman.
  • Pindahkan sistem komputer ke lokasi yang aman.
  • Buat backup bit dari hard disk dan floppy.
  • Uji otentifitas data pada semua perangkat penyimpanan.
  • Dokumentasikan tanggal dan waktu yang berhubungan dengan file computer.
  • Buat daftar keyword pencarian karena terdapat tool forensik yang bisa dipergunakan untuk pencarian informasi yang relevan.
  • Evaluasi swap file.
  • Evaluasi file slack, terdiri dari dump memori yang terjadi selama file ditutup.
  • Evaluasi unallocated space (erased file). Fungsi undelete di DOS bisa dipergunakan untuk melakukan restore
  • Pencarian keyword pada file, file slack, dan unallocated space
  • Dokumentasikan nama file, serta atribut tanggal dan waktu
  • Identifikasikan anomali file, program dan storage
  • Evaluasi fungsionalitas program untuk mengetahui kegunaannya
  • Dokumentasikan temuan dan software yang dipergunakan
  • Buat copy dari software yang dipergunakan
Merupakan keputusan sulit berespon pada insiden sedemikian agar tidak mengakibatkan korupsi data. Hal ini sangat bergantung pada sistem operasinya. Karena barang bukti bisa berada pada file tapi bisa juga pada file slack, erased atau swap. Misal pada Windows saat start akan membuka file baru yang menyebabkan overwrite data sebelumnya.
Berikut adalah lima tahapan pemrosesan barang bukti. Asumsinya di sini adalah semua ijin untuk mempergunakan mesin (PC, Server, Tape, dan lainnya) sudah dimiliki secara hukum:

1. Persiapan
Sebelum penyelidikan, pastikan persiapan yang diperlukan. Beberapa panduan:
  • Sterilkan semua media dari virus.
  • Pastikan semua tool forensik bisa dipergunakan secara resmi.
  • Periksa kerja semua peralatan lab
  • Pilih ahli forensik yang tepat yang mampu memberikan kesaksian dan penjelasan yang baik pada persidangan. Misal untuk menerangkan hal-hal teknis yang asing bagi orang lain.
2. Snapshot
Beberapa panduan:
  • Foto lingkungan
  • Catat rinciannya.
  • Foto barang bukti, misal monitor dan PC.
  • Dokumentasikan konfigurasi hardware
  • Labeli barang bukti sesuai metodologi anda
  • Foto barang bukti lagi setelah dilabeli
  • Dokumentasikan apa yang terjadi

3. Transport
Dengan asumsi ijin resmi sudah diperoleh, tindakan untuk transportasi adalah:
  • Lakukan pengemasan dengan aman.
  • Foto dan dokumentasikan penanganan barang bukti meninggalkan tempat transport sampai ke lab pengujian .

4. Persiapan
Berikut adalah persiapan untuk uji lab:
  •  Lakukan unpack sesuai metodologi.
  • Lakukan uji visual dan catat setiap konfigurasi yang tidak semestinya.
  • Buat image dari hard disk. Hal yang penting untuk diingat:
    • Matikan software virus scanning
    • Catat waktu CMOS (Complementary Metal Oxide Semiconductor). Hal ini perlu dilakukan khususnya saat zona waktu dibutuhkan. 
    • Anda bisa membuat image dengan banyak cara 
    • Catat bagaimana image dibuat 
    • Pastikan tool untuk image tidak mengakses sistem file dari media bukti.
  • Setelah membuat image simpan barang bukti di tempat aman dan catatlah.
  • Merupakan hal yang baik untuk membuat image kedua.

5. Pengujian
Ini merupakan tahapan analisis barang bukti dari berbagai media (Floppy, hard drive, tape), dan sistem operasi (Linux, Windows). Mesin yang digunakan untuk melakukan analisa seharusnya adalah stand alone dan tidak terhubung dalam jaringan, sehingga memastikan tidak ada orang lain yang mengaksesnya.

Analisis forensik dilakukan pada dua level :
  • Level fisik, di mana ingin dilihat cluster dan sektor tertentu untuk mencari informasi. Tabel master atau file allocation table biasanya disebut system area.
  • Level lojik, misalkan gambar yang nampak sebagai rangkaian heksadesimal.

Karena tidak bisa sepenuhnya mempercayai bukti apapun, maka harus diperhitungkan rangkaian kepercayaan (chain of evidence) berikut :
  1. Shell (termasuk variabel environment)
  2. Command
  3. Dynamic libraries
  4. Device driver
  5. Kernel
  6. Controller
  7. Hardware

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 :
  • 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:
    1. Algoritma dan struktur data: Pilihan algoritma dan struktur data bisa menunjukkan background dari pembuat
    2. Kompilator: Dalam kasus virus bisa ditentukan bahasa pemrogramannya dan dari vendor mana, karena rutin-rutin dan library yang dipergunakan
    3. Pengetahuan pemrograman: Bisa dilihat tingkat kemampuan pemrogram dari penggunaan fungsi dan error checking semacam exception handling
    4. Pilihan system call
    5. Kesalahan: Beberapa programmer membuat kesalahan serupa pada program-programnya
  • Kode Sumber. Ini mampu memberikan informasi yang lebih banyak. Beberapa feature yang bisa dianalisis:
    1. Bahasa: Menunjukkan pengetahuan dan ketersediaan pada pemrogram
    2. Format: Biasanya konsisten, misal identasi dan deklarasi
    3. Komentar
    4. Nama variabel
    5. Ejaan: Ada pemrogram yang melakukan kesalahan eja secara tetap
    6. Feature bahasa: Beberapa pemrogram lebih suka menggunakan pilihan tertentu, misal antara perulangan for dengan repeat until atau while
    7. Scope: pemilihan variabel lokal dan global
    8. Jalur eksekusi: adanya kode yang tidak pernah dieksekusi
    9. 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.


Terimakasih kepada teman-teman dari 4ia05  sebagai sumber makalah ini
softnya silahkan download disini

Tidak ada komentar:

Posting Komentar