Rabu, 15 April 2009

Evaluasi Keamanan Sistem Informasi


Evaluasi Keamanan Sistem Informasi
Meski sebuah sistem informasi sudah dirancang memiliki perangkat pengamanan, dalam operasi masalah keamanan harus selalu dimonitor. Hal ini disebabkan oleh beberapa hal, antara lain:
• Ditemukannya lubang keamanan (security hole) yang baru. Perangkat lunak dan perangkat keras biasanya sangat kompleks sehingga tidak mungkin untuk diuji seratus persen. Kadangkadang ada lubang keamanan yang ditimbulkan oleh kecerobohan implementasi.
• Kesalahan konfigurasi. Kadang-kadang karena lalai atau alpa, konfigurasi sebuah sistem kurang benar sehingga menimbulkan lubang keamanan. Misalnya mode (permission atau kepemilikan) dari berkas yang menyimpan password (/etc/passwd di sistem UNIX) secara tidak sengaja diubah sehingga dapat diubah atau ditulis oleh orang-orang yang tidak berhak.
• Penambahan perangkat baru (hardware dan/atau software) yang menyebabkan menurunnya tingkat security atau berubahnya metoda untuk mengoperasikan sistem. Operator dan administrator harus belajar lagi. Dalam masa belajar ini banyak hal yang jauh dari sempurna, misalnya server atau software masih menggunakan konfigurasi awal dari vendor (dengan password yang sama).

Sumber lubang keamanan
Lubang keamanan (security hole) dapat terjadi karena beberapa hal; salah disain (design flaw), salah implementasi, salah konfigurasi, dan salah penggunaan. Lubang keamanan yang ditimbulkan oleh salah disain umumnya jarang terjadi. Akan tetapi apabila terjadi sangat sulit untuk diperbaiki. Misalnya, disain urutan nomor (sequence numbering) dari paket TCP/IP dapat dieksploitasi sehingga timbul masalah yang dikenal dengan nama “IP spoofing”, yaitu sebuah host memalsukan diri seolah-olah menjadi host lain dengan membuat paket palsu setelah mengamati urutan paket dari host yang hendak diserang. Contoh dan informasi yang lebih lengkap mengenai masalah protokol TCP/IP dapat dilihat pada referensi [1]. Lubang keamanan yang disebabkan oleh kesalahan implementasi sering terjadi. Banyak program yang diimplementasikan secara terburu-buru sehingga kurang cermat dalam pengkodean. Akibatnya cek atau testing yang harus dilakukan menjadi tidak dilakukan. Sebagai contoh seringkali batas (“bound”) dari sebuah “array” tidak dicek sehingga terjadi yang disebut out of bound yang dapat dieksploitasi (misalnya overwrite ke variable berikutnya). Contoh lain adalah kealpaan memfilter karakter-karakter yang aneh aneh yang dimasukkan sebagai input dari sebuah program sehingga sang program dapat mengakses berkas atau informasi yang semestinya tidak boleh diakses. Meskipun program sudah diimplementasikan dengan baik, masih dapat terjadi lubang keamanan karena salah konfigurasi. Contoh masalah yang disebabkan oleh salah konfigurasi adalah berkas yang semestinya tidak dapat diubah oleh pemakai secara tidak sengaja
menjadi “writeable”. Apabila berkas tersebut merupakan berkas yang penting, seperti berkas yang digunakan untuk menyimpan password, maka efeknya menjadi lubang keamanan. Kadangkala sebuah komputer dijual dengan konfigurasi yang sangat lemah. Ada masanya workstation Unix di perguruan tinggi didistribusikan dengan berkas /etc/aliases (berguna untuk mengarahkan e-mail), /etc/utmp (berguna untuk mencatat siapa saja yang sedang menggunakan sistem) yang dapat diubah oleh siapa saja. Contoh lain dari salah konfigurasi adalah adanya program yang secara tidak sengaja diset menjadi “setuid root” sehingga ketika dijalankan pemakai memiliki akses seperti super user (root) yang dapat melakukan apa saja. Salah penggunaan program dapat juga mengakibatkan terjadinya lubang keamanan. Kesalahan menggunakan program yang dijalankan dengan menggunakan account root (super user) dapat
berakibat fatal. Sering terjadi cerita horor dari sistem administrator baru yang teledor dalam menjalankan perintah “rm -rf” (yang menghapus berkas atau direktori beserta sub direktori di dalamnya). Akibatnya seluruh berkas di sistem menjadi hilang. Untuk itu perlu berhati-hati dalam menjalan program, terutama apabila dilakukan dengan menggunakan account administrator seperti root tersebut.

