Institutional Repository | Satya Wacana Christian University: Simulasi Network-Based Intrusion Detection System (NIDS) Menggunakan Metode Rule Base Snort dan Analisis Jenis-Jenis Serangan
Simulasi Network-Based Intrusion Detection System
(NIDS) Menggunakan Metode Rule Base Snort dan
Analisis Jenis-Jenis Serangan
Artikel Ilmiah
Peneliti :
Denis Cristian Supit (672010612)
Indrastanti R. Widiasari, MT.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2015
Simulasi Network-Based Intrusion Detection System (NIDS)
Menggunakan Metode Rule Base Snort dan Analisis JenisJenis Serangan
1
Denis Cristian Supit, 2Indrastanti R Widiasari.
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email:1)[email protected], 2) [email protected]
Abstract
IDS which is put in a network which known as network intrusion detection system
will observe into a whole based on the data package trough the network itself then
analyze the normal or attacking package. To know how snort detectkind of
attacking such as port scanning, UDP Flooding, and smurf attack it needs a
Network-Based IDS(NIDS) Simulation. After trough the simulation and trial
process the snort known can detect with open the attacking package, Port scanning
detect on package data content, attacking UDP Flooding can be detect with port
which use to send the attacking data. Then Snort can detect the smurf attack while
attacking sends the ICMP echo request the agency address.
Keyword: NIDS, Snort, Port Scanning, UDP Flooding, Smurf attack
Abstrak
IDS yang ditempatkan pada suatu jaringan atau yang dikenal dengan Network
Intrusion Detection System akan melakukan pemantauan terhadap seluruh bagian
jaringan berdasarkan paket-paket data yang melewati jaringan tersebut serta
melakukan analisa paket untuk mengetahui paket yang normal dan paket serangan.
Untuk mengetahui bagaimana Snort mendeteksi jenis-jenis serangan seperti port
scanning, UDP flooding, dan smurf attack diperlukan suatu simulasi NetworkBased IDS (NIDS). Setelah melalui proses simulasi dan proses pengujian, diketahui
bahwa snort dapat mendeteksi setiap serangan dengan membuka paket data
serangan, paket data serangan port scanning dideteksi berdasarkan content data
paket, serangan UDP flooding dideteksi dengan penggunaan port yang digunakan
oleh paket data serangan dalam melakukan pengiriman data, dan snort dapat
mendeteksi smurf attack pada saat penyerang mengirimkan paket ICMP echo
request ke alamat perantara.
Kata Kunci : NIDS, Snort, Port Scanning, UDP Flooding, Smurf attack
1
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas
Kristen SatyaWacana.
2
Staf Pengajar Fakultas Teknologi Informasi Informasi, Universitas Kristen Satya Wacana
1
1. Pendahuluan
Perkembangan teknologi dalam beberapa dekade terakhir terjadi
dengan sangat cepat, jaringan komputer sebagai salah satu teknologi
baik secara kualitas dan kuantitas juga ikut mengalami perubahan. Salah
satu indikator perkembangan kualitas jaringan komputer dapat dilihat
dari berbagai peralatan yang dijual oleh vendor jaringan yang
mendukung transfer data dengan kecepatan tinggi, sementara
perkembangan kuantitas teknologi jaringan dapat dilihat dengan
meningkatnya jumlah node (komputer) yang saling terhubung, bahkan
jumlah komputer yang terhubung saat ini hampir menghabiskan jumlah
alamat IP yang disediakan oleh IPv4.
Semakin banyak jumlah komputer yang saling terhubung
mengharuskan setiap komputer maupun suatu jaringan lokal harus
memiliki keamanan jaringan yang bisa menjamin setiap proses
pengiriman dan penerimaan data. Saat ini terdapat berbagai macam cara
yang dapat dilakukan oleh para hacker untuk menyusup, menyerang,
merusak, mencuri ataupun meniadakan ketersediaan layanan dan
informasi yang disediakan oleh suatu jaringan komputer. Beberapa
metode yang digunakan oleh hacker baik untuk memata-matai,
menyusup kedalam suatu jaringan, mencuri informasi penting, hingga
merusak sistem dapat dilakukan dengan beberapa teknik serangan antara
lain, port scanning, smurf attack, dan UDP flooding. Teknik serangan
port scanning merupakan serangan yang dilakukan dengan menjalankan
map dalam mode stealth silence pada host tertentu guna mendapatkan
informasi port yang bisa digunakan, berbeda dengan port scanning,
serangan smurf attack memiliki metode penyerangan yang berbeda yaitu
dengan memalsukan alamat sumber paket ICMP yang dikirimkan,
sementara pada serangan UDP flooding paket serangan akan dikirimkan
dengan protokol yang berbeda dari serangan port scanning dan smurf
attack.
Penanganan berbagai teknik serangan yang dilakukan oleh
hacker dapat dilakukan dengan berbagai teknik pengamanan baik
dengan menggunakan firewall ataupun dengan menggunakan IDS
(Intrusion Detection System). IDS merupakan pertahanan pertama suatu
jaringan komputer dalam menghadapi penyusupan yang dapat
diimplementasikan pada suatu jaringan (Network Intrusion Detection
System) maupun pada suatu komputer (Host Intrusion Detection System)
yang bekerja berdasarkan rule based atau adaptive system. Dimana rule
based pada IDS merupakan cara kerja IDS berdasarkan pada aturanaturan yang telah ditetapkan oleh administrator jaringan, sementara cara
kerja IDS adaptive system merupakan cara kerja IDS dengan
membandingkan kondisi terkini dengan kondisi normal suatu jaringan
komputer.
IDS yang ditempatkan pada suatu jaringan atau yang dikenal
dengan Network Intrusion Detection System akan melakukan
pemantauan terhadap seluruh bagian jaringan berdasarkan paket-paket
data yang melewati jaringan tersebut serta melakukan analisa paket
sehingga dapat diketahui paket yang normal dan paket yang berisi
2
serangan. Apabila paket yang masuk merupakan paket yang berisi
serangan maka NIDS akan memberikan peringatan kepada administrator
jaringan. Saat ini untuk mengimplementasikan NIDS juga dapat
dilakukan dengan menggunakan Snort, Snort merupakan software yang
dipakai dalam membangun NIDS berbasis menggunakan metode deteksi
rule based.
Dengan adanya perbedaan metode yang dilakukan setiap jenis
serangan ke dalam jaringan komputer maka diperlukan analisa jenisjenis serangan menggunakan Network-Based IDS (NIDS) yang
diimplementasikan dengan menggunakan snort. Berdasarkan uraian
latar belakang masalah tersebut maka pada penelitian akan dilakukan
Simulasi Network-Based Intrusion Detection System menggunakan
metode rule based Snort dan analisis jenis-jenis serangan.
2. Tinjauan Pustaka
Penelitian terdahulu terkait dengan penggunaan snort adalah
penelitian yang dilakukan oleh Adhitio S.A. Pahur [1]. Pada penelitian
tersebut peneliti melakukan optimalisasi packet capture pada Snort
dengan menggunakan driver PF_RING sebagai library dari snort.
Fokus pembahasan pada penelitan ini adalah proses capture data dengan
menggunakan PF_RING dan tidak membahas jenis serangan yang bisa
di capture oleh snort. Penelitian terkait lainnya adalah penelitian yang
dilakukan oleh Mr.Nishidh D. Patel yang melakukan analisis Network
Intrusion System menggunakan snort, fokus pembahasan penelitian ini
adalah analisa terhadap dataset pada MIT Lincoln Laboratories dan
menyimpulkan bahwa peningkatan cara kerja snort masih perlu
ditingkatkan hal ini disebabkan banyaknya peringatan palsu yang
dihasilkan snort [2]. Berdasarkan penelitian sebelumnya maka pada
penelitian ini akan dilakukan simulasi serangan dengan beberapa metode
serangan terhadap jaringan yang memiliki Network Intrusion System dan
menganalisa bagaimana snort memberikan peringatan kepada
administrator jaringan ketika mengendus serangan.
Intrusion Detection System (IDS) adalah suatu perangkat lunak
atau suatu sistem perangkat keras yang bekerja secara otomatis untuk
memonitor kejadian pada jaringan. IDS juga bisa didefinisikan sebagai
tool, metode, sumber daya yang memberikan bantuan untuk melakukan
indentifikasi, memberikan laporan terhadap jaringan komputer. IDS
juga mempunyai peran penting untuk mendapatkan arsitektur defancein-depth (pertahanan yang mendalam) dengan melindungi akses jaringan
internal, sebagai tambahan dari perimeter defence. Banyak dari fungsi
jaringan internal yang bisa di monitor demi keamanan yang maksimal.
Hal-hal yang dilakukan oleh IDS pada jaringan internal adalah
memonitor akses database, memonitor fungsi dari DNS, melindungi email server dan memonitor policy security [3].
Network Intrusion Detection System bekerja menganalisa paket
yang datang ke dalam suatu jaringan untuk mendeteksi serangan baik
menggunakan metode signature maupun anomaly atau keduanya.
Dalam perancangan dan implementasi NIDS, NIDS ditempatkan berada
3
dalam satu jaringan dengan local area network serta dikonfigurasikan
berjalan dengan mode promiscuous yang terhubung dengan
menggunakan hub yang berarti NIDS akan menangkap semua paket
yang datang melalui hub. Pada beberapa jaringan NIDS yang
diimplementasikan dengan menggunakan switch, switch terlebih dahulu
harus dikonfiguasikan berjalan dengan mode port spanning sehingga
bisa mendeteksi trafik jaringan secara keseluruhan [4]. Beberapa cara
yang digunakan untuk mengenali serangan pada Network-based IDS ini
antara lain, pola data yang merupakan ekspresi atau pola pencocokan
secara ekspresi atau pola pencocokan secara bytecode, frekuensi atau
pelanggaran ambang batas, serta korelasi yang dekat dengan sebuah
event [5].
Snort merupakan IDS open source yang secara defacto menjadi
standar IDS. Snort dapat diimplementasikan dalam jaringan yang
multipaltform, salah satu kelebihan adalah mampu mengirimkan alert
dari mesin Unix ataupun Linux ke platform Microsoft Windows melalui
server message box. Snort dapat bekerja dengan modus sniffer mode
(penyadap), packet logger dan network intrusion detection system.
Packet sniffer untuk melihat paket yang lewat di jaringan, packet logger
untuk mencatat semua paket yang lewat dijaringan kemudian disimpan
pada log snort dan dianalisis sementara network intrusion detection
system memungkinan snort untuk mendeteksi serangan yang dilakukan
melalui jaringan komputer. Diperlukan konfigurasi dari berbagai rules
untuk konfigurasi network based IDS yang akan membedakan sebuah
paket normal dan paket yang berisi serangan.
Snort memiliki tujuh komponen dasar yang bekerja saling
berhubungan antara satu dengan yang lain dan mempunyai tugas
masing-masing, komponen-komponen Snort antara lain, Decoder yang
melakukan identifikasi protokol, Preprocessors yang berfungsi
mengambil paket yang mempunyai potensi yang berbahaya yang
kemudian dikirim ke detection engine untuk dikenali polanya, Global
Section yang melakukan deteksi lalu lintas HTTP, Server Section yang
memberikan izin untuk dilakukannya setting HTTP server profile, Rules
Files merupakan suatu files teks yang berisi daftar aturan, Detection
Engine yang berfungsi untuk menginisialisasi paket sebagai suatu
serangan, dan Output Plug-ins yang merupakan modul pengatur format
dari keluaran untuk alert dan file log [6].
Perangkat lunak lainnya yang digunakan adalah LAMP Server,
LAMP (Linux, Apache, MySQL, PHP) adalah bundle software untuk
webserver yang terdiri atas Linux, Apache, HTTP server, MySql dan
PHP. Paket yang terdapat dari LAMP sangat berfariasi sehingga dapat
mendukung berbagai kebutuhan akan sebuah webservice [7]. Selain
LAMP, perangkat lainnya yang digunakan adalah Barnyard2, Barnyard2
merupakan open source tools yang berfungsi sebagai penerjemah alert
dan log dari snort. Penggunaan Barnyard2 pada snort dapat
meningkatkan efektifitas kerja snort karena dengan penggunaan
Barnyard dapat mengurangi beban pada sensor deteksi. Barnyard2
bekerja dengan membaca logging output dari snort dan menyimpannya
4
kedalam database. Sehingga apabila database tidak tersedia maka
Barnyard2 akan menyimpan data hingga database tersedia kembali, hal
ini menjadikan tidak terdapat data atau alert yang hilang .
Terdapat beberapa teknik serangan yang sering dilakukan pada
jaringan komputer yaitu, Port Scanning, Smurf Attack, UDP Flood.
Port Scanning merupakan proses untuk mencari dan membuka port pada
suatu jaringan komputer. Hasil scanning akan memberikan letak dari
kelemahan sistem tersebut. Pada dasarnya sistem port scanning mudah
untuk dideteksi, tetapi penyerang akan menggunakan beberapa metode
untuk menyembunyikan serangan. Smurf Attack adalah serangan yang
dilakukan oleh penyerang dengan melakukan eksploitasi dengan tujuan
untuk membuat target host menjadi terganggu, yang disebabkan oleh
pengiriman sejumlah paket yang besar ke arah target host. Smurf attack
dilakukan dengan mengirimkan paket ICMP ke target serangan melalui
perantara. Serangan dimulai dengan mengirimkan paket ICMP echo
request ke host lain, fungsi dari paket ICMP echo request untuk
membuat host penerima paket mengirimkan ICMP PING secara terus
menerus.
3. Metode Penelitian
Metode yang digunakan dalam penelitian ini menjelaskan
tentang tahapan-tahapan penelitian antara lain yaitu study literatur,
analisa kebutuhan, proses simulasi, dan proses pengujian. Tahapantahapan penelitian terlihat pada Gambar 1.
Gambar 1 Metode Penelitian [8]
Tahapan pertama dimulai dengan pengumpulan data,
pengumpulan data yang dimaksud adalah pengumpulan data berupa
referensi baik buku-buku, jurnal dan beberapa website sebagai bahan
referensi penelitian.
Tahapan selanjutnya adalah proses analisa kebutuhan, pada
tahapan ini peniliti melakukan analisa kebutuhan seperti sistem operasi
yang akan digunakan, pemilihan tipe IDS, serta menentukan kebutuhan
simulasi lainnya. Dalam pemilihan sistem operasi, terdapat beberapa
pertimbangan yang harus dilakukan sebelum menentukan sistem operasi
apa yang akan digunakan diantaranya kemudahan dalam menggunakan
sistem operasi, kestabilan sistem operasi, serta keamanan sistem operasi.
Proses pemilihan IDS dilakukan berdasarkan tujuan dari penelitian yaitu
NIDS. Sementara kebutuhan lainnya yang digunakan pada penelitian ini
adalah perangkat keras seperti spesifikasi komputer yang akan
digunakan baik komputer sebagai client, komputer untuk snort service
dan komputer sebagai attacker serta perangkat lunak yang akan
digunakan.
Setelah tahapan analisa kebutuhan, tahapan selanjutnya adalah
proses simulasi. Proses simulasi terdiri dari beberapa kegiatan
5
diantaranya perancangan jaringan, instalasi perangkat lunak, serta
konfigurasi snort.
Tahapan selanjutnya adalah proses pengujian, kegiatan pada
tahapan proses pengujian adalah komputer yang bekerja sebagai attacker
akan melakukan beberapa serangan terhadap komputer lainnya yang
berada didalam jaringan. Setelah selesai dengan proses serangan maka
kegiatan selanjutnya adalah membuat kesimpulan berdasarkan hasil
pengujian simulasi [8].
4. Hasil dan Pembahasan
Topologi simulasi dilakukan dengan mengunakan tiga buah PC
dengan sistem operasi windows 7 dan satu laptop dengan sistem operasi
Mac Yosemite, Snort diimplementasikan dengan menggunakan sistem
operasi Linux Debian 7.6. Masing-masing PC dan snort dikoneksikan
dengan menggunakan hub menggunakan interface ethernet.
Gambar 2 Topologi jaringan
Gambar 2 merupakan topologi jaringan yang digunakan dalam
melakukan simulasi. Pada gambar terlihat setiap node saling terhubung
menggunakan hub, adapun alamat jaringan yang digunakan pada
jaringan adalah 192.168.1.0/24 dimana setiap node dapat bertindak
sebagai penyerang dan target. Setiap serangan yang dikirim dari satu
node ke node lain akan melewati hub yang selanjutnya akan di tangkap
oleh Snort.
Proses konfigurasi snort dimulai dengan melakukan instalasi
beberapa aplikasi dasar seperti MySql, PHP, Barnyard2 dan beberapa
layanan lainnya yang diperlukan untuk menjalankan snort. Snort akan
dijalankan pada sistem operasi Debian Linux 7.6. Setiap baris perintah
dalam penelitian ini dijalankan menggunakan command line pada
melalui terminal. Perintah pada kode program 1 adalah perintah yang
dijalankan untuk melakukan instalasi program dasar yang diperlukan
sebelum instalasi snort dilakukan.
6
Kode Program 1 Instalasi base software
apt-get update && apt-get -y install apache2 apache2-doc autoconf
automake bison ca-certificates ethtool flex g++ gcc gcc-4.4
libapache2-mod- php5 libcrypt-ssleay-perl libmysqlclient-dev libnet1
libnet1-dev libpcre3 libpcre3-dev libphp-adodb libssl-dev libtool
libwww-perl make mysql- client mysql-common mysql-server ntp php5-cli
php5-gd php5-mysql php-pear sendmail sysstat usbmount
Baris perintah pada Kode Program 1 merupakan perintah untuk
melakukan instalasi setiap program dasar yang diperlukan oleh snort.
Program yang dapat diinstal dengan menggunakan perintah di atas
adalah apache server, php 5, mySql server, perl, bison, dan g++. Base
software merupakan program dasar yang diperlukan ketika menjalankan
snort seperti MySql dan Apache server, MySql diperlukan snort untuk
menyimpan data capture. Selain base software instalasi snort belum
dapat dilakukan sebelum instalasi pre-requisitiessoftware seperti libcap,
libnet, dan DAQ.
Setelah proses instalasi base software selesai maka tahapan
kedua adalah instalasi pre-requisittiessoftware. pre-requisittiessoftware
diperlukan sebelum instalasi snort dilakukan, pre-requisittiessoftware
yang diperlukan adalah libcap. Libcap merupakan library yang
digunakan untuk meng-capture data yang melewati interface jaringan.
Kode perintah instalasi libcap dapat dilakukan dengan perintah pada
Kode Program 2.
Kode Program 2 Instalasi pre-requisitiessoftware
#
cd
/usr/src
&&
wget
http://www.tcpdump.org/release/libpcap1.6.1.tar.gz
# tar -zxf libpcap-1.6.1.tar.gz && cd libpcap-1.6.1
# ./configure --prefix=/usr && make && make install
Baris pertama Kode Program 2 adalah perintah untuk
mendapatkan paket instalasi libcap dari alamat www.tcpdump.org. Baris
kedua menunjukan seri libcap yang digunakan, dan dalam penelitian ini
libcap yang digunakan adalah libcap 1.6.1.Setelah proses instalasi libcap
selesai maka selanjutnya akan dilakukan instalasi snort.
Tahapan selanjutnya adalah instalasi dan konfigurasi snort, snort
adalah program utama dalam penelitian. Instalasi dan konfigurasi snort
dapat dijalankan apabila instalasi base software dan prerequisttiessoftware telah berhasil. Instalasi snort dilakukan dengan
melakukan download paket instal snort dari http://labs.snort.org, pada
penelitian ini snort yang digunakan adalah snort 2.9.6.2. Instalasi dan
konfigurasi snort dilakukan dengan perintah pada Kode Program 3.
7
Kode Program 3 Instalasi Snort
# cd /usr/src && wget http://labs.snort.org/snort/2962/snort.conf
# wget https://www.snort.org/downloads/snort/snort-2.9.6.2.tar.gz
# tar -zxf snort-2.9.6.2.tar.gz && cd snort-2.9.6.2
# ./configure --enable-sourcefire && make && make install
#
mkdir
/usr/local/etc/snort
/usr/local/etc/snort/rules
/var/log/snort /var/log/barnyard2 /usr/local/lib/snort_dynamicrules
#
touch
/usr/local/etc/snort/rules/white_list.rules
/usr/local/etc/snort/rules/black_list.rules
/usr/local/etc/snort/sid-msg.map
# groupadd snort && useradd -g snort snort
# chown snort:snort /var/log/snort /var/log/barnyard2
# cp /usr/src/snort-2.9.6.2/etc/*.conf* /usr/local/etc/snort
# cp /usr/src/snort-2.9.6.2/etc/*.map /usr/local/etc/snort
# cp /usr/src/snort.conf /usr/local/etc/snort
Baris pertama Kode Prgram 3 adalah perintah untuk
mendapatkan snort configuration filer dari labs.snort.org. Baris kedua
kode diatas adalah untuk mendapatkan paket snort dari snort.org dan
baris keempat dan kelima dari Kode Program 3 adalah perintah untuk
melakukan instalasi dan konfigurasi snort pada direktori /etc/snort.
Setelah instalasi snort dilakukan maka tahapan selanjutnya
adalah instalasi dan konfigurasi Barnyard2. Instalasi dan konfigurasi
Barnyard2 memungkinkan snort untuk mencatat setiap log data kedalam
file biner dan mengirimkan setiap log data kedalam database. Instalasi
dan konfigurasi Barnyard2 dapat dilakukan dengan menjalankan
perintah pada Kode Program 4.
Kode Program 4 Instalasi Barnyard2
# cd /usr/src && wget
https://github.com/firnsy/barnyard2/archive/master.tar.gz
# tar -zxf master.tar.gz && cd barnyard2-*
# autoreconf -fvi -I ./m4 && ./configure --with-mysql --with-mysqllibraries=/usr/lib/i386-linux-gnu && make && make install
# mv /usr/local/etc/barnyard2.conf /usr/local/etc/snort
# cp schemas/create_mysql /usr/src
Baris pertama Kode Program 4 adalah perintah untuk
mendapatkan paket instal Barnyard2 dari github.com. Baris ketiga
adalah perintah konfigurasi Barnyard2 dengan MySql dan perintah pada
baris kedelapan dalam Kode Program 3 adalah perintah untuk
melakukan copy file atau direktori dari log file ke dalam MySql.
Tahapan selanjutnya adalah configurasi MySql sebagai database
yang menyimpan keluaran atau log file dari Barnyard2. Data yang
tersimpan dalam database dapat berupa alert, signature, dan juga detail
paket data yang di capture oleh snort. Konfigurasi MySql dilakukan
dengan menjalankan perintah pada Kode Program 5.
Kode Program 5 Setup MySQL
# mysql -u root -p
mysql> create database snort;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort
mysql> SET PASSWORD FOR snort@localhost=PASSWORD('mypassword');
mysql> use snort;
mysql> source /usr/src/create_mysql mysql> show tables;
8
Baris pertama Kode Program 5 adalah perintah untuk melakukan
konfigurasi kedalam MySql dengan izin akses sebagai root. Baris kedua
Kode Program 5 adalah perintah membuat database dengan nama
database snort. Baris keempat merupakan pengaturan password
database snort, dan perintah pada baris keenam pada Kode Program 5
adalah perintah untuk menunjukan tabel dalam snort database.
Setelah melakukan instalasi snort dan beberapa aplikasi lainnya,
maka proses selanjutnya adalah konfigurasi BASE (Basic Analysis
Security Engine). BASE merupakan aplikasi layanan yang memberikan
analisa peringatan dari snort kepada end user. Proses instalasi dapat
dilakukan dengan menjalankan baris perintah pada kode program 6.
Kode Program 6 Konfigurasi BASE
#
cd
/usr/src
&&
wget
http://sourceforge.net/projects/secureideas/files/BASE/base1.4.5/base-1.4.5.tar.gz
# tar -zxf base-1.4.5.tar.gz && cp -r base-1.4.5 /var/www/base #
chmod 777 /var/www/base
Setelah proses instalasi berhasil maka selanjutnya adalah
melakukan konfigurasi rule based Snort. Konfigurasi rule based
dilakukan dengan mengakses file snort.conf menggunakan perintah pada
Kode Program 7
Kode Program 7 Konfigurasi Rule Based
# pico /etc/snort/snort.conf
Kode Program 7 merupakan perintah yang dijalankan pada
terminal dengan izin akses sebagai super user. Berdasarkan Kode
Program 7, terlihat bahwa file snort.conf berada pada direktori /etc/snort
yang ditampilkan menggunakan pico editor. Line 45 pada file snort.conf
akan dikonfigurasikan menggunakan alamat lokal yaitu 192.168.1.0/25.
Pada penelitian ini digunakan beberapa rules; diantaranya Icmp rules,
scan rules, ddos rules serta rules standar seperti local rules. Setiap rules
dapat di aktifkan dengan masuk kedalam file snort.conf yang terdapat
pada /etcsnort/snort.conf line serta menghapus tanda “#” baris perintah
include $RULES_PATH icmp.rules yang merupakan rules untuk
mendeteksi serangan yang menggunakan protokol ICMP dan include
$RULES_PATH scan.rules untuk mendeteksi serangan portscan.
Pengujian dilakukan dengan beberapa teknik serangan
diantaranya portscanning, smurf attack dan UDP flood. Pengujian
pertama yang dilakukan adalah port scanning. Port scanning
merupakan jenis serangan yang dilakukan untuk mendapatkan letak
kelemahan suatu sistem atau jaringan. Pengujian jenis serangan port
scanning pada penelitian ini dilakukan dengan menggunakan tools
Znmap dengan memasukan alamat IP target.
9
Gambar 3 Port scanning Menggunakan Znmap
Gambar 3 menunjukkan bahwa alamat IP target adalah
192.168.1.104 terdapat beberapa port yang terbuka yaitu port 21, 80,
22, 111, dan port 443, informasi port yang terbuka inilah yang dipakai
untuk melakukan serangan. Serangan port scanning yang dilakukan
dapat di capture oleh detection engine dan disimpan dalam database
sebagai log file dan selanjutnya di tampilkan menggunakan BASE.
Gambar 4 Snort Port Scanning Alert
Gambar 4 merupakan paket data serangan port scanning yang
dikirim menggunakan Znmap dan dideteksi oleh snort detection engine
yang disimpan didalam database sebagai log file. Kolom ID pada
gambar diatas meupakan ID paket data dalam database, kolom time
10
dalam paket data diatas merupakan waktu dimana snort menangkap
serangan yaitu 2015-03-28 jam 14:55:36, kolom sensor address
merupakan interface snort yang dipakai untuk melewatkan paket data
yaitu eth0, source address merupakan alamat sumber serangan yaitu
192.168.1.117, destination address merupakan alamat tujuan serangan
yang berada dalam jaringan yaitu 192.168.1.104, kolom version
merupakan versi IP yang digunakan yaitu versi 4, kolom header length
panjang header packet yaitu 20 bytes, kolom length merupakan panjang
total paket data serangan port scanning yaitu 162 bytes, kolom TTL
atau time to live merupakan jumlah hop maksimal yang bisa dilewati
oleh paket serangan port scanning, berdasarkan gambar 3 maka time to
live paket serangan port scanning adalah 64 hop. Payload pada gambar
3 merupakan isi dari data yang ditransmisikan paket serangan, panjang
payload data adalah 142 byte yang ditulis dalam bentuk Hexadecimal,
terlihat isi dari payload adalah berupa perintah melakukan scan IP
address pada range IP 192.168.1.11 sampai 192.168.1.117.
Simulasi penyerangan yang kedua adalah UDP flooding, UDP
flooding merupakan salah satu teknik serangan denial of sevice dengan
mengirimkan paket data UDP dalam jumlah yang sangat besar serta
menggunakan port yang dipilih secara random. Serangan UDP flooding
dilakukan dengan menggunakan tools UDP flooder dengan memasukan
alamat IP target serta nomor port secara random. Tools UDP flooder
juga menyediakan transmisi control dimana penyerang dapat
menentukan panjangnya durasi serangan, jumlah maksimal packet yang
dikirimkan serta kecepatan pengiriman jumlah packet per second.
Gambar 5 UDPFlooder Attack
Gambar 5 merupakan teknik serangan UDP flooder, terlihat
bahwa alamat IP target adalah 192.168.1.104 dengan port yang menjadi
11
target adalah port 16000 akan tetapi secara otomatis UDP flooder akan
mempelajari kelemahan dari setiap port yang bisa dipakai untuk
mengirim serangan. Jumlah maksimal paket data yang dikirim adalah
1000 dengan durasi maksimal 5 detik. Data yang dikirim adalah data
random UDP flooder.
Gambar 6 Hasil Capture UDP Flooder
Gambar 6 merupakan paket data serangan UDP flooding yang
dikirim menggunakan UDP flooder dan dideteksi oleh snort detection
engine yang disimpan didalam database sebagai log file. Kolom ID
pada gambar diatas merupakan ID paket data dalam database, kolom
time dalam paket data diatas merupakan waktu dimana snort menangkap
serangan yaitu 2015-03-28 jam 14:55:36, kolom sensor address
merupakan interface snort yang dipakai untuk melewatkan paket data
yaitu eth0, source address merupakan alamat sumber serangan yaitu
192.168.1.117, destination address merupakan alamat tujuan serangan
yang berada dalam jaringan yaitu 192.168.1.104, kolom version
merupakan versi IP yang digunakan yaitu versi 4, kolom header length
panjang header packet yaitu 20 bytes, kolom length merupakan panjang
total paket data serangan port scanning yaitu 28 bytes, kolom TTL atau
time to live merupakan jumlah hop maksimal yang bisa dilewati oleh
paket UDP flooding, berdasarkan gambar 5 maka time to live paket
serangan UDP flooding adalah 58 hop. Pada baris UDP terdapat kolom
source port dan destination port, kedua port tersebut adalah port yang
digunakan untuk melakukan serangan pada kolom terlihat source port
adalah 47125 dan destination port adalah 20120.
Simulasi serangan yang ketiga adalah serangan Smurf attack,
serangan smurf attack dilakukan dengan mengirimkan paket ICMP ke
target serangan melalui perantara. Serangan dimulai dengan
mengirimkan paket ICMP echo request ke host lain, fungsi dari paket
ICMP echo request untuk membuat host penerima paket mengirimkan
ICMP PING secara terus menerus.
12
Gambar 7 Hasil Capture Smurff Attack
Gambar 7 merupakan paket data serangan smurf attack yang
dikirim dan dideteksi oleh snort detection engine yang disimpan
didalam database sebagai log file. Kolom ID pada gambar diatas
meupakan ID paket data dalam database, kolom time dalam paket data
diatas merupakan waktu dimana snort menangkap serangan yaitu 201503-28 jam 14:02:10, kolom sensor address merupakan interface snort
yang dipakai untuk melewatkan paket data yaitu eth0, source address
merupakan alamat sumber serangan yaitu 192.168.1.103, source address
yang di capture adalah alamat yang digunakan untuk mengirimkan paket
ICMP echo request yaitu, destination address merupakan alamat tujuan
serangan yang berada dalam jaringan yaitu 192.168.1.104, kolom
version merupakan versi IP yang digunakan yaitu versi 4, kolom header
length panjang header packet yaitu 20 bytes, kolom length merupakan
panjang total paket data serangan port scanning yaitu 84 bytes, kolom
TTL atau time to live merupakan jumlah hop maksimal yang bisa
dilewati oleh paket serangan, berdasarkan gambar 6 maka time to live
paket serangan smurf attack adalah 64 hop. Kolom ICMP merupakan
paket ICMP yang dikirimkan berupa echo request. Payload pada
gambar 6 merupakan isi dari data yang ditransmisikan paket serangan,
pajang data payload adalah 56 bytes dengan karakter tertentu.
Berdasarkan hasil implementasi Intrusion Detection System
(IDS) menggunakan Snort dan uji serangan pada simulasi jaringan di
atas, terlihat bahwa Snort mendeteksi serangan dengan membuka setiap
paket data yang melewati jaringan. Apabila terdapat indikasi
penyusupan dalam paket data maka snort akan menyimpan paket
tersebut kedalam log untuk disimpan kedalam database. Setiap paket
data yang disimpan kedalam database berisi informasi header dan
payload dari paket serangan, dengan melihat header dari setiap serangan
yang masuk maka alamat sumber serangan dan port yang digunakan
oleh penyerang dapat diketahui.
Hasil deteksi Snort pada serangan port scannning adalah berupa
alamat sumber serangan dan perintah port scan yang terdapat dalam
payload paket serangan, pada serangan UDP flooding, Snort dapat
memberikan informasi tentang alamat sumber serangan dan port yang
13
digunakan dalam melakukan serangan dan pada serangan smurff attack
Snort mampu melakukan deteksi terhadap alamat sumber serangan dan
bukan pada alamat perantara yang digunakan untuk mengirimkan paket
sniffer. Setiap hasil deteksi yang ditangkap oleh Snort akan ditampilkan
menggunakan BASE sebagai aplikasi end user sehingga mempermudah
administrator jaringan untuk mengenali setiap informasi terkait
serangan. Dengan demikian Snort merupakan detection engine yang
harus berada disetiap jaringan komputer yang mampu menganalisa
trafik jaringan guna memberikan informasi terkait keamanan jaringan.
5. Kesimpulan
Berdasarkan hasil uji coba simulasi serangan di atas dapat
disimpulkan bahwa snort dapat mendeteksi setiap serangan dengan
membuka paket data serangan, paket data serangan port scanning
dideteksi berdasarkan content data paket, serangan UDP flooding
dideteksi dengan penggunaan port yang digunakan oleh paket data
serangan dalam melakukan pengiriman data, dan snort dapat mendeteksi
smurf attack pada saat penyerang mengirimkan paket ICMP echo
request ke alamat perantara. Dengan demikian pengimplementasian
snort sangat disarankan untuk jaringan yang memiliki layanan server hal
ini dilakukan untuk mendeteksi serangan seperti port scanning, UDP
flooding dan smurf attack.
6.
Daftar Pustaka
[1]
Pahur A.S., Wellem Theophilus. Optimalisasi Packet Capture
Dengan Menggunakan PF_RING Driver. Laporan Penelitian
Universitas Kristen Satya Wacana. 2012.
[2]
Patel D. Nishidh, Shah Vrushank, Pancholi Kturti. An Analysis
of Network Detection Using SNORT. Vol.1 Issue 3. International
Journal For Scientific Research & Development. 2014.
[3]
Alamsyah.Implementasi Keamanan Intrusion Detection System
(IDS) dan Intrusion Prevention System (IPS) menggunakan
ClearOS. Jurnal SMARTek, Vol. 9 No. 3. Agustus 2011
[4]
James Brentano. An Architecture for a Distributed Intrusion
Detection System. Division of Computer Science University of
California. 2001.
[5]
Ariyus,Dony, M.Kom, 2007. Intrusion Detection System,
Yogyakarta: Andi.
[6]
Michele K., Chow, Frank, L., Pierre, L., Computer Forensics
using Bayesian Network: A Case Study, The University of Hong
Kong.
[7]
Vesperman, Chris . Snort, MySQL, Apache, and BASE for
Gentoo Linux. 2003
[8]
Setiady, R. Simulasi Keamanan Jaringan Komputer Internal
Menggunakan Snort dan IPTables di Debian. Laporan
Penelitian Universitas Pembangunan Nasional. Jakarta. 2010
14
(NIDS) Menggunakan Metode Rule Base Snort dan
Analisis Jenis-Jenis Serangan
Artikel Ilmiah
Peneliti :
Denis Cristian Supit (672010612)
Indrastanti R. Widiasari, MT.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2015
Simulasi Network-Based Intrusion Detection System (NIDS)
Menggunakan Metode Rule Base Snort dan Analisis JenisJenis Serangan
1
Denis Cristian Supit, 2Indrastanti R Widiasari.
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email:1)[email protected], 2) [email protected]
Abstract
IDS which is put in a network which known as network intrusion detection system
will observe into a whole based on the data package trough the network itself then
analyze the normal or attacking package. To know how snort detectkind of
attacking such as port scanning, UDP Flooding, and smurf attack it needs a
Network-Based IDS(NIDS) Simulation. After trough the simulation and trial
process the snort known can detect with open the attacking package, Port scanning
detect on package data content, attacking UDP Flooding can be detect with port
which use to send the attacking data. Then Snort can detect the smurf attack while
attacking sends the ICMP echo request the agency address.
Keyword: NIDS, Snort, Port Scanning, UDP Flooding, Smurf attack
Abstrak
IDS yang ditempatkan pada suatu jaringan atau yang dikenal dengan Network
Intrusion Detection System akan melakukan pemantauan terhadap seluruh bagian
jaringan berdasarkan paket-paket data yang melewati jaringan tersebut serta
melakukan analisa paket untuk mengetahui paket yang normal dan paket serangan.
Untuk mengetahui bagaimana Snort mendeteksi jenis-jenis serangan seperti port
scanning, UDP flooding, dan smurf attack diperlukan suatu simulasi NetworkBased IDS (NIDS). Setelah melalui proses simulasi dan proses pengujian, diketahui
bahwa snort dapat mendeteksi setiap serangan dengan membuka paket data
serangan, paket data serangan port scanning dideteksi berdasarkan content data
paket, serangan UDP flooding dideteksi dengan penggunaan port yang digunakan
oleh paket data serangan dalam melakukan pengiriman data, dan snort dapat
mendeteksi smurf attack pada saat penyerang mengirimkan paket ICMP echo
request ke alamat perantara.
Kata Kunci : NIDS, Snort, Port Scanning, UDP Flooding, Smurf attack
1
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas
Kristen SatyaWacana.
2
Staf Pengajar Fakultas Teknologi Informasi Informasi, Universitas Kristen Satya Wacana
1
1. Pendahuluan
Perkembangan teknologi dalam beberapa dekade terakhir terjadi
dengan sangat cepat, jaringan komputer sebagai salah satu teknologi
baik secara kualitas dan kuantitas juga ikut mengalami perubahan. Salah
satu indikator perkembangan kualitas jaringan komputer dapat dilihat
dari berbagai peralatan yang dijual oleh vendor jaringan yang
mendukung transfer data dengan kecepatan tinggi, sementara
perkembangan kuantitas teknologi jaringan dapat dilihat dengan
meningkatnya jumlah node (komputer) yang saling terhubung, bahkan
jumlah komputer yang terhubung saat ini hampir menghabiskan jumlah
alamat IP yang disediakan oleh IPv4.
Semakin banyak jumlah komputer yang saling terhubung
mengharuskan setiap komputer maupun suatu jaringan lokal harus
memiliki keamanan jaringan yang bisa menjamin setiap proses
pengiriman dan penerimaan data. Saat ini terdapat berbagai macam cara
yang dapat dilakukan oleh para hacker untuk menyusup, menyerang,
merusak, mencuri ataupun meniadakan ketersediaan layanan dan
informasi yang disediakan oleh suatu jaringan komputer. Beberapa
metode yang digunakan oleh hacker baik untuk memata-matai,
menyusup kedalam suatu jaringan, mencuri informasi penting, hingga
merusak sistem dapat dilakukan dengan beberapa teknik serangan antara
lain, port scanning, smurf attack, dan UDP flooding. Teknik serangan
port scanning merupakan serangan yang dilakukan dengan menjalankan
map dalam mode stealth silence pada host tertentu guna mendapatkan
informasi port yang bisa digunakan, berbeda dengan port scanning,
serangan smurf attack memiliki metode penyerangan yang berbeda yaitu
dengan memalsukan alamat sumber paket ICMP yang dikirimkan,
sementara pada serangan UDP flooding paket serangan akan dikirimkan
dengan protokol yang berbeda dari serangan port scanning dan smurf
attack.
Penanganan berbagai teknik serangan yang dilakukan oleh
hacker dapat dilakukan dengan berbagai teknik pengamanan baik
dengan menggunakan firewall ataupun dengan menggunakan IDS
(Intrusion Detection System). IDS merupakan pertahanan pertama suatu
jaringan komputer dalam menghadapi penyusupan yang dapat
diimplementasikan pada suatu jaringan (Network Intrusion Detection
System) maupun pada suatu komputer (Host Intrusion Detection System)
yang bekerja berdasarkan rule based atau adaptive system. Dimana rule
based pada IDS merupakan cara kerja IDS berdasarkan pada aturanaturan yang telah ditetapkan oleh administrator jaringan, sementara cara
kerja IDS adaptive system merupakan cara kerja IDS dengan
membandingkan kondisi terkini dengan kondisi normal suatu jaringan
komputer.
IDS yang ditempatkan pada suatu jaringan atau yang dikenal
dengan Network Intrusion Detection System akan melakukan
pemantauan terhadap seluruh bagian jaringan berdasarkan paket-paket
data yang melewati jaringan tersebut serta melakukan analisa paket
sehingga dapat diketahui paket yang normal dan paket yang berisi
2
serangan. Apabila paket yang masuk merupakan paket yang berisi
serangan maka NIDS akan memberikan peringatan kepada administrator
jaringan. Saat ini untuk mengimplementasikan NIDS juga dapat
dilakukan dengan menggunakan Snort, Snort merupakan software yang
dipakai dalam membangun NIDS berbasis menggunakan metode deteksi
rule based.
Dengan adanya perbedaan metode yang dilakukan setiap jenis
serangan ke dalam jaringan komputer maka diperlukan analisa jenisjenis serangan menggunakan Network-Based IDS (NIDS) yang
diimplementasikan dengan menggunakan snort. Berdasarkan uraian
latar belakang masalah tersebut maka pada penelitian akan dilakukan
Simulasi Network-Based Intrusion Detection System menggunakan
metode rule based Snort dan analisis jenis-jenis serangan.
2. Tinjauan Pustaka
Penelitian terdahulu terkait dengan penggunaan snort adalah
penelitian yang dilakukan oleh Adhitio S.A. Pahur [1]. Pada penelitian
tersebut peneliti melakukan optimalisasi packet capture pada Snort
dengan menggunakan driver PF_RING sebagai library dari snort.
Fokus pembahasan pada penelitan ini adalah proses capture data dengan
menggunakan PF_RING dan tidak membahas jenis serangan yang bisa
di capture oleh snort. Penelitian terkait lainnya adalah penelitian yang
dilakukan oleh Mr.Nishidh D. Patel yang melakukan analisis Network
Intrusion System menggunakan snort, fokus pembahasan penelitian ini
adalah analisa terhadap dataset pada MIT Lincoln Laboratories dan
menyimpulkan bahwa peningkatan cara kerja snort masih perlu
ditingkatkan hal ini disebabkan banyaknya peringatan palsu yang
dihasilkan snort [2]. Berdasarkan penelitian sebelumnya maka pada
penelitian ini akan dilakukan simulasi serangan dengan beberapa metode
serangan terhadap jaringan yang memiliki Network Intrusion System dan
menganalisa bagaimana snort memberikan peringatan kepada
administrator jaringan ketika mengendus serangan.
Intrusion Detection System (IDS) adalah suatu perangkat lunak
atau suatu sistem perangkat keras yang bekerja secara otomatis untuk
memonitor kejadian pada jaringan. IDS juga bisa didefinisikan sebagai
tool, metode, sumber daya yang memberikan bantuan untuk melakukan
indentifikasi, memberikan laporan terhadap jaringan komputer. IDS
juga mempunyai peran penting untuk mendapatkan arsitektur defancein-depth (pertahanan yang mendalam) dengan melindungi akses jaringan
internal, sebagai tambahan dari perimeter defence. Banyak dari fungsi
jaringan internal yang bisa di monitor demi keamanan yang maksimal.
Hal-hal yang dilakukan oleh IDS pada jaringan internal adalah
memonitor akses database, memonitor fungsi dari DNS, melindungi email server dan memonitor policy security [3].
Network Intrusion Detection System bekerja menganalisa paket
yang datang ke dalam suatu jaringan untuk mendeteksi serangan baik
menggunakan metode signature maupun anomaly atau keduanya.
Dalam perancangan dan implementasi NIDS, NIDS ditempatkan berada
3
dalam satu jaringan dengan local area network serta dikonfigurasikan
berjalan dengan mode promiscuous yang terhubung dengan
menggunakan hub yang berarti NIDS akan menangkap semua paket
yang datang melalui hub. Pada beberapa jaringan NIDS yang
diimplementasikan dengan menggunakan switch, switch terlebih dahulu
harus dikonfiguasikan berjalan dengan mode port spanning sehingga
bisa mendeteksi trafik jaringan secara keseluruhan [4]. Beberapa cara
yang digunakan untuk mengenali serangan pada Network-based IDS ini
antara lain, pola data yang merupakan ekspresi atau pola pencocokan
secara ekspresi atau pola pencocokan secara bytecode, frekuensi atau
pelanggaran ambang batas, serta korelasi yang dekat dengan sebuah
event [5].
Snort merupakan IDS open source yang secara defacto menjadi
standar IDS. Snort dapat diimplementasikan dalam jaringan yang
multipaltform, salah satu kelebihan adalah mampu mengirimkan alert
dari mesin Unix ataupun Linux ke platform Microsoft Windows melalui
server message box. Snort dapat bekerja dengan modus sniffer mode
(penyadap), packet logger dan network intrusion detection system.
Packet sniffer untuk melihat paket yang lewat di jaringan, packet logger
untuk mencatat semua paket yang lewat dijaringan kemudian disimpan
pada log snort dan dianalisis sementara network intrusion detection
system memungkinan snort untuk mendeteksi serangan yang dilakukan
melalui jaringan komputer. Diperlukan konfigurasi dari berbagai rules
untuk konfigurasi network based IDS yang akan membedakan sebuah
paket normal dan paket yang berisi serangan.
Snort memiliki tujuh komponen dasar yang bekerja saling
berhubungan antara satu dengan yang lain dan mempunyai tugas
masing-masing, komponen-komponen Snort antara lain, Decoder yang
melakukan identifikasi protokol, Preprocessors yang berfungsi
mengambil paket yang mempunyai potensi yang berbahaya yang
kemudian dikirim ke detection engine untuk dikenali polanya, Global
Section yang melakukan deteksi lalu lintas HTTP, Server Section yang
memberikan izin untuk dilakukannya setting HTTP server profile, Rules
Files merupakan suatu files teks yang berisi daftar aturan, Detection
Engine yang berfungsi untuk menginisialisasi paket sebagai suatu
serangan, dan Output Plug-ins yang merupakan modul pengatur format
dari keluaran untuk alert dan file log [6].
Perangkat lunak lainnya yang digunakan adalah LAMP Server,
LAMP (Linux, Apache, MySQL, PHP) adalah bundle software untuk
webserver yang terdiri atas Linux, Apache, HTTP server, MySql dan
PHP. Paket yang terdapat dari LAMP sangat berfariasi sehingga dapat
mendukung berbagai kebutuhan akan sebuah webservice [7]. Selain
LAMP, perangkat lainnya yang digunakan adalah Barnyard2, Barnyard2
merupakan open source tools yang berfungsi sebagai penerjemah alert
dan log dari snort. Penggunaan Barnyard2 pada snort dapat
meningkatkan efektifitas kerja snort karena dengan penggunaan
Barnyard dapat mengurangi beban pada sensor deteksi. Barnyard2
bekerja dengan membaca logging output dari snort dan menyimpannya
4
kedalam database. Sehingga apabila database tidak tersedia maka
Barnyard2 akan menyimpan data hingga database tersedia kembali, hal
ini menjadikan tidak terdapat data atau alert yang hilang .
Terdapat beberapa teknik serangan yang sering dilakukan pada
jaringan komputer yaitu, Port Scanning, Smurf Attack, UDP Flood.
Port Scanning merupakan proses untuk mencari dan membuka port pada
suatu jaringan komputer. Hasil scanning akan memberikan letak dari
kelemahan sistem tersebut. Pada dasarnya sistem port scanning mudah
untuk dideteksi, tetapi penyerang akan menggunakan beberapa metode
untuk menyembunyikan serangan. Smurf Attack adalah serangan yang
dilakukan oleh penyerang dengan melakukan eksploitasi dengan tujuan
untuk membuat target host menjadi terganggu, yang disebabkan oleh
pengiriman sejumlah paket yang besar ke arah target host. Smurf attack
dilakukan dengan mengirimkan paket ICMP ke target serangan melalui
perantara. Serangan dimulai dengan mengirimkan paket ICMP echo
request ke host lain, fungsi dari paket ICMP echo request untuk
membuat host penerima paket mengirimkan ICMP PING secara terus
menerus.
3. Metode Penelitian
Metode yang digunakan dalam penelitian ini menjelaskan
tentang tahapan-tahapan penelitian antara lain yaitu study literatur,
analisa kebutuhan, proses simulasi, dan proses pengujian. Tahapantahapan penelitian terlihat pada Gambar 1.
Gambar 1 Metode Penelitian [8]
Tahapan pertama dimulai dengan pengumpulan data,
pengumpulan data yang dimaksud adalah pengumpulan data berupa
referensi baik buku-buku, jurnal dan beberapa website sebagai bahan
referensi penelitian.
Tahapan selanjutnya adalah proses analisa kebutuhan, pada
tahapan ini peniliti melakukan analisa kebutuhan seperti sistem operasi
yang akan digunakan, pemilihan tipe IDS, serta menentukan kebutuhan
simulasi lainnya. Dalam pemilihan sistem operasi, terdapat beberapa
pertimbangan yang harus dilakukan sebelum menentukan sistem operasi
apa yang akan digunakan diantaranya kemudahan dalam menggunakan
sistem operasi, kestabilan sistem operasi, serta keamanan sistem operasi.
Proses pemilihan IDS dilakukan berdasarkan tujuan dari penelitian yaitu
NIDS. Sementara kebutuhan lainnya yang digunakan pada penelitian ini
adalah perangkat keras seperti spesifikasi komputer yang akan
digunakan baik komputer sebagai client, komputer untuk snort service
dan komputer sebagai attacker serta perangkat lunak yang akan
digunakan.
Setelah tahapan analisa kebutuhan, tahapan selanjutnya adalah
proses simulasi. Proses simulasi terdiri dari beberapa kegiatan
5
diantaranya perancangan jaringan, instalasi perangkat lunak, serta
konfigurasi snort.
Tahapan selanjutnya adalah proses pengujian, kegiatan pada
tahapan proses pengujian adalah komputer yang bekerja sebagai attacker
akan melakukan beberapa serangan terhadap komputer lainnya yang
berada didalam jaringan. Setelah selesai dengan proses serangan maka
kegiatan selanjutnya adalah membuat kesimpulan berdasarkan hasil
pengujian simulasi [8].
4. Hasil dan Pembahasan
Topologi simulasi dilakukan dengan mengunakan tiga buah PC
dengan sistem operasi windows 7 dan satu laptop dengan sistem operasi
Mac Yosemite, Snort diimplementasikan dengan menggunakan sistem
operasi Linux Debian 7.6. Masing-masing PC dan snort dikoneksikan
dengan menggunakan hub menggunakan interface ethernet.
Gambar 2 Topologi jaringan
Gambar 2 merupakan topologi jaringan yang digunakan dalam
melakukan simulasi. Pada gambar terlihat setiap node saling terhubung
menggunakan hub, adapun alamat jaringan yang digunakan pada
jaringan adalah 192.168.1.0/24 dimana setiap node dapat bertindak
sebagai penyerang dan target. Setiap serangan yang dikirim dari satu
node ke node lain akan melewati hub yang selanjutnya akan di tangkap
oleh Snort.
Proses konfigurasi snort dimulai dengan melakukan instalasi
beberapa aplikasi dasar seperti MySql, PHP, Barnyard2 dan beberapa
layanan lainnya yang diperlukan untuk menjalankan snort. Snort akan
dijalankan pada sistem operasi Debian Linux 7.6. Setiap baris perintah
dalam penelitian ini dijalankan menggunakan command line pada
melalui terminal. Perintah pada kode program 1 adalah perintah yang
dijalankan untuk melakukan instalasi program dasar yang diperlukan
sebelum instalasi snort dilakukan.
6
Kode Program 1 Instalasi base software
apt-get update && apt-get -y install apache2 apache2-doc autoconf
automake bison ca-certificates ethtool flex g++ gcc gcc-4.4
libapache2-mod- php5 libcrypt-ssleay-perl libmysqlclient-dev libnet1
libnet1-dev libpcre3 libpcre3-dev libphp-adodb libssl-dev libtool
libwww-perl make mysql- client mysql-common mysql-server ntp php5-cli
php5-gd php5-mysql php-pear sendmail sysstat usbmount
Baris perintah pada Kode Program 1 merupakan perintah untuk
melakukan instalasi setiap program dasar yang diperlukan oleh snort.
Program yang dapat diinstal dengan menggunakan perintah di atas
adalah apache server, php 5, mySql server, perl, bison, dan g++. Base
software merupakan program dasar yang diperlukan ketika menjalankan
snort seperti MySql dan Apache server, MySql diperlukan snort untuk
menyimpan data capture. Selain base software instalasi snort belum
dapat dilakukan sebelum instalasi pre-requisitiessoftware seperti libcap,
libnet, dan DAQ.
Setelah proses instalasi base software selesai maka tahapan
kedua adalah instalasi pre-requisittiessoftware. pre-requisittiessoftware
diperlukan sebelum instalasi snort dilakukan, pre-requisittiessoftware
yang diperlukan adalah libcap. Libcap merupakan library yang
digunakan untuk meng-capture data yang melewati interface jaringan.
Kode perintah instalasi libcap dapat dilakukan dengan perintah pada
Kode Program 2.
Kode Program 2 Instalasi pre-requisitiessoftware
#
cd
/usr/src
&&
wget
http://www.tcpdump.org/release/libpcap1.6.1.tar.gz
# tar -zxf libpcap-1.6.1.tar.gz && cd libpcap-1.6.1
# ./configure --prefix=/usr && make && make install
Baris pertama Kode Program 2 adalah perintah untuk
mendapatkan paket instalasi libcap dari alamat www.tcpdump.org. Baris
kedua menunjukan seri libcap yang digunakan, dan dalam penelitian ini
libcap yang digunakan adalah libcap 1.6.1.Setelah proses instalasi libcap
selesai maka selanjutnya akan dilakukan instalasi snort.
Tahapan selanjutnya adalah instalasi dan konfigurasi snort, snort
adalah program utama dalam penelitian. Instalasi dan konfigurasi snort
dapat dijalankan apabila instalasi base software dan prerequisttiessoftware telah berhasil. Instalasi snort dilakukan dengan
melakukan download paket instal snort dari http://labs.snort.org, pada
penelitian ini snort yang digunakan adalah snort 2.9.6.2. Instalasi dan
konfigurasi snort dilakukan dengan perintah pada Kode Program 3.
7
Kode Program 3 Instalasi Snort
# cd /usr/src && wget http://labs.snort.org/snort/2962/snort.conf
# wget https://www.snort.org/downloads/snort/snort-2.9.6.2.tar.gz
# tar -zxf snort-2.9.6.2.tar.gz && cd snort-2.9.6.2
# ./configure --enable-sourcefire && make && make install
#
mkdir
/usr/local/etc/snort
/usr/local/etc/snort/rules
/var/log/snort /var/log/barnyard2 /usr/local/lib/snort_dynamicrules
#
touch
/usr/local/etc/snort/rules/white_list.rules
/usr/local/etc/snort/rules/black_list.rules
/usr/local/etc/snort/sid-msg.map
# groupadd snort && useradd -g snort snort
# chown snort:snort /var/log/snort /var/log/barnyard2
# cp /usr/src/snort-2.9.6.2/etc/*.conf* /usr/local/etc/snort
# cp /usr/src/snort-2.9.6.2/etc/*.map /usr/local/etc/snort
# cp /usr/src/snort.conf /usr/local/etc/snort
Baris pertama Kode Prgram 3 adalah perintah untuk
mendapatkan snort configuration filer dari labs.snort.org. Baris kedua
kode diatas adalah untuk mendapatkan paket snort dari snort.org dan
baris keempat dan kelima dari Kode Program 3 adalah perintah untuk
melakukan instalasi dan konfigurasi snort pada direktori /etc/snort.
Setelah instalasi snort dilakukan maka tahapan selanjutnya
adalah instalasi dan konfigurasi Barnyard2. Instalasi dan konfigurasi
Barnyard2 memungkinkan snort untuk mencatat setiap log data kedalam
file biner dan mengirimkan setiap log data kedalam database. Instalasi
dan konfigurasi Barnyard2 dapat dilakukan dengan menjalankan
perintah pada Kode Program 4.
Kode Program 4 Instalasi Barnyard2
# cd /usr/src && wget
https://github.com/firnsy/barnyard2/archive/master.tar.gz
# tar -zxf master.tar.gz && cd barnyard2-*
# autoreconf -fvi -I ./m4 && ./configure --with-mysql --with-mysqllibraries=/usr/lib/i386-linux-gnu && make && make install
# mv /usr/local/etc/barnyard2.conf /usr/local/etc/snort
# cp schemas/create_mysql /usr/src
Baris pertama Kode Program 4 adalah perintah untuk
mendapatkan paket instal Barnyard2 dari github.com. Baris ketiga
adalah perintah konfigurasi Barnyard2 dengan MySql dan perintah pada
baris kedelapan dalam Kode Program 3 adalah perintah untuk
melakukan copy file atau direktori dari log file ke dalam MySql.
Tahapan selanjutnya adalah configurasi MySql sebagai database
yang menyimpan keluaran atau log file dari Barnyard2. Data yang
tersimpan dalam database dapat berupa alert, signature, dan juga detail
paket data yang di capture oleh snort. Konfigurasi MySql dilakukan
dengan menjalankan perintah pada Kode Program 5.
Kode Program 5 Setup MySQL
# mysql -u root -p
mysql> create database snort;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort
mysql> SET PASSWORD FOR snort@localhost=PASSWORD('mypassword');
mysql> use snort;
mysql> source /usr/src/create_mysql mysql> show tables;
8
Baris pertama Kode Program 5 adalah perintah untuk melakukan
konfigurasi kedalam MySql dengan izin akses sebagai root. Baris kedua
Kode Program 5 adalah perintah membuat database dengan nama
database snort. Baris keempat merupakan pengaturan password
database snort, dan perintah pada baris keenam pada Kode Program 5
adalah perintah untuk menunjukan tabel dalam snort database.
Setelah melakukan instalasi snort dan beberapa aplikasi lainnya,
maka proses selanjutnya adalah konfigurasi BASE (Basic Analysis
Security Engine). BASE merupakan aplikasi layanan yang memberikan
analisa peringatan dari snort kepada end user. Proses instalasi dapat
dilakukan dengan menjalankan baris perintah pada kode program 6.
Kode Program 6 Konfigurasi BASE
#
cd
/usr/src
&&
wget
http://sourceforge.net/projects/secureideas/files/BASE/base1.4.5/base-1.4.5.tar.gz
# tar -zxf base-1.4.5.tar.gz && cp -r base-1.4.5 /var/www/base #
chmod 777 /var/www/base
Setelah proses instalasi berhasil maka selanjutnya adalah
melakukan konfigurasi rule based Snort. Konfigurasi rule based
dilakukan dengan mengakses file snort.conf menggunakan perintah pada
Kode Program 7
Kode Program 7 Konfigurasi Rule Based
# pico /etc/snort/snort.conf
Kode Program 7 merupakan perintah yang dijalankan pada
terminal dengan izin akses sebagai super user. Berdasarkan Kode
Program 7, terlihat bahwa file snort.conf berada pada direktori /etc/snort
yang ditampilkan menggunakan pico editor. Line 45 pada file snort.conf
akan dikonfigurasikan menggunakan alamat lokal yaitu 192.168.1.0/25.
Pada penelitian ini digunakan beberapa rules; diantaranya Icmp rules,
scan rules, ddos rules serta rules standar seperti local rules. Setiap rules
dapat di aktifkan dengan masuk kedalam file snort.conf yang terdapat
pada /etcsnort/snort.conf line serta menghapus tanda “#” baris perintah
include $RULES_PATH icmp.rules yang merupakan rules untuk
mendeteksi serangan yang menggunakan protokol ICMP dan include
$RULES_PATH scan.rules untuk mendeteksi serangan portscan.
Pengujian dilakukan dengan beberapa teknik serangan
diantaranya portscanning, smurf attack dan UDP flood. Pengujian
pertama yang dilakukan adalah port scanning. Port scanning
merupakan jenis serangan yang dilakukan untuk mendapatkan letak
kelemahan suatu sistem atau jaringan. Pengujian jenis serangan port
scanning pada penelitian ini dilakukan dengan menggunakan tools
Znmap dengan memasukan alamat IP target.
9
Gambar 3 Port scanning Menggunakan Znmap
Gambar 3 menunjukkan bahwa alamat IP target adalah
192.168.1.104 terdapat beberapa port yang terbuka yaitu port 21, 80,
22, 111, dan port 443, informasi port yang terbuka inilah yang dipakai
untuk melakukan serangan. Serangan port scanning yang dilakukan
dapat di capture oleh detection engine dan disimpan dalam database
sebagai log file dan selanjutnya di tampilkan menggunakan BASE.
Gambar 4 Snort Port Scanning Alert
Gambar 4 merupakan paket data serangan port scanning yang
dikirim menggunakan Znmap dan dideteksi oleh snort detection engine
yang disimpan didalam database sebagai log file. Kolom ID pada
gambar diatas meupakan ID paket data dalam database, kolom time
10
dalam paket data diatas merupakan waktu dimana snort menangkap
serangan yaitu 2015-03-28 jam 14:55:36, kolom sensor address
merupakan interface snort yang dipakai untuk melewatkan paket data
yaitu eth0, source address merupakan alamat sumber serangan yaitu
192.168.1.117, destination address merupakan alamat tujuan serangan
yang berada dalam jaringan yaitu 192.168.1.104, kolom version
merupakan versi IP yang digunakan yaitu versi 4, kolom header length
panjang header packet yaitu 20 bytes, kolom length merupakan panjang
total paket data serangan port scanning yaitu 162 bytes, kolom TTL
atau time to live merupakan jumlah hop maksimal yang bisa dilewati
oleh paket serangan port scanning, berdasarkan gambar 3 maka time to
live paket serangan port scanning adalah 64 hop. Payload pada gambar
3 merupakan isi dari data yang ditransmisikan paket serangan, panjang
payload data adalah 142 byte yang ditulis dalam bentuk Hexadecimal,
terlihat isi dari payload adalah berupa perintah melakukan scan IP
address pada range IP 192.168.1.11 sampai 192.168.1.117.
Simulasi penyerangan yang kedua adalah UDP flooding, UDP
flooding merupakan salah satu teknik serangan denial of sevice dengan
mengirimkan paket data UDP dalam jumlah yang sangat besar serta
menggunakan port yang dipilih secara random. Serangan UDP flooding
dilakukan dengan menggunakan tools UDP flooder dengan memasukan
alamat IP target serta nomor port secara random. Tools UDP flooder
juga menyediakan transmisi control dimana penyerang dapat
menentukan panjangnya durasi serangan, jumlah maksimal packet yang
dikirimkan serta kecepatan pengiriman jumlah packet per second.
Gambar 5 UDPFlooder Attack
Gambar 5 merupakan teknik serangan UDP flooder, terlihat
bahwa alamat IP target adalah 192.168.1.104 dengan port yang menjadi
11
target adalah port 16000 akan tetapi secara otomatis UDP flooder akan
mempelajari kelemahan dari setiap port yang bisa dipakai untuk
mengirim serangan. Jumlah maksimal paket data yang dikirim adalah
1000 dengan durasi maksimal 5 detik. Data yang dikirim adalah data
random UDP flooder.
Gambar 6 Hasil Capture UDP Flooder
Gambar 6 merupakan paket data serangan UDP flooding yang
dikirim menggunakan UDP flooder dan dideteksi oleh snort detection
engine yang disimpan didalam database sebagai log file. Kolom ID
pada gambar diatas merupakan ID paket data dalam database, kolom
time dalam paket data diatas merupakan waktu dimana snort menangkap
serangan yaitu 2015-03-28 jam 14:55:36, kolom sensor address
merupakan interface snort yang dipakai untuk melewatkan paket data
yaitu eth0, source address merupakan alamat sumber serangan yaitu
192.168.1.117, destination address merupakan alamat tujuan serangan
yang berada dalam jaringan yaitu 192.168.1.104, kolom version
merupakan versi IP yang digunakan yaitu versi 4, kolom header length
panjang header packet yaitu 20 bytes, kolom length merupakan panjang
total paket data serangan port scanning yaitu 28 bytes, kolom TTL atau
time to live merupakan jumlah hop maksimal yang bisa dilewati oleh
paket UDP flooding, berdasarkan gambar 5 maka time to live paket
serangan UDP flooding adalah 58 hop. Pada baris UDP terdapat kolom
source port dan destination port, kedua port tersebut adalah port yang
digunakan untuk melakukan serangan pada kolom terlihat source port
adalah 47125 dan destination port adalah 20120.
Simulasi serangan yang ketiga adalah serangan Smurf attack,
serangan smurf attack dilakukan dengan mengirimkan paket ICMP ke
target serangan melalui perantara. Serangan dimulai dengan
mengirimkan paket ICMP echo request ke host lain, fungsi dari paket
ICMP echo request untuk membuat host penerima paket mengirimkan
ICMP PING secara terus menerus.
12
Gambar 7 Hasil Capture Smurff Attack
Gambar 7 merupakan paket data serangan smurf attack yang
dikirim dan dideteksi oleh snort detection engine yang disimpan
didalam database sebagai log file. Kolom ID pada gambar diatas
meupakan ID paket data dalam database, kolom time dalam paket data
diatas merupakan waktu dimana snort menangkap serangan yaitu 201503-28 jam 14:02:10, kolom sensor address merupakan interface snort
yang dipakai untuk melewatkan paket data yaitu eth0, source address
merupakan alamat sumber serangan yaitu 192.168.1.103, source address
yang di capture adalah alamat yang digunakan untuk mengirimkan paket
ICMP echo request yaitu, destination address merupakan alamat tujuan
serangan yang berada dalam jaringan yaitu 192.168.1.104, kolom
version merupakan versi IP yang digunakan yaitu versi 4, kolom header
length panjang header packet yaitu 20 bytes, kolom length merupakan
panjang total paket data serangan port scanning yaitu 84 bytes, kolom
TTL atau time to live merupakan jumlah hop maksimal yang bisa
dilewati oleh paket serangan, berdasarkan gambar 6 maka time to live
paket serangan smurf attack adalah 64 hop. Kolom ICMP merupakan
paket ICMP yang dikirimkan berupa echo request. Payload pada
gambar 6 merupakan isi dari data yang ditransmisikan paket serangan,
pajang data payload adalah 56 bytes dengan karakter tertentu.
Berdasarkan hasil implementasi Intrusion Detection System
(IDS) menggunakan Snort dan uji serangan pada simulasi jaringan di
atas, terlihat bahwa Snort mendeteksi serangan dengan membuka setiap
paket data yang melewati jaringan. Apabila terdapat indikasi
penyusupan dalam paket data maka snort akan menyimpan paket
tersebut kedalam log untuk disimpan kedalam database. Setiap paket
data yang disimpan kedalam database berisi informasi header dan
payload dari paket serangan, dengan melihat header dari setiap serangan
yang masuk maka alamat sumber serangan dan port yang digunakan
oleh penyerang dapat diketahui.
Hasil deteksi Snort pada serangan port scannning adalah berupa
alamat sumber serangan dan perintah port scan yang terdapat dalam
payload paket serangan, pada serangan UDP flooding, Snort dapat
memberikan informasi tentang alamat sumber serangan dan port yang
13
digunakan dalam melakukan serangan dan pada serangan smurff attack
Snort mampu melakukan deteksi terhadap alamat sumber serangan dan
bukan pada alamat perantara yang digunakan untuk mengirimkan paket
sniffer. Setiap hasil deteksi yang ditangkap oleh Snort akan ditampilkan
menggunakan BASE sebagai aplikasi end user sehingga mempermudah
administrator jaringan untuk mengenali setiap informasi terkait
serangan. Dengan demikian Snort merupakan detection engine yang
harus berada disetiap jaringan komputer yang mampu menganalisa
trafik jaringan guna memberikan informasi terkait keamanan jaringan.
5. Kesimpulan
Berdasarkan hasil uji coba simulasi serangan di atas dapat
disimpulkan bahwa snort dapat mendeteksi setiap serangan dengan
membuka paket data serangan, paket data serangan port scanning
dideteksi berdasarkan content data paket, serangan UDP flooding
dideteksi dengan penggunaan port yang digunakan oleh paket data
serangan dalam melakukan pengiriman data, dan snort dapat mendeteksi
smurf attack pada saat penyerang mengirimkan paket ICMP echo
request ke alamat perantara. Dengan demikian pengimplementasian
snort sangat disarankan untuk jaringan yang memiliki layanan server hal
ini dilakukan untuk mendeteksi serangan seperti port scanning, UDP
flooding dan smurf attack.
6.
Daftar Pustaka
[1]
Pahur A.S., Wellem Theophilus. Optimalisasi Packet Capture
Dengan Menggunakan PF_RING Driver. Laporan Penelitian
Universitas Kristen Satya Wacana. 2012.
[2]
Patel D. Nishidh, Shah Vrushank, Pancholi Kturti. An Analysis
of Network Detection Using SNORT. Vol.1 Issue 3. International
Journal For Scientific Research & Development. 2014.
[3]
Alamsyah.Implementasi Keamanan Intrusion Detection System
(IDS) dan Intrusion Prevention System (IPS) menggunakan
ClearOS. Jurnal SMARTek, Vol. 9 No. 3. Agustus 2011
[4]
James Brentano. An Architecture for a Distributed Intrusion
Detection System. Division of Computer Science University of
California. 2001.
[5]
Ariyus,Dony, M.Kom, 2007. Intrusion Detection System,
Yogyakarta: Andi.
[6]
Michele K., Chow, Frank, L., Pierre, L., Computer Forensics
using Bayesian Network: A Case Study, The University of Hong
Kong.
[7]
Vesperman, Chris . Snort, MySQL, Apache, and BASE for
Gentoo Linux. 2003
[8]
Setiady, R. Simulasi Keamanan Jaringan Komputer Internal
Menggunakan Snort dan IPTables di Debian. Laporan
Penelitian Universitas Pembangunan Nasional. Jakarta. 2010
14