Keamanan inovasi

Inovasi adalah sumber kehidupan organisasi di era digital serta perlu diaktifkan dan dilindungi. Keamanan inovasi melindungi proses dan data inovasi terhadap serangan cyber. Inovasi di era digital berupa pengembangan aplikasi menggunakan metode DevOps atau DevSecOps untuk berinovasi dengan cepat tanpa menunggu jadwal pengiriman dengan metode waterfall tradisional yang bisa memakan waktu berbulan-bulan atau bertahun-tahun antara rilis.

Hati DevSecOps

Mengembangkan kemampuan dan aplikasi baru membutuhkan keberhasilan dalam memenuhi tiga jenis persyaratan yang berbeda:

  • Pengembangan bisnis (Dev): Aplikasi Anda harus memenuhi kebutuhan bisnis dan pengguna, yang sering kali berkembang pesat.
  • Keamanan (Sec): Aplikasi Anda harus tahan terhadap serangan dari penyerang yang berkembang pesat dan memanfaatkan inovasi dalam pertahanan keamanan.
  • Operasi IT (Ops): Aplikasi Anda harus dapat diandalkan dan memiliki performa yang efisien.

Menggabungkan ketiga persyaratan ini bersama-sama dan menciptakan budaya bersama sifatnya sangat penting, tetapi sering kali menantang. Para pemimpin tim pengembangan, IT, dan keamanan harus bekerja sama untuk mendorong perubahan ini. Untuk informasi lebih lanjut, lihat imperatif kepemimpinan: memadukan budaya.

Tonton video berikut untuk mempelajari selengkapnya tentang metode DevSecOps untuk inovasi yang aman dan cepat.

Apa itu DevSecOps?

Inovasi teknologi sering dikembangkan dalam konteks pendekatan pengembangan cepat yang ramping dan tangkas yang menggabungkan pengembangan dan operasi bersama-sama menjadi sebuah proses DevOps. Kami telah mempelajari bahwa mengintegrasikan keamanan ke dalam proses tersebut sangat penting untuk mengurangi risiko terhadap proses inovasi, pertumbuhan organisasi, dan aset yang ada dalam organisasi. Mengintegrasikan keamanan ke dalam proses sebuah proses DevSecOps.

Aman menurut rancangan dan shift left

Ketika organisasi mengadopsi DevOps dan metodologi inovasi cepat lainnya, keamanan harus menjadi hal yang mendasari organisasi dan proses pengembangannya. Mengintegrasikan keamanan di akhir proses bersifat mahal dan sulit diperbaiki.

Lakukan shift left pada keamanan sesuai garis waktu untuk mengintegrasikannya ke dalam perencanaan, rancangan, implementasi, dan pengoperasian layanan dan produk. Ketika tim pengembangan beralih ke DevOps dan mengadopsi teknologi cloud, keamanan harus menjadi bagian dari transformasi tersebut.

Keamanan Sepanjang Proses

Dalam model waterfall, keamanan secara tradisional merupakan gerbang kualitas setelah pengembangan selesai.

DevOps memperluas model pengembangan tradisional (orang, proses, dan teknologi) guna menyertakan tim operasi. Perubahan ini mengurangi gesekan yang dihasilkan dari pemisahan tim pengembangan dan operasi. Demikian pula, DevSecOps memperluas DevOps untuk mengurangi gesekan dari tim keamanan yang terpisah atau berbeda.

DevSecOps adalah integrasi keamanan ke dalam setiap tahap siklus hidup DevOps dari awal munculnya ide hingga perencanaan, perancangan arsitektur, pengembangan aplikasi berulang, dan operasi. Tim harus selaras secara bersamaan dengan tujuan kecepatan inovasi, keandalan, dan ketahanan keamanan. Dengan saling memahami dan saling menghormati kebutuhan masing-masing, tim akan bekerja pada isu-isu yang paling penting terlebih dahulu, apa pun sumbernya.

Metodologi Atur Kerangka Kerja Adopsi Cloud memberikan konteks lebih lanjut tentang struktur DevSecOps dalam organisasi. Untuk informasi selengkapnya, lihat Memahami keamanan aplikasi dan fungsi DevSecOps.

Mengapa DevSecOps?

DevOps menghadirkan kelincahan, DevSecOps menghadirkan kelincahan yang aman.

