Kamis, 06 Oktober 2011

Keamanan Jaringan Komputer

Keamanan jaringan komputer sendiri sering dipandang sebagai hasil dari beberapa faktor. Faktor
ini bervariasi tergantung pada bahan dasar, tetapi secara normal setidaknya beberapa hal dibawah ini
diikutsertakan :
• Confidentiality (kerahasiaan).
• Integrity (integritas).
• Availability (ketersediaan).

Keamanan klasik penting ini tidak cukup untuk mencakup semua aspek dari keamanan jaringan
komputer pada masa sekarang [1]. Hal-hal tersebut dapat dikombinasikan lagi oleh beberapa hal
penting lainnya yang dapat membuat keamanan jaringan komputer dapat ditingkatkan lagi dengan
mengikut sertakan hal dibawah ini:
• Nonrepudiation.
• Authenticity.
• Possession.
• Utility.

Availability (ketersediaan).
Ketersediaan data atau layanan dapat dengan mudah dipantau oleh pengguna dari sebuah
layanan. Yang dimana ketidaktersediaan dari sebuah layanan (service) dapat menjadi sebuah halangan
untuk maju bagi sebuah perusahaan dan bahkan dapat berdampak lebih buruk lagi, yaitu penghentian
proses produksi [1]. Sehingga untuk semua aktifitas jaringan, ketersediaan data sangat penting untuk
sebuah system agar dapat terus berjalan dengan benar.

Confidentiality (kerahasiaan).

Ada beberapa jenis informasi yang tersedia didalam sebuah jaringan komputer. Setiap data yang
berbeda pasti mempunyai grup pengguna yang berbeda pula dan data dapat dikelompokkan sehingga
beberapa pembatasan kepada pengunaan data harus ditentukan. Pada umumnya data yang terdapat
didalam suatu perusahaan bersifat rahasia dan tidak boleh diketahui oleh pihak ketiga yang bertujuan
untuk menjaga rahasia perusahaan dan strategi perusahaan [2]. Backdoor, sebagai contoh, melanggar
kebijakan perusahaan dikarenakan menyediakan akses yang tidak diinginkan kedalam jaringan
komputer perusahaan.
Kerahasiaan dapat ditingkatkan dan didalam beberapa kasus pengengkripsian data atau
menggunakan VPN [22][2]. Topik ini tidak akan, tetapi bagaimanapun juga, akan disertakan dalam
tulisan ini. Kontrol akses adalah cara yang lazim digunakan untuk membatasi akses kedalam sebuah
jaringan komputer. Sebuah cara yang mudah tetapi mampu untuk membatasi akses adalah dengan
menggunakan kombinasi dari username-dan-password untuk proses otentifikasi pengguna dan
memberikan akses kepada pengguna (user) yang telah dikenali [2]. Didalam beberapa lingkungan kerja
keamanan jaringan komputer, ini dibahas dan dipisahkan dalam konteks otentifikasi [3].


Integrity (integritas).
Jaringan komputer yang dapat diandalkan juga berdasar pada fakta bahwa data yang tersedia
apa yang sudah seharusnya. Jaringan komputer mau tidak mau harus terlindungi dari serangan
(attacks) yang dapat merubah dataselama dalam proses persinggahan (transmit) [4]. Man-in-the-
Middle merupakan jenis serangan yang dapat merubah integritas dari sebuah data yang mana
penyerang (attacker) dapat membajak "session" atau memanipulasi data yang terkirim [5].
Didalam jaringan komputer yang aman, partisipan dari sebuah "transaksi" data harus yakin
bahwa orang yang terlibat dalam komunikasi data dapat diandalkan dan dapat dipercaya. Keamanan
dari sebuah komunikasi data sangat diperlukan pada sebuah tingkatan yang dipastikan data tidak
berubah selama proses pengiriman dan penerimaan pada saat komunikasi data. Ini tidak harus selalu
berarti bahwa "traffic" perlu di enkripsi, tapi juga tidak tertutup kemungkinan serangan "Man-in-the-
Middle" dapat terjadi.

