Evaluasi Keamanan Sistem Informasi

advertisement
Evaluasi Keamanan Sistem
Informasi
Muhammad Zidny Naf’an
Pentingnya Evaluasi Berkala
• Lubang keamanan diketemukan hampir setiap
hari. (Lihat situs web tentang security seperti
securityfocus.com, securiteam.com)
• Kesalahan konfigurasi bisa terjadi.
• Penambahan perangkat baru yang mengubah
konfigurasi yang sudah ada.
Meski sebuah sistem informasi sudah dirancang
memiliki perangkat pengamanan, dalam operasi
masalah keamanan harus selalu dimonitor. Hal
ini disebabkan oleh beberapa hal, antara lain:
1. Ditemukannya lubang keamanan (security
hole) yang baru
2. Kesalahan konfigurasi
3. Penambahan perangkat baru (hardware
dan/atau software)
Letak potensi lubang keamanan
Network
sniffed,
attacked
ISP
Holes
1.
2.
3.
Internet
Network
sniffed, attacked
Users
System (OS)
Network
Applications (db)
Network
sniffed,
attacked
Web Site
Trojan horse
Userid, Password,
PIN, credit card #
www.bank.co.id
- Applications
(database,
Web server)
hacked
-OS hacked
Sumber Lubang Keamanan
1.
2.
3.
4.
Salah Disain
Implementasi kurang baik
Salah konfigurasi
Salah menggunakan program atau sistem
Sumber Lubang Keamanan
1. Disain kurang baik
– Jaringan yang terbuka (shared net)
– TCP/IP sequence numbering yang dapat ditebak
– IPv4 memungkinkan spoofing (memalsukan paket)
– Algoritma enkripsi yang lemah
Misal: Caesar cipher (geser 3 huruf)
Sumber Lubang Keamanan
2. Implementasi kurang baik
– Implementasi terburu-buru
– Bad programming, out-of-bound array
– sloppy programming
– Contoh implementasi program dengan
char userid [40];
char password [40];
Apa yang terjadi jika userid dimasukkan 100 karakter?
Bagaimana jika 2000 karakter? 2 juta karakter?
Sumber Lubang Keamanan
3. Kesalahan konfigurasi
– Berkas yang esensial menjadi writeable for all.
Contoh: berkas password, mail aliases, log
– Default account (guest) masih aktif
– False sense of security
4. Kesalahan menggunakan program
– UNIX# rm -rf /
– DOS> del *.*
Cara melakukan evaluasi
• Evaluasi dapat dilakukan secara
– Manual (melelahkan)
– Otomatis (meggunakan tools)
Evaluasi Secara Manual
• Melihat servis yang diberikan oleh sebuah server
• Servis diberikan melalui TCP atau UDP dengan
port tertentu.
– 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
• Menguji SMTP secara manual
telnet localhost 25
Probe secara otomatis
• Proses probing secara otomatis
• UNIX:
– nmap, strobe, tcpprobe
• Windows
– SuperScan,
• Deteksi melalui
– Unix: Courtney, Portsentry
– Windows: attacker
Tampilan Superscan
Vulnerability Mapping
• Automated tools berbasis informasi tentang security
hole (vulnerability mapping)
– Crack, viper: memecahkan password
– Tripwire: integritas berkas dan direktori
– Satan/Saint/SARA: Menguji keamanan sistem melalui
interface web
– Cops: koleksi tools
– Nessus, Retina
– …………………………
Etika Penggunaan Tools
• Menyerang sistem milik sendiri untuk
mengevaluasi
• Jangan melakukan evaluasi terhadap sistem
orang lain tanpa ijin
• Banyak program attack yang dapat diperoleh
dari Internet
Penggunaan Network Monitoring
• Network monitoring untuk melihat trafik yang tidak normal.
• Dapat digunakan oleh lawan untuk menganalisa trafik sistem
anda.
• Dapat digunakan untuk menangkap data (sniffer)!
• Contoh program
– Sniffer Pro, EtherApe, tcpdump, ethereal, iptraf, netwatch, ntop, mrtg
Langkah Selanjutnya?
• Setelah melakukan evaluasi, dapat diketahui
status keamanan, bagian mana saja yang
harus diperbaiki
• Tingkatkan keamanan
Security evaluation checklist
•
•
Metodologi dan teknik evaluasi sekuriti (termasuk
Open-Source Security Testing Methodology
Manual/OSSTMM)
Check list:
1.
2.
3.
4.
5.
6.
evaluating topology,
penetration testing from outside and inside network,
evaluating network devices, such as routers, switches,
firewalls, IDS (Intrusion Detection System),
evaluating servers,
evaluating applications, and
evaluating policy and procedures
Topology Evaluation
• Topology evaluation mencoba untuk mengevaluasi
disain jaringan dan sistem melalui pengujian. Disain
sangat penting sebagai sumber daya utama untuk
implementasi.
• Melalui evaluasi topologi dengan cepat diketemukan
banyak aspek-aspek yang vulnerable
• Securiti biasanya diabaikan selama proses disain.
Karena, sangat sulit untuk mengamankan sistem
yang berjalan dalam jangka panjang, serta sangat
mahal.
Penetration Testing
• Merupakan pekerjaan yang dilakukan seorang penyusup (intruder) yang
dapat melakukan penyusupan ke sistem.
• Biasanya dilakukan dari jaringan eksternal (external network) dengan
informasi yang dibatasi. Lanjutannya, dengan menambahkan beberapa
informasi dan diserang dari jaringan internal (internal network).
• Langkah-langkah:
– Pertama  melakukan sebuah serangan (attack) dari external network;
biasanya Internet atau extranet; informasi terbatas; informasi yang
dibutuhkan sebuah daftar IP addresses dan time frame untuk melakukan test.
Penguji harus memasukkan (submit) sebuah IP adress selama digunakan untuk
melakukan penetrasi untuk mengabaikan filter oleh IDS.
– Kedua biasanya membawa dari external network, tetapi penambahan
informasi. Penguji diberikan topologi, daftar sistem operasi dan aplikasiaplikasi. Berdasarkan ini, lebih dipusatkan atau target penyerangan dapat
dimahirkan,
– Ketiga  pengujian meliputi penyerangan dari internal network. Langkah ini
harus dikoordinaikan dengan administrator lokal untuk melokalisasi dan
meminimalkan dampak dari business process.
Network Device Evaluation
• Network device tulang punggung network. Status securitas
network device sangat penting. Sering device sangat mudah
untuk kegagalan single point setelah berhasil diserang Denial
of Service (DoS attack).
• Termasuk router, switch dan hub, firewall, dan Intrusion
Detection System (IDS). Masing-masing network device
memiliki prosedur pengujian sendiri.
• kebanyakan misconfiguring
• Kesulitan lain:
– network devices lemahnya security policy
– seperti firewall dan IDS implement security policy.
– kemudian tidak ada security policy.
Server Evaluation
• Server meyediakan layanan melalui aplikasi yang beroperasi
padanya. Evaluasi sekuritinya difokuskan pada sistem operasi
dan konfigurasi server.
• Kebanyakan yang mudah diserang (vulnerability) penggunaan
sistem operasi yang lama dan un-patched, kelemahan
password, dan kesalahan konfigurasi (writeable directories).
– Penyebab lainnya lemahnya pengetahuan atau keterbatasan
sumber daya yang ada (sedikit admin yang mendukung server yang
banyak).
• Keberagaman server
– berhubungan dengan platform, arsitektur, vendor dan versi sistem
operasi  membuat kesulitan untuk mengevaluasi server.
– pengalaman individu dengan mainframe, UNIX dan workstation
– sertifikat yang dimiliki biasanya dengan pengetahuan terbatas
– yang penting bagaimana cara menyeleksi evaluator/auditor securiti.
Application Evaluation
• Pelayanan disediakan dengan aplikasi. Aplikasi dapat dikembangakan
secara internal, outsourced, atau dibeli (purchased).
– Cara lain, aspek securiti aplikasi sangat penting tetapi sering diabaikan.
• Eveluasi securiti aplikasi lebih mencakup proses.
– Permasalahan: lemahnya source code , lemahnya dokumentasi, dan
keenganan pelaku bisnis.
• Perbedaan antara pengujian aplikasi selama pengembangan perangkat
lunak dan pengujian perangkat lunak untuk securiti. Pengujian aplikasi
selama pengembanga perangkat lunak  fokus utama adalah secara
fungsional dan performance (kinerja)..Pengujian aplikasi untuk securiti 
menambahkan dimensi lain didalam kesalahan (salah satu; format disain
aliran atau manifestasi didalam form atau bug didalam implementasi) yang
tidah menghasilkan lobang keamanan. Yang memngkinkan bahan
pertimbangan untuk penyerang (attacker).
Application Evaluation
• Cara evaluasi
– Pengujian black-box  aplikasi diuji dengan bermacammacam kombinasi masukkan (input). Input menghasilkan
crash aplikasi. Contoh; aplikasi meminta user memasukkan
PIN berupa angka, dimasukkan alfabet (huruf) dan
menyebabkan aplikasi crash, disini memudahkan attacker
untuk menyerang. Pengujian black-box tidak membuhtuhkan
akses ke source code.
– Pengujian white-box  mengevaluasi source code untuk
disain flow atau kesalahan pemogramanan. Akses ke source
code sangat penting.
• Tool  seperti static source code analyzer, menggunakan
automate process. Tergantung bahasa pemograman yang
digunakan untuk pengembangan aplikasi.
Sumber:
• https://simponi.mdp.ac.id/materi201120123/
SP353/021021/SP353-021021-767-4.ppt
• Keamanan Sistem Informasi Berbasis Internet
oleh Budi Raharjo
Download