MASALAH KEAMANAN HARUS SELALU DIMONITOR :
·
Ditemukannya lubang keamanan (security hole) yang baru.
Perangkat lunak dan perangkat keras
biasanya sangat kompleks sehingga tidak mungkin untuk diuji seratus persen. Kadang-kadang 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
1. Salah Disain (design flaw)
·
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 :
· Lemah disainnya 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.
· Kesalahan disain urutan nomor (sequence numbering) dari paket TCP/IP. Kesalahan ini
dapat dieksploitasi sehingga timbul masalah yang dikenal dengan nama “IP
spoofing” (sebuah host memalsukan diri seolah-olah menjadi host lain dengan membuat paket
palsu setelah engamati urutan paket dari host yang hendak diserang).
2. Implementasi kurang baik
· Banyak program yang diimplementasikan secara
terburu-buru sehingga kurang cermat dalam pengkodean.
· Akibat tidak adanya cek atau testing implementasi suatu program yang baru dibuat.
· Contoh:
·
Tidak memperhatikan 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).
·
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.
3. Salah konfigurasi
Contoh :
· 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.
· 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
Contoh :
· Kesalahan menggunakan program yang dijalankan dengan menggunakan account root (super user) dapat berakibat fatal.
PENGUJI KEAMANAN SISTEM
Untuk memudahkan administrator dari sistem informasi membutuhkan “automated tools”, perangkat
pembantu otomatis, yang dapat membantu menguji atau meng-evaluasi
keamanan sistem yang dikelola.
Contoh Tools Terintegrasi:
|
Perangkat lunak bantu
|
Sistem Operasi
|
|
Cops
|
UNIX
|
|
Tripwire
|
UNIX
|
|
Satan/Saint
|
UNIX
|
|
SBScan: localhost security scanner
|
UNIX
|
|
|
Windows NT
|
|
Dan sebagainya… (cari sendiri!)
|
Contoh Tools Pengujian yang dibuat para hacker :
|
Tools
|
Kegunaan
|
|
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 diambil dari kamus,
dan kemudian membandingkan hasil enkripsi dengan password
yang ingin dipecahkan.
|
|
land dan latierra
|
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
|
|
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
|
|
Dan sebagainya… (cari sendiri!)
|
PROBING SERVICES
· Defenisi Probing : “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.
·
Servis di Internet umumnya dilakukan dengan menggunakan protokol TCP atau UDP.
Setiap servis dijalankan dengan menggunakan port yang berbeda, misalnya:
o SMTP, untuk mengirim dan menerima e-mail, TCP,
port 25
o POP3, untuk mengambil e-mail, TCP,
port 110
Contoh di atas hanya sebagian dari servis yang tersedia. Di system 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
·
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 dan port 110.
unix% telnet target.host.com 25 unix% telnet localhost 110
Program penguji probing (penguji semua port otomatis) :
Paket probe untuk sistem UNIX
• nmap
• strobe
• tcpprobe
Probe untuk sistem Window 95/98/NT
• NetLab
• Cyberkit
• Ogre
Program yang memonitor
adanya probing ke
system
Probing biasanya meninggalkan jejak di berkas log di system anda. Dengan mengamati entry di dalam
berkas log dapat diketahui adanya probing. Selain itu, ada juga program untuk memonitor probe
seperti paket program courtney, portsentry dan tcplogd.
OS FINGERPRINTING
· Fingerprinting : Analisa OS sistem yang ditujua agar dapat melihat database kelemahan sistem
yang dituju.
· Metode Fingerprinting :
· Cara yang paling konvensional :
o Service telnet ke server yang dituju, jika server tersebut kebetulan menyediakan servis telnet, seringkali ada banner yang menunjukkan nama OS beserta versinya.
o Service FTP di port 21.
Dengan melakukan telnet ke port tersebut dan memberikan
perintah “SYST” anda dapat mengetahui versi dari OS
yang digunakan.
o Melakukan finger ke Web server, dengan 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
dikeluarkan oleh server tersebut dapat dipersempit ruang jenis dari OS yang digunakan. Ada beberapa tools untuk melakukan deteksi OS ini antara lain:
o nmap
o queso