Nonrepudiation.
Setiap tindakan yang dilakukan dalam sebuah system yang aman telah diawasi (logged), ini dapat
berarti penggunaan alat (tool) untuk melakukan pengecekan system berfungsi sebagaimana
seharusnya. "Log" juga tidak dapat dipisahkan dari bagian keamanan "system" yang dimana bila terjadi
sebuah penyusupan atau serangan lain akan sangat membantu proses investigasi [17]. "Log" dan
catatan waktu, sebagai contoh, bagian penting dari bukti di pengadilan jika cracker tertangkap dan
diadili. Untuk alasan ini maka "nonrepudiation" dianggap sebagai sebuah faktor penting didalam
keamanan jaringan komputer yang berkompeten.
ITU-T telah mendefinisikan "nonrepudition" sebagai berikut :
1. Kemampuan untuk mencegah seorang pengirim untuk menyangkal kemudian bahwa dia
    telah mengirim pesan atau melakukan sebuah tindakan.
 
2. Proteksi dari penyangkalan oleh satu satu dari entitas yang terlibat didalam sebuah komunikasi
    yang turut serta secara keseluruhan atau sebagian dari komunikasi yang terjadi [7].

 Jaringan komputer dan system data yang lain dibangun dari beberapa komponen yang berbeda
yang dimana masing-masing mempunyai karakteristik spesial untuk keamanan. Sebuah jaringan
komputer yang aman perlu masalah keamanan yang harus diperhatikan disemua sektor, yang mana
rantai keamanan yang komplit sangat lemah, selemah titik terlemahnya [8]. Pengguna (user)
merupakan bagian penting dari sebuah rantai. "Social engineering" merupakan cara yang efisien untuk
mencari celah (vulnerabilities) pada suatu system [21] dan kebanyakan orang menggunakan
"password" yang mudah ditebak. Ini juga berarti meninggalkan "workstation" tidak dalam keadaan
terkunci pada saat makan siang atau yang lainnya.
Sistem operasi (operating system : Windows, Unix, Linux, MacOS) terdapat dimana-mana,
komputer mempunyai sistem operasi yang berbeda-beda antara satu dengan yang lainnya (tergantung
selera), dan bahkan router juga dijalankan oleh oleh sistem operasi. Setiap sistem operasi mempunyai
gaya dan karakteristik sendiri yang membedakannya dengan sistem operasi yang lainnya, dan
beberapa bahkan digunakan untuk kepentingan "server". Beberapa sistem operasi juga mempunyai
masalah yang dapat digunakan sehingga menyebabkan sistem operasi tersebut berhenti merespon
pengguna.
Layanan pada "server" memainkan peranan penting dalam keamanan. Developer perangkat lunak
mengumumkan celah keamanan pada perangkat lunak dengan cepat. Alasan yang digunakan adalah
celah ini kemungkinan akan digunakan oleh pihak yang tidak bertanggung jawab untuk menyusupi
sebuah system ataupun setiap pengguna komputer. Pengelola atau pengguna server dan workstation
harus melakukan pengecekan untuk "update" masalah keamanan secara regular.
Perangkat keras mungkin sedikit susah dipahami sebagai sesuatu yang mempunyai potensi untuk
mempunyai masalah keamanan. Yang sesungguhnya adalah sangat berbeda dengan apa yang kita
pikirkan, apabila perangkat keras terletak di sebuah lokasi yang tidak aman maka terdapat resiko untuk
pemasangan perangkat keras yang tidak diinginkan kedalam jaringan komputer dan ini dapat membuat
penyusupan menjadi mudah. Juga, bila sebuah perangkat keras jaringan computer dirubah setting-nya
ke konfigurasi default oleh orang luar.
Pemilihan jenis metode transmisi juga mempunyai peranan penting didalam masalah keamanan.
Setiap informasi rahasia tidak boleh di transmisikan secara wireless, setidaknya tidak tanpa
menggunakan enkripsi yang bagus, sehingga setiap orang dapat menyadap komunikasi "wireless" yang
terkirim. Sangat dianjurkan untuk menggunakan firewall untuk membatasi akses kedalam jaringan
komputer ke tingkat yang dibutuhkan. Firewall juga dapat menjadi titik terlemah[9], yang mana dapat
membuat perasaan aman [10]. Firewall harus mengizinkan arus data kedalam sebuah jaringan
komputer jika terdapat juga arus data keluar dari jaringan komputer tersebut melalui firewall dan ini
dapat menjadi titik terlemah. Fakta penting lainnya bahwa tidak semua serangan
dilancarkan melalui firewall [10].