Hampir setiap organisasi di dunia menantikan pengembangan perangkat lunak untuk mendapatkan keunggulan kompetitif melalui inovasi. Mengamankan proses DevOps sangat penting bagi keberhasilan organisasi. Penyerang telah memperhatikan pergeseran ini ke aplikasi kustom dan meningkatkan serangan terhadap aplikasi kustom selama serangan mereka. Aplikasi baru ini sering menjadi sumber intelektual berharga yang kaya dan mengandung ide-ide baru yang berharga yang belum menjadi komoditas pasar.

Melindungi inovasi ini mengharuskan organisasi mengatasi potensi kelemahan dan serangan keamanan baik dalam proses pengembangan maupun infrastruktur yang menghosting aplikasi. Pendekatan ini diterapkan pada cloud dan lokal.

Peluang Penyerang

Penyerang dapat mengeksploitasi kelemahan dalam:

  • Proses pengembangan: Penyerang mungkin menemukan kelemahan dalam proses perancangan aplikasi, misalnya, tidak menggunakan atau menggunakan enkripsi yang lemah untuk komunikasi. Atau penyerang mungkin menemukan kelemahan dalam implementasi rancangan, misalnya, kode tidak memvalidasi input dan mengizinkan serangan umum seperti injeksi SQL. Selain itu, penyerang mungkin menanamkan pintu belakang dalam kode yang memungkinkan mereka untuk kembali lagi nanti untuk mengeksploitasi lingkungan Anda atau lingkungan pelanggan Anda.
  • Infrastruktur IT: Penyerang dapat membahayakan elemen titik akhir dan infrastruktur tempat proses pengembangan dihosting menggunakan serangan standar. Penyerang juga dapat melakukan serangan multitahap yang menggunakan informasi masuk atau malware curian untuk mengakses infrastruktur pengembangan dari bagian lain lingkungan. Selain itu, risiko serangan rantai pasokan perangkat lunak menjadikan integrasi keamanan ke dalam proses Anda penting untuk:
  • Melindungi organisasi Anda: Dari kode berbahaya dan kerentanan dalam rantai pasokan kode sumber Anda
  • Melindungi pelanggan Anda: Dari masalah keamanan apa pun dalam aplikasi dan sistem Anda, yang dapat mengakibatkan kerusakan pada reputasi, tanggung jawab, atau dampak bisnis negatif lainnya terhadap organisasi Anda

Perjalanan DevSecOps

Sebagian besar organisasi berpendapat bahwa DevOps atau DevSecOps untuk beban kerja atau aplikasi tertentu sebenarnya adalah proses dua fase, di mana ide-ide pertama kali diinkubasi di ruang yang aman dan kemudian dirilis ke produksi serta berulang kali dan terus menerus diperbarui.

Diagram ini menunjukkan siklus hidup pendekatan pabrik inovasi semacam ini:

Fase DevSecOps

Inovasi yang aman adalah pendekatan terintegrasi untuk kedua fase ini:

  • Inkubasi ide di mana ide awal dibangun, divalidasi, dan disiapkan untuk penggunaan produksi awal. Fase ini dimulai dengan ide baru dan berakhir ketika rilis produksi pertama memenuhi kriteria produk minimum yang layak (MVP) untuk:
    • Pengembangan: Fungsionalitas memenuhi persyaratan bisnis minimum
    • Keamanan: Kemampuan memenuhi persyaratan kepatuhan, keamanan, dan keselamatan peraturan untuk penggunaan produksi
    • Operasi: Fungsionalitas memenuhi persyaratan kualitas, performa, dan dukungan minimum untuk menjadi sistem produksi
  • DevOps: Fase ini adalah proses pengembangan berulang yang sedang berlangsung dari aplikasi atau beban kerja yang memungkinkan inovasi dan peningkatan berkelanjutan

Imperatif kepemimpinan: Memadukan budaya

Memenuhi ketiga persyaratan ini membutuhkan penggabungan ketiga budaya ini bersama-sama untuk memastikan bahwa semua anggota tim menghargai semua jenis persyaratan dan bekerja sama menuju tujuan bersama.

Mengintegrasikan budaya dan tujuan ini bersama-sama ke dalam pendekatan DevSecOps sejati dapat menjadi tantangan, tetapi investasi ini sepadan dengan tantangannya. Banyak organisasi mengalami tingkat gesekan yang tidak sehat dari tim pengembangan, operasi IT, dan keamanan yang bekerja secara independen, menyebabkan masalah berupa:

  • Pengiriman nilai yang lambat dan kelincahan yang rendah
  • Masalah kualitas dan performa
  • Masalah keamanan

