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