Mengamankan Jaringan Komputer
Mengamankan jaringan komputer membutuhkan tiga tingkatan proses. Untuk mengamankan
jaringan komputer kita harus dapat melakukan pemetaan terhadap ancaman yang mungkin terjadi.
Prevention (pencegahan).
Kebanyakan dari ancaman akan dapat ditepis dengan mudah, walaupun keadaan yang benarbenar
100% aman belum tentu dapat dicapai. Akses yang tidak diinginkan kedalam jaringan komputer
dapat dicegah dengan memilih dan melakukan konfigurasi layanan (services) yang berjalan dengan
hati-hati.

Observation (observasi).
Ketika sebuah jaringan komputer sedang berjalan, dan sebuah akses yang tidak diinginkan
dicegah, maka proses perawatan dilakukan. Perawatan jaringan komputer harus termasuk melihat isi
log yang tidak normal yang dapat merujuk ke masalah keamanan yang tidak terpantau. System IDS
dapat digunakan sebagai bagian dari proses observasi tetapi menggunakan IDS seharusnya tidak
merujuk kepada ketidak-pedulian pada informasi log yang disediakan.

Response (respon).

Bila sesuatu yang tidak diinginkan terjadi dan keamanan suatu system telah berhasil disusupi,
maka personil perawatan harus segera mengambil tindakan. Tergantung pada proses produktifitas dan
masalah yang menyangkut dengan keamanan maka tindakan yang tepat harus segera dilaksanakan.
Bila sebuah proses sangat vital pengaruhnya kepada fungsi system dan apabila di-shutdown akan
menyebabkan lebih banyak kerugian daripada membiarkan system yang telah berhasil disusupi tetap
dibiarkan berjalan, maka harus dipertimbangkan untuk direncakan perawatan pada saat yang tepat [1].
Ini merupakan masalah yang sulit dikarenakan tidak seorangpun akan segera tahu apa yang menjadi
celah begitu system telah berhasil disusupi dari luar.

Victims/statistic (korban/statistik).
Keamanan jaringan komputer meliputi beberapa hal yang berbeda yang mempengaruhi
keamanan secara keseluruhan. Serangan keamanan jaringan komputer dan penggunaan yang salah
dan sebegai contoh adalah virus, serangan dari dalam jaringan komputer itu sendiri, pencurian
perangkat keras (hardware), penetrasi kedalam system, serangan "Denial of Service" (DoS), sabotase,
serangan "wireless" terhadap jaringan komputer, penggantian halaman depan situs (website
defacement), dan penggunaan yang salah terhadap aplikasi web. Statistik menunjukkan jumlah
penyusupan didalam area ini sudah cukup banyak berkurang dari tahun 2003 [24], tipe variasi dari
serangan, bagaimanapun juga, menyebabkan hampir setiap orang adalah sasaran yang menarik.

Masalah keamanan
Jaringan komputer moderen adalah entitas dari banyak komponen kecil. Disini akan dijelaskan
beberapa titik lemah dari komponen yang berbeda.

Weak protocols (protokol yang lemah).
Komunikasi jaringan komputer menggunakan protokol antara client dan server. Kebanyakan dari
protokol yang digunakan saat ini merupakan protocol yang telah digunakan beberapa dasawarsa
belakangan. Protokol lama ini, seperti File Transmission Protocol (FTP), TFTP ataupun telnet [11], tidak
didesain untuk menjadi benar-benar aman. Malahan faktanya kebanyakan dari protocol ini sudah
seharusnya digantikan dengan protokol yang jauh lebih aman, dikarenakan banyak titik rawan yang
dapat menyebabkan pengguna (user) yang tidak bertanggung jawab dapat melakukan eksploitasi.
Sebagai contoh, seseorang dengan mudah dapat mengawasi "traffic" dari telnet dan dapat mencari
tahu nama user dan password.

