Standar Teknis Keamanan Aplikasi Berbasis Web Badan Siber dan Sandi Negara (BSSN) telah menerbitkan standar teknis keamanan aplikasi berbasis web yang tertuang dalam Peraturan BSSN Nomor 4 Tahun 2021 tentang Pedoman Manajemen Keamananan Informasi Sistem Pemerintahan Berbasis Elektronik dan Standar Teknis dan Prosedur Keamanan Sistem Pemerintahan Berbasis Elektronik. a. Autentikasi Autentikasi dilakukan dengan: 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;  jumlah karakter minimal 12 karakter; kombinasi jenis karakter minimal terdiri dari huruf besar, huruf kecil, simbol dan angka, tidak ada perulangan karakter; masa berlaku dari kata sandi minimal 6 bulan, dan tidak ada perulangan kata sandi mengatur jumlah maksimum kesalahan dalam pemasukan kata sandi; mengatur mekanisme pemulihan kata sandi; menjaga kerahasiaan kata sandi yang disimpan melalui mekanisme kriptografi; dan menggunakan jalur komunikasi yang diamankan untuk proses autentikasi. b. Manajemen Sesi Manajemen sesi dilakukan dengan: 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 sesi; validasi dan pencantuman session id; pelindungan terhadap lokasi dan pengiriman token untuk sesi terautentikasi; dan pelindungan terhadap duplikasi dan mekanisme persetujuan pengguna. c. Persyaratan Kontrol Akses Persyaratan kontrol akses dilakukan dengan prosedur: 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; dan mengatur verifikasi kebenaran token ketika mengakses data dan informasi yang dikecualikan d. Validasi Input Validasi input dilakukan dengan prosedur: menerapkan fungsi validasi input pada sisi server; menerapkan mekanisme penolakan input jika terjadi kesalahan validasi; memastikan runtime environment aplikasi tidak rentan terhadap serangan validasi input; melakukan validasi positif pada seluruh input; melakukan filter terhadap data yang tidak dipercaya; menggunakan fitur kode dinamis; melakukan pelindungan terhadap akses yang mengandung konten skrip; dan melakukan pelindungan dari serangan injeksi basis data. e. Kriptografi pada Verifikasi Statis Kriptografi pada verifikasi statis sebagaimana dilakukan dengan prosedur: 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; dan membuat angka acak yang menggunakan generator angka acak kriptografi. f. Penanganan Eror dan Pencatatan Log Penanganan eror dan pencatatan log dilakukan dengan prosedur: mengatur konten pesan yang ditampilkan ketika terjadi kesalahan; menggunakan metode penanganan eror untuk mencegah kesalahan terprediksi dan tidak terduga serta menangani seluruh pengecualian yang tidak ditangani; 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; dan melakukan sinkronisasi sumber waktu sesuai dengan zona waktu dan waktu yang benar.c. 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; dan melakukan sinkronisasi sumber waktu sesuai dengan zona waktu dan waktu yang benar. g. Proteksi Data Proteksi data dilakukan dengan prosedur: 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 dengan meminimalkan parameter yang di butuhkan untuk request kepada server memastikan data disimpan dengan aman; menentukan metode untuk menghapus dan mengekspor data sesuai permintaan pengguna; dan membersihkan memori setelah tidak diperlukan. h. Keamanan Komunikasi Keamanan komunikasi dilakukan dengan prosedur: menggunakan komunikasi terenkripsi; mengatur koneksi masuk dan keluar yang aman dan terenkripsi dari sisi pengguna; mengatur jenis algoritma yang digunakan dan alat pengujiannya; dan mengatur aktivasi dan konfigurasi sertifikat elektronik yang diterbitkan oleh penyelenggara sertifikasi elektronik. i. Pengendalian Kode Berbahaya Pengendalian kode berbahaya dilakukan dengan prosedur: 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; dan mengatur mekanisme fitur pembaruan. j. Logika Bisnis Logika bisnis dilakukan dengan prosedur: 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; dan memberikan peringatan ketika terjadi serangan otomatis atau aktivitas yang tidak biasa. k. Keamanan File Keamanan file  dilakukan dengan prosedur: 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; dan melakukan konfigurasi server untuk mengunduh file sesuai ekstensi yang ditentukan. l. Keamanan API dan Web Service Keamanan API dan web service dilakukan dengan prosedur: 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; dan menerapkan kontrol antiotomatisasi. m. Keamanan Konfigurasi Keamanan konfigurasi dilakukan dengan prosedur: 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; dan menggunakan respons aplikasi dan konten yang aman.