Fase Siklus Hidup Pengembangan Perangkat Lunak SDLC Aman

Diterbitkan: 2021-02-26

Pendekatan cerdas untuk membuat perangkat lunak yang aman adalah Secure SDLC atau Siklus Hidup Pengembangan Perangkat Lunak. Daripada membuat perangkat lunak dan kemudian menguji kerentanannya, lebih baik membuatnya dengan penekanan pada keamanan.

Apa itu SDLC Aman?

Dalam arti yang lebih luas, SDLC Aman adalah proses mengintegrasikan pengujian keamanan dan langkah-langkah lain dalam siklus hidup pengembangan perangkat lunak yang ada. Ini dapat mencakup:

  • Menulis persyaratan keamanan bersama dengan persyaratan fungsional.
  • Melakukan analisis arsitektur.
  • Menggunakan komponen sumber terbuka tanpa kerentanan keamanan yang diketahui.
  • Menguji perangkat lunak pada setiap tahap dan mencegah agar kerentanan/ancaman tidak diteruskan.

Mengapa SDLC Aman itu Penting?

Menerapkan praktik Siklus Hidup Pengembangan Perangkat Lunak yang aman adalah penting karena pengembang tidak mampu merilis produk dengan kerentanan keamanan. Untuk melindungi perangkat lunak dan data dari ancaman dan serangan, itu harus dikembangkan dengan cara yang menjamin keamanan.

Alasan lain untuk itu adalah bukan pendekatan yang efisien untuk mengembangkan perangkat lunak tanpa berfokus pada keamanan dan kemudian menguji dan memperbaikinya.

Fase SDLC Aman

Seluruh konsep SDLC yang aman berkisar pada menghentikan kejahatan sejak awal. Proses ini mencegah cacat dibawa ke fase berikutnya dari siklus hidup pengembangan perangkat lunak. Berikut adalah sketsa fase yang terlibat dalam SDLC Aman dan langkah-langkah keamanan yang diterapkan di masing-masing fase tersebut.

Fase Persyaratan SDLC Aman

Seiring dengan persyaratan fungsional perangkat lunak, persyaratan keamanan juga dijelaskan di awal SDLC aman. Persyaratan ini merinci apa yang diperlukan pengembang untuk membuat perangkat lunak secara inheren aman.

Daftar terperinci dari semua Kasus Penggunaan dan Skenario terkait Keamanan dikompilasi sebelum pengembangan dimulai. Ini kemudian digunakan untuk membuat fitur keamanan dan merancang skenario pengujian keamanan.
Persyaratan ini dapat terlihat seperti ini:

  • Semua gerbang dan titik masuk harus memiliki langkah-langkah otentikasi.
  • Sistem harus menerapkan otentikasi melalui layar login yang aman.
  • Semua data pribadi harus dienkripsi setiap saat.
  • Lebih dari satu saluran otentikasi harus digunakan untuk transfer data sensitif.

Tahap Perencanaan untuk SDLC Aman

Fase perencanaan adalah langkah penting dalam Secure SDLC. Perencanaan dapat berbeda dari kasus ke kasus, tetapi berikut adalah beberapa hal paling mendasar yang harus diperhatikan:

  • Tim keamanan khusus yang berpengalaman harus dibentuk untuk mengabaikan dan mengarahkan semua tindakan terkait keamanan perangkat lunak dengan cara yang tidak memihak. Tim ini, sebaiknya ditempatkan di luar kantor manajemen proyek, harus terdiri dari petugas keamanan, arsitek keamanan, dan penguji keamanan. Semua anggota tim harus memiliki peran dan tanggung jawab yang jelas.
  • Setiap ambiguitas atau eskalasi yang terkait dengan masalah keamanan proyek harus ditangani oleh petugas keamanan produk. Dia harus diberi tahu oleh tim keamanan untuk memastikan keputusan yang tepat telah dibuat.
  • Titik kontak keamanan harus ditetapkan untuk memastikan bahwa setiap perubahan yang dilakukan pada keamanan produk tidak luput dari perhatian tim keamanan.

