8
Bab 2
Tinjauan Pustaka
2.1
Penelitian Sebelumnya
Pada penelitian yang berjudul “Sistem Deteksi Dan
Penanganan Intruisi Menggunakan Snort dan Base Implementasi
Pada PT. Oasys Solusi Teknologi” telah mengimplementasikan
Intrusion Detection System (IDS) berbasis Snort yang mampu
mendeteksi adanya serangan dan menampilkan alerts serangan
tersebut melalui web BASE (Kuswardani, dkk, 2011).
Pada penelitian yang telah dilakukan, ada dua macam
pengujian sistem yaitu dengan simulasi serangan ICMP flooding dan
Port Scanning. Pada simulasi ICMP flooding, attacker melakukan
ping dengan bytes besar agar memenuhi bandwidth dan membanjiri
jaringan dengan request pengiriman paket besar-besaran sekaligus.
Ping yang diberikan adalah 1001 bytes, berbeda dengan ping normal
yang hanya 56 bytes sehingga Snort akan menganggap ping tersebut
sebagai suatu intrusion.
9
Gambar 2.1 menjelaskan ping dalam jumlah kecil yang akan
dibaca Snort bukan sebagai intrusion karena tidak sesuai dengan
pola yang ada pada rules Snort.
Gambar 2.2 Ping dengan 1001 Bytes (Kuswardani, dkk, 2011)
Gambar 2.2 menjelaskan ping dengan 1001 bytes yang akan
dianggap sebagai intrusion karena pola yang ada sesuai dengan pola
pada rules Snort (Kuswardani, dkk, 2011).
Pada penelitian yang berjudul “Effective SQL Injection Attack
Reconstruction Using Network Recording” membahas tentang
bagaimana pola serangan SQL Injection itu terjadi. Selain itu juga
dibahas bagaimana rekonstruksi yang dilakukan agar dapat
mengetahui sumber dari serangan SQL Injection (Pomeroy, 2010).
Beberapa penelitian di atas telah memberikan beberapa
pengetahuan yang sangat berguna. Maka dari itu, selanjutnya dapat
digunakan sebagai pendukung dalam proyek tugas akhir ini, yaitu
untuk membangun sebuah Intrusion Detection System (IDS) berbasis
Snort yang bertujuan untuk mendeteksi adanya serangan atau
penyusupan. Dari hasil deteksi tersebut, kemudian akan dilakukan
10
2.2
Network Forensic
Network Forensic (forensik jaringan) adalah proses
menangkap, mencatat dan menganalisa aktifitas jaringan guna
menemukan bukti digital (digital evidence) dari suatu serangan atau
kejahatan yang dijalankan menggunakan jaringan komputer
sehingga pelaku kejahatan dapat dituntut sesuai hukum yang berlaku
(Sadimin, 2011). Bukti digital (digital evidence) dapat diidentifikasi
dari pola serangan yang dikenali, penyimpangan dari perilaku
normal jaringan ataupun penyimpangan dari kebijakan keamanan
yang diterapkan pada jaringan. Adapun fokus utama dari forensik
jaringan adalah mengidentifikasi semua kemungkinan yang dapat
menyebabkan pelanggaran keamanan sistem dan membuat
mekanisme pendeteksian dan pencegahan yang dapat meminimalisir
kerugian yang lebih banyak.
Forensik jaringan merupakan bagian dari forensik digital,
dimana bukti ditangkap dari jaringan dan diinterpretasikan
berdasarkan pengetahuan dari serangan. Forensik jaringan ini dapat
digunakan untuk menemukan kejahatan di dunia maya seperti
cybercrime yaitu dengan melakukan rekonstruksi serangan
berdasarkan analisis bukti penyusupan. Misalnya saja seorang
administrator jaringan tidak bisa seluruhnya bergantung pada IDS
untuk menjaga jaringannya. Administrator juga memerlukan proses
investigasi dan alat audit untuk melakukan investigasi kejadian
secara lengkap dan memulihkan jaringan dari ancaman atau
serangan yang terjadi. Adapun dalam melakukan proses forensik
11
1. Akuisisi dan Pengintaian (Reconnaissance)
Tahap awal proses forensik merupakan hal yang kritis karena
tahap ini akan menentukan keberhasilan dalam proses forensik.
Tahap ini merupakan proses pengumpulan data dan pengintaian,
baik data volatil (jika bekerja pada sistem online) maupun data
non-volatil (disk terkait). Pada proses ini terdiri dari beberapa tahap
yaitu:
Pengumpulan Data Volatil
Data volatil dikumpulkan dari berbagai sumber, yakni
register proses, memori virtual dan fisik, proses-proses yang
sedang berjalan, maupun keadaan jaringan. Sumber
informasi tersebut pada umumnya mempunyai informasi
dalam periode yang singkat, sehingga waktu pengumpulan
bersifat kritis dan harus sesegera mungkin diambil setelah
terjadi insiden.
Melakukan Trap dan Trace
Trap dan trace merupakan proses untuk memonitor header
dari trafik internet tanpa memonitor isinya (tidaklah legal
untuk memonitor isi dari suatu komunikasi data). Proses ini
merupakan cara non intrusif untuk menentukan sumber
serangan jaringan atau untuk mendeteksi kelainan trafik
karena hanya mengumpulkan header paket TCP/IP dan
bukan isinya.
2. Analisis Data
Pada tahap ini meliputi proses menganalisa data yang
diperoleh dari proses sebelumnya, seperti analisa real-time dari data
12
jaringan yang dilalui serangan dan pembuatan time-lining dari
informasi yang diperoleh. Pada proses ini terdiri dari beberapa tahap
yaitu:
File log sebagai sumber informasi
File log dapat merupakan sumber informasi yang penting
bagi proses forensik. File log mengandung informasi tentang
berbagai sumber daya sistem, proses-proses dan aktifitas
pengguna.
Interpretasi trafik jaringan
Untuk dapat mengidentifikasi trafik jaringan yang tidak
normal dan mencurigakan harus dapat mengenali dengan
baik pola trafik jaringan yang normal. Jika pola trafik tidak
normal indikasinya biasanya alamat IP sumber terlihat tidak
lazim (palsu) karena berupa satu set alamat IP cadangan yang
biasanya digunakan di dalam jaringan sebagai alamat privat
(misalnya dengan NAT) dan tidak pernah muncul di internet.
Juga time-stamp terlalu berdekatan, source port dan nomor
urut yang naik secara seragam merupakan petunjuk bahwa
hal ini merupakan paket yang tidak normal. Paket ini menjadi
SYN flood, suatu jenis DoS (denial of service) atau suatu
serangan terhadap server. Pembuatan time lining
MAC (Modified Access Creation) time merupakan tool yang
sangat berguna untuk menentukan perubahan file, yang dapat
digunakan untuk membuat time lining dari kejadian-kejadian.
M-times berisi informasi tentang kapan file dimodifikasi
13
terakhir (membaca atau mengeksekusi) dan C-times berisi
waktu terakhir status file diubah.
3. Recovery
Tahap ini meliputi proses untuk mendapatkan/memulihkan
kembali data yang telah hilang akibat adanya intrusi, khususnya
informasi pada disk yang berupa file atau direktori.
2.3
Cybercrime
2.3.1
Pengertian CybercrimeSeiring dengan perkembangan teknologi, menyebabkan
munculnya kejahatan yang disebut dengan Cybercrime atau
kejahatan melalui jaringan internet. Munculnya beberapa kasus
cybercrime di Indonesia, seperti pencurian kartu kredit, hacking
beberapa situs, menyadap transmisi data orang lain, misalnya email,
dan memanipulasi data dengan cara menyiapkan perintah yang tidak
dikehendaki ke dalam program komputer. Dengan adanya
cybercrime ini telah menjadi ancaman stabilitas, sehingga
pemerintah sulit mengimbangi teknik kejahatan yang dilakukan
dengan teknologi komputer, khususnya jaringan internet.
Cybercrime dapat diartikan sebagai bentuk-bentuk kejahatan
yang timbul karena pemanfaatan teknologi internet. Cybercrime
sering diidentikkan dengan computer cryme. Menurut The U.S.
Department of Justice, computer cryme diartikan sebagai “…any
illegal act requiring knowledge of computer technology for its
perpetration, investigation, or prosecution”. Adapun menurut Andi
14
bidang komputer secara umum dapat diartikan sebagai penggunaan
komputer secara ilegal”.
Jadi secara ringkas cybercrime dapat didefinisikan sebagai
perbuatan melawan hukum yang dilakukan dengan menggunakan
internet yang berbasis pada kecanggihan teknologi komputer dan
telekomunikasi.
2.3.2
Motif Kegiatan CybercrimeBerdasarkan motif kegiatan yang dilakukannya, cybercrime
dapat digolongkan menjadi dua jenis, yaitu:
1. Cybercrime sebagai tindakan murni kriminal
Kejahatan yang murni merupakan tindak kriminal merupakan
kejahatan yang dilakukan karena motif kriminalitas. Kejahatan jenis
ini biasanya menggunakan internet hanya sebagai sarana kejahatan.
Contoh kejahatan semacam ini adalah Carding, yaitu pencurian
nomor kartu kredit milik orang lain untuk digunakan dalam transaksi
perdagangan di internet.
2. Cybercrimesebagai kejahatan “abu-abu”
Pada jenis kejahatan di internet yang masuk dalam wilayah
“abu-abu” cukup sulit menentukan apakah itu merupakan tindak kriminal atau bukan mengingat motif kegiatannya terkadang bukan
untuk kejahatan. Salah satu contohnya adalah probing atau
portscanning. Ini adalah sebutan untuk semacam tindakan
pengintaian terhadap sistem milik orang lain dengan mengumpulkan
informasi sebanyak-banyaknya dari sistem yang diintai, termasuk
sistem operasi yang digunakan, port-port yang ada, baik yang
15
2.3.3
Sasaran Kejahatan CybercrimeBerdasarkan sasaran kejahatan, cybercrime dapat
dikelompokan menjadi beberapa kategori, yaitu:
1. Cybercrime yang menyerang individu (Against Person)
Jenis kejahatan ini, sasaran serangannya ditujukan kepada
perorangan atau individu yang memiliki sifat atau kriteria tertentu
sesuai tujuan penyerangan tersebut. Beberapa contoh kejahatan ini
antara lain:
Pornografi yaitu kegiatan yang dilakukan dengan membuat, memasang, mendistribusikan, dan menyebarkan material
yang berbau pornografi, cabul, serta mengekspos hal-hal
yang tidak pantas.
Cyberstalking yaitu kegiatan yang dilakukan untuk mengganggu atau melecehkan seseorang dengan
memanfaatkan komputer, misalnya dengan menggunakan
e-mail yang dilakukan secara berulang-ulang seperti halnya
teror di dunia cyber. Gangguan tersebut bisa saja berbau
seksual, religius, dan lain sebagainya.
Cyber-Tresspass yaitu kegiatan yang dilakukan melanggar area privasi orang lain seperti misalnya web hacking,
probing, port scanning dan lain sebagainya.
2. Cybercrime yang menyerang hak milik (Against Property)
Cybercrime yang dilakukan untuk menggangu atau menyerang
hak milik orang lain. Beberapa contoh kejahatan jenis ini misalnya
pengaksesan komputer secara tidak sah melalui dunia cyber,
16
carding, cybersquating, hijacking, data forgery dan segala kegiatan
yang bersifat merugikan hak milik orang lain.
3. Cybercrime yang menyerang pemerintah (Against
Government)
Cybercrime Againts Government dilakukan dengan tujuan
khusus penyerangan terhadap pemerintah. Kegiatan tersebut
misalnya cyber terorism sebagai tindakan yang mengancam
pemerintah termasuk juga cracking ke situs resmi pemerintah atau
situs militer.
2.3.4
Jenis CybercrimeBerdasarkan jenis aktifitas yang dilakukannya, cybercrime
dapat digolongkan menjadi beberapa jenis, yaitu:
1. Unauthorized Access
Merupakan kejahatan yang terjadi ketika seseorang memasuki
atau menyusup ke dalam suatu sistem jaringan komputer secara
tidak sah, tanpa izin, atau tanpa sepengetahuan dari pemilik sistem
jaringan komputer yang dimasukinya.
2. Illegal Contents
Merupakan kejahatan yang dilakukan dengan memasukkan
data atau informasi ke internet tentang suatu hal yang tidak benar,
tidak etis, dan dapat dianggap melanggar hukum atau menggangu
ketertiban umum, contohnya adalah penyebaran pornografi.
3. Data Forgery
Kejahatan jenis ini dilakukan dengan tujuan memalsukan data
Dokumen-17
dokumen ini biasanya dimiliki oleh institusi atau lembaga yang
memiliki situs berbasis web database.
4. Cyber Espionage, sabotase dan Extortion
Cyber Espionage merupakan kejahatan yang memanfaatkan
jaringan internet untuk melakukan kegiatan mata-mata terhadap
pihak lain, dengan memasuki sistem jaringan komputer pihak
sasaran. Adapun sabotage and extortion merupakan jenis kejahatan
yang dilakukan dengan membuat gangguan, perusakan atau
penghancuran terhadap suatu data, program komputer atau sistem
jaringan komputer yang terhubung dengan internet.
5. Hacking, cracker dan Carding
Istilah hacker biasanya mengacu pada seseorang yang punya
minat besar untuk mempelajari sistem komputer secara detail dan
bagaimana meningkatkan kapabilitasnya. Adapun mereka yang
sering melakukan aksi-aksi perusakan di internet lazimnya disebut
cracker. Boleh dibilang cracker ini sebenarnya adalah hacker yang
yang memanfaatkan kemampuannya untuk hal-hal yang negatif.
Aktivitas cracking di internet memiliki lingkup yang sangat luas,
mulai dari pembajakan account milik orang lain, pembajakan situs
web, probing, menyebarkan virus, hingga pelumpuhan target
sasaran. Tindakan yang terakhir disebut sebagai DoS (Denial Of
Service).
2.3.5
Penanggulanggan CybercrimeAktifitas pokok dari cybercrime adalah penyerangan terhadap
content, computer system dan communication system milik orang
18
memang harus diwaspadai karena kejahatan ini agak berbeda dengan
kejahatan lain pada umumnya. Cybercrime dapat dilakukan tanpa
mengenal batas teritorial dan tidak memerlukan interaksi langsung
antara pelaku dengan korban kejahatan. Mengamankan sistem
merupakan salah satu cara dalam menanggulangi cybercrime.
Pengamanan sistem secara terintegrasi sangat diperlukan untuk
meminimalisasikan kemungkinan perusakan tersebut. Membangun
sebuah keamanan sistem harus sesuai dengan langkah-langkah yang
terintegrasi pada keseluruhan subsistemnya, dengan tujuan dapat
mempersempit atau bahkan menutup adanya celah-celah
unauthorized actions yang merugikan. Pengamanan secara personal
dapat dilakukan mulai dari tahap instalasi sistem sampai akhirnya
menuju ke tahap pengamanan fisik dan pengamanan data. Pengaman
akan adanya penyerangan sistem melaui jaringan juga dapat
dilakukan dengan melakukan pengamanan FTP, SMTP, Telnet dan
pengamanan Web Server.
2.4
SQL Injection
2.4.1Pengertian SQL Injection
SQL singkatan dari Structured Query Language yg merupakan
bahasa komputer standar yang ditetapkan oleh ANSI (American
National Standard Institute) untuk mengakses dan memanipulasi
sistem database. SQL bekerja dengan program database seperti MS
Access, DB 2, Informix, MS SQL Server, Oracle dan lain
sebagainya.
SQL Injection merupakan sebuah teknik serangan yang
19
attacker untuk menginputkan malicious code. Inputan tersebut
biasanya di masukan pada box search, form-form web atau
bagian-bagian tertentu dari website yang berinteraksi dengan database SQL.
Celah keamanan tersebut ditunjukkan pada saat attacker
memasukkan nilai string dan karakter-karakter control lainnya yang
ada dalam instruksi SQL dengan cara memodifikasi perintah SQL
yang ada di memori aplikasi client sehingga memungkinkan attacker
untuk memasukkan kode-kode SQL untuk mendapatkan informasi
dan akses ke databaseserver.
Data dari user akan dianggap sebagai bagian dari input, tetapi
saat dijalankan, perintah ini dapat mengubah, menghapus atau
membeberkan data sensitif. Lebih parah lagi jika sampai ke sistem
eksekusi kode akses yaitu mematikan database itu sendiri, sehingga
database tidak bisa memberi layanan kepada web server. Serangan
SQL Injection cukup kuat dan sulit dihentikan, karena tidak masuk
ke dalam platform software apapun (Nidiaswari, 2010).
2.4.2Karakterisik SQL Injection
SQL Injection memerlukan karakter khusus agar bisa
dimanipulasi secara paksa. Karakter – karakter inilah yang menjadi
dasar penyusupan suatu situs dengan teknik SQL Injection.
Beberapa karakter khusus tersebut antara lain:
1. Double Minus (--)
Tanda ini adalah tanda akhir suatu statement SQL sehingga
perintah dibelakangnya tidak akan dibaca dan dieksekusi oleh
MySQL. Tanda ini sangat berguna terutama untuk statement yang
20
Jika diberikan tanda (--) setelah klausa username, maka
perintah diatas akan menjadi
Hal itu akan membuat seseorang bisa login tanpa harus
memiliki password, karena MySQL hanya akan membaca perintah
sampai (username = „$username‟) dan mengabaikan sisanya. Pada
beberapa versi dan software database, pemakaian tanda (--)
seringkali diganti dengan dengan tanda pagar (#). Contoh sintaks
SQL Injection bypassing pada halaman login, antara lain sebagai
berikut:
„ or 1=1-- „ or 1=1#
or 0=0 -- " or 1=1 # " or 1=1-- „) or „1‟=‟1--
2. Union
Union adalah perintah untuk menggabungkan dua atau lebih
perintah SQL, biasanya penggunaan union dalam SQL Injection
dilakukan untuk memberikan perintah error dalam query. Contoh
penggunaannya:
SELECT * FROM user WHERE username=‟$username‟
AND password=‟$password‟
SELECT * FROM user WHERE username=‟$username
21
Biasanya penggunaan perintah diatas adalah untuk mencari
jumlah kolom dari suatu tabel. Untuk nama tabel, bisa dicari dengan
memanfaatkan tabel information_schema pada MySQL yang
menyimpan informasi semua tabel yang terdapat dalam database
tersebut (Vicky, dkk, 2012).
2.5
Cross Site Scripting (XSS)
2.5.1Pengertian Cross Site Scripting (XSS)
Cross Site Scripting atau lebih dikenal dengan XSS merupakan
salah satu jenis serangan injeksi code (code injection attack). XSS
dilakukan oleh penyerang dengan cara memasukkan
kode HTML atau client script code lainnya ke suatu situs. Serangan
ini akan seolah-olah datang dari situs tersebut. Akibat serangan ini
antara lain penyerang dapat mencuri cookie komputer seseorang,
mendapatkan informasi sensitif atau menyimpan aplikasi berbahaya.
Cross site scripting (XSS) merupakan kelemahan yang populer
untuk dieksploitasi. Namun sayangnya, banyak penyedia layanan
yang tidak mengakui kelemahan tersebut dan melakukan perubahan
pada sistem yang mereka gunakan. Citra penyedia layanan
merupakan harga yang dipertaruhkan ketika mereka mengakui
kelemahan tersebut. Sayangnya dengan tindakan ini konsumen atau
pengguna menjadi pihak yang dirugikan.
SELECT isi FROM konten WHERE id = „$id‟ UNION
22
2.5.2Cara Kerja XSS
Cross Site Scripting (XSS) bekerja dengan cara mengelabui
orang yang tidak waspada. Attacker biasanya akan mencari web-web
yang memiliki kelemahan XSS. Selanjutnya attacker akan mencari
tahu apakah website tersebut menerbitkan informasi yang dapat
digunakan untuk melakukan pencurian informasi lebih lanjut,
misalnya cookie. Selanjutnya attacker akan menyiapkan sebuah link
tentunya yang sudah mengandung malicious code dengan tujuan
untuk mendapatkan cookie dari korban. Attacker akan membujuk
korbannya untuk mengakses link yang telah disiapkan. Jika attacker
berhasil membuat korban mengakses link tersebut, maka attacker
akan melakukan pencurian informasi-informasi penting dari
korbannya dengan memanfaatkan cookie yang didapat.
2.5.3Jenis Crosss Site Scripting (XSS)
Serangan Cross Site Scripting (XSS) dibedakan menjadi dua,
yaitu:
1. Reflected atau Nonpersistent
Jenis serangan ini paling umum dan yang sering digunakan
attacker dalam melancarkan aksinya. Umumnya celah keamanan ini
ditemukan pada halaman pencarian karena hasil dari pencarian akan
di tampilkan kembali ke user, dan apabila respon yang akan
dikirimkan tidak secara benar melakukan parsing atau pembatasan
terhadap tag HTML, maka akan terjadilah celah keamanan ini.
Untuk memanfaatkan celah ini lebih lanjut, umumnya celah
reflected ini akan di kombinasikan dengan jenis serangan lain seperti
phishing, dimana attacker akan mengirimkan email berupa alamat
23
akan di eksekusi oleh target. Dengan cara ini, attacker bisa
mendapatkan cookie dari pengguna yang bisa digunakan untuk
mencuri informasi-informasi penting.
2. Stored atau Persistent.
Hal ini terjadi apabila data yang dimasukkan attacker akan
disimpan oleh server dan secara permanen ditampilkan saat halaman
web tersebut di buka. Celah keamanan yang banyak terjadi adalah
pada halaman buku tamu dan juga forum diskusi. Celah persistent
XSS ini jauh lebih berbahaya bagi user dari suatu situs web yang
memiliki celah, karena pengguna yang mengakses akan
mengeksekusi XSS payload yang di render oleh server, sehingga
seluruh user yang mengakses web tersebut akan rentan terkena
serangan ini (Muamar, 2013).
2.6
Intrusion Detection System (IDS)
Intrusion Detection System (IDS) merupakan sebuah aplikasi
perangkat lunak atau perangkat keras yang dapat mendeteksi
aktifitas yang mencurigakan dalam sebuah jaringan. IDS dapat
melakukan inspeksi terhadap lalu lintas inbound dan outbound
dalam sebuah jaringan, melakukan analisis dan mencari bukti dari
percobaan intrusion (Jannah, dkk, 2009).
Intrusion Detection System (IDS) dapat didefinisikan sebagai
tools, metode, sumber daya yang memberikan bantuan untuk
melakukan identifikasi, memberikan laporan terhadap aktifitas
jaringan komputer. IDS adalah pemberi sinyal pertama jika attacker
mencoba membobol sistem keamanan komputer. Secara umum
24
dan integritas data, serta tindakan atau percobaan untuk melewati
sebuah sistem keamanan yang dilakukan oleh attacker dari internet
maupun dari dalam sistem.
2.6.1
Tujuan Penggunaan IDS
IDS merupakan software atau hardware yang melakukan
otomatisasi proses monitoring kejadian yang muncul di sistem
komputer atau jaringan, menganalisanya untuk menemukan
permasalahan keamanan. Dengan adanya monitoring,
kejadian-kejadian yang tidak lazim pada jaringan dapat diketahui lebih awal
sehingga seorang administrator dapat melakukan tindakan
pencegahan dan bersiap atas kemungkinan yang akan terjadi.
IDS tidak dibuat untuk menggantikan fungsi firewall karena
kegunaanya berbeda. Sebuah sistem firewall tidak bisa mengetahui
apakah sebuah serangan sedang terjadi atau tidak. Namun IDS
mengetahui jika sedang terjadi serangan. Secara singkat, fungsi IDS
adalah pemberi peringatan kepada administrator atas serangan yang
terjadi pada sistem. Alasan mempergunakan IDS antara lain:
1. Mencegah resiko keamanan yang terus meningkat karena
banyak ditemukan kegiatan ilegal yang diperbuat oleh
orang-orang yang tidak bertanggung jawab.
2. Untuk mendeteksi serangan dan pelanggaran keamanan yang
tidak bisa dicegah oleh perangkat keamanan lainnya seperti
firewall. Biasanya penyusupan berlangsung dalam tahapan
yang bisa diprediksi. Tahapan pertama adalah probing atau
eksploitasi pencarian titik masuk. Pada sistem tanpa IDS,
25
kepergok lebih kecil. IDS yang mendapati probing, bisa
melakukan blok akses dan memberitahukan kepada
administrator untuk mengambil tindakan lebih lanjut.
3. Untuk bertindak sebagai pengendali kualitas pada administrasi
dan perancangan keamanan, khususnya pada organisasi yang
besar dan kompleks. Saat ini IDS dijalankan dalam waktu
tertentu, pola dari pemakaian sistem dan masalah yang ditemui
bisa nampak sehingga akan membantu pengelolaan keamanan
dan memperbaiki kekurangan sebelum menyebabkan insiden.
2.6.2
Cara Kerja IDS
Ada dua cara bagaimana IDS bekerja dalam mendeteksi
serangan yaitu:
1. Signature Based
Signature Based merupakan cara yang paling popular, yaitu
dengan menggunakan pendeteksian berbasis signature yang
melibatkan pencocokan lalu lintas jaringan dengan database yang
ada pada rules Snort. Rules Snort tersebut berisi cara-cara serangan
dan penyususpan yang sering dilakukan oleh attacker. Kekurangan
dari signature based yaitu, hanya bisa mendeteksi serangan yang
sudah terdapat sebelumnya di database Snort, untuk serangan baru
kemungkinan akan gagal. Deteksi signature IDS yang baru lemah
pada false negatives tapi tidak pada false positives.
2. Anomaly based
Anomaly based mendeteksi adanya anomali. Jenis ini
melibatkan pola lalu lintas yang mungkin merupakan sebuah
26
dengan menggunakan teknik statistik untuk membandingkan lalu
lintas yang sedang dipantau dengan lalu lintas normal yang biasa
terjadi. Metode anomaly based ini menawarkan kelebihan
dibandingkan dengan signature based, karena anomaly based dapat
mendeteksi bentuk serangan yang baru dan belum terdapat di dalam
databaserules Snort.
Dasar dari IDS adalah mengumpulkan data, melakukan
preprocess dan mengklasifikasi data tersebut. Dengan analisis
statistik, suatu aktifitas yang tidak normal akan bisa dilihat, sehingga
IDS bisa mencocokan dengan data dan pola yang sudah ada. Jika
data dan pola cocok dengan keadaan yang tidak normal maka akan
dikirim respons tentang aktifitas tersebut.
2.7
Snort
Snort merupakan suatu aplikasi open source yang berfungsi
untuk memeriksa data-data yang masuk dan melaporkan ke
administrator apabila terdapat aktifitas-aktifitas mencurigakan.
Snort mampu melakukan analisa real time dan packet logger pada IP
network dan dapat menganalisa protokol dan melakukan
pendeteksian variasi penyerangan. Snort pertama kali dibuat dan
dikembangkan oleh Martin Roesch, lalu menjadi sebuah open source
project (www.snort.org).Snortdapat dioperasikan dalam tiga mode,
yaitu:
1. Paket Sniffer
Mode ini digunakan untuk melihat paket-paket yang lewat
pada jaringan dan akan menampilkanya dalam bentuk aliran tak
27
Snort -v : perintah tersebut akan menjalankan Snort dan
hanya menampilkan header TCP/IP yang lewat.
Snort -vd : perintah tersebut akan menginstruksikan Snort
agar menampilkan data-data sebagaimana
dalam header TCP/IP yang lewat.
Snort –vde : perintah tersebut akan menginstruksikan Snort
agar menampilkan header dari layer data link.
2. Paket Logger
Mode ini digunakan untuk mencatat log dari paket-paket ke
dalam harddisk. Mode ini digunakan bilamana seorang
administrator ingin menyimpan paket-paket data yang lewat ke
dalam sebuah file untuk dilihat kemudian. Beberapa perintah yang
sering digunakan antara lain:
Snort –dev –l /log
Snort –dev –l /log 192.168.1.0/24
Snort –dev –i eth0 –L /var/log/snort/snort.log
3. NIDS deteksi penyusup pada jaringan.
Pada mode ini Snort berfungsi untuk mendeteksi serangan
yang dilakukan melalui jaringan komputer. Untuk menggunakan
mode ini, diperlukan berbagai konfigurasi pada rules yang akan
membedakan sebuah paket normal dengan paket yang membawa
serangan. Beberapa perintah untuk menjalankan mode ini antara
lain:
Snort –d –l /var/log/snort –c /etc/snort/snort.conf
Snort -dev -h 192.168.50.0/24 host (no_ip_snort) -l
28
2.7.1
Komponen Snort
1. SnortRules
Rule Snort (Snort Rules) merupakan aturan-aturan atau
kondisi-kondisi yang bertujuan mengklasifikasikan aktifitas-aktifitas
jaringan yang normal dan yang mencurigakan. Rules Snort ini
merupakan database yang berisi pola-pola serangan berupa
signature jenis-jenis serangan. Rules Snort ini harus diupdate secara
rutin agar ketika ada suatu teknik serangan yang baru, serangan
tersebut dapat dideteksi (Rafiudin, 2010).
Rules Snort ini setidaknya terstruktur atas dua bagian utama,
yaitu:
Rule Header merupakan bagian rule dimana aksi-aksi rule teridentifikasi seperti Alert, Log, Pass, Activate, Dynamic dan
lain-lain.
Rule Options merupakan bagian rule dimana pesan-pesan peringatan (alert messages) diidentifikasi.
Sebagai contoh rule pada Snort sebagai berikut:
Gambar 2.3 Rule Snort
Gambar 2.3 merupakan contoh rule Snort. Snort akan
menentukan paket data yang lewat dianggap sebagai serangan atau
29
paket yang dibandingakan cocok dengan rules Snort, maka paket
akan dianggap sebagai serangan. Demikian juga sebaliknya, jika
tidak ada dalam rules Snort maka dianggap bukan sebagai serangan.
2. SnortEngine
Snort Engine merupakan program yang berjalan sebagai
daemon proses yang selalu bekerja untuk membaca paket data dan
akan membandingkannya dengan rules Snort.
3. Alert
Alert merupakan catatan serangan yang dideteksi oleh Snort
engine. Jika Snort engine mendeteksi adanya serangan, maka Snort
engine akan mengirimkan alerts berupa log file. Untuk
mempermudah analisa biasanya alerts disimpan dalam database,
sebagai contoh BASE. Hubungan ketiga komponen IDS tersebut
dapat digambarkan seperti berikut:
Gambar 2.4 Hubungan Komponen IDS
2.8
Squid
Squid adalah proxy caching untuk web yang mendukung
HTTP, HTTPS, FTP dan banyak lagi. Hal ini mengurangi bandwidth
dan meningkatkan waktu respon dengan caching dan menggunakan
30
Squid adalah sebuah daemon yang digunakan sebagai proxy
server dan web cache. Squid memiliki banyak jenis penggunaan,
mulai dari mempercepat server web dengan melakukan caching
permintaan yang berulang-ulang, caching DNS, caching situs web
dan caching pencarian komputer di dalam jaringan untuk
sekelompok komputer yang menggunakan sumber daya jaringan
yang sama, hingga pada membantu keamanan dengan cara
melakukan penyaringan (filter) lalu lintas. Meskipun seringnya
digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan
dukungan terbatas untuk beberapa protokol lainnya termasuk
Transport Layer Security (TLS), Secure Socket Layer (SSL),
Internet Gopher, dan HTTPS. Versi Squid 3.1 mencakup dukungan
protokol IPv6 dan Internet Content Adaptation Protocol (ICAP)
(Wessels, 2004).
2.8.1
Access LogAccess log merupakan file yang berisi daftar permintaan
request atau akses dari semua user dalam suatu jaringan. Di dalam
file access log ini terdapat informasi-informasi penting tentang
semua aktifitas dari user. Informasi seperti timestamp, request
website, client address dan lain-lain.
Format dari access log terdiri dari 10 kolom dengan
masing-masing dipisahkan oleh kolom spasi.
Tabel 2.1 Format Access Log
Kolom Deskripsi
31
UTC, dengan resolusi milidetik
2. Duration Durasi waktu dalam milidetik transaksi yang
menyibukan cache.
3. Client Address Ip address dari client yang melakukan request.
4. Resut Code Kode keluaran. Kolom ini terdiri dari dua entri
yang dipisahkan tanda slash. Keluaran cache
dari sebuah request yang memuat informasi
seputar request tersebut dipenuhi atau gagal.
5. Bytes Ukuran byte data, yaitu jumlah byte data yang
dihantarkan ke client
6. Request Metode request untuk mendapatkan object.
7. URL Informasi tentang URL yang di-request oleh
client.
8. Rfc931 Memuat lookup ident untuk client yang
merequest. Lookup ident dapat mempengaruhi
performasi, maka konfigurasi default untuk
ident_lookups dinonaktifkan sehingga
informasi ident tidak akan tersedia dan hanya
akan terlihat tanda “-“.
9. Hierarchy code Informasi pada hierarchy terdiri dari tiga jenis,
yaitu:
32
TIMEOUT_, jika timeout terjadi saat
menunggu reply ICP komplit dari
neighbor.
Sebuah kode akan diberikan untuk menjeaskan request ditangani, misal
dengan meneruskan ke sebuah peer atau
pergi kembali ke sumbernya.
Ip address atau hostname dimana request telah di-forward (jika terjadi kegagalan).
Untuk request yang dikirim ke server asal,
maka nilainya adalah IP address server
bersangkutan. Untuk request yang dikirim
ke cache neighbor, maka nilainya berupa
hostnameneighbor tersebut.
10.Type Jenis konten (content type) dari objek,
sebagaimana terlihat dari header reply HTTP.
Pertukaran ICP yang tidak memiliki content
type, maka di-log sebagai “-“, dan beberapa
jenis reply memberikan content type “.” Atau
bahkan kosong. Terdapat dua kolom atau lebih
dalam acces.log jika opsi debug
(log_mine_headers) diaktifkan.