Jaminan Keamanan Pada Pengembangan Software
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.
Sumber : http://tatasumitra.com/?p=362
Komentar
Posting Komentar