Meskipun mengalami beberapa masalah bersifat normal dan diharapkan dengan pengembangan baru, konflik antar tim sering kali secara dramatis meningkatkan jumlah dan tingkat keparahan masalah ini. Konflik ini terjadi, sering kali diakibatkan karena satu atau dua tim memiliki keuntungan politik, dan berulang kali mengesampingkan persyaratan tim lain. Seiring waktu, volume dan keseriusan masalah yang diabaikan bertambah. Jika dibiarkan belum terpecahkan, dinamika ini mungkin memburuk dengan DevOps karena kecepatan dalam membuat keputusan meningkat untuk memenuhi evolusi kebutuhan bisnis dan preferensi pelanggan yang cepat.

Memecahkan masalah ini memerlukan pembuatan budaya bersama yang menghargai persyaratan dev, sec, dan ops yang didukung oleh kepemimpinan. Pendekatan ini akan memungkinkan tim Anda untuk bekerja sama dengan lebih baik dan membantu memecahkan masalah paling mendesak pada sprint tertentu, baik ketika mereka meningkatkan keamanan, stabilitas operasional, atau menambahkan fitur bisnis penting.

Teknik kepemimpinan

Teknik-teknik kunci ini dapat membantu kepemimpinan membangun budaya bersama:

  1. Tidak ada yang memenangkan semua argumen: Pemimpin harus memastikan bahwa tidak ada pola pikir tunggal yang mendominasi semua keputusan yang dapat menyebabkan ketidakseimbangan yang berdampak negatif terhadap bisnis.

  2. Mengharapkan peningkatan yang terus-menerus, bukan kesempurnaan: Pemimpin harus menetapkan harapan pada peningkatan yang terus-menerus dan pembelajaran berkelanjutan. Membangun program DevSecOps yang berhasil tidak terjadi dalam waktu singkat. Ini adalah perjalanan terus menerus dengan kemajuan yang bertambah bertahap.

  3. Hargai kepentingan bersama dan nilai-nilai individu yang unik: Pastikan tim dapat melihat bahwa mereka bekerja menuju hasil yang sama dan setiap individu memberikan sesuatu yang tidak dapat dilakukan orang lain. Semua jenis persyaratan adalah tentang menciptakan dan melindungi nilai bisnis yang sama. Pengembangan mencoba membuat nilai baru, sementara ops dan keamanan berusaha melindungi dan mempertahankan nilai itu, terhadap skenario risiko yang berbeda. Para pemimpin di semua tingkatan di seluruh organisasi harus mengomunikasikan kesamaan ini dan betapa pentingnya memenuhi semua jenis persyaratan, baik untuk kesuksesan langsung maupun jangka panjang.

  4. Kembangkan pemahaman bersama: Semua orang dalam tim harus memiliki pemahaman dasar tentang:

    • Urgensi bisnis: Tim harus memiliki gambaran yang jelas tentang pendapatan yang dipertaruhkan. Pandangan ini harus mencakup pendapatan saat ini (jika layanan sedang offline), dan potensi pendapatan di masa mendatang yang akan dipengaruhi oleh keterlambatan pengiriman aplikasi dan fitur. Hal ini harus langsung didasarkan pada sinyal dari pemangku kepentingan kepemimpinan.
    • Kemungkinan risiko dan ancaman: Berdasarkan masukan tim inteligensi ancaman, jika ada, tim harus mengembangkan kepekaan terhadap kemungkinan ancaman yang akan dihadapi portofolio aplikasi.
    • Persyaratan ketersediaan: Tim harus memiliki kesadaran bersama tentang persyaratan operasional seperti waktu aktif yang diperlukan, masa pakai aplikasi yang diharapkan, dan persyaratan pemecahan masalah dan pemeliharaan, misalnya, melakukan patch saat layanan online.
  5. Menunjukkan dan mencontohkan perilaku yang diinginkan: Pemimpin harus secara terbuka mencontohkan perilaku yang mereka inginkan dari tim mereka. Misalnya, tunjukkan kerendahan hati, fokus pada pembelajaran dan hargai disiplin ilmu lainnya. Contoh lain adalah manajer pengembangan membahas nilai keamanan dan aplikasi berkualitas tinggi atau manajer keamanan membahas nilai inovasi yang cepat dan performa aplikasi.

  6. Memantau tingkat gesekan keamanan: Keamanan secara alami menciptakan gesekan yang memperlambat proses. Sangat penting bagi para pemimpin untuk memantau tingkat dan jenis gesekan yang dihasilkan keamanan:

    • Gesekan yang sehat: Sama halnya dengan olahraga yang membuat otot lebih kuat, mengintegrasikan tingkat gesekan keamanan yang tepat memperkuat aplikasi dengan cara memaksa berpikir kritis pada waktu yang tepat. Jika tim belajar dan menggunakan pembelajaran tersebut untuk meningkatkan keamanan, misalnya, mempertimbangkan tentang mengapa, dan bagaimana penyerang mungkin mencoba untuk menyerang aplikasi, dan menemukan serta memperbaiki bug keamanan penting, maka mereka berada di jalur yang benar.
    • Gesekan yang tidak sehat: Carilah gesekan yang menghambat nilai lebih dari yang dilindunginya. Hal ini sering terjadi ketika bug keamanan yang dihasilkan oleh alat memiliki tingkat positif palsu yang tinggi atau alarm palsu, atau saat upaya keamanan untuk menemukan atau memperbaiki sesuatu jauh melebihi dampak potensial dari serangan.
  7. Mengintegrasikan keamanan ke dalam perencanaan anggaran: Pastikan bahwa anggaran keamanan dialokasikan secara proporsional untuk investasi lain ke dalam keamanan. Analogi ini sama dengan acara fisik seperti konser di mana anggaran acara mencakup keamanan fisik sebagai norma. Beberapa organisasi mengalokasikan 10 persen dari total biaya untuk keamanan sebagai aturan umum untuk memastikan penerapan praktik terbaik keamanan yang konsisten.

  8. Menetapkan tujuan bersama: Memastikan metrik performa dan keberhasilan untuk beban kerja aplikasi mencerminkan tujuan pengembangan, keamanan, dan operasi.

