DevOps (terbuka di tab baru) tidak baru dan itu berarti sesuatu yang berbeda untuk setiap bisnis. Hampir satu-satunya aspek DevOps yang tidak diperdebatkan adalah bahwa hal itu dimaksudkan untuk menyatukan tim pengembangan dan operasi untuk mengirimkan perangkat lunak yang lebih andal, lebih cepat.
Namun, yang terpenting, yang tidak ditentukan DevOps adalah bagaimana dan kapan keamanan siber (terbuka di tab baru) diintegrasikan ke dalam proses pembangunan.
Tentang Penulis
Nigel Abbott adalah Direktur Regional, EMEA Utara di GitHub (terbuka di tab baru).
Bahkan di DevOps, keamanan (terbuka di tab baru) biasanya muncul di akhir pengembangan perangkat lunak dan merupakan kotak terakhir yang harus dicentang sebelum masuk ke produksi. Pengembang biasanya fokus pada sisi teknik pengembangan dan menyerahkan tanggung jawab keamanan kepada tim spesialis. Bekerja dalam silo ini membuat pengembangan mundur. Jika keamanan aplikasi ingin mengimbangi kecepatan inovasi bisnis, diperlukan perubahan mendasar dalam cara pandang peran keamanan dalam siklus pengembangan.
Masukkan DevSecOps: cara jitu untuk mengintegrasikan keamanan dengan lebih baik ke dalam pengembangan dengan memasukkannya ke dalam setiap proses. Ini mungkin bukan perubahan radikal, tetapi membutuhkan perubahan budaya mendasar yang mematahkan status quo dari proses Anda saat ini. Dan keuntungannya sangat besar.
Dengan menjadikan keamanan sebagai tanggung jawab komunitas, Anda memasukkannya ke dalam proses pengembangan. Perangkat lunak yang lebih andal dikirimkan, lebih cepat. Dan dampak selanjutnya adalah kemampuan organisasi Anda untuk berinovasi dengan cepat meningkat secara dramatis.
Tapi mari kita mundur selangkah. Bagaimana Anda menciptakan lingkungan agar DevSecOps berkembang?
DevSecOps membawa perubahan pola pikir dalam cara tim DevOps memandang dan merangkul keamanan sebagai bagian dari siklus hidup pengembangan perangkat lunak. DevSecOps adalah tentang membuat semua pihak yang terlibat dalam siklus hidup aplikasi bertanggung jawab. Secara praktis ini berarti menggeser pengujian dan ulasan keamanan ke kiri, secara efektif memasukkannya ke dalam setiap langkah pengembangan perangkat lunak.
Ya, DevSecOps diperkenalkan dengan tujuan untuk mengurangi kerentanan, tetapi sebagian besar untuk meringankan tim keamanan yang sering kelebihan beban dan kewalahan. Tidak diketahui bahwa ada masalah kekurangan dalam tim yang berspesialisasi dalam keamanan dan mereka cenderung memiliki kapasitas terbatas untuk menangani setiap masalah sendirian. Faktanya, kami memperkirakan bahwa peneliti keamanan rata-rata kalah jumlah 500:1 dibandingkan dengan pengembang. Dengan menyebarkan pengetahuan dan alat, pengembang dapat membantu mengatasi masalah umum sehingga pakar keamanan dapat memfokuskan waktu mereka pada hal yang paling dibutuhkan.
Saat membuat aplikasi (terbuka di tab baru), tim pengembangan secara historis menghabiskan banyak waktu untuk memastikan bahwa aplikasi mereka benar-benar aman. Tujuan DevSecOps adalah untuk memberikan konsistensi, keterulangan, dan umpan balik yang konstan selama proses pengembangan, menciptakan rangkaian sumber daya yang lebih baik untuk mengatasi persyaratan keamanan dengan kemampuan bereaksi cepat saat terjadi masalah.
DevSecOps dalam praktik
Untuk membantu tim pengembangan mengatasi masalah keamanan, kontrol keamanan dan umpan balik perlu bergeser ke kiri dalam siklus hidup pengembangan. Dengan mengadopsi pendekatan yang mengutamakan pengembang, pengembang diberdayakan untuk mengidentifikasi dan memperbaiki kerentanan saat ditemukan, sehingga mereka tidak memasuki siklus produksi. Tidak ada panduan formal tentang praktik DevSecOps melainkan rekomendasi tentang cara membuat perubahan yang efektif untuk menyertakan praktik keamanan sebagai bagian dari siklus hidup pengembangan perangkat lunak.
Tempat yang baik untuk memulai adalah dengan mengubah persepsi tim pengembangan dan keamanan dari “kita versus mereka” dan mendorong kolaborasi sehari-hari (terbuka di tab baru) antara kedua tim. Ini tidak perlu terasa atau terlihat seperti sesuatu yang terlalu direkayasa. Ini dapat bekerja dengan cara kecil dengan mengintegrasikan pemeriksaan keamanan wajib ke dalam tinjauan kode, atau dengan cara yang lebih besar, seperti membangun alur kerja terpadu untuk proses seperti keamanan aplikasi dan CI/CD yang biasanya terpisah.
Dengan melakukan perubahan kecil atau besar ini untuk berkolaborasi dengan lebih baik, Anda akan mulai melihat kepercayaan yang lebih kuat di kedua tim. Kepercayaan ini bukan hanya tentang memutuskan kapan dan di mana Anda mengatasi kerentanan, ini tentang hasil mana yang harus diprioritaskan, siapa yang dapat menanganinya secara efektif, dan mengapa penting untuk ditangani terlebih dahulu. Semua masalah penting tetapi beberapa lebih penting.
Saat Facebook menambahkan hasil analisis statis berkualitas tinggi ke alur kerja developer mereka, tingkat perbaikannya mencapai 70 persen yang belum pernah terjadi sebelumnya. Namun ketika bug disajikan kepada pengembang di luar alur kerja mereka sebagai daftar masalah yang harus diperbaiki, tingkat perbaikannya adalah nol. Ini berbicara kembali untuk memprioritaskan masalah tertentu atau melaporkan bug yang memiliki dampak paling kritis, yang disamakan dengan lebih banyak masalah yang diperbaiki dari waktu ke waktu. Selain itu, mengangkat masalah sejak awal memungkinkan pengembang memperbaiki kesalahan sebagai bagian dari pembangunan, alih-alih melihatnya sebagai sesuatu yang harus Anda tangani di akhir.
Menerapkan DevSecOps secara efektif akan membutuhkan penghentian segera kebiasaan buruk dan umum dalam proses perangkat lunak saat ini. Ini juga akan membutuhkan tim untuk menemukan cara baru untuk bekerja dan berkolaborasi. Tindakan termudah untuk diadopsi adalah penggunaan dan keefektifan alat yang tersedia untuk pengembangan dan meninjaunya bersama alat yang benar-benar dapat dipercaya oleh tim keamanan. Sebagai bagian dari proses peninjauan, lihat di mana konsolidasi alat paling masuk akal. Dengan menggabungkan beberapa alat untuk kedua tim, ini memberikan peluang yang lebih baik bagi tim untuk memahami di mana tindakan perlu dilakukan dan cara terbaik untuk mengatasinya. Jika kemudian tim memiliki alur yang sama, mereka akan lebih mudah menangkap dan mengatasi masalah lebih cepat.
DevSecOps menyediakan semua praktik terbaik DevOps yang dijalankan oleh tim berkinerja tinggi, dengan organisasi keamanan yang diperlukan. Dan menerapkannya dengan sukses bukanlah tentang mencentang kotak dengan membeli alat baru yang memberikan keuntungan efisiensi tambahan. DevSecOps adalah rute utama untuk meningkatkan laju inovasi organisasi dengan cepat.