Security Implementation On Mission Critical Applications Budi Rahardjo INDOCISC.comhttp://budi.insan.co.id Developers Day – Jakarta, 3 Maret 2005.

Slides:



Advertisements
Presentasi serupa
Pelajaran Dari Mendirikan Perusahaan Start-UP Lessons learned from Starting-Up Budi Rahardjo Juni 2003
Advertisements

Pengamanan Basis data.
Tristyanti Yusnitasari
Pengamanan Situs Web Kelompok II David kadi : Santi Sari : Milson : Putu agus angga: Hepy fanus : Ari Umar F. :
KULIAH VI KRIPTOGRAFI Aswin Suharsono KOM Keamanan Jaringan
Mengamankan Sistem Informasi
Budi Rahardjo Kuliah Metoda Formal 2004
Database Security BY NUR HIDAYA BUKHARI
Keamanan Data dan Jaringan Komputer
Kebijakan dan Strategi Pengaturan Terhadap Infrastruktur ICT Vital Budi Rahardjo Institut Teknologi Bandung.
U NIVERSITAS B INA D ARMA P ALEMBANG L AILI A DHA, M.K OM /T EKNIK I NFORMATIKA /2013.
Computer & Network Security : Information security
Keamanan Sistem WWW Budi Rahardjo , [2 April 2002]
Keamanan Sistem World Wide Web
PENGENALAN KEAMANAN KOMPUTER
ASP SECURITY – Budi Rahardjo – Yogyakarta 2002 Keamanan Sistem ASP Budi Rahardjo INDOCISC.com PPAU Mikroelektronika ITB
Ancaman Keamanan Data.
EVALUASI KEAMANAN SISTEM INFORMASI
RENCANA PENGEMBANGAN PERANGKAT LUNAK (RPPL)
Keamanan Komputer Pengantar -Aurelio Rahmadian-.
Oleh : Saripudin,MT.  After studying this chapter, you will be able to:  Recognize the difficulties in managing information resources.  Understand.
DATABASE CONTROL.
Keamanan Sistem WWW World Wide Web
Oleh : Kundang K.Juman, Ir.MMSI
Mengamankan Sistem Informasi
Keamanan Komputer.
KEAMANAN (SECURITY) Basis Data 14.
Operating System Security
1 Pertemuan 12 Pengkodean & Implementasi Matakuliah: T0234 / Sistem Informasi Geografis Tahun: 2005 Versi: 01/revisi 1.
PEOPLE AND NETWORK MELWIN SYAFRIZAL DAULAY, S.KOM. M.ENG.
Keamanan sistem informasi
Pengamanan Basis data.
Database Security BY NUR HIDAYA BUKHARI
Database Security BY Andy Dharmalau STMIK SWADHARMA Jakarta Kota 2016.
Website Security.
KEAMANAN SISTEM INFORMASI
Pengantar Keamanan Sistem Komputer
Sistem Keamanan Komputer Pada Perusahaan Online
KEAMANAN DALAM E-COMMERCE
e-security: keamanan teknologi informasi
Testing & Implementasi Sistem -Pengenalan
MATA KULIAH SISTEM KEAMANAN PENDAHULUAN
Brilliani Ayunda Putri
KEAMANAN PADA SISTEM TERDISTRIBUSI
SIM Rumah Sakit Materi Kuliah PERTEMUAN 6.
Pengantar Keamanan Sistem Komputer
KEAMANAN DALAM E-COMMERCE
Toleransi Kesalahan.
Keamanan.
Internet dan Infrastruktur
EVALUASI KEAMANAN SISTEM INFORMASI
Security SISTEM OPERASI Slide perkuliahan
Software Engineering Rekayasa Perangkat Lunak
Keamanan Sistem World Wide Web
BAB 7 Keamanan Sistem WWW WWW security.
KELOMPOK I Sergio Sousa Soares ( ) Mus Mulyadi ( )
Konkurensi SISTEM OPERASI Slide perkuliahan
Network Security Essential
Keamanan Sistem World Wide Web
PROTEKSI DATA SBD - 12.
KEAMANAN (SECURITY) Basis Data 14.
KEAMANAN PADA APLIKASI WEB DENGAN PHP
UNBAJA (Universitas Banten Jaya)
KEAMANAN PADA SISTEM TERDISTRIBUSI
Security+ Guide to Network Security Fundamentals
Tri rahajoeningroem, MT Jurusan Manajemen Informatika UNIKOM
Keamanan Pada Sistem Terdistribusi Nama Kelompok : 1.M.Ulfi Taufik Nurahman Nurmanudin Syaifuna
Aspek-Aspek Keamanan.
KEAMANAN PADA SISTEM TERDISTRIBUSI
Computer Network Defence
Transcript presentasi:

Security Implementation On Mission Critical Applications Budi Rahardjo INDOCISC.comhttp://budi.insan.co.id Developers Day – Jakarta, 3 Maret 2005

Budi Rahardjo2 Mission Critical Applications  Merupakan aplikasi yang sangat penting sehingga kegagalan aplikasi dapat menimbulkan masalah Ketidak-nyamanan Ketidak-nyamanan Kerugian finansial Kerugian finansial Hilangnya nyawa Hilangnya nyawa

Budi Rahardjo3 It’s All Software  Semua aplikasi sekarang bergantung kepada software Fly by wire Fly by wire Peluru kendali Peluru kendali Consumer electronics Consumer electronics …  Meskipun aplikasi dan software dapat dipisahkan, materi presentasi ini mencoba memfokuskan kepada sisi softwarenya. Aplikasi biasanya lebih berfokus kepada pengoperasian software yang sudah jadi (misalnya sandboxing).

Budi Rahardjo4 Software & User Experience  “Apple’s core strength is to bring very high technology to mere mortals in a way that surprises and delights them and that they can figure out how to use. Software is the key to that. In fact, software IS the user experience.” (Steve Jobs)

Budi Rahardjo5 Security Issues  Masih kurang pengetahuan mengenai masalah security  Akibatnya Kerahasiaan informasi tidak terjaga. (Confidentiality) Kerahasiaan informasi tidak terjaga. (Confidentiality) Informasi tidak terjaga integritasnya. (Integrity) Informasi tidak terjaga integritasnya. (Integrity) Sistem menjadi tidak reliable, rusak, hang, crash. (Availability) Sistem menjadi tidak reliable, rusak, hang, crash. (Availability) Orang yang tidak berhak dapat menyisipkan program dan menjalankannya, mengakses informasi yang seharusnya tidak diperkenankan. (Authentication & Authorization) Orang yang tidak berhak dapat menyisipkan program dan menjalankannya, mengakses informasi yang seharusnya tidak diperkenankan. (Authentication & Authorization)

Budi Rahardjo6 Quotes  Bruce Schneier (in Preface of “Building Secure Software” – Viega & McGraw) “We wouldn’t have to spend so much time, money, and effort on network security if we didn’t have such bad software security. … Think about the most recent security vulnerability you’ve read about. Maybe it’s a killer packet, which allows an attacker to crash some server by sending it a particular packet. Maybe it’s one of the gazillions of buffer overflows, which allow an attacker to take control of a computer by sending it a particular malformed message. Maybe it’s an encryption vulnerability, which allows an attacker to read an encrypted message or fool an authentication system. These are all software issues.”

Budi Rahardjo7 Software Problems  Trinity of Trouble (Hoglund & McGraw) Complexity Complexity Semakin banyak jumlah kode, semakin banyak kemungkinan adanya bugsSemakin banyak jumlah kode, semakin banyak kemungkinan adanya bugs Extensibility Extensibility Java,.NET, dll, modules, virtual machine, mobile codeJava,.NET, dll, modules, virtual machine, mobile code Tidak tahu kode yang akan datang. Sulit menjaganyaTidak tahu kode yang akan datang. Sulit menjaganya Connectivity Connectivity Aplikasi banyak yang terhubung ke jaringanAplikasi banyak yang terhubung ke jaringan Meningkatkan jumlah potensi penyerangMeningkatkan jumlah potensi penyerang

Budi Rahardjo8 Kompleksitas Terlalu Tinggi  “There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.” (C.A.R. Hoare)

Budi Rahardjo9 Contoh Kompleksitas Software Sistem Jumlah Baris Kode Solaris Linux 1,5 juta Boeing juta Space Shuttle 10 juta Netscape 17 juta Space Station 40 juta Windows XP 40 juta Sumber: Hoglund & McGraw, “Exploiting Software”, 2004

Budi Rahardjo10 What To Do  Meningkatkan wawasan security dari para pengembang software dan management Meningkatkan akurasi dari asumsi Meningkatkan akurasi dari asumsi Memberikan lebih banyak perhatian (time, money, effort) kepada security Memberikan lebih banyak perhatian (time, money, effort) kepada security  Meningkatkan pengetahuan (skill) security pengembang software Kuliah tentang secure software Kuliah tentang secure software

Budi Rahardjo11 Asumsi Pengembang  Pengguna software adalah orang yang paham menggunakan software. Tidak benar. Kesalahan urutan dan penggunaan dapat berakibat fatal Kesalahan urutan dan penggunaan dapat berakibat fatal Kesalahan memasukkan kata / memberikan perintah dapat menimbulkan masalah. Kesalahan memasukkan kata / memberikan perintah dapat menimbulkan masalah. Biasanya menggunakan filter apa-apa yang tidak dikehendaki.Biasanya menggunakan filter apa-apa yang tidak dikehendaki. Cara lain adalah dengan membuat whitelist (yang diperbolehkan)Cara lain adalah dengan membuat whitelist (yang diperbolehkan) Bagaimana agar software tidak rentan terhadap kesalahan? Bagaimana agar software tidak rentan terhadap kesalahan?

