Bab II Studi Literatur Dalam studi pustaka ini, akan dipaparkan secara singkat mengenai teori-teori dasar yang terkait dengan judul penelitian ini, yaitu : OSSIM dan malware.
2.1 Ossim Tujuan OSSIM (Open Source System Information Management) adalah menyediakan kerangka kerja untuk menyatukan, mengatur, dan memperbaiki pendeteksian, serta penyajian data dalam proses monitoring terhadap keamanan jaringan.
2.1.1 Arsitekstur Ossim Secara umum, sistem OSSIM terbagi dalam tiga tingkatan, yaitu: Control panel untuk high-level monitoring, Risk and activity monitors untuk mid-level monitoring, dan Forensic console and network monitors pada low level monitoring. Sedangkan secara khusus, sistem kerja OSSIM terbagi atas 9 hierarki tingakat (lihat skema di bawah) yang akan dijelaskan satu-persatu sebagai berikut:
5
Gambar 2. 1 Arsitektur Ossim
1. Pattern Detectors Hampir semua detektor tradisional menggunakan pattern atau pola, tools yang berperan adalah Intrusion Detection System (IDS), yang mendeteksi pattern berdasarkan signature ataupun rules yang telah didefinisikan sebelumnya.
2. Anomaly Detectors Kemampuan untuk mendeteksi anomali atau ketidaknormalan merupakan kemampuan yang setingkat lebih tinggi dari deteksi pattern. Dalam kasus ini, administrator jaringan tidak perlu lagi mendefinisikan atau memberitahu sistem deteksi bahwa hal ini yang baik dan hal itu yang buruk. Sistem deteksi akan mempelajari hal itu dengan sendirinya, lalu memberitahu administrator jaringan ketika terjadi peristiwa yang tidak wajar atau tidak normal.
3. Centralization and Normalization Normalisasi dan sentralisasi (atau agregasi), bertujuan untuk menyatukan seluruh kejadian yang berhubungan dengan informasi keamanan jaringan (security events), dari semua sistem penting yang terhubung, ke dalam satu format pada sebuah console.
6
4. Prioritization Pemrioritasan dari sebuah peringatan (alert) tergantung dari topologi dan kelengkapan suatu sistem. Dengan pemrioritasan memungkinkan terciptanya suatu proses kontekstualisasi, dalam artian bahwa evaluasi dari tingkat pentingnya suatu peringatan, sehubungan dengan lingkungan organisasi, terdiri dari kelengkapan jaringan dan kebijakan untuk mengakses (access policy). Pemrioritasan adalah salah satu aspek terpenting dalam proses filtering, dimana peringatan yang disampaikan dari detektor akan dipilah-pilah menurut urgensinya untuk kemudian disampaikan ke tingkat selanjutnya untuk ditindak lanjuti.
5. Risk Assesment Risk Assesment berkaitan dengan penyikapan atas resiko dari security event yang terjadi. Pentingnya hal ini berkaitan dengan tiga faktor, yaitu: •
Nilai dari suatu aset yang berkaitan dengan suatu security event
•
Ancaman yang direpresentasikan oleh security event tersebut
•
Probabilitas event tersebut akan terjadi
6. Correlation Administrator jaringan dapat mendefinisikan fungsi korelasi sebagai algoritma yang mengeksekusi suatu operasi pada data input dan mengembalikannya dengan data output. Dengan kata lain, korelasi adalah kemampuan untuk memanfaatkan kelebihan dari suatu sistem untuk mengisi spektrum yang mungkin dimanfaatkan dalam suatu jaringan.
7. Monitor Walaupun merupakan monitor biasa yang memantau jalannya proses pada jaringan, namun ada beberapa fungsi dari monitor OSSIM ini yang cukup berguna, yaitu yang dinamakan “Risk Monitor”, “Use, Session, and Profile Monitors”, dan “Path Monitor”. Risk Monitor dari OSSIM disebut RiskMeter, yang akan menampilkan nilai yang diproduksi dengan menggunakan algoritma khusus untuk mengukur nilai resiko dari 7
Attack dan Compromise pada jaringan yang bersangkutan. Use, Session, and Profile Monitors menampilkan informasi umum mengenai user, profil user, dan aktivitas yang dilakukannya. Sementara Path Monitor berfungsi untuk melacak path atau jalur yang digunakan oleh mesin atau jaringan lain untuk berhubungan (baik komunikasi maupun transfer data) ke jaringan. Path Monitor dapat menampilkan data path dari mesin-mesin tersebut secara real time.
8. Forensic Console Forensic Console menyediakan akses ke semua informasi yang dikumpulkan dan disimpan oleh sistem-sistem di bawahnya. Fungsi console ini mirip seperti search engine yang beroperasi dengan database event sebagai basis pencariannya. Tidak seperti sistem sebelumnya (monitor), Forensic Console memungkinkan administrator jaringan untuk menganalisis security events tanpa batasan dan sampai tingkat detail maksimum.
9. Control Panel Sebagai sistem tertinggi, control panel mengizinkan administrator jaringan untuk mendefinisikan sejumlah kriteria sebagai threshold dari tingkat keamanan jaringan. Control panel memperlihatkan hasil akhir dari analisis sistem-sistem sebelumnya, sehingga penyajian datanya bersifat high level, yaitu berupa indikator-indikator yang menentukan kondisi dari jaringan. Control panel merupakan alat ukur paling serba guna untuk kasus apapun yang terjadi dalam jaringan. Administrator jaringan juga dapat menggunakannya untuk mengakses semua monitoring tools untuk memeriksa masalah apa yang terjadi dalam jaringan. Singkat kata, control panel adalah pusat kekuasaan dari sistem jaringan OSSIM.
2.1.2 Proses Kerja Ossim Secara umum, arsitektur OSSIM terbagi menjadi dua: •
Preprocessing, dilaksanakan oleh monitor dan sensor
8
Merupakan proses deteksi itu sendiri, dimana sensor akan mengirimkan informasi-informasi yang diterima kepada server Ossim. Juga membangkitkan alert jika sensor menemukan adanya serangan malware. •
Post-processing, dieksekusi dalam console yang terintegrasi Pada post-processing, ketika semua informasi mengenai jaringan telah dikumpulkan menjadi satu, seorang administrator dapat mengimplementasikan suatu
mekanisme
yang
dapat
meningkatkan
sensitivitas
dan
reliabilitas
pendeteksian. Analisis yang kompleks mengenai kemungkinan-kemungkinan serangan dapat ditingkatkan dengan menambahkan metode untuk mengurangi adanya kesalahan pendeteksian seperti false positive atau false negative.
Untuk lebih jelas dalam memberikan gambaran, diagram dari arsitektur OSSIM adalah sebagai berikut:
Gambar 2. 2 Diagram Ossim
9
Sebagai tambahan dari penjelasan sebelumnya, diagaram di atas juga menjelaskan tiga macam database: •
EDB (Event Database) Merupakan database terbesar karena menyimpan semua event yang ditangkap
oleh detektor, satu persatu secara lengkap. •
KDB (Knowledge of Framework Database) Digunakan untuk memasang parameter pada sistem agar dikenali oleh jaringan
lain, digunakan juga untuk mendefinisikan security policy. •
UDB (Profile Database) Menyimpan semua informasi yang dikumpulkan oleh profile monitor.
2.1.3 Aliran Data pada OSSIM Sehubungan dengan penjelasan sebelumnya, proses-proses yang terjadi dalam OSSIM tereksekusi dengan mengikuti suatu Data Flow atau aliran data. Data Flow ini adalah prosedur keberjalanan sistem, mulai dari awal pendeteksian, hingga penyikapan pada control panel. Data flow atau aliran data dalam OSSIM dijelaskan dengan gambar berikut :
10
Gambar 2. 3 Aliran Data Pada OSSIM
Proses Deteksi dalam OSSIM Pada bagian ini akan dibahas mengenai konsep tentang proses pendeteksian pada jaringan komputer.
Sensor Sensor didefinisikan sebagai suatu program yang memiliki kemampuan untuk memproses suatu informasi secara real-time. Informasi tersebut masih merupakan tingkat yang masih sederhana seperti trafik atau system event. Selain itu, sensor juga memiliki kemampuan untuk mengirimkan alert ketika ada suatu kebijakan yang berlaku dilanggar oleh pengguna komputer dalam jaringan.
11
Pendeteksian dapat didefinisikan melalui dua buah pendekatan: •
Melalui pattern atau rules yang telah didefinisikan oleh Administrator jaringan.
•
Melalui tingkat keanomalian pada jaringan.
Kemampuan Deteksi Kemampuan deteksi dapat dilihat melalui dua macam pendekatan, yaitu : •
Sensitivitas Kemampuan deteksi untuk melakukan analisis secara luas dan kompleks
dalam mengidentifikasi kemungkinan adanya serangan malware. •
Reliabilitas Merupakan tingkat kepastian pada suatu detektor ketika seorang
administrator menerima peringatan atas adanya kemungkinan serangan malware.
2.2
Mallicious Software Mallicious Software atau yang sering disingkat dengan Malware merupakan
program yang memiliki tujuan yang jahat. Malware terbagi-bagi dalam beberapa kategori [5] berdasarkan metode propagasi dan tujuannya.
Virus Merupakan program atau bagian dari executable code yang memiliki kemampuan untuk mereplikasi kode sendiri (self-replication) dengan menumpangkan dirinya pada suatu executable file. Virus menyebar sebagaimana file tersebut menyebar, seperti di-copy atau dikirim dari satu orang ke orang lain.
Worm Merupakan program mandiri (self-contained) atau kumpulan program yang dapat menyebarkan duplikasi dirinya sendiri atau bagian dari segmen dirinya sendiri pada sistem komputer. Propagasi penyebaran worm melalui koneksi jaringan / internet. Selain
12
dengan cara yang telah disebutkan sebelumnya, worm juga menyebar melalui lampiran pada email. Worm tidak membutuhkan interaksi dengan user untuk penyebarannya. Worm menyebar melalui kelemahan atau miskonfigurasi pada sistem komputer target.
Trojan horse Merupakan program yang bertujuan untuk melakukan sesuatu yang jahat, akan tetapi tidak memiliki kemampuan untuk mereplikasi diri. Trojan di-download sebagai file atau aplikasi yang berguna dan terlihat tidak berbahaya, akan tetapi terdapat maksud jahat yang tersembunyi dalam source code.
Malicious Mobile Code Merupakan istilah umum dari program lightweight executable yang di-download dari remote system dan dieksekusi pada komputer korban dengan interaksi user seminimal mungkin atau bahkan tidak ada. Mobile code berbeda dengan virus dan worm, karena tidak menginfeksi file atau menyebarkan atau mereplikasi diri. Mobile code mengekploitasi kelemahan pada sistem untuk memperoleh privilege. Bahasa populer yang digunakan pada Mobile code termasuk Java, ActiveX, Java Script dan VBScript.
Blended Threat Merupakan ancaman yang berupa gabungan dari beberapa aspek, seperti virus, worm dan trojan yang diintegrasikan dalam satu serangan. Blended attack menggunakan server dan kelemahan pada internet untuk inisiasi, propagasi dan penyebaran serangannya. Kombinasi dari metode dan teknik dari masing-masing aspek tersebut, membuat blended attack dapat menyebar dengan cepat dan mengakibatkan kerusakan yang cukup besar. Karakteristik yang terdapat pada blended attack adalah menyebabkan kerusakan pada file atau sistem, berpropagasi melalui beberapa metode, menyerang dari beberapa titik dan mengekploitasi kelemahan.
Attacker Tools Setelah suatu malware menginfeksi suatu sistem, beberapa tipe dari Attacker tool diinstall pada sistem tersebut. Tools tersebut membantu hacker untuk memiliki akses
13
pernuh untuk menggunakan sistem korban dan mengambil informasi-informasi yang penting. Ketika ditransfer oleh malware, attacker tools dapat di-instal sebagai bagian dari malware itu sendiri atau diinstal setelah serangan terjadi. •
Backdoor Merupakan istilah umum untuk program jahat yang menunggu perintah pada port Transmission Control Protocol (TCP) atau User Daragram Protocol (UDP). Backdoor terdiri dari komponen klien dan server. Klien terletak pada komputer hacker dan server berada pada komputer korban. Ketika koneksi antara klien dan server telah terbentuk, maka hacker dapat mengambil alih kendali atas komputer korban dari jarak jauh. Backdoor memiliki kemampuan seperti o Zombie Zombie, juga disebut dengan bot, merupakan program yang diinstal di dalam sistem yang bertujuan untuk menyerang sistem lain. Serangan yang lazin pada tipe zombie adalah serangan distributed denial of service (DDoS).
•
Rootkit Merupakan tools yang digunakan oleh hacker setelah berhasil menyusup kedalam komputer korban. Tools tersebut berfungsi untuk membantu hacker untuk memperoleh akses penuh atas sistem untuk tujuan tertentu.
•
Keystroke Loggers Merupakan program untuk memonitor dan mencatat penggunaan dari keyboard pada komputer. Keystroke logger mencatat informasi yang diketik dari keyboard, seperti apa yang diketik pada saat menulis email, username dan password , nomor kartu kredit dan lain lain. Data yang telah dicatat dikirim dari komputer korban kepada hacker melalui email, transfer file, atau lainnya.
14
Spyware Merupakan istilah yang sering digunakan untuk menyebutkan software yang didesain untuk mengambil informasi atu mengambil alih kendali korban tanpa sepengetahuan pengguna.
Malware detector merupakan sistem yang berusaha untuk mengidentifikasi adanya serangan malware. Detektor ini menggunakan signature dan heuristik lainnya sebagai dasar proses identifikasi malware.
Tujuan dari pembuat malware (hacker) adalah untuk memodifikasi atau merubah malware mereka untuk menghindari dari proses deteksi suatu malware detektor. Teknik yang kerap kali digunakan hacker untuk menghindari deteksi adalah program obfuscation (pengaburan). Polymorphism dan metamorphism merupakan teknik pengaburan yang populer di kalangan hacker.
Dalam rangka menghindari pendeteksian, virus dapat
mengubah dirinya dengan mengenskripsi payload yang mengandung data malicious dan mendekripsikan kembali pada saat tiba waktu eksekusi programnya. Virus polymorphic mengaburkan loop dekripsi menggunakan beberapa transformasi, seperti nop-insertion, code transposition, dan register reassignment. Virus metamorphic menghindari pendeteksian dengan mengaburkan keseluruhan virus. Ketika mereka mereplikasi diri mereka masing-masing, virus tersebut dapat mengubah kode mereka dalam beberapa cara, seperti code transposition, substitution of equivalent intruction sequences, change conditional jumps dan register reassignment.
Penambahan karakteristik baru atau modifikasi pada malware yang telah ada merupakan teknik favorit yang kerap kali digunakan oleh hacker. Sebagai contoh, varian worm Sobig.A sampai Sobig.F yang berkembang secara iteratif dengan menambah fiturfitur kecil. Setiap varian yang baru berusaha menghindari pendeteksian dengan penambahan teknik pengaburan yang baru juga. Teknik yang sama juga terlihat pada
15
worm Netsky dan Beagle dengan menambah kode baru atau mengganti kode yang telah ada dengan kode yang tidak terdeteksi dan dengan varian malicious yang lebih banyak . Sebagai contoh, worm Beagle memperlihatkan urutan upgrading dari versi A sampai versi C yang menambahkan fitur backdoor, kode untuk men-disable mekanisme keamanan lokal dan fungsi-fungsi untuk menyembunyikan diri di dalam proses yang sedang running.
Detektor malware komersial menggunakan pattern sederhana dalam mendeteksi. Sebagai contoh, suatu program dikatakan malware apabila mengandung urutan perintah yang cocok dengan ekspresi regular tertentu. Beberapa studi mendemonstrasikan bahwa detektor malware dapat dapat dikalahkan dengan mudah dengan menggunakan program obfuscation yang sering digunakan oleh hacker. Kekurangan mendasar dari pendekatan dengan mencocokkan pattern sederhana adalah diabaikannya semantics of istructions. Karena algoritma pattern-matching tidak efektif terhadap perubahan yang sedikit pada variasi-variasi suatu virus, maka perlu pattern yang berbeda untuk mendeteksi 2 malware dengan variasi yang berbeda sedikit saja. Karena alasan ini, suatu database signature dari antivirus komersial musti di-update secara berkala.
16