Panduan ITSEC Mengenai DevSecOps
DevSecOps merupakan kepanjangan dari development, security, and operations (pengembangan, keamanan, dan operasi) dan ide utama DevSecOps adalah untuk membuat seluruh anggota tim teknis dan pengembangan Anda bertanggung jawab terhadap cybersecurity sehingga mereka dapat membuat keputusan keamanan di saat yang sama ketika mereka membuat keputusan pengembangan dan operasi, sehingga meningkatkan keamanan secara keseluruhan.
Setiap tim teknis yang saat ini menggunakan kerangka kerja DevOps harus mencari cara untuk bergerak ke arah pola pikir DevSecOps dengan cara meningkatkan keahlian security yang dimiliki oleh masing-masing anggota tim yang berasal dari berbagai latar belakang teknologi. Dari membangun layanan cybersecurity yang berfokus pada bisnis hingga pengujian potensi eksploitasi cybersecurity, kerangka kerja DevSecOps memastikan bahwa cybersecurity dibangun dengan cara ditanamkan ke dalam aplikasi dan tidak hanya menjadi sebuah tempelan yang baru ditambahkan belakangan. Dengan memastikan pertimbangan keamanan ada di setiap tahap pengiriman perangkat lunak (software delivery), Anda secara terus-menerus melakukan integrasi keamanan sehingga dapat mengurangi biaya compliance (kepatuhan) dan perangkat lunak dapat dikirimkan dengan cepat dan aman.
DevSecOps Dalam Praktek
Keuntungan DevSecOps sederhana, yaitu bahwa Anda dapat melihat peningkatan otomatisasi di sepanjang jalur pengiriman perangkat lunak. Otomatisasi ini berguna untuk jangka panjang karena dapat menghapuskan kesalahan, mengurangi cyberattack dan mengurangi downtime. Organisasi yang ingin mengintegrasikan keamanan ke dalam kerangka DevOps mereka mendapati bahwa proses ini bisa menjadi relatif mulus jika Anda menggunakan alat DevSecOps yang tepat. Alur kerja DevOps dan DevSecOps terlihat seperti ini:
- Seorang engineer membuat kode di dalam platform version control.
- Perubahan diterapkan pada platform version control.
- Engineer lain mengambil kode dari platform version control dan melakukan analisis kode untuk mengidentifikasi jika ada kekurangan dari sisi cybersecurity.
- Kemudian dibangun sebuah environment dengan menggunakan alat berbentuk infrastructure-as-code (iac), selanjutnya aplikasi digunakan dan konfigurasi keamanan dipasang ke dalam sistem.
- Sebuah test automation suite kemudian dijalankan terhadap aplikasi yang baru digunakan, yaitu aplikasi back-end, UI, integrasi, tes keamanan dan API.
- Jika berhasil lolos dari tes ini, maka aplikasi-aplikasi tersebut akan digunakan untuk environment produksi.
- Environment produksi baru ini dimonitor secara terus-menerus untuk mengidentifikasi segala ancaman atau vulnerability (kerentanan) dalam cybersecurity yang masih aktif di dalam sistem.
Dengan environment yang dikembangkan menggunakan proses TDD (test-driven development) dan telah melalui pengujian otomatis serta memiliki integrasi berkesinambungan sebagai bagian dari alur kerja mereka, maka tim pengembangan dapat bekerja dengan mulus dan cepat dalam rangka mencapai tujuan bersama untuk mendapatkan secure code dan peningkatan compliance.
Apakah Anda Membutuhkan DevSecOps??
Ya, Anda membutuhkannya. Lanskap teknologi telah mengalami perubahan eksponensial sepanjang dekade terakhir. Pergeseran penggunaan platform shared storage dan shared data, aplikasi dinamis, dan cloud computing sangat menguntungkan bagi organisasi yang ingin berkembang dan tumbuh melalui penggunaan aplikasi dan layanan canggih, tetapi semua ini juga ada biaya pelaksanaannya. Aplikasi-aplikasi DevOps memang memiliki keunggulan dalam hal fungsionalitas, skala, dan kecepatan, tetapi seringkali mereka memiliki kekurangan dalam hal keamanan dan kepatuhan Hal inilah yang melatarbelakangi diperkenalkannya DevSecOps kedalam siklus hidup pengembangan perangkat lunak untuk menempatkan pengembangan, operasi, dan keamanan dalam satu atap, dan dengan proses itu dapat meningkatkan cybersecurity dari sebuah perangkat lunak. Para pelaku cybercrime selalu mencari cara untuk mengeksploitasi perangkat lunak, bayangkan jika mereka berhasil memasukkan malware ke dalam perangkat lunak saat proses pembangunan dan malware tersebut tidak ditemukan sampai waktu aplikasi telah diluncurkan kepada ribuan pelanggan! Tingkat kerusakan terhadap reputasi perusahaan dan sistem pelanggan mereka dapat menjadi malapetaka, terutama di dunia dimana berita buruk cepat sekali menjadi viral melalui media sosial. Menjadikan faktor keamanan sama pentingnya dengan faktor pengembangan dan operasi Anda merupakan keharusan bagi tim manapun yang terlibat dalam pengembangan dan distribusi perangkat lunak. Ketika Anda mengintegrasikan DevSecOps dan DevOps, setiap network administrator dan network engineer langsung menempatkan keamanan sebagai pertimbangan pertama dalam proses pengembangan dan deployment perangkat lunak.
Praktik Terbaik DevSecOps
Organisasi yang ingin menyatukan operasi TI, tim keamanan dan pengembang aplikasi perlu mengintegrasikan keamanan ke dalam alur kerja DevOps mereka. Tujuannya adalah untuk menjadikan keamanan sebagai komponen inti dari alur kerja pengembangan perangkat lunak, menggantikan kebiasaan menguatkan keamanan di akhir proses. Berikut ini adalah beberapa praktik terbaik yang membuat proses DevSecOps berjalan dengan lancar:
- Otomatisasi merupakan hal yang bagus - Meskipun DevOps memiliki fokus pada kecepatan pengiriman, ini tidak berarti bahwa faktor kecepatan harus dikompromikan hanya karena Anda menambahkan faktor keamanan di dalamnya. Dengan mengintegrasikan kontrol keamanan otomatis dan pengujian di awal siklus pengembangan perangkat lunak, Anda dapat memastikan pengiriman perangkat lunak dilakukan dengan cepat.
- DevSecOps untuk efisiensi - Dengan menambahkan keamanan ke dalam alur kerja Anda dan dengan menggunakan alat yang dapat memindai kode saat Anda membuatnya, Anda dapat menemukan dan memperbaiki masalah keamanan lebih awal.
- Pemodelan ancaman (threat modeling) – Menjalankan threat modeling dapat membantu Anda menemukan kerentanan dalam aset Anda dan menyumbat celah dalam kontrol keamanan, sehingga membantu Anda mengidentifikasi kejadian berisiko tinggi yang terjadi di dalam codebase Anda.
Sementara masih ada perdebatan tentang apa artinya DevSecOps untuk bisnis, namun sangat mudah untuk melihat artinya di dalam dunia dengan siklus rilis yang cepat dan ancaman keamanan yang terus berkembang, itulah sebabnya kami merekomendasikan DevSecOps untuk organisasi mana pun yang tidak dapat mentolerir terjadinya skandal keamanan, atau jika mereka masih menganggap semua pelanggan mereka sebagai target oleh pelaku cybercrime (hampir semua orang dapat menjadi target).