Pada kesempatan
ini saya akan membahas tentang Sumber
Lubang Keamanan Sistem Informasi, poshting ini merupakan kelanjutan dari poshting sebelumnya yang membahas
tentang Klasifikasi Kejahatan Komputer.
Lubang keamanan
(security hole) dapat
terjadi karena beberapa hal; salah disain (design flaw), salah
implementasi, salah konfigurasi, dan salah penggunaan.
1. Salah Disain
Lubang keamanan yang ditimbulkan oleh salah disain umumnya jarang terjadi. Akan tetapi apabila terjadi sangat sulit untuk diperbaiki. Akibat disain yang salah, maka biarpun dia diimplementasikan dengan baik, kelemahan dari sistem akan tetap ada.
Contoh
sistem yang lemah disainnya adalah algoritma enkripsi ROT13 atau Caesar cipher,
dimana karakter digeser 13 huruf atau 3 huruf. Meskipun diimplementasikan
dengan programming yang sangat teliti, siapapun yang mengetahui algoritmanya
dapat memecahkan enkripsi tersebut.
Contoh
lain lubang keamanan yang dapat
dikategorikan kedalam kesalahan disain adalah disain urutan nomor (sequence
numbering) dari paket TCP/IP. Kesalahan ini 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. Bahkan dengan
mengamati cara mengurutkan nomor packet bisa dikenali sistem yang digunakan.
Mekanisme
ini digunakan 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 dilihat pada referensi.
2. Implementasi
kurang baik
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 array atau buffer overflow yang dapat
dieksploitasi (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
disebabkan oleh kurang baiknya implementasi adalah kealpaan memfilter
karakter-karakter yang aneh-aneh yang dimasukkan sebagai input dari sebuah
program (misalnya input dari CGI-script2) sehingga sang program dapat
mengakses berkas atau informasi yang semestinya tidak boleh diakses.
3. Salah
konfigurasi
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 email), /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.
4. Salah
menggunakan program atau sistem
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” di sistem UNIX (yang menghapus berkas atau
direktori beserta sub direktori di dalamnya). Akibatnya seluruh berkas di
sistem menjadi hilang mengakibatkan Denial of Service (DoS). Apabila
sistem yang digunakan ini digunakan bersama-sama, maka akibatnya dapat lebih
fatal lagi. Untuk itu perlu berhati-hati dalam menjalan program, terutama
apabila dilakukan 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 direktori dengan
memberikan perintah “dir *.*” ternyata salah memberikan perintah menjadi “del
*.*” (yang juga menghapus seluruh file di direktori
tersebut).
Semoga bermanfaat..
» JANGAN LUPA LIKE N
Komentarnya Yeach...
Tidak ada komentar:
Posting Komentar