Perbarui 29-03-2023
Agar selaras dengan tren dan praktik terbaik industri, kelompok kerja aliansi pertahanan aplikasi (ADA) melakukan sesi peninjauan pada Kuartal 1 2023 untuk memperbarui, menyederhanakan, dan menstandarkan prosedur pengujian CASA. Berdasarkan sesi kerja ini, persyaratan dan proses CASA diperbarui sebagai berikut:
-
Persyaratan CASA diperbarui dari 134 menjadi 73 persyaratan (lihat detailnya di bawah).
-
Untuk lulus penilaian CASA, aplikasi harus lulus atau menghapus semua 77 persyaratan CASA, terlepas dari rating CWE.
-
Deskripsi Tingkat Terupdate untuk menyertakan Lab yang menjalankan Tingkat 2.
-
Menambahkan informasi asuransi untuk setiap tingkat.
-
Update minor untuk menyederhanakan proses pemindaian mandiri tingkat 2.
Pembaruan persyaratan CASA
-
Daftar persyaratan terbaru saat ini dapat ditemukan di sini
-
Persyaratan berikut telah dihapus
ID_permintaan |
Masukan Grup Kerja |
8.1.6 |
Akan menganggap kembali Persyaratan ini sebagai sesuatu yang lebih dapat ditindaklanjuti (misalnya, Cadangan hanya boleh dipertahankan selama X waktu, Cadangan harus dipantau untuk pencurian/korupsi, Cadangan harus diaudit secara berkala untuk mengonfirmasi kemampuannya untuk dipindahkan kembali ke produksi). Asumsi saat ini terlalu luas dan memerlukan definisi lebih lanjut. |
5.1.4 |
Duplikasi kasus pengujian lainnya. Ini adalah kasus pengujian bernilai rendah dengan upaya tinggi. Direkomendasikan untuk menghapus. |
7.3.3 |
Duplikasi kasus pengujian lainnya. Ini adalah kasus pengujian bernilai rendah dengan upaya tinggi. Direkomendasikan untuk menghapus. |
1.2.2 |
hapus karena cakupan dalam persyaratan lain seperti 4.1.1 |
2.2.4 |
Hapus Permintaan karena dicakup oleh 4.3.1 (4.3.1 Memverifikasi antarmuka administratif menggunakan autentikasi multi-faktor yang sesuai untuk mencegah penggunaan yang tidak sah.) yang mencakup ketahanan terhadap peniruan identitas terhadap phishing di antarmuka admin dan jalur akses internal lainnya |
2.2.5 |
Hapus karena mTLS tidak didukung oleh sebagian besar CSP, juga sebagian besar developer yang diuji untuk CASA akan menggunakan autentikasi berbasis sandi |
2.4.3 |
Standar yang tertulis tidak cukup spesifik untuk dapat diterapkan |
2.4.5 |
Persyaratan yang dihapus di V5 ASVS dan algoritme hashing yang direkomendasikan di versi 2.4.1 tidak dapat memenuhi persyaratan ini |
2,7.5 |
Pengujian tidak memungkinkan karena mungkin memerlukan analisis penyedia OOB pihak ketiga, risikonya di sini rendah karena kode autentikasi hanya berumur pendek. |
2.8.2 |
Persyaratan ini hanya relevan untuk solusi MFA kustom, yang juga dicakup oleh 6.4.2 dan 6.4.1 |
2.8.5 |
Menghapus persyaratan karena dicakup oleh 2.7.6. Selain itu, logging upaya yang gagal dicakup oleh persyaratan logging ASVS |
2.8.6 |
OTP fisik pada tingkat aplikasi bukanlah kasus penggunaan umum, persyaratan ini diperlukan untuk antarmuka admin. Namun, persyaratan 4.3.1 (Verifikasi antarmuka administratif menggunakan autentikasi multi-faktor yang sesuai untuk mencegah penggunaan yang tidak sah.) mencakup MFA untuk antarmuka admin dan akan mencakup risiko ini |
2.9.1 |
Persyaratan ini mencakup perangkat fisik sesuai dengan ASVS (Kunci keamanan kriptografi adalah kartu smart atau kunci FIDO, yang mengharuskan pengguna mencolokkan atau menyambungkan perangkat kriptografis ke komputer untuk menyelesaikan autentikasi. Pemverifikasi mengirimkan nonce tantangan ke perangkat atau software kriptografi, dan perangkat atau software menghitung respons berdasarkan kunci kriptografis yang disimpan). membuat persyaratan ini di luar cakupan CASA karena risiko autentikasi perangkat fisik tercakup dalam 4.3.1 untuk tujuan MFA (Physical atau software) |
2.9.3 |
Persyaratan ini mencakup perangkat fisik sesuai dengan ASVS (Kunci keamanan kriptografi adalah kartu smart atau kunci FIDO, yang mengharuskan pengguna mencolokkan atau menyambungkan perangkat kriptografis ke komputer untuk menyelesaikan autentikasi. Pemverifikasi mengirimkan nonce tantangan ke perangkat atau software kriptografi, dan perangkat atau software menghitung respons berdasarkan kunci kriptografis yang disimpan). membuat persyaratan ini di luar cakupan CASA karena risiko autentikasi perangkat fisik tercakup dalam 4.3.1 untuk tujuan MFA (Physical atau software) |
2.10.1 |
Persyaratannya adalah kontradiksi terhadap 2.10.2 |
2.10.3 |
Dicakup oleh 2.4.1 (Verifikasi bahwa salah satu fungsi hashing sandi berikut digunakan saat menyimpan sandi pengguna untuk aplikasi: argon2id, scrypt, bcrypt, atau PBKDF2) yang mencakup risiko serangan offline dan penyimpanan sandi. |
2.10.4 |
Dicakup oleh 6.4.2, pastikan bahwa materi kunci tidak diekspos ke aplikasi, tetapi menggunakan modul keamanan terisolasi seperti vault untuk operasi kriptografi. |
3.2.3 |
Dicakup oleh 3.4.1, 3.4.2, dan 3.4.3 |
3.5.1 |
Pengguna dapat mencabut token melalui penyedia OAuth |
4.3.3 |
Permintaan dicakup oleh MFA untuk antarmuka admin dan akses istimewa |
5.1.3 |
Persyaratan ini dicakup oleh persyaratan validasi input lainnya dan jika kurangnya validasi tidak menyebabkan kerentanan logika bisnis yang sebenarnya, maka tingkat keparahan ini lebih rendah. Misalnya, tidak memvalidasi nomor telepon dengan benar hanya akan menyebabkan tampilan nomor telepon yang tidak tepat di halaman info, yang tidak memiliki implikasi keamanan langsung. |
5.1.4 |
Persyaratan ini dicakup oleh persyaratan validasi input lainnya dan jika kurangnya validasi tidak menyebabkan kerentanan logika bisnis yang sebenarnya, maka tingkat keparahan ini lebih rendah. Misalnya, tidak memvalidasi nomor telepon dengan benar hanya akan menyebabkan tampilan nomor telepon yang tidak tepat di halaman info, yang tidak memiliki implikasi keamanan langsung. |
5.3.2 |
Bagian dari persyaratan ini yang menentukan setiap karakter unicode yang valid dapat membuatnya sulit untuk diuji. Tidak semua aplikasi akan menyertakan bentuk teks yang cukup besar untuk menampung setiap karakter unicode. Ada juga kurangnya dukungan untuk sistem operasi dan alat peretasan tertentu untuk seluruh ruang unicode yang membuat Anda tidak dapat mengujinya meskipun server mendukungnya. Nilai keamanan yang diragukan secara keseluruhan. Awalnya disertakan dalam versi beta, tetapi telah dihapus karena masalah saat pengujian. |
6.2.5 |
dicakup oleh 6.2.4 dan 6.2.3 |
6.2.6 |
dicakup oleh 6.2.4 dan 6.2.3 |
6.3.1 |
dicakup oleh 6.2.4 dan 6.2.3 |
6.3.3 |
dicakup oleh persyaratan pembuatan nomor acak lainnya. |
7.1.2 |
dicakup oleh 7.1.1 |
7.1.3 |
dicakup oleh 7.1.1 |
7.3.1 |
dicakup oleh 7.1.1 |
7.3.3 |
dicakup oleh 7.1.1 |
8.1.3 |
Sulit untuk menjelaskan parameter mana yang dapat diterima atau diperlukan. Bukan kasus yang dapat diuji. Apa yang dimaksud dengan hal yang diperlukan? Bagaimana cara kami menentukan apakah sebuah pengecualian valid? Dianggap di luar cakupan CASA |
8.3.3 |
Bukan persyaratan yang dapat diuji, yang relevan dengan kebijakan privasi serta persyaratan layanan, bukan keamanan aplikasi. Peninjauan ini bersifat hukum dan kepatuhan serta berada di luar cakupan CASA |
8.3.6 |
Kontrol bersifat khusus sistem (varian Windows/Linux) dan khusus perangkat, dan dalam kebanyakan kasus bukan kontrol aplikasi. |
8.3.8 |
dicakup oleh 1.8.1, 1.8.2, dan 1.1.4 |
9,2.5 |
tercakup dalam 8.3.5 dan pemeriksaan kebijakan logging aplikasi. |
10,1.1 |
Dicakup oleh tinjauan arsitektur dan merupakan praktik terbaik yang direkomendasikan. Persyaratan tidak dapat diuji |
10.2.3 |
Tidak dapat dilakukan dalam jangka waktu yang wajar. Setiap kode yang aneh harus didokumentasikan dan ditinjau, tetapi menetapkan tugas tertentu untuk memastikan bahwa pintu belakang tidak ada akan memerlukan peninjauan kode baris demi baris yang mendalam dan tidak menjamin bahwa pintu belakang tidak ada. Sulit untuk menguji fungsi berbahaya yang dirancang dengan baik |
10.2.4 |
Tidak ada cara yang memungkinkan untuk melakukan pengujian. Tidak dapat dilakukan dalam jangka waktu yang wajar. Kode unik apa pun harus didokumentasikan dan ditinjau, tetapi menetapkan tugas tertentu untuk memastikan bahwa pintu belakang tidak ada akan memerlukan peninjauan kode baris demi baris yang mendalam dan tidak menjamin bahwa pintu belakang tidak ada. Sulit untuk menguji fungsi berbahaya yang dirancang dengan baik |
10.2.5 |
Tidak ada cara yang memungkinkan untuk melakukan pengujian. Tidak dapat dilakukan dalam jangka waktu yang wajar. Kode unik apa pun harus didokumentasikan dan ditinjau, tetapi menetapkan tugas tertentu untuk memastikan bahwa pintu belakang tidak ada akan memerlukan peninjauan kode baris demi baris yang mendalam dan tidak menjamin bahwa pintu belakang tidak ada. Sulit untuk menguji fungsi berbahaya yang dirancang dengan baik |
13.1.1 |
Dicakup oleh 5.2.6 dan 5.3.9 |
12.3.1 |
risiko traversal jalur yang dicakup oleh persyaratan lain yang ada dari Bab 5 (Validasi, Sanitasi, dan Encoding) ASVS dan CASA |
12.3.3 |
Dicakup oleh 5.2.6 dan 5.3.9 |
12.3.6 |
tercakup dalam 10.3.2 12.4.1 dan 12.4.2 |
12.5.1 |
tercakup dalam 10.3.2 dan 12.4.2 |
12.5.2 |
tercakup dalam 10.3.2 12.4.1 dan 12.4.2 |
13.1.5 |
Persyaratan ini dicakup oleh persyaratan validasi input lainnya dan jika kurangnya validasi tidak menyebabkan kerentanan logika bisnis yang sebenarnya, maka tingkat keparahan ini lebih rendah. Misalnya, tidak memvalidasi nomor telepon dengan benar hanya akan menyebabkan tampilan nomor telepon yang tidak tepat di halaman info, yang tidak memiliki implikasi keamanan langsung. |
13.2.2 |
Persyaratan ini dicakup oleh persyaratan validasi input lainnya dan jika kurangnya validasi tidak menyebabkan kerentanan logika bisnis yang sebenarnya, maka tingkat keparahan ini lebih rendah. Misalnya, tidak memvalidasi nomor telepon dengan benar hanya akan menyebabkan tampilan nomor telepon yang tidak tepat di halaman info, yang tidak memiliki implikasi keamanan langsung. |
13.2.3 |
Dicakup oleh 4.2.2 |
13.2.5 |
Persyaratan ini dicakup oleh persyaratan validasi input lainnya dan jika kurangnya validasi tidak menyebabkan kerentanan logika bisnis yang sebenarnya, maka tingkat keparahan ini lebih rendah. Misalnya, tidak memvalidasi nomor telepon dengan benar hanya akan menyebabkan tampilan nomor telepon yang tidak tepat di halaman info, yang tidak memiliki implikasi keamanan langsung. |
13.3.1 |
Persyaratan ini dicakup oleh persyaratan validasi input lainnya dan jika kurangnya validasi tidak menyebabkan kerentanan logika bisnis yang sebenarnya, maka tingkat keparahan ini lebih rendah. Misalnya, tidak memvalidasi nomor telepon dengan benar hanya akan menyebabkan tampilan nomor telepon yang tidak tepat di halaman info, yang tidak memiliki implikasi keamanan langsung. |
14.4.1 |
dicakup oleh 5.3.1 |
14.4.2 |
Persyaratan ini dicakup oleh persyaratan validasi input lainnya dan jika kurangnya validasi tidak menyebabkan kerentanan logika bisnis yang sebenarnya, maka tingkat keparahan ini lebih rendah. Misalnya, tidak memvalidasi nomor telepon dengan benar hanya akan menyebabkan tampilan nomor telepon yang tidak tepat di halaman info, yang tidak memiliki implikasi keamanan langsung. |
14.4.3 |
dicakup oleh 5.2.7 dan 5.3.3 |
14.4.5 |
dicakup oleh 6.2.1 dan 9.2.1 |
14.4.7 |
dicakup oleh 12.4.1 |
14.5.3 |
dicakup oleh 14.5.2 |
2.1.5 |
dicakup oleh 2.1.1 |
2.1.6 |
dicakup oleh 2.1.1 |
2.2.3 |
Tidak relevan dengan casa karena risiko tercakup dalam kontrol anti-otomatisasi lainnya |
2.5.6 |
dilindungi oleh perlindungan sandi lainnya |
3.1.1 |
Risiko rendah terpapar dan tercakup oleh kontrol ASVS lainnya |
3.2.1 |
Risiko rendah terpapar dan tercakup oleh kontrol ASVS lainnya |
3.4.4 |
Risiko rendah terpapar dan tercakup oleh kontrol ASVS lainnya |
3.4.5 |
Risiko rendah terpapar dan tercakup oleh kontrol ASVS lainnya |
4.2.1 |
dicakup oleh 13.1.4 |
5.2.8 |
dicakup oleh pemeriksaan validasi dan sanitasi input lainnya |
5.3.5 |
dicakup oleh pemeriksaan validasi dan sanitasi input lainnya |
7.4.1 |
tercakup dalam pemeriksaan logging |
8.2.3 |
dicakup oleh 8.1.1 |
9.1.1 |
dicakup oleh 6.2.1 dan 9.2.1 |
1.2.3 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1,4.4 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1,5.2 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1,5.3 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1,5.4 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1.9.1 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1.11.3 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1.14.1 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1.14.2 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1.14.3 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1.14.4 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1,14,5 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
1.14.6 |
dicakup oleh 1.1.4, 1.8.4 dan 1.8.2 |
6.1.2 |
Dicakup oleh 6.1.1 |
6.1.3 |
Dicakup oleh 6.1.1 |
2.10.2 |
Dicakup oleh 2.5.4 |
2.2.1 |
Dicakup oleh 11.1.4 |
2.7.3 |
Dicakup oleh 2.7.2 |
2.7.4 |
Dicakup oleh 2.7.2 |
5.1.2 |
Dicakup oleh Kontrol Anti Otomatisasi |
6.2.2 |
algoritme kriptografi yang disetujui tidak ditentukan |
8.2.1 |
Dicakup oleh 8.1.1 |
9.1.2 |
Dicakup oleh 9.2.1 |
9.1.3 |
Dicakup oleh 9.2.1 |
5.5.1 |
Dicakup oleh 1.8.2 |
14.2.1 |
Dicakup oleh 1.14.6 |
3.3.4 |
Hal ini tidak berlaku untuk aplikasi yang menggunakan AuthN/Z stateless. Setuju dengan rekomendasi NCC Group untuk menghapus. Ini harus dibahas dalam 3.3.3 |
-
Persyaratan berikut telah ditambahkan:
ID_permintaan |
Deskripsi |
1.1.4 |
Verifikasikan dokumentasi dan justifikasi dari semua batas kepercayaan, komponen, dan aliran data aplikasi yang signifikan. |
1,8.1 |
Verifikasi bahwa semua data sensitif diidentifikasi dan diklasifikasikan ke dalam tingkat perlindungan |
1,8.2 |
Verifikasi bahwa semua tingkat perlindungan memiliki serangkaian persyaratan perlindungan terkait, seperti persyaratan enkripsi, persyaratan integritas, retensi, privasi, dan persyaratan kerahasiaan lainnya, dan bahwa persyaratan ini merupakan diterapkan dalam arsitektur. |
2.1.1 |
Pastikan panjang sandi yang ditetapkan pengguna minimal 12 karakter |
2.5.4 |
Pastikan akun bersama atau default tidak ada (misalnya, "root", "admin", atau "sa"). |
4.2.1 |
Verifikasi bahwa data sensitif dan API dilindungi dari serangan Insecure Direct Object Reference (IDOR) yang menargetkan pembuatan, pembacaan, pembaruan, dan penghapusan catatan, seperti membuat atau memperbarui catatan orang lain, melihat catatan semua orang, atau menghapus semua catatan. |
1.14.6 |
Pastikan aplikasi tidak menggunakan yang tidak didukung, tidak aman, atau tidak digunakan lagi teknologi sisi klien seperti plugin NSAPI, Flash, Shockwave, ActiveX, Silverlet, NACL, atau applet Java sisi klien. |