Fase Arsitektur Dan Desain SDLC

Penilaian Risiko Keamanan Produk yang terperinci harus dilakukan selama fase desain. Ini termasuk meninjau program dari sudut pandang keamanan saat belum memasuki tahap pengkodean. Segala risiko keamanan harus dihilangkan sebelum memasuki fase berikutnya. Untuk memastikan keamanan, semua penilaian harus dilakukan sesuai dengan standar industri.

Hal-hal yang harus diperhatikan selama fase ini termasuk tetapi tidak terbatas pada:

  • Meninjau semua fitur, persyaratan, cerita pengguna, dan dokumen desain sesuai dengan detail yang dibagikan oleh tim proyek. Jika tidak ada dokumen yang diperlukan, semuanya harus didiskusikan dengan jelas oleh anggota tim proyek.
  • Setiap kesenjangan dalam persyaratan keamanan program harus diidentifikasi dan dievaluasi terhadap standar industri yang digunakan. Jika diperlukan, model ancaman dapat dibuat sesuai dengan celah yang teridentifikasi.
  • Kesenjangan dengan risiko keamanan yang memadai harus dicantumkan dan mitigasi yang layak disarankan untuk mereka.

Tahap Pengembangan SDLC

Ini adalah "pengembangan" perangkat lunak yang sebenarnya. Setelah tata letak aplikasi yang aman telah disiapkan, pengembang harus menulis kode dengan cara yang sesuai dengan pedoman keamanan. Ini termasuk:

  • Penggunaan komponen sumber terbuka tanpa kerentanan yang diketahui.
  • Menggunakan langkah-langkah keamanan yang disepakati selama pengembangan perangkat lunak.
  • Uji dingin kode untuk mengekspos dan mengurangi kerentanan apa pun dalam kode.

Beberapa pengujian juga dilakukan secara bertahap. Ini dapat mencakup hal-hal seperti memastikan bahwa data sensitif tidak dikirimkan sebagai teks biasa.

Tahap Implementasi SDLC

Setelah perangkat lunak dikembangkan, langkah selanjutnya adalah analisis kode dinamis. Ini adalah bentuk pengujian keamanan aplikasi, juga dikenal sebagai pengujian Open Web Application Project (OWASP).

Sebelum solusi diimplementasikan dalam kehidupan nyata, Analisis Kerentanan dan Pengujian Penetrasi dilakukan. Versi perangkat lunak tempat pemeriksaan ini dilakukan disebut build uji. Hal-hal utama yang perlu diperhatikan tentang ini meliputi:

  • Alat seperti HP WebInspect, ZAP, Burp Suite, dan SOAP digunakan untuk memeriksa kerentanan perangkat lunak terhadap berbagai database kerentanan.
  • Seluruh fase ini adalah campuran otomatisasi dan pengujian manual.
  • Proses ini dilakukan di lingkungan independen yang tidak terkait dengan lingkungan pengembangan untuk memastikan skenario pengujian yang mendekati kenyataan.
  • Setiap kerentanan yang ditemukan dalam fase ini dimitigasi sebelum merilis perangkat lunak.
  • Ancaman umum dan tipikal diidentifikasi selama fase ini dan langkah-langkah diambil untuk mencegahnya.

Kesimpulan

Karena ketergantungan kita pada perangkat lunak terus meningkat, penting untuk membuatnya aman bagi pengguna. Untuk memastikan bahwa perangkat lunak dan aplikasi memenuhi standar keamanan, praktik SDLC Aman diadopsi. Tujuan utamanya selalu adalah untuk menciptakan solusi perangkat lunak yang kebal.

Proses SDLC yang aman memiliki lima fase mulai dari pengumpulan persyaratan hingga pengujian pra-penerapan. Fokusnya adalah untuk memitigasi ancaman dan kerentanan di setiap langkah sehingga tidak terbawa ke langkah berikutnya.