Proyek Application Security Verification Standard (ASVS) memberikan dasar untuk menguji kontrol keamanan teknis aplikasi web dan juga memberi pengembang daftar persyaratan untuk pengembangan yang aman. Tujuan utama OWASP ASVS adalah untuk menyediakan standar keamanan aplikasi terbuka untuk semua jenis aplikasi web dan layanan web. Standar ini memberikan dasar untuk merancang, membangun, dan menguji kontrol keamanan aplikasi teknis, termasuk masalah arsitektur, siklus hidup pengembangan yang aman, pemodelan ancaman, keamanan tangkas termasuk masalah integrasi/penerapan berkelanjutan, tanpa server, dan konfigurasi.
Tujuan Standar
Persyaratan dikembangkan dengan tujuan sebagai berikut:
- Membantu organisasi mengadopsi atau mengadaptasi sebuah standar secure coding berkualitas tinggi.
- Membantu arsitek dan pengembang membangun software yang aman dengan membangun dan merancang keamanan. Serta melakukan verifikasi bahwa software mereka ada dan efektif dengan menggunakan pengujian unit dan integrasi yang menerapkan uji ASVS.
- Membantu menerapkan software yang aman melalui pembangunan yang aman dan berulang.
- Membantu peninjau keamanan (security reviewers) menggunakan standar yang komprehensif, konsisten, dan berkualitas tinggi. Ini untuk melakukan tinjauan kode hibrid, tinjauan kode aman, tinjauan kode rekan, retrospektif, dan bekerja dengan pengembang untuk membangun unit keamanan dan pengujian integrasi. Bahkan dimungkinkan untuk menggunakan standar ini untuk pengujian penetrasi di Level 1.
- Membantu vendor alat dengan memastikan ada versi yang dapat dibaca mesin dengan mudah, dengan pemetaan CWE.
- Membantu organisasi untuk mengukur alat keamanan aplikasi berdasarkan persentase cakupan ASVS untuk alat analisis dinamis, interaktif, dan statis.
- Meminimalkan persyaratan yang tumpang tindih (minimize overlapping) dan bersaing dari standar lain, dengan menyelaraskannya secara kuat (NIST 800-63), atau menjadi superset yang ketat (OWASP Top 10 2017, PCI DSS 3.2.1), yang akan membantu mengurangi biaya, tenaga, dan waktu kepatuhan terbuang sia-sia dalam menerima perbedaan yang tidak perlu sebagai risiko.
Daftar persyaratan ASVS tersedia dalam CSV, JSON, dan format lain yang mungkin berguna untuk referensi atau penggunaan terprogram.
Application Security Verification Levels
Standar Verifikasi Keamanan Aplikasi mendefinisikan tiga tingkat verifikasi keamanan, dengan setiap tingkat semakin mendalam.
- ASVS Level 1 ditujukan untuk tingkat jaminan rendah, dan sepenuhnya dapat diuji penetrasi.
- ASVS Level 2 ditujukan untuk aplikasi yang berisi data sensitif, yang memerlukan perlindungan (protection) dan merupakan level yang direkomendasikan untuk sebagian besar aplikasi.
- ASVS Level 3 ditujukan untuk aplikasi paling kritis – aplikasi yang melakukan transaksi bernilai tinggi, berisi data medis sensitif, atau aplikasi apa pun yang memerlukan tingkat kepercayaan tertinggi.
Setiap level ASVS berisi daftar persyaratan keamanan. Masing-masing persyaratan ini juga dapat dipetakan ke fitur dan kemampuan khusus keamanan yang harus dibangun ke dalam perangkat lunak oleh pengembang.
14 Chapter di ASVS
ASVS 4.0 telah diberi nomor ulang seluruhnya dari awal hingga akhir. Skema penomoran baru memungkinkan kami untuk menutup kesenjangan dari bab-bab yang sudah lama hilang, dan memungkinkan kami untuk mengelompokkan bab-bab yang lebih panjang untuk meminimalkan jumlah kontrol yang harus dipatuhi oleh pengembang atau tim. Misalnya, jika aplikasi tidak menggunakan JWT, seluruh bagian JWT dalam manajemen sesi tidak berlaku.
V1: Architecture, Design and Threat Modeling Requirements
V2: Authentication Verification Requirements
V3: Session Management Verification Requirements
V4: Access Control Verification Requirements
V5: Validation, Sanitization and Encoding Verification Requirements
V6: Stored Cryptography Verification Requirements
V7: Error Handling and Logging Verification Requirements
V8: Data Protection Verification Requirements
V9: Communications Verification Requirements
V10: Malicious Code Verification Requirements
V11: Business Logic Verification Requirements
V12: File and Resources Verification Requirements
V13: API and Web Service Verification Requirements
V14: Configuration Verification Requirements