Catatan

Idealnya tim-tim ini harus secara kolektif membuat tujuan bersama ini untuk memaksimalkan pembelian, baik untuk seluruh organisasi atau untuk proyek atau aplikasi tertentu.

Identifikasi DevSecOps MVP

Selama transisi dari ide ke produksi, penting untuk memastikan bahwa kemampuan tersebut memenuhi persyaratan minimum, atau produk minimum yang layak (MVP), untuk setiap jenis persyaratan:

  • Pengembang (dev) fokus pada mewakili kebutuhan bisnis untuk pengiriman kemampuan yang cepat yang memenuhi harapan pengguna, pelanggan, dan pemimpin bisnis. Identifikasi persyaratan minimum untuk memastikan bahwa kemampuan membantu kesuksesan organisasi.
  • Keamanan (sec) mengarahkan fokus untuk memenuhi kewajiban kepatuhan dan bertahan dari penyerang yang terus mencari keuntungan terlarang dari sumber daya organisasi. Identifikasi persyaratan minimum untuk memenuhi persyaratan kepatuhan peraturan, mempertahankan postur keamanan, dan memastikan operasi keamanan dapat dengan cepat mendeteksi dan merespons serangan aktif.
  • Operasi (ops) fokus pada performa, kualitas, dan efisiensi, memastikan bahwa beban kerja dapat terus memberikan nilai dalam jangka panjang. Identifikasi persyaratan minimum untuk memastikan bahwa beban kerja dapat dilakukan dan didukung tanpa memerlukan perubahan arsitektur atau rancangan besar-besaran di perkiraan masa mendatang.

Definisi untuk MVP dapat berubah dari waktu ke waktu, dan dengan jenis beban kerja yang berbeda, karena tim belajar bersama dari pengalaman mereka sendiri dan dari organisasi lain.

Mengintegrasikan keamanan secara bawaan dalam proses

Persyaratan keamanan harus fokus pada mengintegrasikan secara bawaan dengan proses dan alat yang ada. Contohnya:

  • Kegiatan desain seperti pemodelan ancaman harus diintegrasikan ke dalam fase perancangan
  • Alat pemindaian keamanan harus diintegrasikan ke dalam sistem integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) seperti Azure DevOps, GitHub, dan Jenkins
  • Masalah keamanan harus dilaporkan menggunakan sistem dan proses pelacakan bug yang sama, misalnya, skema prioritas, seperti bug lainnya.

Cara keamanan diintegrasikan ke dalam proses harus terus ditingkatkan sejalan dengan tim yang belajar dan proses yang matang. Ulasan keamanan dan penilaian risiko harus memastikan mitigasi diintegrasikan ke dalam proses pengembangan end-to-end, layanan produksi akhir, dan infrastruktur yang mendasarinya.

