BAB II LANDASAN TEORI Bab ini akan menjelaskan kajian kepustakaan yang digunakan sebagai dasar dalam melakukan penelitian dan menjelaskan teori pendukung yang digunakan dalam penelitian. Kajian pustaka dan teori dasar dijelaskan sebagai berikut: 2.1. Kajian Kepustakaan a. Masalah Penelitian Metode deteksi dikelompokan menjadi 3 (tiga) yaitu: a) berbasis signature; b) berbasis abnormal; dan c) Statefull Protocol Analysis (SPA) (H.-J. Liao, Richard Lin, Lin, & Tung, 2012). Keterbatasan deteksi berbasis signature adalah dalam mengenali serangan yang belum diketahui jenisnya. Deteksi abnormal berfungsi dalam menemukan perilaku berbeda dari data (Steinberger, Schehlmann, Abt, & Baier, 2013). Data yang memiliki karakteristik berbeda dengan data pada umumnya disebut abnormal, penggunaan deteksi abnormal telah banyak dimanfaatkan dalam berbagai bidang salah satunya pada bidang deteksi penyusupan (Prasetyo, 2012). Beberapa penelitian deteksi abnormal ditunjukan pada Tabel 2.1. Kajian kepustakaan yang dilakukan sebagai dasar melakukan penelitian ditunjukan pada Tabel 2.2. b. Deteksi Abnormal Penelitian yang melakukan analisis kinerja anomaly-based intrusion detection system (IDS) dalam mendeteksi serangan DoS (denial of services) pada jaringan komputer dengan model statistika digunakan untuk mengenali adanya serangan UDP Flood dengan menggunakan baseline dengan tingkat akurasi 87,5% (Sucipta, Wirawan, & Muliantara, 2012), Deteksi Abnormal Tabel 2.1. Masalah Penelitian 1. International Journal of Advanced Computer Science and Applications(IJAC SA) 2. Jurnal Elektronik Ilmu Komputer 3. Proceeding of International Conference on Electrical Jurnal Engineering, Computer Science and Informatics 4. IAES International Journal of Artificial Intelligence (IJAI) 5. International Journal of Modern Engineering & Management Research 1. Klasifikasi 2. Clustering Metode 3. Deskripsi Topik Masalah Dataset 1. 2. 3. 4. 1. 2. Statistik Klasifikasi Klustering AI Dataset Metode 1. 2. Privat Publik kemudian serangan Denial of Service (DoS) 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. (Riadi, Istiyanto, Ashari, & Subanar, 2013) (Sucipta, Wirawan, & Muliantara, 2012) (Malik & Puspita, 2014) (Waguih, 2013) (Thakur & Dr. Gireesh Kumar Dixit, 2013) LVQ C45 K-Means DBSCAN Mean UDP Flooding Flooding Ping & UDP 1. 2. 3. Distribusi Atribut & Noise Menentukan parameter 1. Trafik Udayana 2. Trafik Sriwijaya 3. Trafik Ahmad Dahlan 4. KDD Cup 99 Dataset pada port 80 (HTTP) yang telah dilakukan pada penelitian framework forensik internet berbasis clustering dengan algoritma k-means dapat mendeteksi tingkat bahaya dengan nilai keakurasian 89,02% (Riadi, Istiyanto, Ashari, & Subanar, 2013). sementara penggunaan teknik semi supervisi pada Machine Learning dengan DBSCAN pada sistem pengenal penyusupan (IDS) menjelaskan pengelompokkan serangan pada dataset KDD Cup 99 menggunakan teknik clustering dengan algoritma DBSCAN menunjukan tingkat keakurasian 90,65% (Thakur & Dr. Gireesh Kumar Dixit, 2013). Tabel 2.2. Tinjauan Pustaka Kajian Pustaka Mengelompokan tingkat bahaya dengan K-means berdasarkan hit dan durasi serangan pada protokol 80 (HTTP) dengan tingkat akurasi 89,02%. (Thakur & Dr. Gireesh Pengelompokkan lalu lintas serangan dengan DBSCAN Kumar Dixit, 2013) dengan tingkat keakurasian 90,65% pada data set KDD Cup 99. (Sucipta et al., 2012) Metode statistik untuk mengenali serangan UDP Flood berdasarkan nilai baseline dengan tingkat akurasi 87,5%. (Malik & Puspita, Klasifikasi serangan PING dan UDP Flood dengan LVQ 2014) berdasarkan rata-rata, panjang, ukuran, sumber serangan dengan tingkat akurasi untuk kondisi normal 90%, untuk PING Flood 100% dan UDP Flood 100% serta rata-rata keberhasilan menemukan pola serangan baru sebesar 90,9%. (Waguih, 2013) Tingkat akurasi metode klasifikasi (C45)dalam mendeteksi Aktifitas Normal atau Aktifitas Anomaly pada TCP/IP dengan tingkat akurasi pada tabel keputusan 99,985%, pohon keputusan 99,97%, berbasis aturan 99,91%. Penulis (Riadi et al., 2013) Kemudian pendekatan data mining dalam mengenali adanya serangan Denial of Service menunjukan tingkat akurasi metode klasifikasi (C45) dalam mendeteksi Aktifitas Normal dengan Aktifitas Anomaly pada TCP/IP dengan tingkat akurasi pada: a) tabel keputusan 99,985%; b) pohon keputusan 99,97%; c) berbasis aturan 99,91% (Waguih, 2013), dan pada penelitian yang mengelompokan serangan Denial of Service (DoS) mengggunakan Jaringan Syaraf Tiruan LVQ (Learning Vector Quantization) menunjukan klasifikasi serangan PING dan UDP Flood dengan LVQ berdasarkan rata-rata, panjang, ukuran, sumber serangan dengan tingkat akurasi untuk kondisi normal 90%, untuk PING Flood 100% dan UDP Flood 100% serta rata-rata keberhasilan menemukan pola serangan baru sebesar 90,9%. 2.2. Dasar Teori a. Log Log (record keeping) adalah berkas yang mencatat peristiwa dalam program komputer (Anonymous, 2015), sedangkan secara definisi log adalah catatan aktifitas harian (Webster, 2015), aktifitas yang langsung dicatat disebut transaction log oleh: (Hariyanto, 2012), berkas log dimanfaatkan sebagai dukungan dalam proses forensik cyber untuk mendapatkan bukti digital selama tahap penyelidikan (Saxena, Singh, Thakur, & Kumar, 2012), banyaknya kejadian yang dicatat oleh sistem membuat kendala tersendiri dalam memahami apa yang sebenarnya terjadi, pemanfaatan log bertujuan untuk mengelompokan kejadiankejadian yang serupa untuk membantu memudahkan pemahaman, dijelaskan oleh (Plass, 2011), pada tingkat tertentu kemampuan log dalam menunjukan hal sebagai berikut: 1) apa; 2) kapan; 3) dimana; 4) bagaimana; dan 5) mengapa (Chuvakin & Peterson, 2010), transaction log berupa data lalu lintas jaringan yang bisa didapatkan dari server, router maupun firewall (Nelson, Phillips, & Steuart, 2010), hasil analisis log dapat digunakan sebagai bukti atas adanya tindakan ilegal pada sistem (Utami Putri & Istiyanto, 2012), teknik yang dapat digunakan dalam melakukan analisis log bermacam-macam, salah satunya pemanfaatan teknik pengelompokkan (clustering) log (Riadi, Istiyanto, Ashari, & Subanar, 2012). b. VSFTPD (FTP Server) (Ubuntu, 2015) File Transfer Protocol (FTP) adalah protkol TCP yang digunakan untuk melakukan aktifitas download suatu berkas antar komputer. Cara kerja FTP berdasarkan arsitektur client-server. FTP Daemon adalah komponen server yang menerima permintaan FTP yang berasal dari client. c. Denial Of Service (DoS) Serangan DoS dapat dilakukan dengan tingkat keterampilan rendah dan tanpa harus memiliki akses pada sistem (Kessler, 2000), Ilustrasi serangan DoS ditunjukan pada gambar 2.1. Penyerang Penyerang Korban Penyerang Penyerang Gambar 2.1. Serangan DoS yang berakibat pada data maupun informasi tidak tersedia, jenis serangan DoS pada umumnya ditujukan untuk: 1) membebani jaringan; 2) menghabiskan CPU; 3) mengurangi kapasitas pemroses; 4) manipulasi waktu; 5) DNS Poisoning; 6) Application Level of Denial of Service; dan 7) Permanent Denial of Service (Phlashing) (Rao, 2011), cara kerja TCP SYN Flooding ditunjukan gambar 2.2. Penyerang akan mengirimkan data secara terus menerus atau memanfaatkan kelemahan sistem dengan memaksa kapasitas pemroses yang berakibat sistem tidak lagi dapat bekerja normal (Tan, Jamdagni, He, Nanda, & Liu, 2014), TCP SYN Flood adalah serangan yang paling mudah dan paling umum ditemukan di internet, cara kerja TCP SYN Flood adalah dengan memanfaatkan sejumlah sumberdaya yang disediakan oleh sistem untuk melakukan operasi Three-Way Handshake, penyerang berusaha untuk membebani (flooding) sistem dengan banyak permintaan hubungan hingga tidak dapat lagi menangani permintaan yang berasal dari pengguna sah (Shea & Liu, 2013). Gambar 2.2. TCP SYN Flooding (Rao, 2011) Penelitian yang dilakukan oleh (Steinberger et al., 2013) dan laporan tahunan (Akamai, 2014; Prolexic, 2014) menyatakan serangan Denial of Service merupakan ancaman yang nyata bagi organisasi. d. Data Mining Langkah dalam proses pencarian pengetahuan (Knowledge Discovery) (Han, 2006), posisi data mining dalam proses pencarian pengetahuan ditunjukan pada gambar 2.3. Gambar 2.3. Proses KDD (Han, 2006) Istilah yang digunakan untuk menguraikan penemuan pengetahuan di dalam basisdata, data mining adalah proses yang menggunakan teknik statistika, matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi dan mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai basisdata besar (Kusrini & Luthfi, 2009). Data mining dibagi menjadi dua fungsi yaitu minor dan mayor, fungsi minor contohnya deskripsi, estimasi dan prediksi sedangkan fungsi mayor contohnya klasifikasi, pengelompokkan dan asosiasi (Susanto & Suryadi, 2010). Membantu proses pencarian informasi dari data, metode data mining yaitu: 1) generalisasi; 2) karakterisasi; 3) klasifikasi; 4) klasterisasi; 5) asosiasi; 6) visualisasi data; 7) evolusi; 8) pengenalan pola; dan 9) meta-ruled guided mining (S. H. Liao, Chu, & Hsiao, 2012), jenis data dalam proses mining berupa: 1) sequence data; 2) sequential data; 3) time series; 4) temporal; 5) spasio-temporal; 6) audio signal; 7) video signal dan jenis data lainnya yang membutuhkan algoritma (metode) tertentu dalam analisis, data stream adalah urutan nilai data tak terbatas (PhridviRaj & GuruRao, 2014), data mining digunakan untuk menangani permasalahan-permasalahan karakteristik: a) data besar; b) tersebar; c) komplek dan dinamis (Wu, Zhu, Wu, & Ding, 2014). fungsi data mining dibagi menjadi 4 (empat) yaitu: a) clustering; b) classification; c) regression; d) association (Amanpreet, Gaurav, & Kumar, 2011). Kesamaan bidang data mining dengan bidang statistik adalah sampling, estimasi, pengujian hipotesis, kesamaan pada bidang kecerdasan buatan adalah pengenalan pola, dan kesamaan dalam bidang machine learning adalah algoritma pencarian, teknik permodelan, dan teori pembelajaran (Prasetyo, 2012). e. Clustering Proses clustering adalah aktifitas membagi data dalam suatu himpunan ke dalam kelompok yang kesamaan datanya dalam suatu kelompok lebih besar daripada kesamaan data tersebut dengan data dalam kelompok lain (Kusrini & Luthfi, 2009). Contoh Clustering ditunjukan pada gambar 2.4. (Prasetyo, 2014) menjelaskan bahwa Clustering banyak diterapkan diberbagai bidang, cluster yang bertujuan untuk pemahaman harus menangkap struktur alami data sedangkan cluster yang bertujuan untuk penggunaan digunakan untuk mencari prototipe cluster yang paling representatif atas data. Gambar 2.4. Ilustrasi Clustering (Riadi et al., 2012) Clustering dapat dibedakan menurut: a) struktur cluster; b) keanggotaan dalam cluster; dan c) kekompakan data dalam cluster. Umumnya metode clustering dibagi menjadi: 1. Clustering berdasarkan struktur a. Hirarki Satu data tunggal dapat dianggap sebuah cluster, dua atau lebih cluster kecil dapat bergabung menjadi sebuah cluster. b. Partisi Membagi set data kedalam sejumlah cluster yang tidak bertumpang tindih antara satu cluster dengan cluster yang lain. 2. Clustering berdasarkan keanggotaan dalam cluster a. Ekslusif Data bisa dipastikan hanya menjadi anggota satu cluster dan tidak menjadi anggota di cluster yang lain. b. tumpang-tindih Data dapat menjadi anggota lebih dari satu cluster. 3. Clustering berdasarkan kekompakan data dalam cluster a. Lengkap Data bisa bergabung menjadi satu cluster (konteks partisi). b. Parsial Data yang tidak ikut bergabung dalam cluster mayoritas. Data yang tidak ikut tergabung dalam cluster mayoritas dikatakan data yang mempunyai perilaku menyimpang. Data yang menyimpang ini dikenal dengan sebutan outlier/noise/anomaly/abnormal atau bahkan uninterested back-ground. Algoritma K-means merupakan metode dalam teknik clustering yang memiliki kesesuaian yang ditinjau berdasarkan struktur cluster, keanggotaan dalam cluster dan kekompakan data dalam cluster (Prasetyo, 2012). f. Algoritma K-means K-means merupakan salah satu metode data clustering non hirarki yang berusaha mempartisi data yang ada ke dalam bentuk satu atau lebih cluster. Metode ini mempartisi ke dalam cluster sehingga data yang memiliki karakteristik yang sama dikelompokkan ke dalam satu cluster yang sama dan yang memiliki karakteristik berbeda dikelompokkan cluster lain (Narwati, 2010). Algoritma ini banyak digunakan untuk clustering berbasis partisi, setiap titik dimasukkan pada titik pusat berdasarkan perhitungan jarak yang ditentukan, algoritma k-mean dalam melakukan clustering akan melakukan perulangan hingga titik pusat tidak berubah (Aggarwal & Reddy, 2014). Algoritma k-means ditunjukan pada gambar 2.5. 1. Inisialisasi: Tentukan nilai K sebagai jumlah cluster yang diinginkan. 2. Pilih K data dari dataset sebagai centroid 3. Alokasikan semua data ke centroid terdekat dengan metrik jarak yang telah ditetapkan. 4. Hitung kembali centroid C berdasarkan data yang mengikuti masing-masing cluster. 5. Ulangi langkah 3 dan 4 hingga kondisi konvergen tercapai (tidak ada data yang berpindah). Gambar 2.5 Algoritma K-Means g. Kedekatan (Density) Clustering umumnya menggunakan menggunakan suatu kuantitas yang disebut kedekatan (density), 2 (dua) jenis kedekatan yaitu kemiripan atau ketidakmiripan. Kedekatan diukur berdasarkan jarak antar data dengan centroidnya. Semakin kecil jarak kedua data kemiripannya semakin besar sebaliknya semakin besar jaraknya semakin kecil kemiripannya (Prasetyo, 2014). h. Jarak Untuk mengukur ketidak-miripan dua data dengan beberapa atribut untuk setiap data digunakan kuantitas jarak (distance). Ada banyak model pengukuran jarak, dan yang paling sering digunakan adalah jarak euclidean. Jarak euclidean memberikan jarak lurus antara 2 (dua) buah data dengan N dimensi. Persamaan jarak yang lain adalah manhattan (city block) dan Minkowski (Prasetyo, 2012). Persamaan jarak euclidean, manhattan dan minkowski ditunjukan pada masing-masing persamaan 2.1; persamaan 2.2; dan persamaan 2.3. Persamaan jarak pada ruang jarak Euclidean N D, y y 2 D x y 2 ......................................................... (2.1) j1 adalah jarak antara data X dan data Y, dan . adalah nilai absolut. N adalah jumlah fitur (dimensi) data. Persamaan jarak pada ruang jarak Manhattan (city block) N D, y y 1 x y .............................................................. (2.2) j1 Persamaan jarak pada ruang jarak Minkowsky D, y y N x j y j ..................................................... (2.3) j1 i. Validasi Cluster Metode unsupervised mengukur tingkat kebagusan struktur cluster tanpa membutuhkan informasi eksternal. Metrik unsupervised pada validitas cluster sering dibagi menjadi 2 (dua) yaitu kohesi (kerapatan/densitas cluster) dan separasi (keterpisahan cluster). metrik unsupervised sering disebut juga sebagai indek internal, hal ini disebabkan karena metrik unsupervised hanya menggunakan informasi apa adanya yang ada dalam dataset, ilustrasi konsep densitas maupun keterpisahan cluster ditunjukan gambar 2.6 (Prasetyo, 2014). Dalam melakukan validasi cluster menggunakan validasi internal khususnya clustering berbasis partisi didasarkan nilai kohesi (kerapatan) dan separasi (keterpisahan), kohesi dalam pengelompokkan berbasis partisi didefinisikan sebagai kedekatan data dengan centroid dan separasi diukur dengan kedekatan 2 (dua) cluster. Separasi Kohesi Gambar 2.6 Kohesi & Separasi Metode dalam melakukan validasi internal dalam cluster berbasis partisi salah satunya Davies-Bouldin Index yang memiliki karakeristik dalam memvalidasi cluster berdasarkan perhitungan kuantitas dan fitur turunan dari dataset. Tahapan validasi internal menggunakan metode Davies-Bouldin Index memiliki 3 (tiga) tahapan pengujian yaitu: - Sum of Square within Cluster (SSW) sebagai metrik kohesi (kerapatan/densitas) Persamaan SSW SSWi 1 mi d ,c .................................................................. j i mi j 1 Keterangan: mi = jumlah data yang berada dalam cluster ke-i; ci = centroid cluster ke-i; suku d (…) = dapat menggunakan persamaan jarak. (2.4) - Sum of Square between Cluster (SSB) sebagai metrik separasi (keterpisahan) SSBi, j d ci c j........................................................................ (2.5) Keterangan: d (ci – cj) = dapat menggunakan persamaan jarak - Ukuran Rasio dalam menilai seberapa baik nilai antar cluster ke-i dan cluster ke-j. SSW SSW Ri, j ij ..................................................................... (2.6) SSBi, j Sifat yang dimiliki Rij adalah sebagai berikut: - Rij 0 - Rij Rji - Jika SSWj SSWr dan SSWij SSWir maka Rij Rir - Jika SSWj SSWr dan SSWij SSWir maka Rij Rir Berdasarkan perhitungan dengan persamaan pada bagian validitas internal, kemudian dilakukan perhitungan DBI (Davies-Bouldin Index) untuk mendapatkan nilai DBI. DBI 1 max Ri, j ....................................................................... K i 1 i j K j. (2.7) Transmission Control Protocol/Internet Protocol (TCP/IP) (Hartono, 2008) menjelaskan karakteristik Transmission Control Protocol/Internet Protocol (TCP/IP), Header pada datagram TCP ditunjukan pada gambar 2.7 dan header pada datagram IP ditunjukan pada gambar 2.8. a. Source Port (16 bit) Source port (port asal) merupakan port yang akan digunakan untuk melakukan koneksi ke host lain. Dari gambar diatas terlihat bahwa source port sebesar 16 bit sehingga total jumlah port adalah 2^16=65536. Source port akan diberikan oleh sistem secara acak dengan nilai diatas 1023. Source port ini digunakan oleh host tujuan untuk membalas paket ke host yang melakukan request, sehingga host tujuan akan memberikan paket balasan ke servis yang tepat - tidak nyasar membalas paket ke service yang lain. Datagram TCP Checksum (16bits) FIN SYN RST PSH RSVD (6Bits) ACK Data Offset (4Bits) URG Source Port (16bits) Destination Port (16bits) Sequences Number (32bits) Acknowledgement Number (32bits) Window (16bits) Urgent Pointer 16bits) Option and Padding Gambar 2.7. Datagram TCP (Hartono, 2008) b. Destination Port (16 bit) Destination port (port tujuan) merupakan port yang akan dituju dalam sebuah koneksi, destination port terkait dengan servis apa yang tersedia di host tujuan. Port-port servis/layanan standar yang dalam komunikasi menggunakan protokol TCP/IP di dalam TCP header didefinisikan sebagai destination port, seperti FTP pada port 21, SSH pada port 22, telnet pada port 23, HTTP pada port 80 (RFC 1700). Jika sebuah host terdapat FTP server misalnya, maka berarti port 21 (sebagai destination port) pada host tersebut terbuka dan siap melakukan koneksi. c. Sequence Number (32 bit) Sequence number merupakan nomor urut paket dari seluruh paket data. Ketika paket dikirimkan, maka setiap paket yang dikirim akan mendapat nomor urut. Paket data bisa saja sampai di tujuan dalam keadaan tidak berurut tergantung rute yang ditempuh dan kepadatan traffic-nya, ketika sampai di host tujuan, paket data akan diurutkan kembali sehingga paket data dapat disusun kembali sehingga akan dihasilkan data seperti yang dikirimkan oleh host pengirim. d. Acknowlegment Number (32 bit) TCP merupakan protokol yang connection oriented yang berarti bahwa TCP menjamin bahwa paket data sampai host tujuan dengan baik. Host asal tidak akan mengirimkan paket data ke host tujuan jika host asal belum menerima konfirmasi dari host tujuan bahwasanya nomor urut paket ke-n dari host asal silahkan dikirim ke host tujuan. Nomor urut paket ke-n yang dipersilahkan dikirim itulah yang disebut dengan ackownlegment number. e. Data Offset (4 bit) Header ini digunakan untuk menunjukkan awal field data, data offset berupa jumlah 32 bit word dari header TCP. f. Reserved (6 bit) Header cadangan. Header ini diset 0 pada host pengirim dan diabaikan oleh penerima. g. Control Bit – URG (1 bit) Jika kode ini diset (bernilai 1) akan mengindikasikan sebagai data urgent yakni didahulukan dari data atau transmisi yang lain, sebagai contoh kondisi urgent ketika kita sedang proses download dengan FTP tetapi kita ingin membatalkannya dengan CTRL+C. h. Control Bit – ACK (1 bit) Jika kode ini diset akan mengindikasikan bahwa paket data yang akan boleh dikirimkan, nomor paket yang boleh dikimkan ini didefinisikan dalam header Acknowlegment Number. i. Control Bit- PSH(1 bit) Jika kode ini diset akan mengubah mode tranmisi dengan mode push yaitu memflush data pada layer TCP, contoh mode push yaitu pada aplikasi telnet yang merupakan aplikasi interaktif. j. Control Bit- RST (1 bit) Kode ini digunakan jika koneksi akan direset yaitu membatalkan secara tiba-tiba, hal ini terjadi karena error dalam koneksi atau oleh interupsi yang lain. k. Control Bit- SYN (1 bit) Kode ini digunakan jika akan memulai sebuah koneksi TCP (persiapan transmisi data pada TCP/IP) yaitu untuk mensinkronisasi sequence number. l. Control Bit- FYN (1 bit) Code ini diset jika seluruh data sudah terkirim dan session transmisi akan disudahi. m. Window (16 bit) Header ini menunjukkan jumlah blok data yang mampu diterima dalam satu kali transmisi, hal ini diperlukan agar semua data dapat di terima dengan sebaik-baiknya. n. Checksum (16 bit) Header ini digunakan untuk mengetahui apakah terjadi perubahan header dan data yang dikirimkan ketika proses transmisi. o. Urgent Pointer (16 bit) Header ini bermakna hanya jika URG pada Control Bit diset. Urgent Pointer menunjukkan lokasi data yang akan ditransmisikan dengan mode urgent. p. Option Saat ini header ini terdapat 3 fungsi, yaitu untuk menunjukkan: 1) End of option list; b) No operation; dan c) Maximum segment size. q. Padding Digunakan untuk memenuhi panjang header merupakan kelipatan 32 bit. Jika terdapat header yang kurang, maka padding ditambahkan sampai berjumlah 32 bit. Datagram IP Version Length Service Type Packet Length Identification DF MF Frag Offset TTL Transport Header Checksum Sending Address Destination Address Options Padding Gambar 2.8. Datagram IP (Hartono, 2008) a. IHL (4 bit) Header ini mendefinisikan panjang header IP dalam 32 bit word. Nilai minimum yang valid adalah 5 dan maksimumnya 6. b. Type of Service (8 bit) Merupakan header yang menentukan bagaimanan proses transmisi datagram secara benar. c. Packet Length (16 bit) Header yang mendefinisikan total panjang header dan data pada IP. d. Identification (16 bit) Header ini untuk mendukung fasilitas fragmentasi. e. DF (1 bit) Header ini untuk mendifinisikan agar transmisi tidak difragmentasi (Don’t Fragment). f. DM (1 bit) Header ini untuk mendifinisikan bahwa ada paket yang difragmentasi pada paket-paket berikutnya (More Fragment). g. Fragment Offset (13 bit) Header ini mendefinisikan lokasi dari paket-paket yang mengalami fragmentasi dalam urutan keseluruhan paket. h. TTL (16 bit) Time to Live merupakan header yang mendefiniskan umur paket data, TTL akan berkurang 1 jika melewati sebuah router, demikian seterusnya sampai paket sampai ke host tujuan. Dengan mekanisme ini, dapat diantisipasi dimana paket bergentayangan terus di internet sehingga banyak terdapat paket sampah di internet jika ternyata host tujuan tidak ditemukan. Jika TTL telah habis (bernilai 0) sedangkan paket data belum sampai ke host tujuan, maka paket data akan dibuang. i. Transport (8 Bit) Header ini mendefiniskan protokol pada layer transport yang digunakan, header ini bisa berupa TCP atau UDP. j. Header Checksum (32 Bit) Header ini digunakan untuk mengecek apakah terjadi perubahan/kerusakan pada header IP. Header Checksum dikalkulasi pada tiap router. k. Sending Address (32 Bit) Sending Address atau Source Address merupakan header yang mendefinisikan IP address dari host asal. l. Destionation Address (32 Bit) Destination Address merupakan header yang mendefinisikan IP address dari host tujuan. m. Option (32 Bit) Header ini digunakan untuk mendefinisikan informasi tambahan pada layer transport seperti source routing. n. Padding (32 Bit) Header ini sama dengan padding pada TCP, yaitu digunakan untuk memenuhi panjang header sehingga merupakan kelipatan 32 bit. Jika terdapat header yang kurang, maka padding ditambahkan sampai berjumlah 32 bit. k. Proses Komunikasi Three-way Handshake pada Protokol TCP/IP Dalam TCP/IP, sebelum data dikirimkan selalu melalui tahapan persiapan transmisi. Prose three-way handshake ditunjukan gambar 2.9. setiap transmisi TCP/IP diawali dengan 3 (tiga) langkah: a) host pengirim mengirimkan paket SYN; b) Penerima merespon dengan mengirimkan paket SYN dan ACK; dan c) Pengirim membalas ACK yang berarti transmisi data siap dilakukan. Gambar 2.9. Tree-way Handshake sebelum transmisi dilakukan (Hartono, 2008) Pengamatan lebih detail header-header TCP/IP pada proses transmisi diperlukan software tambahan. Salah satu software yang dapat dimanfaatkan adalah tcpdump. luaran tcpdump ditunjukan oleh gambar 2.10, pengamatan pada telnet (10.1.3.2) dengan tcpdump akan menghasilkan luaran sebagai berikut: Berdasarkan hasil tampilan luaran tcpdump diatas, maksud dari baris luaran tcpdump tersebut adalah sebagai berikut (Hartono, 2008): Gambar 2.10. Luaran tcpdump (Hartono, 2008) 1. Baris 1, pada pukul 02:07:01: timestamp 031065 2. Client (10.1.3.1) melakukan koneksi ke Server (10.1.3.2) dengan port asal 1028 dengan servis tujuan berupa telnet. S menandakan SYN pada control/code bit diaktifkan yang menandakan sebuah koneksi TCP/IP akan segera dilakukan dengan sequence number awal 748156130 dan sequence number akhir 748156130. Dari sini terlihat bahwa sequence number awal sama dengan akhir sehingga tidak ada data yang dikirimkan (0). 3. Baris 2, pada pukul 02:07:01 timestamp 031531 Server dengan servis telnet-nya merespon koneksi dari Client. Server membalas dengan mengirimkan kode bit SYN dan ACK dengan sequence number awal 71956433 dan akhir 71956433, lagi-lagi tidak ada data yang dikirimkan. Selain itu Server juga mengirimkkan ACK 748156131 yaitu sequence number SYN dari Client ditambah 1. 4. Baris 3, pada pukul 02:07:01 timestamp 038584 Client mengirim kode ACK 1. 1 merupakan angka relatif setelah persiapan koneksi selesai. ACK 1 berarti Client mengkonfirmasikan bahwa paket data no 1 dari Server siap diterima oleh Client (10.1.3.1). 5. Baris 4, pada pukul 02:07:01 timestamp 155457 Server mengirimkan 12 paket (sequence awal 1 dan sequence akhir 13), dengan mode PUSH. Selain mengirimkan data, Server juga mengirimkan sinyal ACK 1 yang berarti Server siap untuk menerima paket data ke 1 dari Client. 6. Baris 5, pada pukul 02:07:01 timestamp 159498 Client mengirim 6 buah paket (sequence awal 1 dan sequence akhir 7), selain itu Client memberitahu kepada Server bahwa Client sudah siap menerima paket ke13 (sebelumnya Client sudah menerima 12 paket). Demikian seterusnya sampai akhir transmisi, yakni dengan adanya sinyal FIN. 3 (tiga) baris pertama selalu dilakukan pada tiap transmisi TCP/IP. tcpdump memiliki beberapa pilihan parameter perintah untuk membantu proses penangkapan lalu lintas data (Riadi, 2014), yaitu: a. –i: berfungsi untuk menangkap paket dari interface ethernet tertentu. (ethernet). b. –tttt: berfiungsi untuk menangkap paket dan menampilkan default waktu (timestamp). c. –n: berfungsi untuk menangkap paket dan menampilkan dalam format IP address. d. –q: berfungsi untuk menangkap dan menampilkan informasi protokol. e. –e: berfungsi untuk menangkap paket dan menampilkan header paket. l. Klasifikasi Serangan dalam Jaringan Komputer Klasifikasi serangan ditunjukan pada tabel 2.3. pengklasifikasian tersebut ditujukan agar memudahkan dalam mengenali serangan pada jaringan komputer. m. Tabel 2.3. Klasifikasi Serangan dalam Jaringan Komputer (Riadi, 2014) Jenis Kejahatan Kategori Serangan Apache2, ARPoison, Dosnuke, Mematikan Denial of Service Land, Mailbomb, Neptune, (Bahaya) (DoS) Selfping, Smurf,Syslog, TCPreset, Teardrop, UDPStorm Password Guessing, FTPWrite, R2L HTTPtunnel, IMAP, Named, Pemalsuan (Remote to Local) NCftp, Netbus, Netcat,Ppmacro, Sendmail,SSHtrojan Illegalsniffer,Ipsweep, Mscan, Penyadapan Probe Queso, Resetscan, Satan Deteksi dengan IP Header Bagian pertama, pemantauan dan analisis paket aliran normal dalam jaringan. Analisis semua paket header dan periksa pada setiap paket bila ada ancaman. Kriteria perilaku paket normal yang sedang dianalisis berdasarkan ketentuan protokol dan header-nya. Setiap protokol memiliki header dan fungsi sesuai dengan protokol TCP/IP. Ada 5 (lima) bagian utama yang penting untuk mendeteksi ancaman yaitu: a) Internet Protocol Version 4 (IPv4); b) panjang IP header harus sama atau di atas dari 20 byte dan sama atau di bawah dari 60 byte; c) ToS bernilai 0 (nol) untuk paket normal; d) alamat IP bukan alamat palsu; dan e) Periksa TCP three-way handshake. Bagian kedua menganalisis paket yang telah diserang oleh TCP SYN Flooding, TCP berdasarkan header dan TCP Flag (Harris, Al-Saadoon, Ahmad, & Ghani, 2011). gambar 2.11. menunjukan panjang IP Header. Gambar 2.11 IP Header (Harris et al., 2011) n. Deteksi Jaringan Abnormal Deteksi jaringan abnormal dapat membedakan antara pola normal maupun pola abnormal (Chandola, Banerjee, & Kumar, 2012), sifat dinamis deteksi jaringan abnormal disebabkan karena kemampuannya dalam mengenal serangan yang belum diketahui jenisnya pada berbagai tingkat (Modi et al., 2013), teknik clustering adalah satu diantara berbagai teknik dalam mendeteksi pola abnormal umumnya digunakan pada lingkungan offline sebagai cara untuk menentukan adanya serangan (Bhuyan, Bhattacharyya, & Kalita, 2013), deteksi jaringan abnormal mampu mengklasifikasikan serangan baik statis maupun dinamis (Xiaonan & Wolfgang, 2010), fungsi daripada deteksi jaringan abnormal untuk mengenali pola yang memiliki perilaku tidak wajar dalam berbagai situasi (Prasad, Mohan, & Jyothsna, 2012). Meskipun tidak ada jaminan penggunaan deteksi jaringan abnormal akan memberikan informasi yang diharapkan (Phua, Lee, Smith, & Gayler, 2010).