BAB 2 LANDASAN TEORI - Library & Knowledge...
Transcript of BAB 2 LANDASAN TEORI - Library & Knowledge...
8
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1. Keamanan Komputer
Menurut G. J. Simons, keamanan informasi adalah bagaimana kita
dapat mencegah penipuan (cheating) atau, paling tidak, mendeteksi
adanya penipuan di sebuah sistem yang berbasis informasi, dimana
informasinya sendiri tidak memiliki arti fisik. Sistem yang berbasis
informasi ini dapat juga termasuk komputer yang kita gunakan sehari –
hari.
2.1.1.1.Aspek dari Keamanan Komputer
Menurut William Stallings (p8) Layanan Keamanan
(security services) dalam mewujudkan keamanan komputer ini
dibagi kedalam lima aspek besar, yaitu access control,
authentication, data confidentiality, data integrity, dan non-
repudiation.
• Access Control
Aspek ini berhubungan dengan cara pengaturan akses
kepada informasi. Hal ini biasanya berhubungan dengan masalah
authentication dan juga privacy. Access control seringkali
dilakukan dengan menggunakan kombinasi pengenal pengguna
9
(user id) atau password atau dengan menggunakan mekanisme
lain.
• Authentication
Aspek ini berhubungan dengan metoda untuk menyatakan
bahwa informasi betul-betul asli atau orang yang mengakses atau
memberikan informasi adalah betul-betul orang yang dimaksud.
Masalah pertama yang muncul disini adalah membuktikan
keaslian dokumen ataupun data yang diberikan, kita dapat
menyelesaikan masalah ini dengan menerapkan teknologi
watermarking dan pengenal digital (digital signature).
Masalah kedua biasanya berhubungan dengan access
control, yaitu berkaitan dengan pembatasan orang yang dapat
mengakses informasi. Untuk menyelesaikan masalah ini pengguna
harus menunjukkan bukti bahwa memang dia adalah pengguna
yang sah, misalnya dengan menggunakan password, biometric
(ciri-ciri khas orang), dan sejenisnya.
• Data Confidentiality
Inti utama aspek data confidentiality atau privacy ini adalah
usaha untuk menjaga informasi dari orang yang tidak berhak
mengaksesnya. Privacy lebih kearah data - data yang sifatnya
pribadi sedangkan data confidentiality biasanya berhubungan
dengan data yang diberikan ke pihak lain untuk keperluan tertentu
(misalnya sebagai bagian dari pendaftaran ke sebuah layanan) dan
10
hanya diperbolehkan untuk keperluan tertentu tersebut. Contoh hal
yang berhubungan dengan privacy adalah surat elektronik (e-mail)
seorang pemakai (user) tidak boleh dibaca oleh administrator.
Sedangkan contoh dari data confidentiality adalah daftar pelanggan
dari sebuah perusahaan penyedia jasa internet (Internet Service
Provider).
Serangan terhadap aspek data confidentiality ataupun
privacy ini misalnya adalah usaha untuk melakukan penyadapan
(dengan program sniffer). Usaha - usaha yang dapat dilakukan
untuk meningkatkan privacy dan data confidentiality adalah
dengan menggunakan teknologi kriptografi.
• Data Integrity
Aspek ini menekankan bahwa informasi tidak boleh diubah
tanpa seijin pemilik informasi. Adanya virus, kuda trojan (trojan
horse), atau pemakai lain yang mengubah informasi tanpa ijin
merupakan contoh masalah yang harus dihadapi atau dapat juga
terjadi sebuah e-mail “ditangkap” (intercept) di tengah jalan,
diubah isinya, kemudian diteruskan ke alamat yang dituju. Dengan
kata lain, integritas dari informasi sudah tidak terjaga.
Penggunaan enkripsi dan digital signature, misalnya, dapat
mengatasi masalah ini.
11
• Non-repudiation
Aspek ini menjaga agar seseorang tidak dapat menyangkal
telah melakukan sebuah transaksi. Sebagai contoh, seseorang yang
mengirimkan e-mail untuk memesan barang tidak dapat
menyangkal bahwa dia telah mengirimkan e-mail tersebut. Aspek
ini sangat penting dalam hal perdagangan elektronik (electronic
commerce).
2.1.1.2.Klasifikasi Keamanan Komputer
Dapat digolongkan kepada yang sangat berbahaya sampai
ke yang hanya mengesalkan (annoying). Menurut David Icove [13]
berdasarkan lubang keamanan (security hole), keamanan dapat
diklasifikasikan menjadi empat, yaitu:
• Keamanan yang Bersifat Fisik
Termasuk akses orang ke gedung, peralatan, dan media
yang digunakan. Beberapa bekas penjahat komputer (crackers)
mengatakan bahwa mereka sering pergi ke tempat sampah untuk
mencari berkas - berkas yang mungkin memiliki informasi tentang
keamanan. Wiretapping (penyadapan kabel telepon) atau hal-hal
yang berhubungan dengan akses kabel antara jaringan atau
komputer yang digunakan dalam jaringan juga dapat dimasukkan
ke dalam kelas ini.
12
• Keamanan yang Berhubungan dengan Orang
Termasuk identifikasi dan profil resiko dari orang yang
mempunyai akses (karyawan). Ada sebuah teknik yang dikenal
dengan istilah “social engineering” yang sering digunakan oleh
kriminal untuk berpura-pura sebagai orang yang berhak mengakses
informasi.
• Keamanan dari Data dan Media serta Teknik
Komunikasi
Yang termasuk di dalam kelas ini adalah kelemahan dalam
perangkat lunak yang digunakan untuk mengelola data. Seorang
kriminal dapat memasang virus atau trojan horse dalam jaringan
sehingga dapat mengumpulkan informasi (seperti password) yang
semestinya tidak berhak diakses.
• Keamanan dalam Operasi
Termasuk prosedur yang digunakan untuk mengatur dan
mengelola sistem keamanan seperti pengaturan firewall yang
kurang sesuai bahkan tidak menggunakan firewall sebagai
penghalang akses keluar masuk data ke dan dari jaringan luar, dan
juga termasuk prosedur setelah serangan (post attack recovery).
2.1.2. Serangan Terhadap Keamanan Komputer
Menurut William Stallings (p7) juga, serangan (attack) adalah
sebuah pengrusakan dari keamanan suatu sistem yang diperoleh dari
ancaman cerdas. Oleh karena itu, sebuah tindakan cerdas yang disengaja
13
harus dilakukan untuk menghindarkan terjadinya kerusakan pada
pelayanan keamanan dan kebijakannya terhadap suatu sistem. Serangan
(attack) ini merupakan realisasi dari Ancaman (threat).
Serangan keamanan (Security attack), atau serangan terhadap
keamanan sistem informasi, dapat dilihat dari sudut peranan komputer
atau jaringan komputer yang fungsinya adalah sebagai penyedia informasi.
Masih berdasarkan teori W. Stallings [27] ada beberapa kemungkinan
serangan (attack), yaitu gangguan (interruption), pemalsuan (fabrication),
modifikasi (modification), dan penangkapan (interception).
2.1.2.1.Interruption
Interruption berarti penyerangan terhadap suatu perangkat
sistem sehingga menjadi terganggu, rusak, atau bahkan tidak
tersedia. Serangan ditujukan kepada ketersediaan (availability) dari
sistem.
Contoh serangan adalah “Denial of Service attack”
(serangan yang membuat sistem Menolak Layanan), dimana server
dikirimi permintaan (biasanya palsu) yang bertubi-tubi atau
permintaan yang diluar perkiraan sehingga tidak dapat melayani
permintaan lain atau bahkan sampai down, hang, crash (sistem
tidak mampu memproses apapun).
Gambar 2.1 Interruption
14
2.1.2.2.Fabrication
Fabrication menyebabkan pihak yang tidak berwenang
menyisipkan objek palsu ke dalam sistem. Serangan ini dituju
terhadap keaslian akses yang diterima (authenticity). Contoh dari
serangan jenis ini adalah memasukkan pesan - pesan palsu seperti
e-mail palsu ke dalam jaringan komputer (fake e-mail).
Gambar 2.2 Fabrication
2.1.2.3.Modification
Modification menyebabkan pihak yang tidak berwenang
tidak saja berhasil mengakses, tetapi juga dapat mengubah
(tamper) aset. Serangan ini ditujukan kepada keutuhan dari data
yang dikirim (integrity). Contoh dari serangan ini antara lain
adalah mengubah isi dari web site dengan pesan - pesan yang
merugikan pemilik web site (defacing).
Gambar 2.3 Modification
2.1.2.4.Interception
Interception menyebabkan pihak yang tidak berwenang
berhasil mengakses aset atau informasi. Pihak yang dimaksud ini
15
bisa berupa orang, program, atau sistem yang lain. Serangan yang
terjadi ditujukan pada kerahasian data yang dikirim
(confidentiality). Contoh dari serangan ini adalah serangan
Pendeteksian Paket Data (Packet Sniffer), yang mana dapat
dianggap sebagai sejenis alat penyadap. Suatu perangkat yang
dapat “menyambung” kedalam jaringan komputer dan mencuri
dengar lalu lintas data dalam jaringan tersebut.
Gambar 2.4 Interception
2.2. Teori Khusus
2.2.1. Sniffer
Ketika kita berhubungan dengan internet, data tidak dikirim dalam
satu alur data yang berlanjut, hal ini akan sangat tidak praktis dan akan
membatasi kerja dari jaringan internet. Untuk menjaga kerja dari internet
semaksimal mungkin, maka data yang dikirim akan dipotong – potong.
Potongan dari data ini (baik itu dalam perjalanan pulang ataupun menuju
internet) disebut sebuah “paket (packet)”. Pengiriman informasi dalam
suatu jaringan berarti pengiriman “paket - paket” data. Banyak paket yang
dibutuhkan untuk dapat memberikan informasi yang kita lihat pada layar,
dalam website ataupun email. Dan untuk dapat melihat paket data yang
kita kirim atau terima, kita juga membutuhkan alat khusus. Alat ini berupa
16
program tipe khusus untuk memonitor disebut juga sebuah program
pendeteksi paket data (Packet Sniffer). Dengan menggunakan program
packet sniffer, kita mampu untuk melihat setiap bit dari informasi yang
memasuki ataupun keluar dari komputer kita walaupun begitu secara
normal (harfiah) kita tidak dapat melihatnya.
Menurut Budi Raharjo (1998,p79) Program sniffer ini adalah
program yang dapat digunakan untuk menyadap data dan informasi
melalui jaringan komputer. Hampir sama dengan Budi Raharjo, menurut
Dave Dittrich (1998) Sniffers merupakan program yang dapat
memungkinkan seorang penyerang untuk mencuri password kita hingga
penggunaan semua catatan dan laporan yang ada di dalam komputer kita.
Program ini mengawasi semua aktifitas pada sebuah jaringan dalam
rangka untuk mendapatkan nama dan password dari pengguna ketika
mereka berpindah ke sistem lain. Dan kegiatan untuk mengambil
informasi tersebut yang melalui jaringan ini disebut dengan sniffing.
Menurut Mathew Tanese (2002) sebuah program sniffer ini adalah
bagian dari perangkat lunak yang mengambil semua lalu lintas data yang
melalui komputer yang ter-”jangkiti” yang terhubung ke jaringan. Dan
perangkat lunak ini tersedia dalam beberapa platform, baik dalam variasi
komersil dan yang gratis (open-source).
Menurut Sumit Dhar (2004) sebuah sniffer biasanya bersifat pasif,
hanya mengumpulkan data. Oleh karena itu, menjadi sangat sulit untuk
mendeteksinya berjalan terutama pada shared ethernet. Hampir semua
17
laptop dan komputer desktop bisa dijadikan sebuah penyadap (sniffer),
dengan hanya memasang perangkat lunak sniffer di dalamnya. Sistem
yang menjalankan program sniffer ini haruslah memiliki NIC (Network
Interface Card) yang bisa digunakan dalam mode promiscuous (mode
tidak memilih - milih).
Dari yang telah dibahas diatas, sebuah program sniffer ini bisa
dikatakan merupakan sejenis perangkat penyadap yang menyambung
kedalam jaringan komputer dan dapat mencuri lalu lintas data pada
jaringan tersebut. Seperti penyadapan telepon oleh pihak keamanan untuk
mencuri dengar percakapan orang lain, sebuah program sniffer ini juga
memungkinkan seseorang untuk mencuri dengar ”percakapan” komputer
(lalu lintas data antar komputer).
Jadi, sebenarnya program sniffer ini berguna bagi pengelola untuk
pemeliharaan jaringan (dari sisi positif), tetapi bagi orang luar program ini
digunakan untuk menjebol sistem (dari sisi negatif).
2.2.1.1.Cara Kerja
Sebuah komputer terhubung dengan LAN memiliki dua
alamat. Satunya adalah alamat MAC yang unik bagi tiap node di
dalam suatu jaringan dan alamat ini disimpan pada network card
itu sendiri. Alamat MAC inilah yang digunakan oleh protokol
Ethernet dalam membuat frame yang digunakan untuk pengiriman
data ke dan dari suatu mesin (device). Alamat yang lain adalah
alamat IP yang mana digunakan oleh aplikasi – aplikasi.
18
Lapisan (layer) data link lebih menggunakan alamat MAC
sebagai Ethernet header daripada menggunakan alamat IP. Dan
lapisan Network-lah yang bertanggung jawab dalam memetakan
alamat IP jaringan hingga alamat MAC-nya sesuai yang
dibutuhkan protokol Data Link. Protokol ini melihat alamat MAC
dari mesin tujuan di dalam suatu tabel, biasanya disebut dengan
ARP cache. Jika data yang dimasukkan tidak ditemukan alamat IP-
nya, maka ARP akan menyebarkan paket permintaan (ARP
request) ke semua mesin (device atau workstation) yang ada pada
jaringan. Mesin yang memiliki alamat tersebut akan memberi
respon ke mesin sumber tadi dengan alamat MAC dirinya. Alamat
MAC ini kemudian akan ditambahkan kedalam ARP cache dari
mesin sumber tadi. Alamat MAC ini akan digunakan oleh mesin
sumber agar dapat berkomunikasi dengan mesin pemilik alamat
MAC tersebut.
Terdapat dua tipe dasar dari Ethernet dan cara kerja
program sniffer pada kedua tipe ini juga sedikit berbeda.
• Shared Ethernet
Didalam sebuah lingkungan shared Ethernet, semua
host terhubung ke satu kabel bus yang sama dan saling
bersaing dalam penggunaan bandwidth. Pada lingkungan ini,
paket yang ditujukan pada satu mesin akan diterima oleh
semua mesin yang terhubung.
19
Misalkan begitu suatu mesin yang bernama host1 ingin
berkomunikasi dengan mesin host2 didalam lingkungan ini,
host1 akan mengirim paket pada jaringan dengan alamat MAC
tujuan (alamat MAC host2) dan juga alamat MAC host1
sendiri. Semua komputer pada shared ethernet akan
membandingkan frame dari alamat MAC tujuan dengan alamat
MAC mereka sendiri. Jika keduanya tidak sama, maka frame
tersebut akan dibuang. Sebuah mesin yang sedang menjalankan
program sniffer dapat melanggar kebiasaan ini dan menerima
semua frame. Mesin seperti ini dikatakan telah menggunakan
mode promiscuous dan secara efektif dapat mengetahui semua
lalu lintas pada jaringan. Pendeteksian seperti ini dilakukan
secara pasif sepenuhnya dan sangatlah sulit untuk dideteksi.
• Switched Ethernet
Sebuah lingkungan Ethernet dimana host yang ada
terhubung dengan switch disebut sebuah switched ethernet.
Switch inilah yang mengatur jalur yang dipakai oleh suatu
alamat MAC dan melalui port switch yang mana ketika ingin
terhubung dengan alamat MAC yang lain dan mengantarkan
paket yang diperuntukkan kepada mesin tertentu yang selalu
berhubungan. Switch ini merupakan alat yang cerdas yang
dapat mengirimkan paket hanya ke tujuan dan tidak
meyebarkannya ke semua mesin pada jaringan, seperti pada
20
shared Ethernet. Sebagai hasil dari proses ini, cara sebelumnya
dengan menggunakan mode promiscuous untuk mendapatkan
paket tidak dapat bekerja. Sehingga, semakin banyak Sistem
Administrator yang percaya bahwa jaringan yang
menggunakan switch itu aman dan tidak dapat di-sniff.
Walaupun switch ini lebih aman daripada hub, kita
masih tetap memiliki cara untuk mendeteksi paket data yang
ada, yaitu dengan metode berikut :
o ARP Spoofing (pemalsuan ARP)
Seperti yang telah dijelaskan diatas bagaimana ARP
digunakan untuk memperoleh alamat MAC dari mesin
tujuan yang kita harapkan bisa berkomunikasi. ARP ini
tidak tergantung keadaan, kita dapat mengirim sebuah
balasan ARP (ARP reply) walaupun orang lain tidak
memintanya dan balasan tersebut akan diterima.
Idealnya ketika kita ingin melakukan sniffing
(mendeteksi paket) terhadap permulaan lalu lintas data dari
mesin host1, kita dapat memberikan ARP palsu sebagai
gateway (gerbang) dari jaringan tersebut. Kini ARP cache
host1 akan memiliki masukan (entry) yang salah untuk
alamat gateway-nya dan hal ini disebut telah “diracuni”
(poisoned).
21
Dengan demikian semua lalu lintas yang ditujukan
ke gateway akan melalui mesin kita. Trik yang lain yang
dapat digunakan untuk meracuni sebuah ARP cache host
adalah dengan mengeset alamat MAC dari gateway-nya
tadi menjadi FF:FF:FF:FF:FF:FF (dikenal juga sebagai
MAC sebaran atau MAC broadcast).
Gambar 2.5 metode ARP spoofing
o MAC Flooding (pembanjiran MAC):
Switch bekerja dengan membuat sebuah tabel
translasi yang mana akan memetakan berbagai alamat
MAC hingga port fisik pada switch tersebut. Hasilnya,
switch dapat secara cerdas menentukan rute yang harus
diambil jika ingin mengirim paket dari satu host ke yang
lainnya. Tetapi, switch memiliki keterbatasan memory
untuk tugas yang satu ini.
22
Pembanjiran MAC (MAC flooding) ini
memanfaatkan keterbatasan dari memory yang dimiliki
switch tadi, dengan membombardir switch dengan alamat
MAC palsu hingga switch tidak mampu lagi mengikuti
perubahan yang terjadi. Switch kemudian akan memasuki
mode yang dikenal sebagai “mode failopen” dimana switch
mulai bertindak seperi hubs yang menyebarkan paket ke
semua mesin di jaringan. Sekali hal ini terjadi proses
pendeteksian paket data dapat dilakukan dengan mudah.
Terdapat satu peringatan dalam menggunakan
metode ini yaitu metode ini dapat membawa kepada
kemerosotan dari pelayanan – pelayanan jaringan dan
sebaiknya tidak digunakan dalam jangka waktu yang lama.
2.2.1.2.Contoh program yang telah ada
• Ethereal
Ethereal digunakan oleh administrator jaringan
profesional sedunia untuk pemecahan masalah, analisis
perangkat lunak (software) dan perkembangan protokol, serta
juga pendidikan.
Perangkat ini mempunyai semua fitur standar yang kita
harapkan dalam sebuah penganalisa protokol dan beberapa
fitur yang tidak ada dalam produk lainnya.
23
Lisensi open source memperbolehkan para ahli yang
dalam komunitas jaringan untuk menambahkan perbaikan. Dan
perangkat ini dapat berjalan pada semua sistem operasi
komputer, termasuk Unix, Linux, dan Window.
• Effetech HTTP Sniffer
EffeTech HTTP Sniffer ini merupakan sebuah program
paket sniffer yang khusus menangkap paket IP yang
mengandung protocol HTTP, menganalisa protocol dan
sebagai peranagkat lunak penyusun file kembali yang dikirim
melalui protocol HTTP berdasarkan platform windows.
Dengan mengutamakan kemudahan dalam penggunaannya, dan
kemenangannya dalam penghargaan untuk utility pemonitor
HTTP, telah menjadikan effetech HTTP sniffer sebagai pilihan
utama dari para manajer, administrator jaringan dan pembuat
worldwide.
• Tcpdump
Tcpdump adalah sebuah perangkat penganalisa jaringan
komputer yang berjalan dalam command line. Tcpdump
memungkinkan pengguna untuk menangkap dan menampilkan
paket – paket data yang dikirim ataupun yang diterima melalui
sebuah jaringan dimana komputer itu terhubung. Tcpdump ini
ditulis oleh Van Jacobson, Craig Leres, dan Steven McCanne
24
yang mana pada saat itu bekerja pada laboratorium Lawrence
Barkeley dari grup Network Research.
2.2.1.3.Kegunaan Sniffer
Kegunaan khas dari sniffer adalah untuk menganalisis lalu
lintas dalam jaringan, sehingga yang menjadi masalah - masalah
dalam jaringan dapat diketahui. Bagaimanapun, dua penggunaan
yang berhubungan dengan sniffer telah berdampingan sejak sniffer
ini ditemukan.
• Penggunaan positif
Penggunaan positif dari sniffer adalah pengunaan biasa
yang tujuannya adalah memelihara jaringan dan sistem agar
berjalan normal. Penggunaannya adalah seperti untuk :
a. Menangkap paket.
b. Menyimpan dan menganalisis lalu lintas.
c. Mendeskripsikan paket dan memperlihatkan dalam teks
yang jelas.
d. Mengkonversi data ke format yang dapat dibaca.
e. Memperlihatkan informasi yang berhubungan seperti IP,
protokol, nama host atau server, dll.
Tidak semua software sniffing mempunyai fungsi yang
sama; beberapa sniffer dapat menganalisis ratusan protokol
dimana yang lain hanya dapat satu atau dua saja. Protokol-
25
protokol yang paling umum dianalisis oleh sniffer adalah
TCP/IP, IPX, DECNet.
Biasanya sniffer digunakan sebagai asisten dari
manajemen jaringan untuk memonitor dan menganalisis yang
dapat membantu kita untuk menyelesaikan masalah jaringan,
mendeteksi gangguan, mengontrol trafik atau mengawasi
konten jaringan. Tetapi fitur-fitur tersebut dapat digunakan
para hacker sebagai aplikasi snooping untuk memasuki
komputer - komputer lainnya.
• Penggunaan Negatif
Penggunaan negatif dari sniffer dikenal karena merusak
keamanan jaringan, diantaranya :
a. Menangkap password, yang alasan utamanya untuk
penggunaan ilegal dari aplikasi sniffing.
b. Menangkap informasi spesial dan pribadi dari transaksi -
transaksi, seperti nama pengguna (user), Id kredit,
rekening, dan password.
c. Menyimpan e-mail atau pesan dan isinya.
d. Beberapa snifer bahkan dapat memodifikasi informasi
komputer target dan merusak sistem.
Dengan bertambahnya penggunaan negatif dari sniffer,
hal ini memberikan sebuah ironi karena sniffer yang menjadi
halangan terbesar untuk keamanan jaringan yang pada saat
26
bersamaan adalah aplikasi yang paling penting untuk bertahan
dari serangan jaringan.
2.2.1.4.Protokol yang Rentan terhadap Pendeteksian Paket Data
Berikut adalah beberapa tipe protokol yang rentan terhadap
sniffing, khususnya dalam passwordnya :
a. Telnet and rlogin
Proses pendeteksian (sniffing) dapat menangkap dan
mengetahui tombol yang diketik oleh pengguna, termasuk
nama pengguna dan password.
b. HTTP
Versi standar dari HTTP ini memiliki banyak lubang (holes).
Banyak web site menggunakan autentikasi “dasar”, yang mana
mengirim password melalui kabel dalam teks sempurna. Web
site lainnya menggunakan teknik yang berbeda dimana
pengguna akan diberikan nama pengguna dan password baru
yang mana juga dikirim dalam jaringan dalam teks sempurna.
Data yang dikirim dengan jelas terlihat.
c. SNMP
Hampir semua lalu lintas SNMP berupa SNMP versi 1, yang
mana tidak memiliki pengamanan yang baik. Password dalam
SNMP (disebut community-string) dikirim melalui kabel
dengan jelas terlihat.
27
d. NNTP
Passwords yang dikirim dengan jelas terlihat. Data yang
dikirim dengan jelas terlihat.
e. POP
Passwords yang dikirim dengan jelas terlihat. Data yang
dikirim dengan jelas terlihat.
f. FTP
Passwords yang dikirim dengan jelas terlihat. Data yang
dikirim dengan jelas terlihat.
g. IMAP
Passwords yang dikirim dengan jelas terlihat. Data yang
dikirim dengan jelas terlihat.
Walaupun demikian semua system diatas memiliki
tindakan pengamanan alternatif. Misal ketika memasukkan nomor
kartu kredit, kebanyakan web site menggunakan enkripsi SSL
daripada HTTP normal. Hampir sama dengan itu, S/MIME dan
PGP dapat mengenkripsi e-mail pada tingkatan yang lebih tinggi
daripada protokol e-mail seperti POP/IMAP/SMTP.
2.2.1.5.Proteksi Sniffer
Sejauh ini masih belum ditemukan solusi yang efektif yang
bisa digunakan melindungi dan mempertahankan sistem kita dari
instalasi dan serangan sniffer ini. Seorang administrator jaringan
diharuskan banyak bekerja jika ingin menekan pengrusakan dari
28
program sniffer ini. Cara yang paling populer yang digunakan
sebagai cara pertahanan dari sniffer ini diantaranya adalah :
• Penggunaan Switch
Pada contoh pemakaian hub tadi, dapat terlihat dengan
penggantian hub menjadi switch dalam suatu jaringan sebagai
penentu ke mana paket data harus dikirim berdasarkan
tujuannya pada lapisan network dapat “mematikan” kerja
program sniffer ini. Dari segi biaya dan harga yang menurun
secara drastic, switch telah menjadi perangkat keras pertahanan
dari sniffer yang sangat efektif dan ekonomis.
Switch tidak dapat mencegah secara total terjadinya
pendeteksian paket data oleh program paket sniffer. Switch ini
hanya dapat mengurangi kemungkinan terjadinya pendeteksian
paket data dengan metode yang berdasarkan MAC address.
• Enkripsi Data
Pengenkripsian data kita dapat mengurangi efek dari
sniffer terhadap informasi pribadi walaupun sebuah program
sniffer dapat menangkap semua data yang penting dari kita,
program sniffer tidak dapat mengkode-ulangkannnya.
o SSH (Secure Shell)
SSH merupakan suatu jenis protocol yang
menawarkan komunikasi yang aman untuk program
aplikasi, berdasarkan mode client/server. Distributif port
29
dari server SSH adalah port 22, dan penghubungnya dibuat
diatas metod RSA. Ketika autorisasi telah selesai,
pentransmisian data akan dienkripsi dengan teknik IDEA,
yang mana secara umum cukup kuat.
o SSL (Secure Sockets Layer)
Pada awalnya diperkenalkan oleh Netscape
Corporation, SSL ini dimaksudkan untuk mencapai tujuan
dari pengiriman data secara sembunyi – sembunyi dan
rahasia di internet dan telah digunakan secara luas di web.
SSL menyediakan pelayanan dari tiga aspek besar, yaitu :
1. Mengidentifikasikan pengguna dan server untuk
memastikan data dikirim kepada client yang benar dan
server.
2. Enkripsi data untuk menyembunyikan data yang
ditransmisikan.
3. Menjaga integritas data dan mencegah data tersebut
dimodifikasi selama pengiriman.
o Kerberos
Kerberos adalah paket yang dapat melakukan
enkripsi terhadap informasi yang keluar ke jaringan.
Masalahnya adalah semua informasi ditangani pada suatu
host dan jika mesin tersebut down (tidak aktif), maka
seluruh jaringan akan terpengaruh. Kerberos datang dengan
30
suatu stream-encrypting rlogind, dan stream-encrypting
telnetd yang dapat diperoleh. Hal ini berfungsi mencegah
penyusup untuk mencatat apa yang anda lakukan setelah
login.
o Solusi Lain
selain teknik enkripsi diatas, terdapat perangkat lain yang
bisa dicoba seperti Deslogin, VPN, SMB/CIFS, dan yang
lainnya.
• One-Time Password
Salah satu teknologi one time password adalah dengan
sistem kartu yang mana setiap pemakai mendapatkan suatu
kartu yang menghasilkan nomor yang memperbolehkan akses
ke account mereka. Tanpa kartu tersebut, adalah tidak mungkin
menebak nomor tersebut. Contoh lainnya berupa :
o OneTime Pass (OTP):
Program ini menyediakan kode one-time pass yang tak
terbatas pada seorang pemakai dengan basis pemakaian
yang tidak membutuhkan protokol cryptographic ataupun
peralatan perangkat keras. Pemakai mendapatkan suatu
daftar dari kode pass yang dapat digunakan, dan akan
dihapus satu setiap satu dipakai. Sistem mencatat
pemakaian, menghapus setiap passcode dari daftar yang
ada ketika telah dipakai. Datang dengan ukuran sangat
31
kecil dan pemeriksa password yang cepat dan sistem
generasi frase pass (pass-phrase-generation).
o ArKey:
Ini adalah sistem Argued Key yang sebenarnya yang mana
secara mutual melakukan autentikasi pemakai dan sistem
satu sama lainnya dengan pengetahuan umum mereka.
Tidak membutuhkan perangkat keras khusus. Datang
dengan ukuran sangat kecil dan pemeriksa password yang
cepat serta password.
• NIC Non-promiscuous
Ketika sebuah NIC diproduksi, NIC ini akan diberikan
sebuah penanda yang sangat unik yang dikenal dengan Media
Acces Control Address (MAC address) atau alamat MAC.
Dikarenakan alamat ini unik, alamat ini menjadi salah satu
metod yang fundamental dalam pengiriman data di dalam
jaringan. Telah banyak protocol komunikasi yang
menggunakan alamat MAC ini dalam pengaturan aliran
datanya, alamat MAC ini digunakan diawal dan diakhir dari
proses transmisi. Perlu disadari pentingnya alamat MAC ini,
karena alamat ini secara tidak langsung mempengaruhi data
apa yang dapat diakses oleh program sniffer.
Ketika sebuah NIC bekerja dengan normal, NIC ini
sebenarnya mengamati tiap paket data yang berjalan melalui
32
jaringan untuk melihat apakah ada data yang diberi label
dengan alamat MAC-nya. Jika ada, maka data dilewatkan ke
layer (lapisan) selanjutnya di dalam susunan protokol, dan
akhirnya sampai pada program yang dituju. Walaupun
demikian, jika paket tidak dialamatkan ke NIC tersebut, maka
akan diacuhkan.
Disebabkan perangkat lunak sniffer beroperasi diatas
layer perangkat keras pada susunan stak komunikasi, program
sniffer hanya akan menerima data yang dikirim ke komputer
dimana sniffer ini dijalankan. Dengan kata lain, program
sniffer hanya akan melihat lalu lintas keluar masuknya paket-
paket data pada komputer tersebut. Walaupun begitu, sniffer
masih bisa melihat lalu lintas paket-paket data pada jaringan
yang sama apabila mode promiscuous bekerja.
Ketika sebuah NIC ditempatkan dalam mode
promiscuous seperti pada gambar 2.7, NIC ini akan menerima
semua data yang melalui kabel yang terhubung dengannya,
tanpa mempedulikan alamat MAC-nya. Walaupun begitu,
masih terdapat beberapa rintangan yang harus dihadapi
program sniffer untuk mendapat akses lalu lintas jaringan.
Termasuk juga dukungan tambahan untuk data yang disebar
tanpa melalui kabel (wireless), yang mana menggunakan
gelombang radio, dan keterbatasan dalam teknologi jaringan.
33
Gambar 2.6 Mode Promiscuous Mati
Gambar 2.7 Mode Promiscuous Hidup
Berikut ini adalah daftar dari kartu yang tidak
mendukung modus promiscuous:
IBM Token-Ring Network PC Adapter
IBM Token-Ring Network PC Adapter II (short card)
IBM Token-Ring Network PC Adapter II (long card)
IBM Token-Ring Network 16/4 Adapter
IBM Token-Ring Network PC Adapter/A
34
IBM Token-Ring Network 16/4 Adapter/A
IBM Token-Ring Network 16/4 Busmaster Server Adapter/A
Kartu berikut tidak dapat masuk ke modus
promiscuous tetapi masih belum ditemukan fakta pendukung
yang jelas, diantaranya :
Microdyne (Excelan) EXOS 205
Microdyne (Excelan) EXOS 205T
Microdyne (Excelan) EXOS 205T/16
Hewlett-Packard 27250A EtherTwist PC LAN Adapter Card/8
Hewlett-Packard 27245A EtherTwist PC LAN Adapter Card/8
Hewlett-Packard 27247A EtherTwist PC LAN Adapter
Card/16
Hewlett-Packard 27248A EtherTwist EISA PC LAN Adapter
Card/32
HP 27247B EtherTwist Adapter Card/16 TP Plus
HP 27252A EtherTwist Adapter Card/16 TP Plus
• Penggunaan Firewall
Firewall adalah suatu aturan yang diterapkan baik
terhadap hardware, software, ataupun sistem itu sendiri dengan
tujuan untuk melindungi baik dengan melakukan filterisasi,
membatasi, ataupun menolak suatu koneksi pada jaringan
ataupun komputer yang dilindunginya dengan jaringan luar
lainnya seperti internet. Firewall juga berfungsi sebagai pintu
35
keluar jaringan yang dilindunginya dengan jaringan lainnya
atau biasa disebut gateway.
Firewall dibagi berdasarkan mekanisme atau cara
kerjanya terdapat beberapa jenis, diantaranya :
o Packet Filtering Gateway
Firewall yang bertugas melakukan filtrasi terhadap paket-
paket yang datang dari luar jaringan ataupun komputer
yang dilindunginya.
o Aplication Level Gateway
Disebut juga proxy firewall. Mekanismenya tidak hanya
berdasarkan sumber, tujuan, dan atribut paket, tapi juga
bisa mencapai isi content paket tersebut.
o Circuit Level Gateway
Model ini bekerja pada bagian Transport Control Protocol
(TCP) layer pada lapisan TCP/IP dan bertugas mengawasi
terhadap awal hubungan TCP (TCP Handshaking) untuk
menentukan sesi hubungan ini diperbolehkan atau tidak.
o Stateful Multilayer Inspection Firewall
Model ini merupakan penggabungan dari ketiga firewall
diatas. Firewall ini bekerja pada lapisan Aplikasi
(Application Layer), lapisan TCP (Transport Control
Protokol Layer), dan lapisan Internet Protokol (Internet
Protocol Layer), serta mampu melakukan packet filtering
36
gateway, application level gateway, dan circuit level
gateway. Model inilah yang memberi fitur terbanyak dan
memberi tingkat keamanan yang lebih tinggi.
2.2.2. Socket
Sebuah socket adalah satu endpoint (titik akhir) dari komunikasi
dua arah antara dua program yang berjalan pada jaringan. Sebuah endpoint
merupakan kombinasi dari sebuah alamat IP dan nomor port. Setiap
koneksi TCP dapat diidentifikasi secara unik oleh kedua endpoint. Dengan
begitu kita dapat memiliki lebih dari satu koneksi antara host dan server.
Normalnya, sebuah server berjalan pada komputer yang spesifik
dan memiliki sebuah socket yang ditetapkan ke sebuah nomor port
sehingga layer TCP dapat mengidentifikasi suatu aplikasi yang dituju oleh
data. Server dalam hal ini hanya menunggu, mendengarkan socket untuk
sebuah permintaan koneksi dari sebuah klien.
Pada sisi klien, klien mengetahui nama host dari mesin dimana
server berjalan dan nomor portnya dimana server mendengarkan. Untuk
membuat suatu permintaan koneksi, klien akan mencoba untuk bertemu
dengan server pada mesin server dan port. Klien juga perlu
mengidentifikasi dirinya sendiri kepada server sehingga akan ditanamkan
ke nomor port local yang akan digunakan selama koneksi. Biasanya ini
ditetapkan oleh system.
37
Jika semua berjalan lancar, server menerima koneksi. Setelah
penerimaan ini, server akan membuat socket baru yang dipasang pada port
local dan juga memiliki remote endpoint (titik akhir jauh) yang ditetapkan
ke alamat dan port dari klien. Server membutuhkan socket baru sehingga
server dapat melanjutkan mendengarkan socket yang sebenarnya untuk
permintaan koneksi dengan tetap menjaga kebutuhan dari klien yang telah
terkoneksi.
Pada sisi klien, jika koneksi diterima, berarti sebuah socket telah
berhasil dibuat dan klien dapat menggunakan socket tersebut untuk
berkomunikasi dengan server. Klien dan server sekarang dapat
berkomunikasi dengan menulis atau membaca dari socket mereka.
2.2.3. WinPcap
Winpcap merupakan perangkat standar dalam industri untuk
penghubung akses layer network dalam lingkungan Windows. Winpcap
memungkinkan aplikasi untuk menangkap dan mengirimkan paket
jaringan dengan melalui OSI Layer dan winpcap memiliki fitur tambahan
yang berguna, termasuk penyaringan paket level-kernel, sebuah engine
(mesin) penganalisis suatu jaringan dan mendukung penangkapan paket
jarak jauh.
Winpcap terdiri dari sebuah driver, yang memperluas sistem
operasi dalam penyediaan akses ke jaringan low-level, dan sebuah library
(kumpulan kode - kode) yang digunakan mempermudah akses ke lapisan
38
jaringan low-level. Library ini juga mengandung versi windows dari
libpcap Unix API (Application Programming Interface) yang terkenal.
Berkat kumpulan dari set – set fiturnya, Winpcap menjadi engine
penangkap dan penyaring paket dari banyak perangkat jaringan baik yang
open-source (gratis) ataupun yang komersil, termasuk penganalisa
protocol (protocol analyzers), pengamat jaringan (network monitors),
sistem pendeteksi gangguan jaringan (network intrusion detection
systems), pengamat lalu lintas (traffic generators), penguji jaringan
(network testers) dan tentu saja sniffer. Beberapa dari perangkat ini,
seperti Wireshark, Nmap, Snort, ntop dikenal dan digunakan didalam
komunitas pengguna jaringan.
2.2.4. SharpPcap
Sharppcap merupakan library (kumpulan kode - kode) penangkap
paket untuk lingkungan .NET, berdasarkan komponen Winpcap yang
terkenal. Tujuan dari library ini adalah untuk menyediakan sebuah API
untuk penangkapan, penyuntikan, penganalisaan dan pembuatan paket –
paket dengan menggunakan jenis bahasa .NET apa saja seperti C# dan
VB.NET.
Sharppcap ini ditulis dan diuji menggunakan .NET v1.1 dan
Windows 2000/XP. Berikut adalah daftar ilustrasi dari fitur – fitur yang
didukung oleh sharppcap :
• Menyebutkan satu demi satu dan memperlihatkan detail mengenai alat
penghubung (interface) fisik jaringan pada sebuah mesin windows.
39
• Menangkap paket jaringan low-level yang melalui sebuah interface
yang diberikan.
• Menganalisa dan menguraikan protocol berikut : Ethernet, ARP, IP,
TCP, UDP, ICMP, IGMP.
• Menyuntikkan paket pada jaringan low-level pada interface yang
diberikan.
• Menangani (membaca dan menulis) penangkapan file paket secara
offline.
• Penyuntikan paket menggunakan send Queues.
• Mengambil statistika jaringan pada sebuah interface yang telah
diberikan.
Library Winpcap harus dinstall terlebih dahulu sebelum
menjalankan salah satu fitur – fitur Sharpcap diatas.
2.2.5. Java
Java adalah bahasa pemograman serbaguna. Java ini
dikembangkan oleh Sun Microsystems pada Agustus 1991, dengan nama
awal oak. Dalam sejumlah literatur disebutkan bahwa Java merupakan
hasil perpaduan sifat dari sejumlah bahasa pemograman, yaitu C, C++,
Object-C, SmallTalk, dan Common LISP.
Java merupakan bahasa pemograman berorientasi objek (suatu
model pengembangan perangkat lunak yang saat ini sangat populer). Java
menggunakan kelas untuk membentuk suatu objek.
40
Sifat – sifat dari bahasa pemograman Java :
• Inheritance
Memungkinkan suatu kelas dalam program Java untuk mewarisi data
ataupun fungsi anggota kelas lain.
• Polymorfism
Konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai
bentuk dan prilaku yang berbeda.
• Encapsulation
Pengemasan data dan fungsi dalam wadah bernama obyek. Data tidak
lagi diperlakukan sebagai komponen kedua setelah fungsi, melainkan
mempunyai kedudukan yang sama dengan fungsi.
Java ini memiliki keunggulan utama yaitu WORA (Write Once
Run Anywhere). Keunggulan ini membuat program Java dapat dijalankan
dalam berbagai system operasi. Java terbagi dalam beberapa jenis,
diantaranya adalah J2SDK (Java 2 Standart Development Kit) atau dikenal
juga J2SE (Java 2 Standart Edition), J2EE (Java 2 Enterprise Edition),
J2ME (Java 2 Mobile Edition).
2.2.6. .NET Framework
Framework (Kerangka kerja) dari Microsoft .NET merupakan
komponen perangkat lunak yang dapat ditambahkan ke dalam sistem
operasi Microsoft Windows. .NET menyediakan solusi kode – kode yang
bisa dipakai untuk memenuhi kebutuhan program – program secara
umum, dan mengatur pengeksekusian dari program yang ditulis khususnya
41
untuk kerangka kerja. .NET Framework dimaksudkan untuk digunakan
oleh kebanyakan aplikasi baru yang dibuat dalam platform windows.
.NET pada saat ini tersedia dalam platform Windows dan khusus
dalam sistem operasi Linux, Mac OS, dan Solaris terdapat proyek Mono
(opensource) yang merupakan implementasi .NET framework dan kini
masih dalam masa pengembangan. .NET dibuat dari awal untuk
mendukung banyak bahasa pemrograman dalam Microsoft Windows.
2.2.7. Waterfall
Menurut Roger S. Pressman, model sekuensial linier untuk
rekayasa software (perangkat lunak) sering disebut sebagai siklus
kehidupan klasik atau model waterfall (air terjun). Sekuensial linier
mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak
yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan
sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan.
Dimodelkan setelah siklus rekayasa konvensional, model sekuensial linier
melingkupi aktivitas-aktivitas sebagai berikut:
• Rekayasa dan pemodelan system atau informasi
Karena perangkat lunak selalu merupakan bagian dari sebuah sistem
yang lebih besar, kerja dimulai dengan membangun syarat dari semua
elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke
perangkat lunak tersebut. Pandangan sistem ini penting ketika
perangkat lunak harus berhubungan dengan elemen-elemen yang lain
seperti perangkat lunak, manusia, dan basis data.
42
• Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan diintensifkan dan difokuskan,
khususnya pada perangkat lunak. Untuk memahami sifat program
yang dibangun, perekayasa perangkat lunak (analis) harus memahami
domain informasi, tingkah laku, unjuk kerja, dan antarmuka (interface)
yang diperlukan.
• Desain
Desain perangkat lunak sebenarnya adalah proses multi langkah yang
berfokus pada empat atribut sebuah program yang berbeda; struktur
data, arsitektur perangkat lunak, representasi interface, dan detail
(algoritma) prosedural. Proses desain menerjemahkan kebutuhan ke
dalam sebuah representasi perangkat lunak yang dapat diperkirakan
demi kualitas sebelum dimulai pemunculan kode.
• Genearsi Kode
Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca.
Langkah pembutan kode melakukan tugas ini. Jika desain dilakukan
dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara
mekanis.
• Pengujian
Proses pengujian berfokus pada logika internal perangkat lunak,
memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal
fungsional, yaitu mengarahkan pengujian untuk menemukan
43
kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan
memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
• Pemeliharaan
Perangkat lunak akan mengalami perubahan setelah disampaikan
kepada pelanggan. Perubahan akan terjadi karena kesalahan-kesalahan
ditentukan, karena perangkat lunak harus disesuaikan untuk
mengakomodasi perubahan-perubahan di dalam lingkungan
eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat
dari perangkat keras atau system operasi yang baru), atau karena
pelanggan membutuhkan perkembangan fungsional atau unjuk kerja.
Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase
program sebelumnya dan tidak membuat yang baru lagi