Budi Rahardjo12 Asumsi Pengembang (2)  Pengguna software adalah orang yang baik. Tidak benar. Adanya pengguna yang sengaja mencoba- coba, mencari kelemahan software (misal mengedit URL) Adanya pengguna yang sengaja mencoba- coba, mencari kelemahan software (misal mengedit URL) Software sekarang umumnya berada di hostile environment Software sekarang umumnya berada di hostile environment Bagaimana agar software tidak rentan terhadap penyerangan? Bagaimana agar software tidak rentan terhadap penyerangan?

Budi Rahardjo13 Beberapa masalah teknis  Buffer Overflow  Race Condition  Weak encryption  ACL  …

Budi Rahardjo14 Buffer Overflow  Merupakan salah satu kesalahan yang sering terjadi  Keterbatasan memory membatasi ukuran dari buffer (array) char userid[20]; char password[20];  Seringkali pembuat software Lupa menguji batas buffer/array Lupa menguji batas buffer/array Bagaimana jika “userid” atau “password” di atas diberi masukan lebih dari 20 karakter? Bagaimana jika “userid” atau “password” di atas diberi masukan lebih dari 20 karakter?

Budi Rahardjo15 Mengatasi Buffer Overflow  Ada beberapa tools / library yang dapat digunakan untuk membantu mencari potensi buffer overflow  Ada juga library yang mencoba memproteksi buffer overflow tanpa turut campurnya sang programmer (misalnya selalu menguji batas dari buffer, menandai batas akhir dari buffer, dsb.)  Tapi, tetap pengetahuan akan buffer overflow lebih baik lagi

Budi Rahardjo16 Race Condition  Ada hal-hal tertentu yang jika urutannya tidak tepat maka bisa terjadi masalah Membuat berkas dengan tingkat admin (root) kemudian menghapusnya setelah selesai. Namun di tengah perjalanan berkas tersebut berhasil dieksploitasi (diubah isinya, diarahkan ke tempat lain) sebelum dihapus. Membuat berkas dengan tingkat admin (root) kemudian menghapusnya setelah selesai. Namun di tengah perjalanan berkas tersebut berhasil dieksploitasi (diubah isinya, diarahkan ke tempat lain) sebelum dihapus. Variabel yang sedang digunakan oleh sebuah thread, ternyata diubah isinya oleh thread lain sehingga menjadi tidak benar Variabel yang sedang digunakan oleh sebuah thread, ternyata diubah isinya oleh thread lain sehingga menjadi tidak benar

Budi Rahardjo17 Mengatasi Race Condition  Beberapa alternatif Membuat beberapa transaksi menjadi “atomic” (terlihat sebagai satu eksekusi) Membuat beberapa transaksi menjadi “atomic” (terlihat sebagai satu eksekusi) Melakukan sinkronisasi dengan misalnya membuat sebuah mutual exclusion (mutex), semaphore, locking Melakukan sinkronisasi dengan misalnya membuat sebuah mutual exclusion (mutex), semaphore, locking Membatasi dan mengecilkan window dari race condition Membatasi dan mengecilkan window dari race condition Membatasi level otorisasi pada bagian yang berpotensi dieksploitasi Membatasi level otorisasi pada bagian yang berpotensi dieksploitasi

Budi Rahardjo18 Weak Encryption  Penggunaan enkripsi (penyandian) yang lemah memberikan perasaan aman, padahal tidak. (False sense of security.)  Ada yang merasa sudah pandai membuat enkripsi, padahal lemah. Lebih baik menggunakan algoritma yang sudah terbukti kuat Lebih baik menggunakan algoritma yang sudah terbukti kuat  Salah menggunakan algoritma juga dapat berdampak menjadi tidak aman

Budi Rahardjo19 Penutup  Mudah-mudahan tingkat wawasan dan kemampuan (skill) security di antara para pengembang software makin meningkat  Harus ada pendidikan mengenai bagaimana cara membuat software yang aman Kuliah? Training? Workshop? Tutorial? Kuliah? Training? Workshop? Tutorial?

Budi Rahardjo20 Lain-Lain  Bidang ilmu lain yang terkait: Metoda Formal (Formal Methods), yaitu menggunakan matematik di setiap tahapan desain dan implementasi Namun bidang ini masih kurang populer  1 April National Cyber Security Partnership (NCSP) di Amerika mengeluarkan dokumen “Improving Security Across The Software Development Lifecycle”  Saat ini mulai muncul buku dan referensi tentang bagaimana caranya mengembangkan software yang aman