1. |
Autentikasi |
- Menggunakan manajemen kata sandi untuk proses autentikasi
- Menerapkan verifikasi kata sandi pada sisi server
- Mengatur jumlah karakter, kombinasi jenis karakter, dan masa berlaku dari kata sandi
- Mengatur jumlah maksimum kesalahan dalam pemasukan kata sandi
- Mengatur mekanisme pemulihan kata sandi
- Menjaga kerahasiaan kata sandi yang disimpan melalui mekanisme kriptografi
- Menggunakan jalur komunikasi yang diamankan untuk peroses autentikasi
|
2. |
Manajemen Sesi |
- Menggunakan pengendali sesi untuk proses manajemen sesi
- Menggunakan pengendali sesi yang disediakan oleh kerangka kerja aplikasi
- Mengatur pembuatan dan keacakan token sesi yang dihasilkan oleh pengendali sesi
- Mengatur kondisi dan jangka waktu habis ses
- Validasi dan pencantuman session id
- Pelindungan terhadap lokasi dan pengiriman token untuk sesi terautentikasi
- Pelindungan terhadap duplikasi dan mekanisme persetujuan pengguna
|
3. |
Persyaratan Kontrol Akses |
- Menetapkan otorisasi pengguna untuk membatasi kontrol akses
- Mengatur peringatan terhadap bahaya serangan otomatis apabila terjadi akses yang bersamaan atau akses yang terus menerus pada fungsi
- Mengatur antarmuka pada sisi administrator
- Mengatur verifikasi kebenaran token ketika mengakses data dan informasi yang dikecualikan
|
4. |
Validasi Input |
- Menerapkan fungsi validasi input pada sisi server
- Menerapkan mekanisme penolakan input jika terjadi kesalahan validasi
- Memastikan runtime environment aplikasi tidak rentan
- Melakukan validasi positif pada seluruh input
- Melakukan filter terhadap data yang tidak dipercaya
- Menggunakan fitur kode dinamis
- Melakukan perlindungan terhadap akses yang mengandung konten skrip
- Melakukan perlindungan terhadap serangan injeksi basis data
|
5. |
Kriptografi dan Verifikasi Statis |
- Menggunakan algoritma kriptografi, modul kriptografi, protokol kriptografi dan kunci kriptografi sesuai dengan ketentuan peraturan perundang-undangan
- Melakukan autentikasi data yang dienkripsi
- Menerapkan manajemen kunci kriptografi
- Membuat angka acak yang menggunakan generator angka acak kriptografi
|
6. |
Penanganan Error dan Pencatatan Log |
- Mengatur konten pesan yang ditampilkan ketika terjadi kesalahan
- Menggunakan metode penanganan error untuk mencegah kesalahan terprediksi dan tidak terduga serta menangani seluruh pengecualian yang tidak ditangani
- Tidak mencantumkan informasi yang dikecualikan dalam pencatatan log
- Mengatur cakupan log yang dicatat untuk mendukung upaya penyelidikan ketika terjadi insiden
- Mengatur pelindungan log aplikasi dari akses dan modifikasi yang tidak sah
- Melakukan enkripsi pada data yang disimpan untuk mencegah injeksi log
- Melakukan sinkronisasi sumber waktu sesuai dengan zona waktu dan waktu yang benar
|
7. |
Proteksi Data |
- Melakukan identifikasi dan penyimpanan salinan informasi yang dikecualikan
- Melakukan pelindungan dari akses yang tidak sah terhadap informasi yang dikecualikan yang disimpan sementara dalam aplikasi
- Melakukan pertukaran, penghapusan, dan audit informasi yang dikecualikan
- Melakukan penentuan jumlah parameter
- Memastikan data disimpan dengan aman
- Menetukan metode untuk menghapus dan mengekspor data sesuai permintaan pengguna
- Membersihkan memori setelah tidak digunakan
|
8. |
Keamanan Komunikasi |
- Menggunakan komunikasi terenkripsi
- Mengatur koneksi masuk dan keluar yang aman dan terenkripsi dari sisi pengguna
- Mengatur jenis algoritma yang digunakan dan alat pengujiannya
- Mengatur aktivasi dan konfigurasi sertifikat elektronik yang diterbitkan oleh penyelenggara sertifikasi elektronik
|
9. |
Pengendalian Kode Berbahaya |
- Menggunakan analisis kode dalam kontrol kode berbahaya
- Memastikan kode sumber aplikasi dan pustaka tidak mengandung kode berbahaya dan fungsionalitas lain yang tidak diinginkan
- Mengatur izin terkait fitur atau sensor terkait privasi
- Mengatur pelindungan integritas
- Mengatur mekanisme fitur pembaruan
|
10. |
Logika Bisnis |
- Memproses alur logika bisnis dalam urutan langkah dan waktu yang realistis
- Memastikan logika bisnis memiliki batasan dan validasi
- Memonitor aktivitas yang tidak biasa
- Membantu dalam kontrol antiotomatisasi
- Memberikan peringatan ketika terjadi serangann otomatis atau aktivitas tidak biasa
|
11. |
File |
- Mengatur jumlah file untuk setiap pengguna dan kuota ukuran file yang diunggah
- Melakukan validasi file sesuai dengan tipe konten yang diharapkan
- Melakukan pelindungan terhadap metadata input dan metadata file
- Melakukan pemindaian file yang diperoleh dari sumber yang tidak dipercaya
- Melakukan konfigurasi server untuk mengunduh file sesuai ekstensi yang ditentukan
|
12. |
Keamanan API dan Web Service |
- Melakukan konfigurasi layanan web
- Memverifikasi uniform resource identifier API tidak menampilkan informasi yang berpotensi sebagai celah keamanan
- Membuat keputusan otorisasi
- Menampilkan metode RESTful hypertext transfer protocol apabila input pengguna dinyatakan valid
- Menggunakan validasi skema dan verifikasi sebelum menerima input
- Menggunakan metode pelindungan layanan berbasis web
- Menerapkan kontrol antiotomatisasi
|
13. |
Keamanan Konfigurasi |
- Mengonfigurasi server sesuai rekomendasi server aplikasi dan kerangka kerja aplikasi yang digunakan
- Mendokumentasi, menyalin konfigurasi, dan semua dependensi
- Menghapus fitur, dokumentasi, sampel, dan konfigurasi yang tidak diperlukan
- Memvalidasi integritas aset jika aset aplikasi diakses secara eksternal
- Menggunakan respons aplikasi dan konten yang aman
|