Penguji keamanan sistem
Dikarenakan banyaknya hal yang harus dimonitor, administrator dari sistem informasi membutuhkan “automated tools”, perangkat pembantu otomatis, yang dapat membantu menguji atau mengevaluasi keamanan sistem yang dikelola. Untuk sistem yang berbasis UNIX ada beberapa tools yang dapat digunakan, antara lain:
• Cops
• Tripwire
• Satan
Untuk sistem yang berbasis Windows NT ada juga program semacam, misalnya program Ballista yang dapat diperoleh dari:

Selain program-program (tools) yang terpadu (integrated) seperti yang terdapat pada daftar di atas, ada banyak program yang dibuat oleh hackers untuk melakukan “coba-coba”. Program-program seperti ini, yang cepat sekali bermunculuan, biasanya dapat diperoleh (download) dari Internet melalui tempat-tempat yang berhubungan dengan keamanan, seperti misalnya “Rootshell”. (Lihat “Sumber informasi dan organisasi yang berhubungan dengan keamanan sistem informasi” on page 54.) Contoh program cobacoba ini antara lain:
• crack: program untuk menduga atau memecahkan password dengan menggunakan sebuah kamus (dictionary).
• land: sebuah program yang dapat membuat sistem Windows 95/ NT menjadi macet (hang, lock up). Program ini mengirimkan sebuah paket yang sudah di”spoofed” sehingga seolah-olah paket
tersebut berasal dari mesin yang sama dengan menggunakan port yang terbuka (misalnya port 113 atau 139).
• ping-o-death: sebuah program (ping) yang dapat meng-crash-kan Windows 95/NT dan beberapa versi Unix.
• winuke: program untuk memacetkan sistem berbasis Windows

Probing Services
Servis di Internet umumnya dilakukan dengan menggunakan protokol TCP atau UDP. Setiap servis dijalankan dengan menggunakan port yang berbeda, misalnya:
• SMTP, untuk mengirim dan menerima e-mail, TCP, port 25
• POP3, untuk mengambil e-mail, TCP, port 110
Contoh di atas hanya sebagian dari servis yang tersedia. Di sistem UNIX, lihat berkas /etc/services dan /etc/inetd.conf untuk melihat servis apa saja yang dijalankan oleh server atau komputer yang bersangkutan. Pemilihan servis apa saja tergantung kepada kebutuhan dan tingkat keamanan yang diinginkan. Sayangnya seringkali sistem yang dibeli atau dirakit menjalankan beberapa servis utama sebagai “default”. Kadang-kadang beberapa servis harus dimatikan karena ada kemungkinan dapat dieksploitasi oleh cracker. Untuk itu ada beberapa program yang dapat digunakan untuk melakukan “probe” (meraba) servis apa saja yang tersedia. Program ini juga dapat digunakan oleh kriminal untuk melihat servis apa saja yang tersedia di sistem yang akan diserang dan berdasarkan data-data yang diperoleh dapat melancarkan serangan. Untuk beberapa servis yang berbasis TCP/IP, proses probe dapat dilakukan dengan menggunakan program telnet. Misalnya untuk melihat apakah ada servis e-mail dengan menggunakan SMTP digunakan telnet ke port 25. unix% telnet target.host.com 25 Trying 127.0.0.1... Connected to target.host.com. Escape character is '^]'. 220 dma-baru ESMTP Sendmail 8.9.0/8.8.5; Mon, 22 Jun 1998 10:18:54 +0700
Untuk servis lain, seperti POP atau POP3 dapat dilakukan dengan cara yang sama dengan menggunakan nomor “port” yang sesuai dengan servis yang diamati. unix% telnet localhost 110
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK QPOP (version 2.2) at dma-baru.paume.itb.ac.id starting. +<20651.898485542@dma-baru.paume.itb.ac.id>
quit +OK Pop server at dma-baru.paume.itb.ac.id signing off. Connection closed by foreign host.
Proses probing tersebut dapat dilakukan secara otomatis, sehinga menguji semua port yang ada, dengan menggunakan beberapa program paket seperti didaftarkan di bawah ini.
Paket probe untuk sistem UNIX
• strobe
• tcpprobe
Probe untuk sistem Window 95/98/NT
• NetLab
• Cyberkit
• Ogre

