BAB II LANDASAN TEORI Bab ini akan menjelaskan

advertisement
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)
j1
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)
j1
Persamaan jarak pada ruang jarak Minkowsky
D, y   y
N
  x j y j

.....................................................
(2.3)
j1
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).
Download