Institutional Repository | Satya Wacana Christian University: Investigasi Web Attack Menggunakan Intrusion Detection System (IDS) dan Access Log T1 672009187 BAB II

(1)

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.


(2)

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 proses rekonstruksi guna menemukan sumber serangan.


(3)

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 jaringan terdiri dari beberapa tahap antara lain:


(4)

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 volatil, analisa file log, korelasi data dari berbagai device pada


(5)

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 terakhir kali, A-times mengandung informasi waktu akses


(6)

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 Cybercrime

Seiring 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 Hamzah mengartikan kejahatan komputer sebagai “Kejahatan di


(7)

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 Cybercrime

Berdasarkan 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 terbuka maupun tertutup dan sebagainya.


(8)

15

2.3.3

Sasaran Kejahatan Cybercrime

Berdasarkan 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, pemilikan informasi elektronik secara tidak sah/pencurian informasi,


(9)

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 Cybercrime

Berdasarkan 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 pada dokumen-dokumen penting yang ada di internet.


(10)

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 Cybercrime

Aktifitas pokok dari cybercrime adalah penyerangan terhadap content, computer system dan communication system milik orang lain atau umum di dalam cyberspace. Fenomena cybercrime


(11)

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 memanfaatkan celah keamanan pada sisi website yang mengizinkan


(12)

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 menggunakan operator logika OR atau AND. Misalnya:


(13)

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


(14)

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


(15)

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 URL situs yang legitimate tetapi mengandung XSS payload yang


(16)

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 penyusupan bisa berarti serangan atau ancaman terhadap keamanan


(17)

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, penyusup memiliki kebebasan melakukannya dengan resiko


(18)

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 serangan yang sedang dilakukan oleh attacker. Umumnya, dilakukan


(19)

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 terputus pada terminal. Mode ini bisa dijalankan dengan perintah:


(20)

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 /var/log/snort –c /etc/snort/snort.conf


(21)

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 bukan. Paket data akan dibandingkan dengan rules Snort, jika pola


(22)

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 kembali halaman web yang sering diminta.


(23)

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 Log

Access 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


(24)

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:


(25)

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.


(1)

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 /var/log/snort –c /etc/snort/snort.conf


(2)

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 bukan. Paket data akan dibandingkan dengan rules Snort, jika pola


(3)

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 kembali halaman web yang sering diminta.


(4)

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 Log

Access 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


(5)

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:


(6)

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.


Dokumen yang terkait

Implementasi intrusion detection system (IDS) menggunakan snort pada jaringan wireless (studi kasus: SMK Triguna Ciputat)

6 56 129

INTRUSION DETECTION SYSTEM (IDS) MENGGUNAKAN JARINGAN SYARAF TIRUAN ENSEMBLE.

2 5 15

Institutional Repository | Satya Wacana Christian University: Simulasi Serangan pada Jaringan Menggunakan Intrusion Detection System (IDS) Snort

0 0 1

Institutional Repository | Satya Wacana Christian University: Deteksi False Alarm pada Intrusion Detection System(IDS) Menggunakan Algoritma Adaptive Agent-Based Profiling

0 0 1

Institutional Repository | Satya Wacana Christian University: Investigasi Web Attack Menggunakan Intrusion Detection System (IDS) dan Access Log

0 0 14

Institutional Repository | Satya Wacana Christian University: Investigasi Web Attack Menggunakan Intrusion Detection System (IDS) dan Access Log T1 672009187 BAB I

1 1 7

Institutional Repository | Satya Wacana Christian University: Investigasi Web Attack Menggunakan Intrusion Detection System (IDS) dan Access Log T1 672009187 BAB IV

0 0 21

Institutional Repository | Satya Wacana Christian University: Investigasi Web Attack Menggunakan Intrusion Detection System (IDS) dan Access Log T1 672009187 BAB V

0 0 1

Institutional Repository | Satya Wacana Christian University: Analisa Traceback menggunakan Metode Packet Marking IPTraceback pada IDS (Intrusion Detection System) dengan Teknik Visualisasi

0 0 1

T1 Abstract Institutional Repository | Satya Wacana Christian University: Membangun Sensor Wireless Intrusion Detection System pada Raspberry Pi untuk Mendeteksi Rogue Access Point

0 0 1