Muhammad Aditya Rahman
3IA22 / 54412843 / SKK
Evaluasi Keamanan Sistem Informasi
Apabila anda telah memiliki sebuah sistem informasi, pada materi ini
akan membantu anda untuk mengevaluasi keamanan sistem informasi yang
anda miliki. Meski sebuah sistem informasi sudah di rancang memiliki
perangkat pengamanan dalam operasi masalah keamanan harus selalu di
monitor. Hal ini di sebabkan oleh beberapa hal antara lain :
- Di temukannya lubang keamanan (security hole) yang baru. Perangkat lunak dan perangkat keras biasanya sangat kompleks sehingga tidak mungkin untuk di uji seratus persen. Kadang-kadang ada lubang keamanan yang di timbulkan 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 di rubah sehingga dapat di rubah atau di tulis 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. Salah disain lubang keamanan yang di timbulkan oleh
salah disain umumnya jarang terjadi. Akan tetapi apabila terjadi sangat
sulit untuk di perbaiki. Akibat disain yang salah, maka biarpun dia di
implementasikan dengan baik, kelemahan dari sistem akan tetap ada dan
akan sulit di perbaiki. Contoh sistem yang lemah disainnya adalah
algoritma enkripsi ROT13 atau Caesar cipher, dimana karakter digeser 13
huruf atau 3 huruf. Meskipun di implementasikan dengan programming yang
sangat teliti, siapapun yang mengetahui algoritmanya dapat memecahkan
enkripsi tersebut. Contoh lain lubang keamanan yang dapat di kategorikan
kedalam kesalahan disain adalah disain urutan nomor (Sequence
Numbering) dari paket TCP/IP. Kesalahan ini dapat di eksploitasi
sehingga timbul masalah yang di kenal 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 di
serang. Bahkan dengan mengamati cara mengurutkan nomor packet bisa di
kenali sistem yang di gunakan. Mekanisme ini di gunakan oleh program
nmap dan queso untuk mendeteksi operating system (OS) dari sebuah
sistem, yang disebut fingerprinting. Contoh dan informasi yang lebih
lengkap mengenai masalah kelemahan protokol TCP/IP dapat di lihat pada
referensi.
Implementasi Kurang Baik
Lubang keamanan yang disebabkan oleh kesalahan implementasi sering
terjadi. Banyak program yang di implementasikan secara terburu-buru
sehingga kurang cermat dalam pengkodean. Akibatnya cek atau testing yang
harus di lakukan menjadi tidak di lakukan. Sebagai contoh, seringkali
batas “Bound” dari sebuah “Array” tidak dicek sehingga terjadi yang
disebut out-of-bound array atau buffer overflow yang dapat di
eksploitasi misalnya overwrite ke variable berikutnya. Lubang keamanan
yang terjadi karena masalah ini sudah sangat banyak dan yang
mengherankan terus terjadi, seolah-olah para programmer tidak belajar
dari pengalaman. Contoh lain sumber lubang keamanan yang di sebabkan
oleh kurang baiknya implementasi adalah kealpaan memfilter
karakter-karakter yang aneh-aneh yang di masukkan sebagai input dari
sebuah program misalnya input dari CGI-script2 sehingga sang program
dapat mengakses berkas atau informasi yang semestinya tidak boleh di
akses.
Salah Konfigurasi
Meskipun program sudah di implementasikan dengan baik, masih dapat
terjadi lubang keamanan karena salah konfigurasi. Contoh masalah yang di
sebabkan 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 di gunakan untuk menyimpan password, maka efeknya menjadi lubang
keamanan. Kadangkala sebuah komputer dijual dengan konfigurasi yang
sangat lemah. Ada masanya workstation Unix di perguruan tinggi di
distribusikan dengan berkas /etc/aliases (berguna untuk mengarahkan
email) /etc/utmp berguna untuk mencatat siapa saja yang sedang
menggunakan sistem yang dapat di rubah oleh siapa saja. Contoh lain dari
salah konfigurasi adalah adanya program yang secara tidak sengaja diset
menjadi “setuid root” sehingga ketika di jalankan pemakai memiliki
akses seperti super user “Root” yang dapat melakukan apa saja. Salah
menggunakan program atau sistem. Salah penggunaan program dapat juga
mengakibatkan terjadinya lubang keamanan. Kesalahan menggunakan program
yang di jalankan dengan menggunakan account root “Super User” dapat
berakibat fatal. Sering terjadi cerita horor dari sistem administrator
baru yang teledor dalam menjalankan perintah “Rm -Rf” di sistem UNIX
yang menghapus berkas atau di rektori beserta sub di rektori di
dalamnya. Akibatnya seluruh berkas di sistem menjadi hilang
mengakibatkan Denial of Service (DoS). Apabila sistem yang di gunakan
ini di gunakan bersama-sama maka akibatnya dapat lebih fatal lagi. Untuk
itu perlu berhati-hati dalam menjalan program, terutama apabila di
lakukan dengan menggunakan account administrator seperti root tersebut.
Kesalahan yang sama juga sering terjadi di sistem yang berbasis MS-DOS.
Karena sudah mengantuk, misalnya, ingin melihat daftar berkas di sebuah
di rektori dengan memberikan perintah “dir *.*” ternyata salah
memberikan perintah menjadi “del *.*” yang juga menghapus seluruh file
di di rektori tersebut.
Penguji Keamanan Sistem
Di karenakan banyaknya hal yang harus di monitor, administrator dari
sistem informasi membutuhkan “Automated Tools”, perangkat pembantu
otomatis, yang dapat membantu menguji atau mengevaluasi keamanan sistem
yang di kelola. Untuk sistem yang berbasis UNIX ada beberapa tools yang
dapat di gunakan, antara lain :
- Cops.
- Tripwire.
- Satan/Saint.
- SBScan : localhost security scanner.
Untuk sistem yang berbasis Windows NT ada juga program semacam, misalnya program Ballista <http://www.secnet.com>
yang dapat di peroleh dari : selain program-program “Tools” yang
terpadu “integrated” seperti yang terdapat pada daftar di atas, ada
banyak program yang di buat oleh hackers untuk melakukan “Coba-Coba”.
Program-program seperti ini, yang cepat sekali bermunculuan, biasanya
dapat di peroleh “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 153.) Contoh program ini antara lain :
- Crack : program untuk menduga atau memecahkan password dengan menggunakan sebuah atau beberapa kamus (dictionary). Program crack ini melakukan brute force cracking dengan mencoba mengenkripsikan sebuah kata yang di ambil dari kamus dan kemudian membandingkan hasil enkripsi dengan password yang ingin di pecahkan. Bila belum sesuai, maka ia akan mengambil kata selanjutnya, mengenkripsikan dan membandingkan kembali. Hal ini di jalankan terus menerus sampai semua kata di kamus di coba. Selain menggunakan kata langsung dari kamus, crack juga memiliki program heuristic dimana bolak balik kata dan beberapa modifikasi lain juga di coba. Jadi, jangan sekali-kali menggunakan password yang terdapat dalam kamus (bahasa apapun).
- Land dan latierra : 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 di lakukan dengan menggunakan protokol TCP
atau UDP. Setiap servis di jalankan dengan menggunakan port yang
berbeda, misalnya :
- SMTP, untuk mengirim dan menerima e-mail, TCP, port 25.
- DNS, untuk domain, UDP dan TCP, port 53.
- HTTP, web server, TCP, port 80.
- POP3, untuk mengambil e-mail, TCP, port 110
Untuk beberapa servis yang berbasis TCP/IP, proses probe dapat di
lakukan dengan menggunakan program telnet. Paket probe untuk sistem
UNIX : nmap , strobe, tcpprobe. Probe untuk sistem Window 95/98/NT :
NetLab, Cyberkit, Ogre. 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 di jalankan oleh server atau
komputer yang bersangkutan. Berkas /etc/services berisi daftar servis
dan portnya, sementara berkas /etc/inetd.conf
berisi servis-servis yang di jalan di server UNIX tersebut. Jadi tidak
semua servis dijalankan, hanya servis yang dibuka di/etc/inetd.conf saja yang di jalankan. Selain itu ada juga servis yang di jalankan tidak melalui inetd.conf melainkan di jalankan sebagai daemon yang berjalan di belakang layar.
Pemilihan servis apa saja tergantung kepada kebutuhan dan tingkat
keamanan yang di inginkan. Sayangnya seringkali sistem yang di beli atau
di rakit menjalankan beberapa servis utama sebagai “default”.
Kadang-kadang beberapa servis harus di matikan karena ada kemungkinan
dapat di eksploitasi oleh cracker. Untuk itu ada beberapa program yang
dapat di gunakan untuk melakukan “Probe” (meraba) servis apa saja yang
tersedia. Program ini juga dapat di gunakan oleh kriminal untuk melihat
servis apa saja yang tersedia di sistem yang akan diserang dan
berdasarkan data-data yang di peroleh dapat melancarkan serangan. Untuk
beberapa servis yang berbasis TCP/IP, proses probe dapat di lakukan
dengan menggunakan program telnet. Misalnya untuk melihat apakah ada
servis e-mail dengan menggunakan SMTP di gunakan telnet ke port 25.
220 dma-baru ESMTP Sendmail 8.9.0/8.8.5; Mon, 22 Jun 1998 10:18:54
+0700. Dalam contoh di atas terlihat bahwa ada servis SMTP di server
tersebut dengan menggunakan program Sendmail versi 8.9.0. Adanya
informasi tentang sistem yang di gunakan ini sebetulnya sangat tidak di
sarankan karena dengan mudah orang dapat mengetahui kebocoran sistem
(jika software dengan versi tersebut memiliki lubang keamanan). Untuk
servis lain, seperti POP atau POP3 dapat di lakukan dengan cara yang
sama dengan menggunakan nomor “Port” yang sesuai dengan servis yang di
amati.
Mendeteksi Probling
Untuk mendeteksi adanya probing ke sistem informasi dapat di pasang
suatu program yang memonitornya. Probing biasanya meninggalkan jejak di
berkas log di sistem. Dengan mengamati entry di dalam berkas log dapat
di ketahui adanya probing. Contoh di atas menunjukkan entry di berkas
syslog dimana terjadi probing dari komputer yang di beri nama notebook
dengan nomor IP 192.168.1.4. Selain itu, ada juga program untuk
memonitor probe seperti paket program courtney, portsentry dan tcplogd.
OS fingerprinting
Mengetahui operating system (OS) dari target yang akan di serang
merupakan salah satu pekerjaan yang di lakukan oleh seorang cracker.
Setelah mengetahui OS yang di tuju, dia dapat melihat database kelemahan
sistem yang di tuju. Fingerprinting merupakan istilah yang umum di
gunakan untuk menganalisa OS sistem yang di tuju. Fingerprinting dapat
di lakukan dengan berbagai cara. Cara yang paling konvensional :
- Melakukan telnet ke server yang di tuju.
- Servis FTP. Servis FTP tersedia di port 21. Dengan melakukan telnet ke port tersebut dan memberikan perintah “SYST” anda dapat mengetahui versi dari OS yang di gunakan.
- Menggunakan program netcat (nc).
Cara fingerprinting yang lebih canggih adalah dengan menganalisa
respon sistem terhadap permintaan (request) tertentu. Misalnya dengan
menganalisa nomor urut packet TCP/IP yang di keluarkan oleh server
tersebut dapat di persempit ruang jenis dari OS yang di gunakan. Ada
beberapa tools untuk melakukan deteksi OS ini antara lain :
- Nmap.
- Queso.
Berikut ini adalah contoh penggunaan program queso untuk mendeteksi
OS dari sistem yang menggunakan nomor IP 192.168.1.1. Kebetulan sistem
ini adalah sistem Windows 95.
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 di peroleh di Internet. Dengan menggunakan
program ini anda dapat mengetahui apakah sistem anda rentan dan dapat
di eksploitasi oleh orang lain. Perlu di ingat bahwa jangan menggunakan
program-program tersebut untuk menyerang sistem lain (sistem yang tidak
anda kelola). Ini tidak etis dan anda dapat di seret ke pengadilan.
Beberapa program penyerangan di contohkan di materi “Eksploitasi
Keamananan” :
- Internet Security Scanner (ISS) atau Security Analysis Tool for Auditing (SATAN). program ini akan menginformasikan kelemahan dari sistem yang di tuju 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 di tuju, ada juga program penyerang yang sifatnya melakukan
pencurian atau penyadapan data. Untuk penyadapan data, biasanya di kenal
dengan istilah “Sniffer”. Meskipun data tidak di curi secara fisik
(dalam artian menjadi hilang), sniffer ini sangat berbahaya karena dia
dapat di gunakan untuk menyadap password dan informasi yang sensitif.
Ini merupakan serangan terhadap aspek privacy. Contoh program penyadap
(sniffer) antara lain :
- Pcapture (Unix).
- Sniffit (Unix).
- Tcpdump (Unix).
- WebXRay (Windows)
https://velusgemini.wordpress.com/2011/11/13/evaluasi-keamanan-sistem-informasi/
http://wikipedia.org
No comments:
Post a Comment