Keamanan Perangkat Lunak Aplikasi
Mengelola siklus hidup keamanan perangkat lunak yang dikembangkan secara internal, dihosting, atau diperoleh untuk mencegah, mendeteksi, dan meremediasi kelemahan keamanan sebelum dapat berdampak pada perusahaan.
Mengapa Kontrol Ini Penting?
Serangan sering kali memanfaatkan kerentanan yang ditemukan dalam perangkat lunak berbasis web dan aplikasi lainnya. Kerentanan dapat disebabkan oleh kesalahan pengkodean, kesalahan logika, persyaratan yang tidak lengkap, dan kegagalan untuk menguji kondisi yang tidak biasa atau tidak terduga. Penyerang yang canggih dapat menemukan dan mengeksploitasi kerentanan tersebut. Keamanan aplikasi mencakup teknik-teknik seperti persyaratan keamanan, desain aman, pengkodean aman, penerapan aman, pemindaian kerentanan, dan web application firewall.
Templat Kebijakan Terkait
Pengamanan (14)
| ID | Judul | Fungsi | IG | Item Daftar Periksa | Bukti |
|---|---|---|---|---|---|
| 16.1 | Tetapkan dan Pelihara Proses Pengembangan Aplikasi yang Aman | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.2 | Tetapkan dan Pelihara Proses untuk Menerima dan Menangani Laporan Kerentanan Perangkat Lunak | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.3 | Lakukan Analisis Akar Masalah pada Kerentanan Keamanan | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.4 | Tetapkan dan Kelola Inventaris Komponen Perangkat Lunak Pihak Ketiga | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.5 | Gunakan Komponen Perangkat Lunak Pihak Ketiga yang Terkini dan Tepercaya | Lindungi |
IG2
IG3
|
4 | 1 |
| 16.6 | Tetapkan dan Pelihara Sistem Peringkat Tingkat Keparahan dan Proses untuk Kelemahan Aplikasi | Lindungi |
IG2
IG3
|
4 | 2 |
| 16.7 | Gunakan Template Konfigurasi Pengerasan Standar untuk Infrastruktur Aplikasi | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.8 | Pisahkan Sistem Produksi dan Non-Produksi | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.9 | Latih Pengembang dalam Konsep Keamanan Aplikasi dan Pengkodean Aman | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.10 | Terapkan Pemeriksaan Keamanan Otomatis Kode | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.11 | Gunakan Modul atau Layanan Keamanan Terverifikasi | Lindungi |
IG2
IG3
|
2 | 1 |
| 16.12 | Terapkan Pemeriksaan Integritas Tingkat Kode | Lindungi |
IG3
|
2 | 1 |
| 16.13 | Lakukan Pengujian Penetrasi Aplikasi | Lindungi |
IG3
|
2 | 1 |
| 16.14 | Lakukan Pemodelan Ancaman | Lindungi |
IG3
|
2 | 1 |
Detail Verifikasi Audit
Tetapkan dan pelihara proses pengembangan aplikasi yang aman. Dalam proses tersebut, tangani hal-hal seperti: standar desain aman, praktik pengkodean aman, standarisasi pelatihan pengembang, manajemen kerentanan, keamanan pustaka pihak ketiga, dan prosedur pengujian keamanan aplikasi. Tinjau dan perbarui dokumentasi setiap tahun, atau ketika terjadi perubahan signifikan pada perusahaan yang dapat memengaruhi Pengamanan ini.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Tetapkan dan pelihara proses untuk menerima dan menangani laporan kerentanan perangkat lunak dari pihak internal atau eksternal. Proses tersebut meliputi: dokumentasi pencarian keamanan, pembuatan jadwal komunikasi, dan proses eksekusi remediasi.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Lakukan analisis akar masalah pada kerentanan keamanan. Saat meninjau kerentanan, analisis akar masalah dimaksudkan untuk melebihi perbaikan langsung yang dilakukan dan mengidentifikasi kerentanan yang mendasarinya, termasuk kerentanan dalam pengkodean, desain, dan pengembangan.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Tetapkan dan kelola inventaris terkini dari komponen perangkat lunak pihak ketiga yang digunakan dalam pengembangan, sering disebut sebagai "Bill of Materials", serta komponen yang dijadwalkan untuk penggunaan di masa depan. Proses ini harus disertakan dalam proses pengembangan aplikasi yang aman.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Gunakan komponen perangkat lunak pihak ketiga yang terkini dan tepercaya. Jika memungkinkan, pilih perpustakaan dan kerangka kerja yang telah mapan dan terbukti yang menyediakan keamanan yang memadai. Beli perangkat lunak komersial yang dikelola dan didukung secara baik oleh vendor.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Tetapkan dan pelihara sistem peringkat tingkat keparahan dan proses untuk kelemahan aplikasi yang memfasilitasi prioritas urutan perbaikan.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Teknis | Status pendaftaran MFA dan konfigurasi penegakan | Ditinjau setiap bulan |
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Gunakan template konfigurasi pengerasan standar untuk infrastruktur aplikasi. Contoh implementasi termasuk server yang mendasarinya, basis data, dan kontainer, serta template konfigurasi pengerasan standar. Evaluasi ulang setiap tahun, atau ketika terjadi perubahan signifikan pada perusahaan yang dapat memengaruhi Pengamanan ini.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Pelihara lingkungan terpisah untuk sistem produksi dan non-produksi.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Pastikan semua personel pengembangan perangkat lunak menerima pelatihan dalam menulis kode yang aman untuk lingkungan dan tanggung jawab khusus mereka. Pelatihan dapat mencakup prinsip keamanan umum dan praktik keamanan aplikasi standar. Lakukan pelatihan setidaknya setiap tahun dan desain sedemikian rupa sehingga mendorong keamanan dalam proses pengembangan.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Terapkan pemeriksaan keamanan otomatis kode untuk basis kode. Contoh implementasi termasuk analisis kode statis dan pengujian keamanan aplikasi dinamis (DAST).
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Gunakan modul atau layanan keamanan terverifikasi. Contoh implementasi termasuk menggunakan modul enkripsi terverifikasi yang lebih besar daripada membangun algoritma kriptografi khusus.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Terapkan pemeriksaan integritas tingkat kode untuk memvalidasi tingkat integritas sebelum penerapan. Contoh pemeriksaan integritas termasuk hash dan penandatanganan kode.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Lakukan pengujian penetrasi aplikasi. Untuk aplikasi kritis, pengujian penetrasi terotentikasi lebih baik daripada pemindaian yang tidak terotentikasi. Pengujian penetrasi memerlukan keterampilan dan pengalaman khusus dan harus dilakukan melalui pihak yang memenuhi syarat. Pihak yang melakukan pengujian dapat dikelola secara internal oleh perusahaan atau merupakan pihak ketiga eksternal.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |
Lakukan pemodelan ancaman. Pemodelan ancaman adalah proses mengidentifikasi dan menangani kelemahan desain keamanan aplikasi dalam desain, sebelum kode dibuat.
Daftar Verifikasi Audit
| Jenis | Item Bukti | Frekuensi |
|---|---|---|
| Dokumen | Dokumen kebijakan yang mengatur (terkini, disetujui, dikomunikasikan) | Ditinjau setiap tahun |