Jaminan Keamanan Pada Pengembangan Software

Telah di Baca 1766 kali

Sekarang ini keamanan yang efektif dari suatu sistem sangat diperlukan untuk kegiatan bisnis sehari-hari. Sistem yang aman bisa memberikan tingkat kepercayaan yang tinggi kepada pengguna sehingga bisa memberi nilai tambah dan daya guna bagi sistem itu sendiri. Pengguna akan merasa nyaman dan aman ketika berhubungan dengan sistem kita yang selanjutnya bisa menguntungkan bisnis kita.


Keamanan sistem yang berbasis komputer meliputi berbagai macam perangkat IT yang mendukungnya, seperti keamanan yang harus diterapkan pada jaringan, software, sistem operasi, hardware, database, wbserser, dan lain-lain.  Aspek yang kritis dan pokok dari masalah keamanan sistem komputer ini adalah masalah software karena kebergantungan berbagai sistem pada software sangat tinggi. Software telah menjadi penggerak utama berbagai sistem/perangkat, seperti komputer, konsol game, aplikasi bisnis, peralatan medis, pesawat terbang, mobil, handphone, dan lain-lain. Begitu banyak sistem yang bergantung kepada software sehingga apabila ditemukan cacat yang menyebabkan vulnerability pada software ketika dirilis mengakibatkan software tersebut rentan serangan dan dianggap tidak aman. Oleh karena butuh suatu mekanisme jaminan keamanan terhadap software dan apabila dirilis memang betul-betul software tersebut adalah aman. Keamanan software adalah ide perekayasaan software sehingga software tersebut tetap berfungsi dengan benar di bawah serangan jahat yang merusak.

Cacat software dengan percabangan keamanan yang meliputi bug implementasi seperti buffer overflow dan kekurangan disain (seperti penanganan error yang tidak konsisten) telah dirilis dan bersama kita selama bertahun-tahun. Seringkali intruder (pengganggu jahat) dapat mencincang (hack) kedalam sistem dengan mengeksploitasi kelemahan (cacat) software ini.  Aplikasi software yang terintegrasi ke internet menghadirkan resiko keamanan yang paling umum ditemukan saat ini, begitu juga dengan software yang pernah mengalami pengembangan extensibility (dapat diubah sambil di-deploy) dan komplexity (makin kompleks) menambah sumber masalah bagi software. Dengan berbagai ukuran, lubang keamanan software ini menjadi keadaan yang biasa, dan masalah terus tumbuh: pusat  koordinasi CERT mengenali 4,129  vulnerability yang dilaporkan di  tahun 2003 ( meningkat 70 persen dari tahun 2002, dan hampir mengalami peningkatan rangkap empat sejak 2001).

Praktek yang baik terhadap keamanan software adalah dengan pengungkitan praktek perekayasaan software yang baik dan ini membutuhkan pemikiran tentang keamanan lebih awal di dalam siklus hidup software, pengetahuan dan pemahaman ancaman umum (mencakup kekurangan berbasis bahasa dan lubang perangkap), perancangan untuk keamanan, dan penyasaran semua  artifak software ke analisis dan pengujian resiko yang teliti.

Tulisan ini berbicara tentang penjaminan keamanan software pada saat software tersebut dikembangkan sehingga ketika dirilis software tersebut betul-betul aman. Penjaminan keamanan ini meliputi praktek-praktek yang baik terhadap keamanan software yang melingkupi semua tahapan dari pengembangan software di dalam siklus hidup pengembangan software. Praktek keamanan software dilakukan melalui pengukuran pada ukuran-ukuran keamanan software yang bisa menimbulkan vulnerability pada setiap tahapan SDLC sehingga koreksi lebih awal bisa dilakukan. Titik pengukuran ini meliputi analisa arsitektural, pemodelan ancaman, verifikasi desain, review disain, review kode, analisa kode statis, test unit, test penetrasi, dan test sistem. Dengan praktek-praktek di atas diharapkan bisa menjamin kualitas dari software yang dirilis akan aman dari serangan.

Tujuan dari tulisan ini adalah memberikan pengetahuan dan panduan bagi para praktisi pengembangan software (desainer, arsitek, spesialis kebutuhan, pengkode, penguji, dan manajer) mengenai praktek yang baik dengan pendekatan pengukuran untuk pengembangan software yang aman di dalam SDLC.

Pembahasan di dalam tulisan ini dimulai dengan pendahuluan yang membahas mengenai latar-belakang permasalahan ini muncul kemudian dilanjutkan dengan tulisan mengenai definisi-definisi umum di sekitar permasalahan. Bagian berikutnya membahas tentang bagaimana mengembangkan software yang aman di dalam SDLC dengan upaya untuk mengurangi cacat software yang bisa menimbulkan vulnerability. Disini perhatian mengenai keamanan harus ”buil-in” di dalam siklus hidup pengembangan software. Bab selanjutnya menerangkan tentang bagaimana pengukuran dapat diterapkan pada proses-proses pengembangan dan produk kerja software untuk memonitor dan meningkatkan karakteristik keamanan dari software yang sedang dibangun.

Referensi

1.    G. McGraw, Software Security: Building Security In, IEEE Security & Privacy, 2004.
2.    Dave Zubrow, Measures and Measurement for Secure Software Development, Carnegie Mellon University, 2005.
3.     Noopur Davis, Developing Secure Software, Software Engineering Institute, 2005.
4.    ilmukomputer.com/category/rekayasa-perangkat-lunak/
5.    ilmukomputer.com/2007/09/28/perencanaan-proyek-rekayasa-perangkat-lunak/

Telah di Baca 1766 kali