ABSTRAK
Keamanan menjadi salah satu faktor penting di era teknologi informasi ini. Maraknya serangan pada jaringan membuat data yang berupa informasi penting dapat dieksploitasi dan kelancaran jaringan dapat terganggu. Penggunaan IDS atau Intrusion Detection System mampu mendeteksi serangan yang mengancam jaringan, sehingga tingkat keamanan pada jaringan dapat meningkat. Snort merupakan salah satu IDS yang umum digunakan, namun pembacaan data log dengan menggunakan console akan menyulitkan pengguna jika data log yang tersimpan sangat banyak. Oleh karena itu, penelitian ini dilakukan agar pembacaan dan analisis data log pada Snort menjadi lebih mudah. Aplikasi dibuat dengan menggunakan bahasa pemrograman PHP dan basis data MySQL. Aplikasi bergantung pada Barnyard2 sebagai aplikasi untuk menyimpan data log ke dalam MySQL dan PulledPork sebagai aplikasi untuk menambahkan rule pada Snort secara otomatis. Hasil penelitian menunjukkan bahwa aplikasi mampu membantu pengguna dalam membaca data log Snort dan juga membantu pengguna dalam memahami serangan yang ditemukan dan cara menyelesaikan masalah yang ada.
ABSTRACT
Security becomes one of the main factor in this information technology era. A lot of attacks toward networks cause data exploitation and network traffic disturbance. The use of IDS or Intrusion Detection System helps detect attacks that endanger the security of a network, so that the security level can be increased. Snort is one of the example of IDS that is commonly used, but reading its log data via console can become a hardship for some users if the data is too large. So, the purpose of this research is to make Snort’s log reading and analyzing becomes easier. This application created with the use of PHP programming language and MySQL database. This application needs Barnyard2 as log saving to MySQL database and PulledPork as rule automatic updating. The result of this research shows that the application can helps users reading the log and understanding the attacks and how to resolve it.
DAFTAR ISI
LEMBAR PENGESAHAN ... i
PERNYATAAN ORISINALISTAS LAPORAN PENELITIAN ... ii
PERNYATAAN PUBLIKASI LAPORAN PENELITIAN... iii
PRAKATA ... iv
ABSTRAK ... vi
ABSTRACT ... vii
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xiii
DAFTAR TABEL ... xv
DAFTAR KODE PROGRAM ... xvi
DAFTAR NOTASI/ LAMBANG ... xvii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Pembahasan ... 2
1.4 Ruang Lingkup ... 2
1.5 Sumber Data ... 3
1.6 Sistematika Penyajian ... 3
BAB 2 KAJIAN TEORI ... 4
2.1 Intrusion Detection System ... 4
2.1.1 Host-Based IDS ... 4
2.1.2 Network-Based IDS ... 5
2.1.3 Alerts dan Logs ... 5
2.2.1 Signature-Based IDS ... 6
2.2.2 Anomaly-Based IDS ... 7
2.3 Snort ... 7
2.3.1 Tabel Basis Data Snort ... 8
2.3.2 Skema Basis Data Snort ... 8
2.4 Barnyard2 ... 9
2.5 PulledPork... 10
2.6 PHP IDS Analyzer ... 10
2.6.1 BASE... 10
2.6.2 ACID ... 10
2.7 UML ... 11
2.7.1 Use Case... 11
2.7.2 Activity Diagram ... 12
2.7.3 Class Diagram ... 12
2.8 PHP ... 12
2.9 HTML ... 13
2.10 CSS ... 13
2.11 Javascript ... 13
2.12 MySQL ... 13
BAB 3 ANALISIS DAN RANCANGAN SISTEM ... 15
3.1 Analisis ... 15
3.2 Topologi ... 16
3.3 Pemodelan Perangkat Lunak ... 17
3.3.1 Use Case IDS Log Viewer System ... 17
3.3.2 Activity Diagram ... 18
3.3.2.2 Activity Diagram Konfigurasi Basis Data ... 18
3.3.2.3 Activity Diagram Lihat Rangkuman Event ... 19
3.3.2.4 Activity Diagram Lihat Event Berdasarkan Tingkat Ancaman ... 20
3.3.2.5 Activity Diagram Lihat Event Berdasarkan Grafik ... 21
3.3.2.6 Activity Diagram Lihat Event... 21
3.3.2.7 Activity Diagram Sorting Event ... 22
3.3.2.8 Activity Diagram Cari Event ... 23
3.3.2.9 Activity Diagram Lihat Detil Event... 23
3.3.2.10 Activity Diagram Buat Report ... 24
3.3.2.11 Activity Diagram Ekspor Event ... 25
3.3.2.12 Activity Diagram Lihat Signature ... 25
3.3.2.13 Activity Diagram Tambah Rekomendasi ... 26
3.3.2.14 Activity Diagram Ubah Rekomendasi ... 27
3.3.2.15 Activity Diagram Ubah User ... 28
3.3.3 Class Diagram ... 29
3.3.3.1 Class Sensor ... 29
3.3.3.2 Class Signature ... 30
3.3.3.3 Class User ... 31
3.3.3.4 Class Recommendation ... 31
3.3.3.5 Class Reference ... 31
3.3.3.6 Class Events ... 32
3.3.3.7 Class Iphdr ... 33
3.3.3.8 Class Tcphdr ... 33
3.3.3.9 Class MainView ... 34
3.3.3.10 Class Event DAO ... 35
3.3.3.12 Class Reference DAO ... 37
3.3.3.13 Class Sensor DAO ... 37
3.3.3.14 Class Signature DAO ... 37
3.3.3.15 Class User DAO ... 38
3.3.4 Entity Relationship Diagram... 38
3.4 Rancangan Antarmuka ... 40
3.4.1 Rancangan Antarmuka Form Login ... 40
3.4.2 Rancangan Antarmuka Form Configure Database... 40
3.4.3 Rancangan Antarmuka Dashboard ... 41
3.4.4 Rancangan Antarmuka Tabel Event ... 42
3.4.5 Rancangan Antarmuka Detil Event ... 43
3.4.6 Rancangan Antarmuka Form Advanced Search ... 44
3.4.7 Rancangan Antarmuka Report ... 44
3.4.8 Rancangan Antarmuka Setting ... 45
3.4.9 Rancangan Antarmuka Tabel Signature ... 46
3.4.10 Rancangan Antarmuka Form Tambah Recommendation ... 46
3.4.11 Rancangan Antarmuka Form Update Recommendation... 47
BAB 4 IMPLEMENTASI ... 48
4.1 Tampilan Aplikasi ... 48
4.1.1 Tampilan Form Login ... 48
4.1.2 Tampilan Form Configure Database ... 49
4.1.3 Tampilan Antarmuka Dashboard ... 51
4.1.4 Tampilan Tabel Event ... 53
4.1.5 Tampilan Antarmuka Detil Event ... 54
4.1.6 Tampilan Form Advanced Search ... 55
4.1.8 Tampilan Antarmuka Setting ... 57
4.1.9 Tampilan Tabel Signature ... 59
4.1.10 Tampilan Form Tambah Rekomendasi ... 60
4.1.11 Tampilan Form Update Rekomendasi ... 62
4.2 Implementasi Entity Relationship Diagram ... 63
BAB 5 PENGUJIAN... 64
5.1 Pengujian Login ... 64
5.2 Pengujian Konfigurasi Basis Data ... 64
5.3 Pengujian Menu Dashboard ... 65
5.4 Pengujian Menu Event ... 66
5.5 Pengujian Menu Advanced Search... 67
5.6 Pengujian Update User ... 67
5.7 Pengujian Tambah Rekomendasi ... 68
5.8 Pengujian Update Rekomendasi ... 69
5.9 Hasil Angket... 69
BAB 6 SIMPULAN DAN SARAN ... 73
6.1 Simpulan ... 73
DAFTAR GAMBAR
Gambar 2.1 Contoh Penulisan Signature ... 6
Gambar 2.2 Alur Kerja Komponen Snort ... 7
Gambar 2.3 Skema Basis Data Snort. ... 9
Gambar 2.4 Contoh Penggunaan Barnyard2 ... 10
Gambar 3.1 Topologi Penelitian ... 16
Gambar 3.2 Use Case IDS Log Analysis System ... 17
Gambar 3.3 Activity Diagram Login ... 18
Gambar 3.4 Activity Diagram Konfigurasi Basis Data ... 19
Gambar 3.5 Activity Diagram Lihat Rangkuman Event ... 20
Gambar 3.6 Activity Diagram Lihat Event Berdasarkan Tingkat Ancaman ... 20
Gambar 3.7 Activity Diagram Lihat Event Berdasarkan Grafik ... 21
Gambar 3.8 Activity Diagram Lihat Event ... 22
Gambar 3.9 Activity Diagram Sorting Event ... 22
Gambar 3.10 Activity Diagram Cari Event ... 23
Gambar 3.11 Activity Diagram Lihat Detil Event ... 24
Gambar 3.12 Activity Diagram Buat Report ... 24
Gambar 3.13 Activity Diagram Ekspor Event ... 25
Gambar 3.14 Activity Diagram Lihat Signature ... 26
Gambar 3.15 Activity Diagram Tambah Rekomendasi ... 26
Gambar 3.16 Activity Diagram Ubah Rekomendasi ... 27
Gambar 3.17 Activity Diagram Ubah User ... 28
Gambar 3.18 Kelas Diagram Aplikasi ... 29
Gambar 3.19 Kelas Sensor ... 30
Gambar 3.20 Kelas Signature ... 30
Gambar 3.21 Kelas User ... 31
Gambar 3.22 Kelas Recommendation ... 31
Gambar 3.23 Kelas Reference ... 32
Gambar 3.24 Kelas Events ... 32
Gambar 3.25 Kelas Iphdr ... 33
Gambar 3.27 Kelas Main View ... 35
Gambar 3.28 Kelas Event Dao ... 36
Gambar 3.29 Kelas Recommendation Dao ... 36
Gambar 3.30 Kelas Reference Dao ... 37
Gambar 3.31 Kelas Sensor Dao ... 37
Gambar 3.32 Kelas Signature Dao ... 38
Gambar 3.33 Kelas User Dao ... 38
Gambar 3.34 Entity Relationship Diagram Aplikasi ... 39
Gambar 3.35 Rancangan Antarmuka Form Login ... 40
Gambar 3.36 Rancangan Antarmuka Form Configure Database ... 41
Gambar 3.37 Rancangan Antarmuka Dashboard ... 42
Gambar 3.38 Rancangan Antarmuka Tabel Event ... 42
Gambar 3.39 Rancangan Antarmuka Detil Event ... 43
Gambar 3.40 Rancangan Antarmuka Form Advanced Search ... 44
Gambar 3.41 Rancangan Antarmuka Report ... 45
Gambar 3.42 Rancangan Antarmuka Setting ... 45
Gambar 3.43 Rancangan Antarmuka Tabel Signature ... 46
Gambar 3.44 Rancangan Antarmuka Add Recommendation ... 47
Gambar 3.45 Rancangan Antarmuka Update Recommendation... 47
Gambar 4.1 Tampilan Form Login ... 48
Gambar 4.2 Tampilan Form Configure Database ... 50
Gambar 4.3 Tampilan Antarmuka Dashboard... 51
Gambar 4.4 Tampilan Tabel Event ... 53
Gambar 4.5 Tampilan Antarmuka Detil Event ... 55
Gambar 4.6 Tampilan Form Advanced Search ... 56
Gambar 4.7 Tampilan Antarmuka Report ... 57
Gambar 4.8 Tampilan Antarmuka Setting ... 58
Gambar 4.9 Tampilan Tabel Signature ... 60
Gambar 4.10 Tampilan Form Tambah Rekomendasi ... 61
Gambar 4.11 Tampilan Form Update Rekomendasi ... 62
DAFTAR TABEL
Tabel 2.1 Deskripsi Basis Data Snort ... 8
Tabel 5.1 Pengujian Login ... 64
Tabel 5.2 Pengujian Konfigurasi Basis Data ... 65
Tabel 5.3 Pengujian Menu Dashboard ... 65
Tabel 5.4 Pengujian Menu Event ... 66
Tabel 5.5 Pengujian Menu Advanced Search ... 67
Tabel 5.6 Pengujian Update User ... 68
Tabel 5.7 Pengujian Tambah Rekomendasi ... 68
Tabel 5.8 Pengujian Update Rekomendasi ... 69
Tabel 5.9 Hasil Angket Kategori Kemudahan ... 70
DAFTAR KODE PROGRAM
Kode Program 4.1 Login ... 49
Kode Program 4.2 Konfigurasi Basis Data ... 50
Kode Program 4.3 Lihat Rangkuman Event ... 52
Kode Program 4.4 Lihat Event Berdasarkan Tingkat Ancaman ... 52
Kode Program 4.5 Lihat Event Berdasarkan Grafik ... 52
Kode Program 4.6 Lihat Event ... 54
Kode Program 4.7 Sorting Event ... 54
Kode Program 4.8 Lihat Detil Event ... 55
Kode Program 4.9 Search Event ... 56
Kode Program 4.10 Buat Report ... 57
Kode Program 4.11 Ubah User ... 58
Kode Program 4.12 Eksport Event... 59
Kode Program 4.13 Lihat Signature ... 59
Kode Program 4.14 Tambah Rekomendasi ... 61
DAFTAR NOTASI/ LAMBANG
Jenis Notasi/Lambang Nama Gambar Arti
Use Case System
Use Case Communication Tujuan komunikasi
adalah untuk memperlihatkan
bahwa sebuah actor terlibat dalam
usecase
Use Case Generalization Relasi antara dua
actor atau dua
<<Extends>> Extend Ekstensi use case tambahan dari use
case utama Use Case
Jenis Notasi/Lambang Nama Gambar Arti
Use Case Usecase Gambaran
fungsionalitas dari
Diagram End/Final State Titik akhir
Activity
Diagram Control Flow
Perpindahan dari proses yang satu ke
proses lainnya
BAB 1
PENDAHULUAN
1.1Latar Belakang
Pada era teknologi informasi ini keamanan menjadi salah satu faktor penting dalam pengelolaan dan penggunaan aplikasi. Faktor keamanan menjadi sangat penting dalam pengelolaan jaringan. Ancaman serangan seperti DOS, malware, dan serangan yang bertujuan meretas lainnya membuat keamanan jaringan perlu ditingkatkan. Dalam upaya mencegah serangan tersebut dan meningkatkan keamanan jaringan digunakan IDS atau Intrusion Detection System. Snort merupakan salah satu aplikasi IDS yang umum digunakan dalam
memonitor aktivitas dari jaringan. Snort mendokumentasikan setiap aktivitas yang terjadi pada jaringan, sehingga serangan atau aktivitas yang mencurigakan pada jaringan dapat diketahui oleh aplikasi ini. Namun, dokumentasi atau log dari snort tidak mudah dibaca bagi orang awam, sehingga menyulitkan pengelola jaringan dalam melakukan analisis, maintenance, dan perbaikan jaringan.
Pembacaan data alert atau log dari snort yang manual membuat perbaikan dan maintenance jaringan tidak efektif. Aktivitas mencurigakan atau serangan yang tercatat dalam log yang berjenis teks masih perlu dianalisis dikarenakan tidak disebutkan jenis serangan, tingkat ancaman pada jaringan, dan solusi perbaikan jaringan. Hal tersebut dapat menyebabkan kebingungan pada pengelola dan ancaman pada jaringan yang perlu diperbaiki atau ditingkatkan keamanannya dengan segera.
Solusi, klasifikasi jenis, dan tingkat ancaman dari permasalahan yang tercatat dalam log sangat penting, hal tersebut diperlukan dalam proses meningkatkan keamanan jaringan untuk mencegah dan minimalisir serangan atau ancaman yang akan datang. Pengelolaan jaringan pun akan jadi lebih mudah dan cepat.
Berdasarkan permasalahan tersebut, akan dibuat sebuah aplikasi berbasis web untuk membantu pembacaan data log IDS, sehingga ancaman atau serangan
2
selanjutnya ancaman dan serangan dapat dicegah dan tingkat keamanan jaringan dapat meningkat.
1.2Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, maka rumusan masalah dalam tugas akhir ini adalah sebagai berikut:
1. Bagaimana cara aplikasi membantu administrator untuk mengetahui tingkat ancaman dan jenis serangan aktivitas jaringan yang tercatat?
2. Bagaimana cara aplikasi membantu administrator dalam menangani aktivitas jaringan yang tercatat dengan tingkat ancaman serius?
1.3Tujuan Pembahasan
Berdasarkan rumusan masalah, maka tujuan dari tugas akhir ini adalah sebagai berikut:
1. Membuat aplikasi berbasis web yang menampilkan data log ke dalam bentuk kategorial dan klasifikasi kelompok untuk meningkatkan kemudahan pengguna dalam membaca data log Snort.
2. Membuat aplikasi berbasis web yang memberikan saran perbaikan untuk meningkatkan pengetahuan pengguna dalam menyelesaikan masalah yang ada.
1.4Ruang Lingkup
Perangkat lunak yang dibutuhkan dalam membuat aplikasi ini adalah sebagai berikut:
a. Snort 2.9.8.2 b. Barnyard2 2.1.14 c. PulledPork
d. Bahasa pemrograman PHP 5.6 e. MySQL 5.6.14
f. PHPMyAdmin
3
1.5Sumber Data 1. Data Primer
Data yang didapat dari dokumentasi atau log alat IDS dalam studi kasus ini yaitu Snort.
2. Data Sekunder
Data yang diperoleh dari e-book, literature, tutorial, dan internet sebagai pendukung dari data primer.
1.6Sistematika Penyajian BAB I PENDAHULUAN
Bab ini membahas mengenai latar belakang masalah, rumusan masalah, tujuan pembahasan, ruang lingkup kajian dan sistematika pembahasan dari penelitian yang dilakukan.
BAB II KAJIAN TEORI
Bab ini membahas mengenai teori-teori yang melandasi dan mendukung terhadap penelitian yang dilakukan.
BAB III ANALISIS DAN RANCANGAN SISTEM
Bab ini membahas mengenai perancangan aplikasi dan desain sistem dalam tugas akhir ini.
BAB IV HASIL PENELITIAN
Bab ini berisi kumpulan screenshot dari aplikasi yang telah dibuat dan penjelasan dari setiap gambar.
BAB V PEMBAHASAN
Bab ini berisi laporan dan hasil uji aplikasi yang dilakukan dengan menggunakan metode Blackbox Testing.
BAB VI PENUTUP
BAB 6
SIMPULAN DAN SARAN
6.1Simpulan
Dari hasil pengujian yang telah dilakukan dapat ditarik beberapa kesimpulan, yaitu:
1. Berdasarkan hasil kuesioner yang telah dilakukan pada kategori kemudahan, rata-rata mahasiswa setuju bahwa aplikasi mampu memudahkan pengguna dalam pembacaan data log Snort.. Sekitar 63% mahasiswa setuju dan 13% sangat setuju bahwa aplikasi dapat memudahkan pengguna dalam analisis data log Snort. Lebih dari 50% mahasiswa setuju pada setiap poin dengan kata kunci “memudahkan”. Dapat ditarik simpulan bahwa aplikasi memenuhi tujuan meningkatkan kemudahan pengguna dalam membaca data log Snort. 2. Berdasarkan hasil kuesioner yang telah dilakukan pada kategori solusi,
rata-rata mahasiswa setuju bahwa aplikasi mampu membantu pengguna dalam menyelesaikan masalah jaringannya.. Sekitar 70% mahasiswa setuju dan 13% sangat setuju bahwa aplikasi dapat membantu pengguna dalam proses maintenance jaringan. Juga sekitar 50% mahasiswa setuju dan 21% sangat setuju pada poin meningkatkan pemahaman terhadap aktivitas jaringan. Dapat ditarik simpulan bahwa aplikasi memenuhi tujuan meningkatkan pengetahuan pengguna dalam menyelesaikan masalah yang ada.
6.2Saran
Berdasarkan hal-hal yang telah dicapai dalam implementasi diperoleh beberapa saran, yaitu:
1. Pengembangan dapat dilakukan dengan membuat klasifikasi serangan yang diperoleh dari penelitian lebih lanjut terhadap perilaku serangan.
2. Pengembangan dapat dilakukan dengan memisahkan aktivitas yang berjenis false positive dan true negative.
DAFTAR PUSTAKA
[1] K. Hamilton dan R. Miles, Learning UML 2.0, Sebastopol, CA: O'Reilly Media, Inc, 2006.
[2] R. U. Rehman, Intrusion Detection Systems with Snort: Advanced IDS Techniques Using Snort, Apache, MySQL, PHP, and ACID, Upper Saddle River, NJ: Pearson Education, Inc., 2003.
[3] R. Trost, Practical Intrusion Analysis, Boston, MA: Pearson Education, Inc, 2010.
[4] M. Collins, Network Security Through Data Analysis, Sebastopol, CA: O'Reilly Media Inc, 2014.
[5] M. Roesch, “Snort : Lightweight Intrusion Detection For Networks,” dalam Lisa '99: 13th System Administration Conference, Seattle, 1999.
[6] Eriknorthrop, “Barnyard2,” Forensics Wiki, 13 March 2013. [Online]. Available: http://forensicswiki.org/wiki/Barnyard2. [Diakses 31 May 2016]. [7] I. Firns, “barnyard2,” Github, 4 March 2015. [Online]. Available:
https://github.com/firnsy/barnyard2. [Diakses 17 June 2016].
[8] Snort, “Oinkcodes,” Snort, 2016. [Online]. Available:
https://www.snort.org/oinkcodes. [Diakses 13 May 2016].
[9] SecureIdeas, “Basic Analysis and Security Engine,” SecureIdeas, 2013. [Online]. Available: http://base.professionallyevil.com/. [Diakses 27 May 2016]. [10] A. T. David Sklar, PHP Cookbook, Third Edition, Sebastopol, CA: O'Reilly
Media Inc, 2014.
[11] D. Powers, PHP Solutions Dynamic Web Design Made Easy, New York City: Apress, 2006.
[12] J. Duckett, Beginning HTML, XHTML, CSS, and Javascript, Indianapolis, IN: Wiley Publishing, Inc., 2010.