BAB 3. ANALISA DAN PERANCANGAN
3.1 Analisa Pembuatan Sistem
Sistem dibuat dengan menggunakan bahasa Python yang diintegrasikan dengan perangkat YARA. Sistem terhubung dengan internet dengan library YARA sehingga proses update dilakukan dipusat data.
Target sistem adalah server dengan sistem operasi linux sehingga proses eksekusi program hanya dilakukan melalui command line, tidak melalui GUI(Graphic User Interface).
3.1.1 Analisa Pengguna
Analisa pengguna menerapkan tipe – tipe level user yang akan digunakan pada sistem. Berikut adalah tabel analisa pengguna dari sistem identifikasi malware yang akan dibuat.
Tabel 1. Tabel Pengguna
No Pengguna Deskripsi
1 Admin
Admin merupakan pengguna yang memiliki akses untuk dapat melakukan tugas sebagai berikut: pasang dan hapus sistem, menambah dan menghapus rules, menggunakan beberapa perintah sensitif, dan Admin memiliki seluruh akses terhadap user guest
2 Guest
Guest merupakan penguna yang memiliki akses untuk dapat melakukan tugas sebagai berikut: menjalan perintah untuk mengidentifikasi program website guest saja namun terbatas tidak untuk guest lain di satu host.
3.1.2 Analisa Kebutuhan
Dalam tahap pembuatan sistem identifikasi malware diperlukan beberapa kebutuhan untuk menunjang penelitian, adapun kebutuhan tersebut meliputi perangkat keras dan perangkat lunak. Perangkat keras yang digunakan adalah 2 buah server yang saling terhubung dengan IP dedicated. Perangkat lunak yang digunakan adalah tool YARA dan PyCharm sebagai IDE dan interpreter untuk bahasa Python.
3.1.3 Spesifikasi Kebutuhan Sistem
Spesifikasi kebutuhan sistem merupakan analisa kebutuhan yang akan digunakan untuk membangun sistem identifikasi malware. Spesifikasi kebutuhan sistem terdiri dari kebutuhan perangkat keras, sistem operasi, dan aplikasi pendukung untuk berjalannya sistem.
Tabel 2. Spesifikasi Kebutuhan Sistem
Spesifikasi Kebutuhan Sistem Fungsi Controller Node Client Node Type Server Cloud “Parallel” Cloud “Parallel”
Sistem Operasi Debian GNU/Linux 8.7 (jessie)
Debian GNU/Linux 8.7 (jessie)
CPU
Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
Memory 8 GB 8 GB
Disk Space 20 GB 20GB
Service Server MySQL, Apache, GIT MySQL, Apache, GIT
Selain spesifikasi kebutuhan utama sistem, dalam pembuatan dan implementasi sistem identifikasi malware membutuhkan perangkat pendukung. Perangkat pendukung yang dibutuhkan dijelaskan dalam tabel 3.
Tabel 3. Spesifikasi Kebutuhan Tambahan Nama
Perangkat
Fungsi Jumlah
Komputer Jinjing
Sebagai host sementara pembuatan sistem identifikasi malware
1 Buah
Cloud Core Router
Internet service 1 Buah
3.2 Kerangka Pemikiran
Langkah selanjutnya adalah dengan membuat kerangka pemikiran.
Tahap ini bertujuan untuk mendapatkan hasil yang tepat berdasarkan permasalahan yang terjadi sehingga dapat digambarkan pada Gambar 4:
Gambar 6. Kerangka Pemikiran Identifikasi permasalahan
infeksi malware pada aplikasi
Merancang dan membangun sistem identifikasi malware
Analisis Pembuatan Sistem
Kesimpulan
Implementasi dan Pengujian Sistem yang telah dibangun
Identifikasi permasalahan pada infeksi malware mendapatkan perumusan masalah yaitu bagaimana membuat sistem identifikasi malware menggunakan metode signature-based YARA, kemudian dilakukan analisa kebutuhan sistem yang akan diimplementasikan . Aplikasi telah berbentuk maka dilanjutkan dengan proses pengujian sistem untuk membuktikan apakah sistem yang dibuat dapat menjadi solusi permasalahan yang terjadi.
3.3 Perancangan Sistem yang Diajukan
Perancangan sistem yang diajukan terdiri dari desain komponen untuk membentuk sistem identifikasi malware menggunakan signature-based YARA, desain dirancang berdasarkan perangkat yang disediakan untuk penilitian, selain desain komponen, dalam perancangan sistem terdapat topologi jaringan yang akan dibangun, proses installasi sistem, dan diagram use case.
3.3.1 Desain Komponen dan Inti Sistem yang Diajukan
Penentuan komponen berdasarkan kebutuhan penelitian sesuai dengan fungsi masing – masing server. Server controller node berfungsi sebagai librari malware terpusat dan client node sebagai penerima librari sistem identifikasi malware berbasis signature-based YARA.
Gambar 7. Desain Komponen dan Inti Sistem yang Diajukan
Client Node
Control Panel
SSHService
GIT Service
Sistem Identifikasi Malware (client)
Controller Node
SQL Database Service
Apache Service SSH Service
GIT Service
PHP Service
Sistem Identifikasi Malware (control)
3.3.2 Desain Topologi
Desain topologi merupakan rancangan jarngan yang digunakan untuk implementasi sistem identifikasi malware. Desain topologi disesuaikan dengan ketersediaan perangkat dan kebutuhan infrastruktur jaringan data center.
Jaringan Internet 10.3.0.0/24 Controller Node
Interface 0 103.229.74.254
Interface 1 IP tidak disetting
Server
Controller Node Client Node
Interface 0 103.229.74.165
Interface 1 IP tidak disetting
Server Client Node
Server Client Node Server
Client Node
Gambar 8. Desain Topologi Sistem yang Diusulkan
3.3.3 Diagram Proses Implementasi Sistem
Perancangan sistem identifikasi malware signature-based YARA dimulai dari instalasi sistem operasi linux Debian pada controller Node. Controller Node bertugas sebagai pusat data dan tempat kompilasi sistem yang akan dibangun.
Untuk Client Node tidak memerlukan spesifikasi linux khusus, karena sistem cukup membutuhkan interpreter python yang umumnya sudah terinstal secara default di server linux. Bahkan, sistem ini sangat memungkinkan berjalan di server produksi karena bersifat portable (tidak memerlukan instalasi).
Komponen aplikasi pada server saling terhubung
Sistem identifikasi malware berbasis signature-based telah berhasil terinstall dan
siap digunakan.
Instalasi dan Konfigurasi Sistem Operasi linux
pada Tiap Server -Konfigurasi /etc/hosts -Konfigurasi ssh-key -Installasi dan Konfigurasi control panel
Compile dan
Implementasi Komponen Sistem pada Controller Node
-Install Pyhton Compiler -Install dan Konfigurasi Komponen
LAMP,
SSH Server,
Nano,
GIT,
Glace,
Rsync,
Perl Installasi dan Konfigurasi
Komponen Client Node(n) -Install Cpanel
-Install dan Konfirugasi Komponen pendukung
SSH - Client
Rsync
CSF
Installasi dan Konfigurasi Komponen Client Node(n) -Install Cpanel
-Install dan Konfirugasi Komponen pendukung
SSH - Client
Rsync
CSF
Gambar 9. Diagram Implementasi Sistem
3.3.4 Diagram Use Case
Use case menjelaskan manfaat suatu sistem jika dilihat berdasarkan pandangan orang lain diluar sistem (aktor), menunjukan fungsional sistem dan bagaimana sistem interaksi dengan aktor.
Berikut adalah pemodelan use case dalam perancangan aplikasi:
Sistem Identifikasi Malware Tambah Rules
Tambah Librari
Tambah Client
Hapus Rules
Hapus Librari
Hapus Client
Scan Malware
Karantina
Update Sistem
Setel Whitelist
Setel Directory
Admin Client
Gambar 10. Diagram Use Case Sistem Identifikasi Malware
Berikut adalah penjelasan diagram use case Sistem Identifikasi Malware:
Tabel 4. Use Case “Tambah Rules”
Nama use case Tambah Rule
Aktor Admin
Deskripsi Menambahkan rule atau aturan sebagai aturan dasar filter sistem identifikasi.
Tabel 5. Use Case “Tambah Librari”
Nama use case Tambah Librari
Aktor Admin
Deskripsi Menambahkan librari jenis malware terkini agar sistem selalu up-to date.
Tabel 6. Use Case “Tambah Klien”
Nama use case Tambah Klien
Aktor Admin
Deskripsi Menambahkan server – server yang boleh akses database dan update sistem.
Tabel 7. Use Case “Hapus Rules”
Nama use case Hapus Rules
Aktor Admin
Deskripsi Membuang rule atau aturan yang obsolete atau tidak sesuai dengan filter sistem identifikasi.
Tabel 8. Use Case “Hapus Librari”
Nama use case Hapus Librari
Aktor Admin
Deskripsi Membuang librari jenis malware yang mungkin bisa meningkatkan presentase false-positive
Tabel 9. Use Case “Hapus Klien”
Nama use case Hapus Klien
Aktor Admin
Deskripsi Membuang server yang sudah tidak memerlukan sistem identifikasi malware.
Tabel 10. Use Case “Scan Malware”
Nama use case Scan Malware
Aktor Admin dan Klien
Deskripsi Scan direktori tertentu atau keseluruhan server dari kemungkinan infeksi malware.
Tabel 11. Use Case “Karantina”
Nama use case Scan Malware
Aktor Admin dan Klien
Deskripsi Hasil positif dari sistem identifikasi akan dialihkan ke folder tertentu untuk dikarantina.
Tabel 12. Use Case “Update Sistem”
Nama use case Scan Malware
Aktor Admin dan Klien
Deskripsi Update sistem malware agar mendapatkan data terbaru.
Tabel 13. Use Case “Setel Whitelist”
Nama use case Scan Malware
Aktor Admin dan Klien
Deskripsi Setel pengecualian agar file aktif yang tersuspect dapat dilewatkan dari sistem identifikasi.
Tabel 14. Use Case “Setel Direktori”
Nama use case Scan Malware
Aktor Admin dan Klien
Deskripsi Setel folder yang akan di set dengan penjadwalan sistem identifikasi malware.
3.3.5 Diagram Aktifitas
Diagram aktifitas adalah diagram sebuah skema aktifitas yang terjadi pada pengujian sistem identifikasi malware.
3.3.5.1 Diagram Aktifitas “Tambah Rules”
Diagram aktivitas ini menjelaskan tentang cara menambahkan rules atau aturan kedalam sistem identifikasi malware. Tujuannya untuk selalu up-to date terhadap perkembangan algoritma malware. Proses input tidak menggunakan GUI, melainkan hanya menggunakan text editor favorit pengguna misalnya nano atau vim.
Pengguna Sistem
Gambar 11. Diagram Aktifitas “Tambah Rules”
Akses Server Direktori Sistem
Direktori Rules
Data Rules Buka Data Rules
Isi Data Rules Testing Data
Simpan Rules Error
Passed
3.3.5.2 Diagram Aktifitas “Tambah Librari”
Diagram aktifitas ini menjelaskan tentang cara menambahkan librari kedalam sistem identifikasi malware.
Tujuannya untuk selalu up-to date terhadap perkembangan jenis malware. Proses input tidak menggunakan GUI, melainkan hanya menggunakan text editor favorit pengguna misalnya nano atau vim.
Pengguna Sistem
Gambar 12. Diagram Aktifitas “Tambah Librari”
3.3.5.3 Diagram Aktifitas “Tambah Klien”
Diagram aktivitas ini menjelaskan tentang cara menambahkan librari kedalam sistem identifikasi malware.
Tujuannya untuk menambahkan server – server klien yang ingin menggunakan sistem identifikasi malware. Proses input tidak menggunakan GUI, melainkan hanya menggunakan text editor favorit pengguna misalnya nano atau vim.
Akses Server Direktori Sistem
Direktori Librari
Data Librari Buka Data Librari
Isi Data Librari Testing Data
Simpan Librari Error
Passed
Pengguna Sistem
Gambar 13. Diagram Aktifitas “Tambah Klien”
3.3.5.4 Diagram Aktifitas “Hapus Rules”
Diagram aktivitas ini menjelaskan cara menghapus rules atau aturan kedalam sistem identifikasi malware.
Pengguna Sistem
Gambar 14. Diagram Aktifitas “Hapus Rules”
Akses Server Direktori Sistem
Direktori Klien
Data Klien Buka Data Klien
Isi Data Klien Testing Data
Simpan Klien Error
Passed
Akses Server Direktori Sistem
Direktori Rules
Data Rules Buka Data Rules
Hapus Data Rules Testing Data
Simpan Rules Error
Passed
3.3.5.5 Diagram Aktifitas “Hapus Librari”
Diagram aktivitas ini menjelaskan tentang cara menghapus librari atau aturan kedalam sistem identifikasi malware.
Tujuannya untuk menghapus library malware yang obsolete atau karena kesalahan perkiraan akibat dari false-positive sebuah file aktif.
Pengguna Sistem
Gambar 15. Diagram Aktivitas “Hapus Librari”
3.3.5.6 Diagram Aktifitas “Hapus Klien”
Diagram aktifitas ini menjelaskan tentang cara menghapus klien yang terhubung dengan sistem identifikasi malware.
Tujuannya agar server – server yang sudah tidak aktif ataupun yang sudah tidak berlangganan (jika kedepannya akan dikomersilkan) dapat diputus dari support yang diberikan oleh server controller sistem identifikasi malware ini.
Penghapusan data klien diserver controller tidak otomatis menghapus instalasi diserver klien, hanya supportnya saja yang terputus sehingga tidak mendapat update terbaru dari sistem identifikasi malware.
Akses Server Direktori Sistem
Direktori Librari
Data Librari Buka Data Librari
Hapus Data Librari Testing Data
Simpan Librari Error
Passed
Pengguna Sistem
Gambar 16. Diagram Aktifitas “Hapus Klien”
3.3.5.7 Diagram Aktifitas “Scan Malware”
Diagram ini menjelaskan cara scan atau identifikasi malware pada server.
Pengguna Sistem
Gambar 17. Diagram Aktifitas “Scan Malware”
Akses Server Direktori Sistem
Direktori Klien
Data Klien Buka Data Klien
Hapus Data Klien Testing Data
Simpan Klien Error
Passed
Akses Server Direktori User Server
List Perintah Menentukan Direktori
Eksekusi Perintah Testing Input
Hasil Error
Passed
3.3.5.8 Diagram Aktifitas “Karantina”
Diagram ini menjelaskan opsi setelah hasil scan. File yang terinfeksi atau tersuspect sebagai malware. File yang terinfeksi akan dipindahkan ke direktori tertentu agar tidak aktif dan untuk keperluan pemeriksaan lebih lanjut. Eksekusi perintah scan melalui command-line yang cukup sederhana untuk pengguna awam.
Pengguna Sistem
Gambar 18. Diagram Aktifitas “Karantina”
3.3.5.9 Diagram Aktifitas “Update Sistem”
Diagram ini menjelaskan update sistem malware. Metode signature-based membutuhkan proses update yang terus menerus. Untuk file atau skrip update tersebut dapat ditemui dalam forum – forum keamanan.
Proses ini membutuhkan pengetahuan pengguna atas struktur malware. Karena masih ada presentase false-positive, dikhawatirkan file yang diupdate sebagai malware adalah file aktif website yang di encode.
Eksekusi Perintah Scan Menampilkan hasil
Menampilkan opsi Memutuskan Opsi
Pilih Karantina Dialog Yes/No
Selesai No
Yes
Pengguna Sistem
Gambar 19. Diagram Aktifitas “Update”
3.3.5.10 Diagram Aktifitas “Setel Whitelist”
Diagram ini menjelaskan pengaturan sistem yaitu setel whitelist atau pengecualian. Maksud dari fitur ini adalah, untuk melewatkan beberapa file yang memang dipastikan bukan malware.
Misalnya, dalam pengoperasian modul website diperlukan beberapa file yang di-encode. File ini dapat diidentifikasi sebagai malware jika tidak dimasukkan dalam setel whitelist.
Agar memudahkan penyetelan whitelist, maka dibuat sebuah direktori tempat file matching whitelist tersebut.
Penambahan whitelist bisa dilakukan perfolder sistem, misalnya satu sistem CMS wordpress atau joomla. Dapat ditambahkan pula sistem yang lainnya dalam setel whitelist.
Eksekusi Perintah Update Menampilkan hasil
Lapor Admin Koneksi Error
Selesai No
Yes
Pengguna Sistem
Gambar 20. Diagram Aktifitas “Setel Whitelist”
3.3.5.11 Diagram Aktifitas “Setel Direktori”
Diagram ini menjelaskan pengaturan direktori tertentu yang pasti akan masuk proses identifikasi.
Pengguna Sistem
Gambar 21. Diagram Aktivitas “Setel Direktori”
Akses Server Direktori Sistem
Direktori Whitelist
Data Whitelist Buka Data Whitelist
Setel Data Whitelist Testing Data
Simpan Whitelist Error
Passed
Akses Server Direktori Sistem
Direktori Setel
Data Direktori Buka Data Direktori
Setel Data Direktori Testing Data
Jalankan Sistem Error
Passed