Untuk informasi selengkapnya tentang DevSecOps, lihat Kontrol teknis DevSecOps.

Tips dalam menavigasi perjalanan

Transformasi membutuhkan pembangunan menuju keadaan ideal ini secara bertahap dalam perjalanan. Banyak organisasi harus menavigasi kompleksitas dan tantangan dalam perjalanan ini. Bagian ini menguraikan beberapa contoh yang umum dihadapi organisasi.

  • Perubahan pendidikan dan budaya adalah langkah awal yang penting:Anda berperang dengan pasukan yang Anda miliki. Tim yang Anda miliki sering kali perlu mengembangkan keterampilan baru dan mengadopsi perspektif baru untuk memahami bagian lain dari model DevSecOps. Perubahan pendidikan dan budaya ini membutuhkan waktu, fokus, sponsor eksekutif, dan tindak lanjut berkala untuk membantu individu sepenuhnya memahami dan melihat nilai perubahan. Mengubah budaya dan keterampilan secara drastis kadang-kadang dapat mengetuk identitas profesional individu, menciptakan potensi ketahanan yang kuat. Sangat penting untuk memahami dan mengungkapkan mengapa, apa, dan bagaimana perubahan untuk setiap individu dan situasi mereka.
  • Perubahan membutuhkan waktu: Anda hanya dapat bergerak secepat tim Anda dapat beradaptasi dengan implikasi dari melakukan sesuatu dengan cara baru. Tim akan selalu harus melakukan pekerjaan yang ada sembari melakukan perubahan. Sangat penting untuk memprioritaskan dengan hati-hati apa yang paling penting dan untuk mengelola harapan tentang seberapa cepat perubahan ini dapat terjadi. Berfokus pada strategi merangkak, berjalan, berlari, di mana elemen yang paling penting dan mendasar adalah yang utama, akan bermanfaat bagi organisasi Anda.
  • Sumber daya terbatas: Tantangan yang biasanya dihadapi organisasi sejak awal adalah menemukan bakat dan keterampilan baik dalam pengembangan keamanan maupun aplikasi. Ketika organisasi mulai berkolaborasi dengan lebih efektif, mereka mungkin menemukan bakat tersembunyi, seperti pengembang dengan pola pikir keamanan atau profesional keamanan dengan latar belakang pengembangan.
  • Sifat aplikasi, kode, dan infrastruktur yang berubah: Definisi teknis dan komposisi aplikasi secara fundamental berubah dengan diperkenalkannya teknologi seperti tanpa server, layanan cloud, API cloud, dan aplikasi tanpa kode, seperti Power Apps. Pergeseran ini mengubah praktik pengembangan, keamanan aplikasi, dan bahkan memberdayakan non-pengembang untuk membuat aplikasi.

Catatan

Beberapa implementasi menggabungkan tanggung jawab operasi dan keamanan menjadi peran site reliability engineer (SRE).

Meskipun menggabungkan tanggung jawab ini menjadi satu peran mungkin merupakan kondisi akhir yang ideal untuk beberapa organisasi, hal ini sering kali merupakan perubahan ekstrem dari praktik, budaya, peralatan, dan keahlian perusahaan saat ini.

Bahkan jika Anda menargetkan model SRE, sebaiknya mulai dengan menanamkan keamanan ke dalam DevOps menggunakan solusi cepat praktis dan kemajuan bertambah bertahap yang diuraikan dalam panduan ini untuk memastikan Anda mendapatkan laba atas investasi (ROI) yang baik dan memenuhi kebutuhan mendesak. Ini secara bertahap akan menambah tanggung jawab keamanan pada personel operasi dan pengembangan Anda, yang membuat orang-orang Anda lebih dekat ke keadaan akhir SRE (jika organisasi Anda berencana untuk mengadopsi model itu nantinya).

Langkah berikutnya

Tinjau Kontrol teknis DevSecOps untuk panduan lebih detail tentang DevSecOps.

Untuk informasi tentang cara keamanan tingkat lanjut GitHub mengintegrasikan keamanan ke dalam alur integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD), lihat Tentang keamanan tingkat lanjut GitHub.

Untuk informasi dan peralatan lebih lanjut tentang cara organisasi IT Microsoft menerapkan DevSecOps, lihat Toolkit DevOps yang aman.