Software issue (masalah perangkat lunak).
Menjadi sesuatu yang mudah untuk melakukan eksploitasi celah pada perangkat lunak. Celah ini
biasanya tidak secara sengaja dibuat tapi kebanyakan semua orang mengalami kerugian dari
kelemahan seperti ini. Celah ini biasanya dibakukan bahwa apapun yang dijalankan oleh "root" pasti
mempunyai akses "root", yaitu kemampuan untuk melakukan segalanya didalam system tersebut.
Eksploitasi yang sebenarnya mengambil keuntungan dari lemahnya penanganan data yang tidak diduga
oleh pengguna, sebagai contoh, buffer overflow dari celah keamanan "format string" merupakan hal
yang biasa saat ini.
Eksploitasi terhadap celah tersebut akan menuju kepada situasi dimana hak akses pengguna akan
dapat dinaikkan ke tingkat akses yang lebih tinggi. Ini disebut juga dengan "rooting" sebuah "host"
dikarenakan penyerang biasanya membidik untuk mendapatkan hak akses "root" [2].

Buffer overflow.
"Buffer overflow" mempunyai arti sama dengan istilahnya. Programmer telah mengalokasikan
sekian besar memory untuk beberapa variabel spesifik. Bagaimanapun juga, dengan celah keamanan
ini, maka variabel ini dapat dipaksa menuliskan kedalam "stack" tanpa harus melakukan pengecekan
kembali bila panjang variabel tersebut diizinkan. Jika data yang berada didalam buffer ternyata lebih
panjang daripada yang diharapkan, maka kemungkinan akan melakukan penulisan kembali stack frame
dari "return address" sehingga alamat dari proses eksekusi program dapat dirubah.
Penulis "malicious code" biasanya akan akan melakukan eksploitasi terhadap penulisan kembali
"return address" dengan merubah "return address" kepada "shellcode" pilihan mereka sendiri untuk
melakukan pembatalan akses "shell" dengan menggunakan hak akses dari "user-id" dari program yang
tereksploitasi tersebut [12]. "Shellcode" ini tidak harus disertakan dalam program yang tereksploitasi,
tetapi biasanya dituliskan ke dalam bagian celah dari "buffer". Ini merupakan trik yang biasa digunakan
pada variabel
"environment" seperti ini.
"Buffer overflow" adalah masalah fundamental berdasarkan dari arsitektur komputasi modern.
Ruang untuk variabel dan kode itu sendiri tidak dapat dipisahkan kedalam blok yang berbeda didalam
"memory". Sebuah perubahan didalam arsitektur dapat dengan mudah menyelesaikan masalah ini, tapi
perubahan bukan sesuatu yang mudah untuk dilakukan dikarenakan arsitektur yang digunakan saat ini
sudah sangat banyak digunakan.

Format string.
Metode penyerangan "format string" merupakan sebuah metode penyerangan baru, ini
diumumkan kepada publik diakhir tahun 2000. Metode ini ditemukan oleh hacker 6 bulan sebelum
diumumkan kepada masyarakat luas. Secara fundamental celah ini mengingatkan kita akan miripnya
dengan celah "buffer overflow" [13].
Kecuali celah tersebut tercipta dikarenakan kemalasan (laziness), ketidakpedulian (ignorance),
atau programmer yang mempunyai skill pas-pasan. Celah "format string" biasanya disebabkan oleh
kurangnya "format string" seperti "%s" di beberapa bagian dari program yang menciptakan output,
sebagai contoh fungsi printf() di C/C++. Bila input diberikan dengan melewatkan "format string"
seperti "%d" dan "%s"kepada program maka dengan mudah melihat "stack dump" atau penggunaan
teknik seperti pada "buffer overflow".
Celah ini berdasarkan pada "truncated format string" dari "input". Ini merujuk kepada situasi
dimana secara external, data yang disuplai yang diinterpretasikan sebagai bagian dari "format string
argument" [13]. Dengan secara spesial membuat suatu input dapat menyebabkan program yang
bermasalah menunjukkan isi memory dan juga kontrol kepada eksekusi program dengan menuliskan
apa saja kepada lokasi pilihan sama seperti pada eksploitasi "overflow".