Penggunaan program penyerang
Salah satu cara untuk mengetahui kelemahan sistem informasi anda adalah dengan menyerang diri sendiri dengan paket-paket program penyerang (attack) yang dapat diperoleh di Internet.
* Internet Security Scanner (ISS) atau Security Analysis Tool for Auditing (SATAN)
program ini akan menginformasikan kelemahan dari sistem yang dituju dan dapat melakukan scanning seluruh domain atau sub network.
* TCP Wrapper untuk memonitor jaringan komputer
* Crack untuk melakukan testing password security.
* IP Scanner, IP Sniper, Network Analyzer DLL
Selain program penyerang yang sifatnya agresif melumpuhkan sistem yang dituju, ada juga program penyerang yang sifatnya melakukan pencurian atau penyadapan data. Untuk penyadapan data, biasanya dikenal dengan istilah “sniffer”.
Contoh program penyadap (sniffer) antara lain:
• pcapture (Unix)
• sniffit (Unix)
• tcpdump (Unix)
• WebXRay (Windows)

Penggunaan sistem pemantau jaringan
Network monitoring biasanya dilakukan dengan menggunakan protokol SNMP (Simple Network Management Protocol).
Contoh-contoh program network monitoring / management
antara lain:
• Etherboy (Windows), Etherman (Unix)
• HP Openview (Windows)
• Packetboy (Windows), Packetman (Unix)
• SNMP Collector (Windows)
• Webboy (Windows)
Contoh program pemantau jaringan yang tidak Menggunakan SNMP antara lain:
• iplog, icmplog, updlog, yang merupakan bagian dari paket iplog untuk memantau paket IP,
ICMP, UDP.
• iptraf, sudah termasuk dalam paket Linux Debian netdiag
• netwatch, sudah termasuk dalam paket Linux Debian netdiag
• ntop, memantau jaringan seperti program top yang memantau proses di sistem Unix
• trafshow, menunjukkan traffic antar hosts dalam bentuk text-mode

Pemantau adanya serangan
Sistem pemantau (monitoring system) digunakan untuk mengetahui adanya tamu tak diundang (intruder) atau adanya serangan (attack). Nama lain dari sistem ini adalah “intruder detection system” (IDS). Sistem ini dapat memberitahu administrator melalui e-mail maupun melalui mekanisme lain seperti melalui pager. Contoh software IDS antara lain:
• Autobuse, mendeteksi probing dengan memonitor logfile.
• Courtney dan portsentry, mendeteksi probing (port scanning)
dengan memonitor packet yang lalu lalang. Portsentry bahkan dapat memasukkan IP penyerang dalam filter tcpwrapper (langsung dimasukkan kedalam berkas /etc/hosts.deny)
• Shadow dari SANS
• Snort, mendeteksi pola (pattern) pada paket yang lewat dan mengirimkan alert jika pola tersebut terdeteksi.

Honeypot
* Merupakan sebuah sistem yang digunakan untuk memancing dan memantau hacker
* Berupa kumpulan software (server) yang seolah-olah merupakan server yang hidup dan memberi layanan tertentu
* SMTP yang memantau asal koneksi dan aktivitas penyerang (misalnya penyerang berniat menggunakan server tersebut sebagai mail relay)
* Beberapa honeypot digabungkan menjadi honeynet

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda