Halaman

Arsip Blog

Powered By Blogger

Kamis, 07 Juli 2011

Keamanan Jaringan Komputer

Keamanan Jaringan Komputer
Keamanan jaringan komputer sendiri sering dipandang sebagai hasil dari beberapa faktor. Faktor ini bervariasi tergantung pada bahan dasar, tetapi secara normal terdiri dari beberapa hal di bawah ini :
• Confidentiality (kerahasiaan).
• Integrity (integritas).
• Availability (ketersediaan).
Keamanan klasik penting ini tidak cukup untuk mencakup semua aspek dari keamanan jaringan komputer pada masa sekarang. Hal-hal tersebut dapat dikombinasikan lagi oleh beberapa hal penting lainnya yang dapat membuat keamanan jaringan komputer dapat ditingkatkan lagi dengan mengikut sertakan hal di bawah ini:
• Nonrepudiation.
• Authenticity.
• Possession.
• Utility.
Availability (ketersediaan).
Ketersediaan data atau layanan dapat dengan mudah dipantau oleh pengguna dari sebuah layanan, sehingga untuk semua aktifitas jaringan, ketersediaan data sangat penting untuk sebuah system agar dapat terus berjalan dengan benar.
Confidentiality (kerahasiaan).
Pada umumnya kerahasiaan data dapat ditingkatkan dan didalam beberapa kasus pengengkripsian data atau menggunakan VPN. 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.
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). 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. 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.
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 benar-benar 100% aman belum tentu dapat dicapai. Akses yang tidak diinginkan kedalam jaringan computer 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. 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.
Masalah keamanan
Jaringan komputer modern 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, 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”.
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. “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 variable “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”. 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 situasidimana secara external, data yang disuplai yang diinterpretasikan sebagai bagian dari “format string argument”. 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. Perangkatlunak 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.
Misconfiguration (konfigurasi yang salah).
Kesalahan konfigurasi pada server dan perangkat keras (hardware) sangat sering membuat para penyusup dapat masuk kedalam suatu system dengan mudah. Sebagai contoh, penggantian halaman depan suatu situs dikarenakan kesalahan konfigurasi pada perangkat lunak “www-server” atapun modulnya. Konfigurasi yang tidak hati-hati dapat menyebabkan usaha penyusupan menjadi jauh lebih mudah terlebih jika ada pilihan lain yang dapat diambil oleh para penyusup.
Sebagai contoh, sebuah server yang menjalankan beberapa layanan SSH dapat dengan mudah disusupi apabila mengijinkan penggunaan protokol versi 1 atau “remote root login” (RLOGIN) diizinkan. Kesalahan konfigurasi yang jelas ini menyebabkan terbukanya celah keamanan dengan penggunaan protokol versi 1, seperti “buffer overflow” yang dapat menyebabkan penyusup dapat mengambil hak akses “root” ataupun juga dengan menggunakan metode “brute-force password” untuk dapat menebak
password “root”.
DoS, DDoS.
Serangan Denial of Service adalah serangan yang mengakibatkan setiap korbannya akan berhenti merespon atau “bertingkah” tidak lazim. Contoh serangan klasik “DoS” adalah “Ping of Death” dan “Syn Flood” yang untungnya sudah hampir tidak dapat dijumpai pada saat sekarang. Biasanya serangan DoS menyerang celah yang terdapat pada layanan system atau pada protokol jaringan kerja untuk menyebabkan layanan tidak dapat digunakan. Tehnik yang lainnya adalah menyebabkan system korban “tersedak” dikarenakan banyaknya paket yang diterima yang harus diproses melebihi kemampuan dari system itu sendiri atau menyebabkan terjadinya “bottleneck” pada bandwidth yang dipakai oleh system.
Serangan “Distributed Denial of Service” (DDoS) merupakan tipe serangan yang lebih terorganisasi. Jenis serangan ini biasanya membutuhkan persiapan dan juga taktik untuk dapat menjatuhkan korbannya dengan cepat dan sebelumnya biasanya para penyerang akan mencari system kecil yang dapat dikuasai dan setelah mendapat banyak system kecil maka penyerang akan menyerang system yang besar dengan menjalankan ribuan bahkan puluhan ribu system kecil secara bersamaan untuk menjatuhkan sebuah system yang besar.
Worm “MyDoom” yang terkenal itu dibuat untuk melancarkan serangan besar-besaran dari puluhan ribu system yang terinfeksi untuk menyerang situs www.sco.com. Serangan itu sukses besar yang menyebabkan www.sco.com harus dipindahkan dari DNS untuk dapat menjalankan kembali layanan.
Viruses (virus).
Salah satu definisi dari program virus adalah menyisipkan dirinya kepada objek lain seperti file executable dan beberapa jenis dokumen yang banyak dipakai orang. Selain kemampuan untuk mereplikasi dirinya sendiri, virus dapat menyimpan dan menjalankan sebuah tugas spesifik. Tugas tersebut bisa bersifat menghancurkan atau sekedar menampilkan sesuatu ke layar monitor korban dan bisa saja bertugas untuk mencari suatu jenis file untuk dikirimkan secara acak ke internet bahkan dapat melakukan format pada hard disk korban.
Virus yang tersebar di internet yang belum dikenali tidak akan dapat ditangkap oleh program antivirus ataupun semacamnya yang meskipun korban telah terjangkiti tetapi tidak mengetahuinya. Perangkat lunak antivirus biasanya mengenali virus atau calon virus melalui tanda yang spesifik yang terdapat pada bagian inti virus itu sendiri. Beberapa virus menggunakan tehnik polymorphic agar luput terdeteksi oleh antivirus.
Kebiasaan virus polymorphic adalah merubah dirinya pada setiap infeksi yang terjadi yang menyebabkan pendeteksian menjadi jauh lebih sulit [18]. Praktisnya setiap platform computer mempunyai virus masing-masing dan ada beberapa virus yang mempunyai kemampuan menjangkiti beberapa platform yang berbeda (multi-platform). Virus multi-platform biasanya menyerang executable ataupun dokumen pada Windows dikarenakan kepopuleran oleh system operasi Microsoft Windows dan Microsoft Office sehingga banyak ditemukan virus yang bertujuan untuk menghancurkan “kerajaan” Microsoft Corp.
Worms.
Sebuah “worm” komputer merupakan program yang menyebar sendiri dengan cara mengirimkan dirinya sendiri ke system yang lainnya. Worm tidak akan menyisipkan dirinya kepada objek lain. Pada saat sekarang banyak terjadi penyebaran worm dikarenakan para pengguna komputer tidak melakukan update pada perangkat lunak yang mereka gunakan, yang dimana ini berarti, sebagai contoh, Outlook Express mempunyai fungsi yang dapat mengizinkan eksekusi pada file sisipan (attachment) e-mail tanpa campur tangan dari pengguna komputer itu sendiri.
Trojan horse.
Trojan horse adalah program yang berpura-pura tidak berbahaya tetapi sebenarnya mereka sesuatu yang lain. Salah fungsi yang biasa terdapat pada “trojan horse” adalah melakukan instalasi “backdoor” sehingga si pembuat program dapat menyusup kedalam komputer atau system korban.
junk mail (surat sampah).
“junk mail” sesungguhnya bukan suatu ancaman keamanan yang serius, tetapi dengan penyebaran virus dan worm melalui e-mail, maka jumlah junk mail juga ikut bertambah. Ancaman keamanan sesungguhnya bukan dari e-mail sampah itu sendiri melainkan file sisipannya (attachment) yang patut diwaspadai dikarenakan penyebaran virus dan worm menggunakan metode ini.
Time bomb (bom waktu).
“Time bomb” adalah program yang mempunyai tugas tetapi dengan waktu tertentu baru akan menjalankan tugasnya. Beberapa jenis virus dan worm juga mempunyai kesamaan fungsi dengan aplikasi ini. Time bomb berbeda dengan virus ataupun worm dikarenakan dia tidak melakukan replikasi terhadap dirinya tetapi melakukan instalasi sendiri kedalam system.
Different Types of Attacking (jenis-jenis serangan)
Scanning.
“Scanning” adalah metode bagaimana caranya mendapatkan informasi sebanyak-banyaknya dari IP/Network korban. Biasanya “scanning” dijalankan secara otomatis mengingat “scanning” pada “multiple-host” sangat menyita waktu. “Hackers” biasanya mengumpulkan informasi dari hasil “scanning” ini. Dengan mengumpulkan informasi yang dibutuhkan maka “hackers” dapat menyiapkan serangan yang akan dilancarkannya.
Nmap merupakan sebuah network scanner yang banyak digunakan oleh para professional di bidang network security, walaupun ada tool yang khusus dibuat untuk tujuan hacking, tapi belum dapat mengalahkan kepopuleran nmap. Nessus juga merupakan network scanner tapi juga akan melaporkan apabila terdapat celah keamanan pada target yang diperiksanya. Hacker biasanya menggunakan Nessus untuk pengumpulan informasi sebelum benar-benar meluncurkan serangan. Untungnya beberapa scanner meninggalkan “jejak” yang unik yang memungkinkan para System administrator untuk mengetahui bahwa system mereka telah di-scanning sehingga mereka bisa segera membaca artikel terbaru yang berhubungan dengan informasi log.
Password cracking.
“Brute-force” adalah sebuah tehnik dimana akan dicobakan semua kemungkinan kata kunci (password) untuk bisa ditebak untuk bisa mengakses kedalam sebuah system. Membongkar kata kunci dengan tehnik ini sangat lambat tapi efisien, semua kata kunci dapat ditebak asalkan waktu tersedia. Untuk membalikkan “hash” pada kata kunci merupakan suatu yang hal yang mustahil, tapi ada beberapa cara untuk membongkar kata kunci tersebut walaupun tingkat keberhasilannya tergantung dari kuat lemahnya pemilihan kata kunci oleh pengguna. Bila seseorang dapat mengambil data “hash” yang menyimpan kata kunci maka cara yang lumayan efisien untuk dipakai adalah dengan menggunakan metode “dictionary attack” yang dapat dilakukan oleh utility John The Ripper. Masih terdapat beberapa cara lainnya seperti “hash look-up table” tapi sangat menyita “resources” dan waktu.
Rootkit.
“Rootkit” adalah alat untuk menghilangkan jejak apabila telah dilakukan penyusupan. Rootkit biasanya mengikutkan beberapa tool yang dipakai oleh system dengan sudah dimodifikasi sehingga dapat menutupi jejak. Sebagai contoh, memodifikasi “PS” di linux atau unix sehingga tidak dapat melihat background process yang berjalan.
Defending (bertahan)
Firewall.
Komputer dan jaringan kerja yang terhubung dengan internet perlu untuk dilindungi dari serangan. Firewall adalah cara yang lumayan efeltif untuk melakukannya. Secara umum firewall akan memisahkan public network dan private network. Tipe firewall dapat dibagi menjadi beberapa kategori, contohnya: Packet Filtering Firewall, “Proxy Firewall”.
Logs.
Seorang system administrator wajib untuk melihat log dari system dari waktu ke waktu. Dengan melihat log maka system administrator dapat melihat aktifitas yang terjadi dan kemungkinan besar dapat melakukan antisipasi apabila terlihat beberapa aktifitas yang mencurigakan terjadi.
IDS. (Intrusion Detection System)
Satu cara umum melakukan otomatisasi pada pengawasan penyusupan adalah dengan menggunakan IDS. IDS akan mendeteksi jenis serangan dari “signature” atau “pattern” pada aktifitas jaringan. Bahkan dapat melakukan blokade terhadap traffic yang mencurigakan.
Honeypot.
“HoneyPot” adalah server “umpan” yang merupakan pengalih perhatian. Tujuan dari honeypot adalah mereka tidak menjalankan layanan sebagaimana umumnya server tetapi berpura-pura menjalankannya sehingga membiarkan para penyusup untuk berpikir bahwa mereka benar-benar adalah “server” yang sesungguhnya. Honeypot juga bermanfaat untuk melihat tehnik yang digunakan oleh para penyusup untuk dapat masuk kedalam system juga sebagai alat untuk mengumpulkan bukti sehingga para penyusup dapat diproses secara hukum.
Configuration.
Seperti yang telah dibahas sebelumnya, konfigurasi yang hati-hati akan membantu anda untuk bertahan terhadap kemungkinan serangan yang terjadi. Kebanyakan dari kasus penggantian halaman muka situs (web defacement) terjadi dikarenakan kesalahan konfigurasi sehingga menyebabkan pihak ketiga dapat mengambil keuntungan dari kesalahan ini.

Tidak ada komentar:

Posting Komentar