Software Security : Security by Design
Hai teman teman kali ini saya ingin bahas sekalian memperlihatkan Secure SDLC yang saya buat, sebelum masuk ke materi kita jelaskan dulu perbedaan antara SDLC dan Secure SDLC.
Apa itu SDLC?
Software Developers LifeCycle adalah sebuah konsep atau kerangka kerja pembuatan/perjalanan sebuah fitur atau aplikasi dari mulai tahap Requirements > Desain > Development > Testing > Deployment
Apa itu Secure SDLC?
Secure Software Developers LifeCycle untuk Secure SDLC sendiri tidak berbeda dengan SDLC hanya saja untuk Secure SDLC ada step Secure / Security didalam nya seperti Selection/Risk Assessment > Security checklist / Threat Modeling > Code Review > Security Chechlist Review / Manual Testing > Dynamic Analysis / Secure Configuration
Untuk konsep Secure SDLC sendiri menurut saya cukup sederhana namun Effektif banget untuk meminimalisir bug yang ada. Hanya saja, kadang-kadang sedikit nyerempet ke agile kalo dalam praktik perkembangan dunia industri sekarang-sekarang ini.
Ada banyak konsep Secure SDLC sekarang ini, kita bisa membuat konsep kita sendiri atau menggunakan konsep yang sudah ada tinggal mencari yang cocok, adapun setahu saya konsep yang dibuat oleh Gary McGraw dalam bukunya Software Security: Building Security In
Coba teman teman perhatikan, baris berwarna biru tua itu adalah roadmap pengembangan, atau konsep SDLC tradisional: Requirements > Design > Test > Code > Test Results > Feedback.
sedikit berbeda dengan gambar sebelum nya namun poin nya sama, kemudian coba perhatikan beberapa aspek-aspek keamanan (yang berwarna biru) yang ada pada gambar, sangat dipertimbangkan di setiap tahapan Secure SDLC.
Adapun konsep yang saya buat mulai dari :
Selection > Security Checklist > Code Review > Security Checklist Review > Dynamic Analiysis
Selection
Tahapan Selection dimulai dari tahap seleksi fitur atau aplikasi yang kemungkinan rentan
Security Checklist
Tahapan Security Checklist sendiri dimulai dari pembuatan test case / checklist anomali yang didalam table nya ada fitur apa aja yang sedang dibuat, lokasi bug, jenis serangan nya, impact nya, pencegahan bug, dan checklist dev dan security, yang nantinya ini bisa dijadikan panduan untuk para developer dalam tahap pembuatan fitur/aplikasi
Code Review
Untuk Code Review sendiri tahapan dimana kita mereview sebuah code yang telah di buat oleh developer dari mulai kesalahan atau code yang tidak relevan dan di tahap code review ini kita juga membaca alur / flow sebuah aplikasi yang telah dibuat.
Security Checklist Review
Security checklist review tahapan selanjutnya setelah security checklist yang di buat di awal tadi sudah di isi oleh developer, kita hanya perlu melakukan pengecekan isi dari security checklist apa sudah di implementasikan oleh developer atau tidak.
Dynamic Analiysis
ini tahapan terakhir dari konsep diatas, Dynamic Aanaliysis atau bisa juga melakukan Security penetration test terakhir sebelum sebuah fitur atau aplikasi di deploy, bisa menggunakan automation atau manual testing sebagai tahap akhir.
Tapi tidak seperti yang di jelaskan di atas Dynamic Analiysis bukan akhir dari tahap security pentest, yang di maksud akhir disana adalah step terakhir dalam pembuatan aplikasi sebelum dia masuk ke production.
Walaupun kita sudah menerapkan konsep Secure Software Developer LifeCycle tidak menutup kemungkinan bahwa sebuah sistem atau aplikasi akan aman, konsep diatas hanya untuk meminimalisir kerentanan yang timbul, dan mendeteksi kerentanan sedini mungkin.
Penjelasan diatas hanyalah garis besarnya saja dalam proses pembuatan aplikasi, saya harap teman teman mendapatkan gambaran dalam penerapanan konsep Secure Software Developer LifeCycle.
Website : https://kitabantu.co.id
Linkedin : https://www.linkedin.com/in/anggi-gunawan17
Refrensi :