Hardware issue (masalah perangkat keras).
Biasanya perangkat keras tidak mempunyai masalah pada penyerangan yang terjadi. Perangkat
lunak yang dijalankan oleh perangkat keras dan kemungkinan kurangnya dokumentasi spesifikasi teknis
merupakan suatu titik lemah. Berikut ini merupakan contoh bagaimana perangkat keras mempunyai
masalah dengan keamanan.

web server

Server web dapat merujuk baik pada perangkat keras ataupun perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas yang terdapat pada suatu situs web dalam layanan ke pengguna dengan menggunakan aplikasi tertentu seperti peramban web.

Fungsi utama sebuah server web adalah untuk mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah ditentukan. Disebabkan sebuah halaman web dapat terdiri atas berkas teks, gambar, video, dan lainnya pemanfaatan server web berfungsi pula untuk mentransfer seluruh aspek pemberkasan dalam sebuah halaman web yang terkait; termasuk di dalamnya teks, gambar, video, atau lainnya.
Pengguna, biasanya melalui aplikasi pengguna seperti peramban web, meminta layanan atas berkas ataupun halaman web yang terdapat pada sebuah server web, kemudian server sebagai manajer layanan tersebut akan merespon balik dengan mengirimkan halaman dan berkas-berkas pendukung yang dibutuhkan, atau menolak permintaan tersebut jika halaman yang diminta tidak tersedia.
saat ini umumnya server web telah dilengkapi pula dengan mesin penerjemah bahasa skrip yang memungkinkan server web menyediakan layanan situs web dinamis dengan memanfaatkan pustaka tambahan seperti PHP, ASP.
Pemanfaatan server web saat ini tidak terbatas hanya untuk publikasi situs web dalam Waring Wera Wanua, pada prakteknya server web banyak pula digunakan dalam perangkat-perangkat keras lain seperti printer, router, kamera web yang menyediakan akses layanan http dalam jaringan lokal yang ditujukan untuk menyediakan perangkat manajemen serta mempermudah peninjauan atas perangkat keras tersebut.

Sejarah
Tahun 1989, Tim Berners-Lee mengajukan pada perusahaannya, CERN (European Organization for Nuclear Research) sebuah proyek yang bertujuan untuk mempermudah pertukaran informasi antar para peneliti dengan menggunakan sistem hiperteks. Sebagai hasil atas implementasi proyek ini, tahun 1990 Berners-Lee menulis dua program komputer:
  • sebuah peramban yang dinamainya sebagai WorldWideWeb;
  • server web pertama di dunia, yang kemudian dikenal sebagai CERN httpd, yang berjalan pada sistem operasi NeXTSTEP.
Dari tahun 1991 hingga 1994, kesederhanaan serta efektifitas atas teknologi yang digunakan untuk berkunjung serta bertukar data melalui Waring Wera Wanua membuat kedua aplikasi tersebut diadopsi pada sejumlah sistem operasi agar dapat digunakan oleh lebih banyak individu, ataupun kelompok. Awalnya adalah organisasi penelitian, kemudian berkembang dan digunakan di lingkungan pendidikan tinggi, dan akhirnya digunakan dalam industri bisnis.
Tahun 1994, Tim Berners-Lee memutuskan untuk membakukan organisasi World Wide Web Consortium (W3C) untuk mengatur pengembangan-pengembangan lanjut atas teknologi-teknologi terkait lainnya (HTTP, HTML, dan lain-lain) melalui proses standarisasi.