5
BAB II
KAJIAN TEORI
2.1 Kemanan Jaringan
Komputer yang telah terhubung ke sebuah jaringan mempunyai ancaman
kemanan yang lebih besar dibanding dengan komputer yang tidak terhubung
kemana-mana. Tetapi biasanya keamanan jaringan akan bertentangan dengan akses
internet, di mana bila akses internet semakin mudah, maka keamanan jaringan
semakin bahaya [7]. Suatu jaringan dirancang sebagai komunikasi data yang
memiliki tujuan untuk meningkatkan akses menuju sistem komputer, sementara
keamanan dirancang untuk mengontrol akses tersebut. Keamanan jaringan
merupakan perwujudan untuk aksi penyeimbang antara open access dengan
security.
2.1.1 Jenis serangan
Teknik dan jenis serangan yang dapat mengganggu jaringan pada komputer
banyak macamnya. Tetapi secara garis besar serangan-serangan tersebut adalah
sebagai berikut [8]:
a. Port Scanning
Proses untuk memindai dan mencari port pada suatu jaringan
komputer. Dari hasil pemindaian tersebut akan didapatkan informasi
tentang kelemahan sistem tersebut dan port yang terbuka. Sistem port
scanning pada dasarnya dapat dengan mudah dideteksi, tetapi penyerang
akan menggunakan metode untuk menyembunyikan serangan tersebut.
Sebagai contohnya adalah banyak jaringan yang tidak membuat log
pada file koneksi, dengan begitu dapat dimanfaatkan penyerang untuk
mengirimkan initial packet dengan suatu SYN tetapi tidak memiliki
ACK dan akan mendapatkan feedback kembali selain SYN jika suatu
port terbuka dan kemudian akan berhenti pada port tersebut. Metode
tersebut sering dikenal dengan SYN Scan atau atau half open scan.
b. Teardrop
Terkadang dalam jaringan internet data harus dipecah-pecah atau
dipotong kecil-kecil untuk menjamin reliabilitas dan proses multiple
6
akses jaringan. Normalnya pada pemrosesan data paket, setiap potongan
telah diberi informasi offset yang mengindikasikan nomor keberapa
paket tersebut dari seluruh jumlah paket yang dikirimkan. Teknik
teardrop akan memanipulasi offset potongan paket sehingga akan terjadi
overlapping antar paket yang diterima pada bagian penerima setelah
potongan tersebut disatukan kembali. Overlapping tersebut dapat
menimbulkan hang, crash bahkan sistem reboot.
c. IP Spoofing
Teknik ini memiliki fungsi utama yaitu memanipulasi paket IP
sehingga seolah yang melakukannya adalah komputer yang lain. Dalam
teknik ini komputer yang memanfaatkan IP Spoofing telah mengubah
identitas asli dari source yang bertujuan untuk mengelabuhi. Sebuah
host akan memalsukan diri yang seolah-olah menjadi host lain dan
membuat paket palsu setelah mengetahui urutan paket dari host yang
akan diserang. Bahkan dengan melihat proses pengurutan nomor paket
bisa dikenali sistem yang digunakan.
2.1.2 Tujuan Kemanan Jaringan
Pada kemanan jaringan memiliki beberapa tujuan dasar yaitu sebagai
berikut [9]:
a. Integrity
Keutuhan dan keaslian pesan yang telah dikirim pada suatu jaringan
dan bisa dipastikan tidak ada modifikasi pada pesan tersebut oleh orang
yang tidak mempunyai hak dalam informasi tersebut.
b. Confidentiality
Merupakan upaya untuk menjaga suatu informasi dari orang yang
tidak memiliki wewenang dan hak untuk mengakses informasi tersebut.
c. Availability
Ketersediaan hubungan dengan informasi ketika dibutuhkan. Suatu
sistem informasi yang telah dirusak atau diserang dapat mengahambat
bahkan menghilangkan akses menuju informasi tersebut.
7
2.2 Intrusion Detection System
Suatu tool, metode, sumber daya yang memberikan layanan untuk
melakukan identifikasi dan membagikan laporan terhadap aktivitas pada jaringan
komputer merupakan definisi dari Intrusion Detection Sytem (IDS) [8]. Serangan
yang terjadi pada suatu jaringan komputer akan selalu meningkat pada prasarana
keamanan perusahaan dan organisasi yang menggunakan alat bantu yaitu komputer
untuk menyelesaikan suatu pekerjaan. IDS bekerja pada lapisan dari OSI Model
yang dapat dilihat pada tabel dibawah ini. Hal tersebut untuk dapat menganalisis
paket untuk menemukan pola pada traffic jaringan. Pola dari traffic jaringan
tersebut akan disimpan menjadi file log.
Tabel 2.1 Tabel OSI Model
Layer Fungsi Protokol
Physical Mentranmisikan bit
stram pada kabel fisikal
atau memiliki pengertian
lain sebagai card, kabel
dan aspek fisik lainnya
IEEE 802, IEEE
802.2, ISO 2110,
ISDN
Data Link Sebagai pengubah dari
paket ke bentuk bit yang
telah dikirim dan akan
menerima bit dari data
dan diubah lagi ke bentuk
asalnya.
Token-Ring,
FDDI
Network Penerjemah alamat logic
menjadi alamat fisik dan
memiliki tanggung jawab
atas pengaturan pada
jaringan seperti paket
switching dan routing
IP, ICMP, RIP,
IGMP
Transport Mengatur pengendalian
arus dari antar paket pada
TCP, UDP
8
satu jaringan ke jaringan
lainnya
Session Mempunyai tugas untuk
koordinasi komunikasi
antar sistem
NETBIOS, RPC
Presentation Penerjemah antara
aplikasi dan format
jaringan
SMTP,SNMP,
Telnet, TFTP
Application Digunakan untuk
pelayanan yang
mendukung aplikasi dari
pengguna
FTP, DNS,
DHCP, SMB,
HTTP
2.2.1 Kegunaan Intrusion Detection System
Beberapa kegunaan dasar pada IDS yang dapat menyokong keamanan pada
suatu jaringan , yaitu:
a. Untuk mendeteksi ancaman atau serangan dan pelanggaran kemanan
terhadap sistem jaringan yang tidak dapat dicegah oleh bagian
keamanan sistem lainnya yang umum digunakan, seperti firewall.
b. Serangan awal dapat dideteksi dengan IDS. Intruder atau penyerang
seringkali saat akan menyerang suatu sistem akan melakukan beberapa
langkah awal yang dapat mudah diketahui. Langkah awal tersebut pada
umumnya adalah dengan penyelidikan atau mencari celah-celah dari
sistem tersebut.
c. IDS dapat memonitor aktifitas yang mencurigakan pada suatu traffic
jaringan sehingga administrator dapat mengetahui atau melakukan
pencegahan atas kemungkinan yang terjadi saat serangan
2.2.2 Tipe Intrusion Detection System
Terdapat dua macam dasar pada IDS, yaitu:
a. Netwok-Based
IDS tipe ini merupakan suatu yang mempuyai tujuan khusus untuk
mengawasi semua bagian dan segmen pada sistem jaringan. Pada
9
Network-Based, IDS akan akan mengumpulkan semua paket data yang
ada dan dilakukan analisa yang kemudian akan ditentukan apakah paket
itu normal atau terdapat indikasi serangan dan aktivitas yang
mencurigakan.
b. Host-Based
Bekerja pada host yang akan dilindungi merupakan tugas utama
pada IDS bertipe Host-Based. Keutamaan dari IDS Host-Based untuk
menjaga kemanan yang berhubungan dengan kemanan file. Contohnya
adalah ada atau tidaknya file yang telah dimodifikasi dan upaya untuk
mendapatkan akses ke file yang sensitif.
2.3 Snort
Perangkat lunak atau aplikasi untuk mendeteksi serangan dan mampu
melakukan analisa paket yang terdapat pada traffic jaringan secara real-time dan
melakukkan logging merupakan pengertian dari Snort. Aplikasi tersebut bisa
didapatkan secara gratis di www.snort.org. Beberapa sistem operasi yang dapat
meggunakan Snort adalah Linux, BSD, Solaris, Windows. Dalam penggunaanya,
Snort sangat pandai membentuk pengumpulan log paket dan analisis trafik secara
real-time. Snort akan logging pada paket yang dikenali sebagai intrusi saat
terdeteksi adanya intrusi pada sistem jaringan [8]
2.3.1 Mode pada Snort
Snort adalah aplikasi single-thread, dimana ini dapat dikonfigurasikan
untuk digunakan dalam 4 mode [2] :
a. Packet Sniffer Mode
Pada mode ini, Packet Sniffer Mode dapat dengan mudah membaca
paket dari jaringan dan menampilkannya. Paket-paket dalam trafik jaringan
akan di capture secara terus menerus. Mode ini sama halnya dengan
TCPdump yaitu untuk mengumpulkan dan mencatat paket-paket yang
melewati sistem jaringan.
b. Packet logger mode
Pada mode ini, setiap paket akan menjadi log yang telah dicatat oleh
Snort. Paket log ini akan disimpan pada direktori Snort dimana paket ini
10
dapat dilihat ataupun dianalis dengan Snort atau TCPdump. File yang baru
akan terus menerus dibuat oleh Snort setiap adanya trafik pada sistem
jaringan sesuai dengan waktu terjadinya serangan
c. Detection Modea
Jika paket masuk pada sistem jaringan, Snort akan menganalisa tiap
paket tersebut dan akan dibandingkan dengan rule yang telah dibuat
sebelumnya. Setelah dibandingkan paket tersebut cocok dengan rule dan
mengandung serangan maka snort akan memunculkan alert.
d. Inline Mode
Snort akan mendapatkan rule dan paket dari IPtable bukan pada library
snort. Mode ini menggunakan aturan dari IPtable untuk memberikan ijin
untuk membolehkan atau menolak paket tersebut. Pada mode ini Snort
selain untuk medeteksi serangan juga dapat berfungsi untuk mencegah
serangan.
2.3.2 Komponen Snort
Snort memiliki beberapa komponen yang merupakan bagian yang bekerja
sebagai IDS. Komponen snort meliputi :
a. Decoder
Paket data yang melewati dalam jaringan akan diambil oleh Snort
kemudian paket data tersebut akan diambil alih oleh decode engine dan
akan dipecah yang bertujuan mendapatkan informasi yang lebih detail.
Sesuai dengan paket yang didapatkan dalam bentuk strukturnya dan
melakukan identifikasi protokol, decode pada IP, dan melihat apakah TCP
atau UDP.
b. Preprocessor
Suatu filterisasi yang mengidentifikasikan berbagai hal yang wajib
diperiksa seperti Detection Engine. Tugas utama dari preprocessor adalah
menangkap paket yang memiliki potensi membahayakan yang kemudian
akan dikirim ke detection engine untuk selanjutnya dikenali polanya.
11
c. Detection Engine
Komponen yang sangat penting karena Detection Engine memiliki
tugas untuk mendeteksi suatu paket tersebut merupakan sebuah serangan
atau bukan. Komponen ini sebelumnya telah mengambil informasi dari
decoder dan preprocessor yang kemudian akan dicocokkan dengan aturan
yang sudah ditetapkan.
Pada dasarnya komponen ini berjalan dengan metode signature-
based yaitu harus melakukan konfigurasi terhadap aturan-aturan yang akan
digunakan. Aturan ini digunakan untuk mencocokkan serangan yang
terdeteksi maka detection engine akan mendapatkan sebuah informasi
yang mana informasi tersebut akan dikirim ke system logging dan alert.
d. Output Modules (Alert dan Log)
Saat detection engine mendeteksi adanya serangan maka akan
memunculkan sebuah alert yang akan ditampilkan sehingga pengguna dapat
mengetahui saat ada serangan. Setelah memunculkan alert maka paket yang
berupa serangan tersebut akan dicatat dalam sebuah file log. Direktori
default dari log tersebut adalah /var/log/snort.
2.4 K-Means
K-Means adalah algoritma pengelompokan yang umum dan banyak
digunakan di berbagai macam bidang karena sederhana, mudah diterapkan,
memiliki kemampuan mengelompokkan data yang memiliki ukuran besar [10].
Pengelompokkan pada K-Means mengarah pada pemartisian N objek terhadap K
kelompok (cluster).
Metode K-Means melakukan pengelompokan secara partioning yang dapat
membagi data ke dalam beberapa kelompok. K-Means mampu mengurangi rata-
rata jarak pada setiap data ke kelompoknya dengan cara partisi secara iterasi. K-
Means adalah salah satu metode non-hirarki pengelompokkan data yang akan
mempartisi beberapa data menjadi beberapa kelompok. Metode ini akan mempartisi
data ke beberapa kelompok berdasarkan kemiripan data tersebut dan akan
mengurangi variasi data.
12
Hasil pengelompokan pada algoritma K-Means bergantung pada nilai titik
awal pusat yang ditetapkan. Perbedaan pemberian nilai awal dapat menghasilkan
kelompok yang berbeda. Menentukan titik awal dengan mengambil sampel awal
objek, kemudian mencari nilai titik centroidnya atau titik pusatnya, memberikan
nilai awal secara acak, menentukan nilai centroid awal atau menggunakan hasil dari
pengelompokkan dengan jumlaha kelompoka yang sesuai.
Metode pengelompokan pada K-Means secara umum dilakukan dengan
algortima seperti :
1. Menentukan jumlah kelompok (cluster)
2. Menentukan titak awal pusat (centroid)
3. Tiap data akan dihitung jaraknya dengan tiap centroid
4. Mengalokasikan data ke centroid terdekat dan hitung rata-rata centroid
5. Kembali ke langkah 3 hingga tidak ada data yang berpindah
Untuk perhitungan jarak menggunakan rumus Euclidean distance. Karena
Euclidean merupakan perhitungan untuk mengetahui jarak terpendek yang bisa
didapatkan antara dua titik yang diperhitungkan. Rumus perhitungan Euclidean
Distance sebagai berikut :
𝐷(𝑥2, 𝑥1) = √∑ (𝑥2𝑗 − 𝑥1𝑗)2𝑝
𝑗=1…………..(2.1)
D : Jarak Euclidean
𝑥1 : Titik objek 1
𝑥2 : Titik objek 2
P : Banyaknya Data
2.4.1 Pengujian Performa K-Means
Pada metode K-Means, penglompokkan data dilakukan dengan
mengelompokkan atribut data ke dalam beberapa cluster berdasarkan kemiripan
dari data tersebut. Sum of Square Error dapat digunakan untuk melakukan
pengujian dari K-Means untuk melihat error jarak data ke centroid. Jika semakin
kecil nilai SSE maka semakin bagus hasil clustering yang dibuat. Berikut
merupakan rumus untuk menghitung SSE [11]:
13
𝑆𝑆𝐸 = ∑ ∑ 𝑑(𝑝,𝑚𝑖)2
𝑝∊𝐶𝑖𝑘𝑘=1 …………..(2.2)
Dimana 𝑝 ∊ 𝐶𝑖 adalah tiap data poin pada cluster i; 𝑚𝑖 adalah centroid dari
cluster i; d adalah jarak terdekat pada masing-masing cluster i.
2.5 Telegram Messenger
Salah satu aplikasi fitur obrolan yang realtime adalah Telegram. Aplikasi
ini memiliki kinerja yang baik pada kecepatan dan keamanan. Telegram dapat di
sinkronisasi pada semua perangkat komputer termasuk perangkat mobile [12].
Untuk memberikan kemudahan akses bagi para pengguna, Telegram tersedia pada
perangkat mobile dan desktop. Perangkat desktop yang dapat digunakan di Linux,
Windows, Mac OS sedangkan pada perangkat mobile dapat digunakan pada
Android, Iphone dan Windows Phone. Aplikasi ini juga mampu mengirim data pada
suatu Grup yang memiliki 5000 anggota dan mampu menangani semua jenis file
yang dapat dibaca oleh perangkat seluler atau komputer.
Seperti layaknya telepon bisa, Telegram dapat membaca dan menulis daftar
kontak. Untuk membuat akun Telegram maka dibutuhkannya nomor telepon untuk
akses utama Telegram merupakan aplikasi messenger yang berbasis Cloud dan
mudah untuk disinkronkan sehingga pengguna dapat mengakses pesan dari
berbagai perangkat seperti smartphone dan komputer dengan jumlah ukuran hingga
1,5 GB per akun untuk file foto, video, dan tipe file seperti doc, zip, mp3 dan
lainnya. Dengan sistem cloud, Telegram tidak hanya sebagai fitur obrolan saja
tetapi juga dapat menjadi alat penyimpanan file.
2.5.1 Telegram Bot
Bot berasal dari “ro-bot”, Bot merupakan istilah umum yang digunakan
untuk mendeskripsikan script atau set-script yang telah ditetapkan secara mode
otomatis [13]. Telegram menyediakan media bagi para pengembang yang
berkeinginan untuk memanfaatkan Application Programming Interface (API) yang
disediakan oleh Telegram melalui Telegram Bot. Bot pada Telegram adalah akun
khusus yang tidak menggunakan nomor telepon tambahan tetapi menanggapi pesan
secara otomatis.
14
API ini memungkinkan siapa saja dapat membuat Bot tanpa batas. Pada
penggunaanya hanya membutuhkan token untuk mengakes Telegram Bot. Token
tersebut bisa didapatkan saat melakukan pendaftaran Bot, dan untuk melakukan
pendaftaran Bot maka terlebih dahulu harus mempunyai akun Telegram. Telegram
Bot API menyedeiakan method dalam pengunaan pengiriman pesan seperti [14] :
a. sendMessage
b. forwardMessage
c. sendPhoto
d. sendAudio
e. sendDocument
f. sendSticker
g. sendVideo
h. sendLocation
i. sendContact
j. getFile
k. kickChatMember
l. leaveChat
Setiap method tersebut harus mempunyai parameter chat_id yang
mendefinisikan ID (identitas) dari sasaran obrolan. Method tersebut dapat
dimanfaatkan sesuai dengan kebutuhuan pengembangan. Bot Telegram juga tidak
terbatas Bahasa pemrograman. Hampir semua Bahasa pemrograman dapat
digunakan untuk pengembangan Bot Telegram.
2.6 Penelitian Terdahulu
Dalam melakukan penilitian ini, penulis tidak lepas dari penelitian terdahulu
sehingga penulis dapat memperkaya teori untuk kajian literasi penelitian yang
dilakukan penulis. Penulis menjadikan penelitia terdahulu sebagai refrensi dan
literasi penulis untuk memperkaya bahan kajian terkait peelitian penulis
Berikut adalah artikel dari penelitian terdahulu yang dijadikan refrensi
penulis dalam melakukan penelitian ini:
15
Tabel 2.2 Penelitian Terdahulu
Nama
Penulis
Judul Penelitian Snort
…
K-
Means
..
Notifika
si Alert
Keterangan
Miftahul
Jannah,
Hustinawa
ti, Rangga
Wildani
(2009)
IMPLEMENTASI
INTRUSION
DETECTION
SYSTEM (IDS)
SNORT PADA
aLABORATORIU
M JARINGAN
KOMPUTER
aLEPKOM
aUNIVERSITAS
GUNADARMA
[15]
√ Mengimplementasi
kan Snort sebagai
Intusion Detection
System
Teguh
Wahyudi,
Rissal
Efendi
(2015)
PERANCANGAN
KEAMANAN
aJARINGAN
KOMPUTER
aMENGGUNAKA
N SNORT
DENGAN
NOTIFIKASI
SMSa [4]
√ √ Notifikasi Alert
Snort dikirimkan
melalui SMS
Gateway
Fitriyanti
A.Masse,
Andi
Nurul
Hidayat,
Badrianto
(2015)
PENERAPAaN
NETWORK
INTRUSION
aDETECTION
SYSTEM
MENGGUNAKA
N SNORT
√ Menerapkan Snort
dengan
memanfaatkan
MySql untuk
menyimpan log
alert
16
BERBASIS
DATABASE
aMYSQL PADA
HOTSPOT KOTA
[16]
Sahid Aris
Budiman,
Catur
Iswahyudi
,
Muhamma
d Sholeh
(2014)
IMPLEMENTASI
INTRUSION
aDETECTION
SYSTEM (IDS)
MENGGUNAKA
Na JEJARING
aSOSIAL
SEBAGAI
MEDIA
NOTIFIKASI [17]
√ √ Notifikasi Alert
Snort dikirim ke
Twitter, Facebook
dan Whatsapp
Napsiah,
Deris
Stiawan,
Ahmad
Heryanto
(2016)
VISUALISASI
SERANGAN
DENIAL OF
aSERVICE
DENGAN
CLUSTERING
MENGGUNAKA
N K-aMEANS
ALGORITHM
[18]
√ √ Algoritma K-
Means digunakan
untuk
mengelompokkan
Serangan DoS dan
kemudian di
visualisasikan
Frando
Christo
Wulur
(2015)
KLASIFIKASI
ALERT PADA
INTRUSION
DETECTION
SYSTEM
MENGGUNAKA
√ √ Metode K-Means
digunakan untuk
melakukan
klasifikasi
serangan yang
tertangkap oleh
Snort berdasarkan
17
N ALGORITMA
K-MEANS [5]
jumlah IP Address
dan Port
Bagus
Alfiansya
h (2018)
PENGELOMPOK
AN NOTIFIKASI
ALERT
INTRUSION
DETECTION
SYSTEM SNORT
PADA BOT
TELEGRAM
MENGGUNAKA
N ALGORITMA
K-MEANS
√ √ √ Algoritma K-
Means digunakan
untuk
mengelompokkan
serangan dan
kemudian serangan
tersebut akan
dikirimkan
Notifikasi melalui
Bot pada Telegram
Pada Tabel 2.2 dapat dilihat perbedaan dari penelitian ini dan penelitan
sebelumnya. Pada penelitian ini akan dilakukan pengiriman Notifikasi Alert Snort
melalui Bot pada Telegram dan menggunakan Algoritma K-Means untuk
pengelompokan alert sebelum dilakukan pengiriman alert. Dimana pada penelitian
sebelumnya Notifikasi yang dikirim tanpa melalui pengelompokan terlebih dahulu
dan melaui media notifikasi SMS Gateway, Twitter, Facebook dan Whatsapp.