+OWASP Application Security Verification Standard 5.0.0
---+V1 Encoding and Sanitization
------+V1.1 Encoding and Sanitization Architecture
---------+V1.1.1 Verify that input is decoded or unescaped into a canonical form only once, it is only decoded when …
---------+V1.1.2 Verify that the application performs output encoding and escaping either as a final step before …
------+V1.2 Injection Prevention
---------+V1.2.1 Verify that output encoding for an HTTP response, HTML document, or XML document is relevant for …
---------+V1.2.2 Verify that when dynamically building URLs, untrusted data is encoded according to its context …
---------+V1.2.3 Verify that output encoding or escaping is used when dynamically building JavaScript content …
---------+V1.2.4 Verify that data selection or database queries (e.g., SQL, HQL, NoSQL, Cypher) use parameterized …
---------+V1.2.5 Verify that the application protects against OS command injection and that operating system calls …
---------+V1.2.6 Verify that the application protects against LDAP injection vulnerabilities, or that specific …
---------+V1.2.7 Verify that the application is protected against XPath injection attacks by using query …
---------+V1.2.8 Verify that LaTeX processors are configured securely (such as not using the "--shell-escape" flag) …
---------+V1.2.9 Verify that the application escapes special characters in regular expressions (typically using a …
---------+V1.2.10 Verify that the application is protected against CSV and Formula Injection. The application must …
------+V1.3 Sanitization
---------+V1.3.1 Verify that all untrusted HTML input from WYSIWYG editors or similar is sanitized using a …
---------+V1.3.2 Verify that the application avoids the use of eval() or other dynamic code execution features such …
---------+V1.3.3 Verify that data being passed to a potentially dangerous context is sanitized beforehand to enforce …
---------+V1.3.4 Verify that user-supplied Scalable Vector Graphics (SVG) scriptable content is validated or …
---------+V1.3.5 Verify that the application sanitizes or disables user-supplied scriptable or expression template …
---------+V1.3.6 Verify that the application protects against Server-side Request Forgery (SSRF) attacks, by …
---------+V1.3.7 Verify that the application protects against template injection attacks by not allowing templates …
---------+V1.3.8 Verify that the application appropriately sanitizes untrusted input before use in Java Naming and …
---------+V1.3.9 Verify that the application sanitizes content before it is sent to memcache to prevent injection …
---------+V1.3.10 Verify that format strings which might resolve in an unexpected or malicious way when used are …
---------+V1.3.11 Verify that the application sanitizes user input before passing to mail systems to protect against …
---------+V1.3.12 Verify that regular expressions are free from elements causing exponential backtracking, and ensure …
------+V1.4 Memory, String, and Unmanaged Code
---------+V1.4.1 Verify that the application uses memory-safe string, safer memory copy and pointer arithmetic to …
---------+V1.4.2 Verify that sign, range, and input validation techniques are used to prevent integer overflows.
---------+V1.4.3 Verify that dynamically allocated memory and resources are released, and that references or …
------+V1.5 Safe Deserialization
---------+V1.5.1 Verify that the application configures XML parsers to use a restrictive configuration and that …
---------+V1.5.2 Verify that deserialization of untrusted data enforces safe input handling, such as using an …
---------+V1.5.3 Verify that different parsers used in the application for the same data type (e.g., JSON parsers …
---+V2 Validation and Business Logic
------+V2.1 Validation and Business Logic Documentation
---------+V2.1.1 Verify that the application's documentation defines input validation rules for how to check the …
---------+V2.1.2 Verify that the application's documentation defines how to validate the logical and contextual …
---------+V2.1.3 Verify that expectations for business logic limits and validations are documented, including both …
------+V2.2 Input Validation
---------+V2.2.1 Verify that input is validated to enforce business or functional expectations for that input. This …
---------+V2.2.2 Verify that the application is designed to enforce input validation at a trusted service layer. …
---------+V2.2.3 Verify that the application ensures that combinations of related data items are reasonable …
------+V2.3 Business Logic Security
---------+V2.3.1 Verify that the application will only process business logic flows for the same user in the …
---------+V2.3.2 Verify that business logic limits are implemented per the application's documentation to avoid …
---------+V2.3.3 Verify that transactions are being used at the business logic level such that either a business …
---------+V2.3.4 Verify that business logic level locking mechanisms are used to ensure that limited quantity …
---------+V2.3.5 Verify that high-value business logic flows require multi-user approval to prevent unauthorized or …
------+V2.4 Anti-automation
---------+V2.4.1 Verify that anti-automation controls are in place to protect against excessive calls to application …
---------+V2.4.2 Verify that business logic flows require realistic human timing, preventing excessively rapid …
---+V3 Web Frontend Security
------+V3.1 Web Frontend Security Documentation
---------+V3.1.1 Verify that application documentation states the expected security features that browsers using the …
------+V3.2 Unintended Content Interpretation
---------+V3.2.1 Verify that security controls are in place to prevent browsers from rendering content or …
---------+V3.2.2 Verify that content intended to be displayed as text, rather than rendered as HTML, is handled …
---------+V3.2.3 Verify that the application avoids DOM clobbering when using client-side JavaScript by employing …
------+V3.3 Cookie Setup
---------+V3.3.1 Verify that cookies have the 'Secure' attribute set, and if the '__Host-' prefix is not used for …
---------+V3.3.2 Verify that each cookie's 'SameSite' attribute value is set according to the purpose of the cookie …
---------+V3.3.3 Verify that cookies have the '__Host-' prefix for the cookie name unless they are explicitly …
---------+V3.3.4 Verify that if the value of a cookie is not meant to be accessible to client-side scripts (such as …
---------+V3.3.5 Verify that when the application writes a cookie, the cookie name and value length combined are not …
------+V3.4 Browser Security Mechanism Headers
---------+V3.4.1 Verify that a Strict-Transport-Security header field is included on all responses to enforce an …
---------+V3.4.2 Verify that the Cross-Origin Resource Sharing (CORS) Access-Control-Allow-Origin header field is a …
---------+V3.4.3 Verify that HTTP responses include a Content-Security-Policy response header field which defines …
---------+V3.4.4 Verify that all HTTP responses contain an 'X-Content-Type-Options: nosniff' header field. This …
---------+V3.4.5 Verify that the application sets a referrer policy to prevent leakage of technically sensitive data …
---------+V3.4.6 Verify that the web application uses the frame-ancestors directive of the Content-Security-Policy …
---------+V3.4.7 Verify that the Content-Security-Policy header field specifies a location to report violations.
---------+V3.4.8 Verify that all HTTP responses that initiate a document rendering (such as responses with …
------+V3.5 Browser Origin Separation
---------+V3.5.1 Verify that, if the application does not rely on the CORS preflight mechanism to prevent disallowed …
---------+V3.5.2 Verify that, if the application relies on the CORS preflight mechanism to prevent disallowed …
---------+V3.5.3 Verify that HTTP requests to sensitive functionality use appropriate HTTP methods such as POST …
---------+V3.5.4 Verify that separate applications are hosted on different hostnames to leverage the restrictions …
---------+V3.5.5 Verify that messages received by the postMessage interface are discarded if the origin of the …
---------+V3.5.6 Verify that JSONP functionality is not enabled anywhere across the application to avoid Cross-Site …
---------+V3.5.7 Verify that data requiring authorization is not included in script resource responses, like …
---------+V3.5.8 Verify that authenticated resources (such as images, videos, scripts, and other documents) can be …
------+V3.6 External Resource Integrity
---------+V3.6.1 Verify that client-side assets, such as JavaScript libraries, CSS, or web fonts, are only hosted …
------+V3.7 Other Browser Security Considerations
---------+V3.7.1 Verify that the application only uses client-side technologies which are still supported and …
---------+V3.7.2 Verify that the application will only automatically redirect the user to a different hostname or …
---------+V3.7.3 Verify that the application shows a notification when the user is being redirected to a URL outside …
---------+V3.7.4 Verify that the application's top-level domain (e.g., site.tld) is added to the public preload list …
---------+V3.7.5 Verify that the application behaves as documented (such as warning the user or blocking access) if …
---+V4 API and Web Service
------+V4.1 Generic Web Service Security
---------+V4.1.1 Verify that every HTTP response with a message body contains a Content-Type header field that …
---------+V4.1.2 Verify that only user-facing endpoints (intended for manual web-browser access) automatically …
---------+V4.1.3 Verify that any HTTP header field used by the application and set by an intermediary layer, such as …
---------+V4.1.4 Verify that only HTTP methods that are explicitly supported by the application or its API …
---------+V4.1.5 Verify that per-message digital signatures are used to provide additional assurance on top of …
------+V4.2 HTTP Message Structure Validation
---------+V4.2.1 Verify that all application components (including load balancers, firewalls, and application …
---------+V4.2.2 Verify that when generating HTTP messages, the Content-Length header field does not conflict with …
---------+V4.2.3 Verify that the application does not send nor accept HTTP/2 or HTTP/3 messages with …
---------+V4.2.4 Verify that the application only accepts HTTP/2 and HTTP/3 requests where the header fields and …
---------+V4.2.5 Verify that, if the application (backend or frontend) builds and sends requests, it uses …
------+V4.3 GraphQL
---------+V4.3.1 Verify that a query allowlist, depth limiting, amount limiting, or query cost analysis is used to …
---------+V4.3.2 Verify that GraphQL introspection queries are disabled in the production environment unless the …
------+V4.4 WebSocket
---------+V4.4.1 Verify that WebSocket over TLS (WSS) is used for all WebSocket connections.
---------+V4.4.2 Verify that, during the initial HTTP WebSocket handshake, the Origin header field is checked …
---------+V4.4.3 Verify that, if the application's standard session management cannot be used, dedicated tokens are …
---------+V4.4.4 Verify that dedicated WebSocket session management tokens are initially obtained or validated …
---+V5 File Handling
------+V5.1 File Handling Documentation
---------+V5.1.1 Verify that the documentation defines the permitted file types, expected file extensions, and …
------+V5.2 File Upload and Content
---------+V5.2.1 Verify that the application will only accept files of a size which it can process without causing a …
---------+V5.2.2 Verify that when the application accepts a file, either on its own or within an archive such as a …
---------+V5.2.3 Verify that the application checks compressed files (e.g., zip, gz, docx, odt) against maximum …
---------+V5.2.4 Verify that a file size quota and maximum number of files per user are enforced to ensure that a …
---------+V5.2.5 Verify that the application does not allow uploading compressed files containing symlinks unless …
---------+V5.2.6 Verify that the application rejects uploaded images with a pixel size larger than the maximum …
------+V5.3 File Storage
---------+V5.3.1 Verify that files uploaded or generated by untrusted input and stored in a public folder, are not …
---------+V5.3.2 Verify that when the application creates file paths for file operations, instead of user-submitted …
---------+V5.3.3 Verify that server-side file processing, such as file decompression, ignores user-provided path …
------+V5.4 File Download
---------+V5.4.1 Verify that the application validates or ignores user-submitted filenames, including in a JSON …
---------+V5.4.2 Verify that file names served (e.g., in HTTP response header fields or email attachments) are …
---------+V5.4.3 Verify that files obtained from untrusted sources are scanned by antivirus scanners to prevent …
---+V6 Authentication
------+V6.1 Authentication Documentation
---------+V6.1.1 Verify that application documentation defines how controls such as rate limiting, anti-automation …
---------+V6.1.2 Verify that a list of context-specific words is documented in order to prevent their use in …
---------+V6.1.3 Verify that, if the application includes multiple authentication pathways, these are all documented …
------+V6.2 Password Security
---------+V6.2.1 Verify that user set passwords are at least 8 characters in length although a minimum of 15 …
---------+V6.2.2 Verify that users can change their password.
---------+V6.2.3 Verify that password change functionality requires the user's current and new password.
---------+V6.2.4 Verify that passwords submitted during account registration or password change are checked against …
---------+V6.2.5 Verify that passwords of any composition can be used, without rules limiting the type of characters …
---------+V6.2.6 Verify that password input fields use type=password to mask the entry. Applications may allow the …
---------+V6.2.7 Verify that "paste" functionality, browser password helpers, and external password managers are …
---------+V6.2.8 Verify that the application verifies the user's password exactly as received from the user, without …
---------+V6.2.9 Verify that passwords of at least 64 characters are permitted.
---------+V6.2.10 Verify that a user's password stays valid until it is discovered to be compromised or the user …
---------+V6.2.11 Verify that the documented list of context specific words is used to prevent easy to guess …
---------+V6.2.12 Verify that passwords submitted during account registration or password changes are checked against …
------+V6.3 General Authentication Security
---------+V6.3.1 Verify that controls to prevent attacks such as credential stuffing and password brute force are …
---------+V6.3.2 Verify that default user accounts (e.g., "root", "admin", or "sa") are not present in the …
---------+V6.3.3 Verify that either a multi-factor authentication mechanism or a combination of single-factor …
---------+V6.3.4 Verify that, if the application includes multiple authentication pathways, there are no …
---------+V6.3.5 Verify that users are notified of suspicious authentication attempts (successful or unsuccessful). …
---------+V6.3.6 Verify that email is not used as either a single-factor or multi-factor authentication mechanism.
---------+V6.3.7 Verify that users are notified after updates to authentication details, such as credential resets …
---------+V6.3.8 Verify that valid users cannot be deduced from failed authentication challenges, such as by basing …
------+V6.4 Authentication Factor Lifecycle and Recovery
---------+V6.4.1 Verify that system generated initial passwords or activation codes are securely randomly generated …
---------+V6.4.2 Verify that password hints or knowledge-based authentication (so-called "secret questions") are not …
---------+V6.4.3 Verify that a secure process for resetting a forgotten password is implemented, that does not …
---------+V6.4.4 Verify that if a multi-factor authentication factor is lost, evidence of identity proofing is …
---------+V6.4.5 Verify that renewal instructions for authentication mechanisms which expire are sent with enough …
---------+V6.4.6 Verify that administrative users can initiate the password reset process for the user, but that …
------+V6.5 General Multi-factor authentication requirements
---------+V6.5.1 Verify that lookup secrets, out-of-band authentication requests or codes, and time-based one-time …
---------+V6.5.2 Verify that, when being stored in the application's backend, lookup secrets with less than 112 bits …
---------+V6.5.3 Verify that lookup secrets, out-of-band authentication code, and time-based one-time password …
---------+V6.5.4 Verify that lookup secrets and out-of-band authentication codes have a minimum of 20 bits of …
---------+V6.5.5 Verify that out-of-band authentication requests, codes, or tokens, as well as time-based one-time …
---------+V6.5.6 Verify that any authentication factor (including physical devices) can be revoked in case of theft …
---------+V6.5.7 Verify that biometric authentication mechanisms are only used as secondary factors together with …
---------+V6.5.8 Verify that time-based one-time passwords (TOTPs) are checked based on a time source from a trusted …
------+V6.6 Out-of-Band authentication mechanisms
---------+V6.6.1 Verify that authentication mechanisms using the Public Switched Telephone Network (PSTN) to deliver …
---------+V6.6.2 Verify that out-of-band authentication requests, codes, or tokens are bound to the original …
---------+V6.6.3 Verify that a code based out-of-band authentication mechanism is protected against brute force …
---------+V6.6.4 Verify that, where push notifications are used for multi-factor authentication, rate limiting is …
------+V6.7 Cryptographic authentication mechanism
---------+V6.7.1 Verify that the certificates used to verify cryptographic authentication assertions are stored in a …
---------+V6.7.2 Verify that the challenge nonce is at least 64 bits in length, and statistically unique or unique …
------+V6.8 Authentication with an Identity Provider
---------+V6.8.1 Verify that, if the application supports multiple identity providers (IdPs), the user's identity …
---------+V6.8.2 Verify that the presence and integrity of digital signatures on authentication assertions (for …
---------+V6.8.3 Verify that SAML assertions are uniquely processed and used only once within the validity period to …
---------+V6.8.4 Verify that, if an application uses a separate Identity Provider (IdP) and expects specific …
---+V7 Session Management
------+V7.1 Session Management Documentation
---------+V7.1.1 Verify that the user's session inactivity timeout and absolute maximum session lifetime are …
---------+V7.1.2 Verify that the documentation defines how many concurrent (parallel) sessions are allowed for one …
---------+V7.1.3 Verify that all systems that create and manage user sessions as part of a federated identity …
------+V7.2 Fundamental Session Management Security
---------+V7.2.1 Verify that the application performs all session token verification using a trusted, backend …
---------+V7.2.2 Verify that the application uses either self-contained or reference tokens that are dynamically …
---------+V7.2.3 Verify that if reference tokens are used to represent user sessions, they are unique and generated …
---------+V7.2.4 Verify that the application generates a new session token on user authentication, including …
------+V7.3 Session Timeout
---------+V7.3.1 Verify that there is an inactivity timeout such that re-authentication is enforced according to …
---------+V7.3.2 Verify that there is an absolute maximum session lifetime such that re-authentication is enforced …
------+V7.4 Session Termination
---------+V7.4.1 Verify that when session termination is triggered (such as logout or expiration), the application …
---------+V7.4.2 Verify that the application terminates all active sessions when a user account is disabled or …
---------+V7.4.3 Verify that the application gives the option to terminate all other active sessions after a …
---------+V7.4.4 Verify that all pages that require authentication have easy and visible access to logout …
---------+V7.4.5 Verify that application administrators are able to terminate active sessions for an individual user …
------+V7.5 Defenses Against Session Abuse
---------+V7.5.1 Verify that the application requires full re-authentication before allowing modifications to …
---------+V7.5.2 Verify that users are able to view and (having authenticated again with at least one factor) …
---------+V7.5.3 Verify that the application requires further authentication with at least one factor or secondary …
------+V7.6 Federated Re-authentication
---------+V7.6.1 Verify that session lifetime and termination between Relying Parties (RPs) and Identity Providers …
---------+V7.6.2 Verify that creation of a session requires either the user's consent or an explicit action …
---+V8 Authorization
------+V8.1 Authorization Documentation
---------+V8.1.1 Verify that authorization documentation defines rules for restricting function-level and …
---------+V8.1.2 Verify that authorization documentation defines rules for field-level access restrictions (both …
---------+V8.1.3 Verify that the application's documentation defines the environmental and contextual attributes …
---------+V8.1.4 Verify that authentication and authorization documentation defines how environmental and contextual …
------+V8.2 General Authorization Design
---------+V8.2.1 Verify that the application ensures that function-level access is restricted to consumers with …
---------+V8.2.2 Verify that the application ensures that data-specific access is restricted to consumers with …
---------+V8.2.3 Verify that the application ensures that field-level access is restricted to consumers with …
---------+V8.2.4 Verify that adaptive security controls based on a consumer's environmental and contextual …
------+V8.3 Operation Level Authorization
---------+V8.3.1 Verify that the application enforces authorization rules at a trusted service layer and doesn't …
---------+V8.3.2 Verify that changes to values on which authorization decisions are made are applied immediately. …
---------+V8.3.3 Verify that access to an object is based on the originating subject's (e.g. consumer's) …
------+V8.4 Other Authorization Considerations
---------+V8.4.1 Verify that multi-tenant applications use cross-tenant controls to ensure consumer operations will …
---------+V8.4.2 Verify that access to administrative interfaces incorporates multiple layers of security, including …
---+V9 Self-contained Tokens
------+V9.1 Token source and integrity
---------+V9.1.1 Verify that self-contained tokens are validated using their digital signature or MAC to protect …
---------+V9.1.2 Verify that only algorithms on an allowlist can be used to create and verify self-contained tokens …
---------+V9.1.3 Verify that key material that is used to validate self-contained tokens is from trusted …
------+V9.2 Token content
---------+V9.2.1 Verify that, if a validity time span is present in the token data, the token and its content are …
---------+V9.2.2 Verify that the service receiving a token validates the token to be the correct type and is meant …
---------+V9.2.3 Verify that the service only accepts tokens which are intended for use with that service …
---------+V9.2.4 Verify that, if a token issuer uses the same private key for issuing tokens to different audiences …
---+V10 OAuth and OIDC
------+V10.1 Generic OAuth and OIDC Security
---------+V10.1.1 Verify that tokens are only sent to components that strictly need them. For example, when using a …
---------+V10.1.2 Verify that the client only accepts values from the authorization server (such as the authorization …
------+V10.2 OAuth Client
---------+V10.2.1 Verify that, if the code flow is used, the OAuth client has protection against browser-based …
---------+V10.2.2 Verify that, if the OAuth client can interact with more than one authorization server, it has a …
---------+V10.2.3 Verify that the OAuth client only requests the required scopes (or other authorization parameters) …
------+V10.3 OAuth Resource Server
---------+V10.3.1 Verify that the resource server only accepts access tokens that are intended for use with that …
---------+V10.3.2 Verify that the resource server enforces authorization decisions based on claims from the access …
---------+V10.3.3 Verify that if an access control decision requires identifying a unique user from an access token …
---------+V10.3.4 Verify that, if the resource server requires specific authentication strength, methods, or …
---------+V10.3.5 Verify that the resource server prevents the use of stolen access tokens or replay of access tokens …
------+V10.4 OAuth Authorization Server
---------+V10.4.1 Verify that the authorization server validates redirect URIs based on a client-specific allowlist …
---------+V10.4.2 Verify that, if the authorization server returns the authorization code in the authorization …
---------+V10.4.3 Verify that the authorization code is short-lived. The maximum lifetime can be up to 10 minutes for …
---------+V10.4.4 Verify that for a given client, the authorization server only allows the usage of grants that this …
---------+V10.4.5 Verify that the authorization server mitigates refresh token replay attacks for public clients …
---------+V10.4.6 Verify that, if the code grant is used, the authorization server mitigates authorization code …
---------+V10.4.7 Verify that if the authorization server supports unauthenticated dynamic client registration, it …
---------+V10.4.8 Verify that refresh tokens have an absolute expiration, including if sliding refresh token …
---------+V10.4.9 Verify that refresh tokens and reference access tokens can be revoked by an authorized user using …
---------+V10.4.10 Verify that confidential client is authenticated for client-to-authorized server backchannel …
---------+V10.4.11 Verify that the authorization server configuration only assigns the required scopes to the OAuth …
---------+V10.4.12 Verify that for a given client, the authorization server only allows the 'response_mode' value that …
---------+V10.4.13 Verify that grant type 'code' is always used together with pushed authorization requests (PAR).
---------+V10.4.14 Verify that the authorization server issues only sender-constrained (Proof-of-Possession) access …
---------+V10.4.15 Verify that, for a server-side client (which is not executed on the end-user device), the …
---------+V10.4.16 Verify that the client is confidential and the authorization server requires the use of strong …
------+V10.5 OIDC Client
---------+V10.5.1 Verify that the client (as the relying party) mitigates ID Token replay attacks. For example, by …
---------+V10.5.2 Verify that the client uniquely identifies the user from ID Token claims, usually the 'sub' claim …
---------+V10.5.3 Verify that the client rejects attempts by a malicious authorization server to impersonate another …
---------+V10.5.4 Verify that the client validates that the ID Token is intended to be used for that client …
---------+V10.5.5 Verify that, when using OIDC back-channel logout, the relying party mitigates denial of service …
------+V10.6 OpenID Provider
---------+V10.6.1 Verify that the OpenID Provider only allows values 'code', 'ciba', 'id_token', or 'id_token code' …
---------+V10.6.2 Verify that the OpenID Provider mitigates denial of service through forced logout. By obtaining …
------+V10.7 Consent Management
---------+V10.7.1 Verify that the authorization server ensures that the user consents to each authorization request. …
---------+V10.7.2 Verify that when the authorization server prompts for user consent, it presents sufficient and …
---------+V10.7.3 Verify that the user can review, modify, and revoke consents which the user has granted through the …
---+V11 Cryptography
------+V11.1 Cryptographic Inventory and Documentation
---------+V11.1.1 Verify that there is a documented policy for management of cryptographic keys and a cryptographic …
---------+V11.1.2 Verify that a cryptographic inventory is performed, maintained, regularly updated, and includes all …
---------+V11.1.3 Verify that cryptographic discovery mechanisms are employed to identify all instances of …
---------+V11.1.4 Verify that a cryptographic inventory is maintained. This must include a documented plan that …
------+V11.2 Secure Cryptography Implementation
---------+V11.2.1 Verify that industry-validated implementations (including libraries and hardware-accelerated …
---------+V11.2.2 Verify that the application is designed with crypto agility such that random number, authenticated …
---------+V11.2.3 Verify that all cryptographic primitives utilize a minimum of 128-bits of security based on the …
---------+V11.2.4 Verify that all cryptographic operations are constant-time, with no 'short-circuit' operations in …
---------+V11.2.5 Verify that all cryptographic modules fail securely, and errors are handled in a way that does not …
------+V11.3 Encryption Algorithms
---------+V11.3.1 Verify that insecure block modes (e.g., ECB) and weak padding schemes (e.g., PKCS#1 v1.5) are not …
---------+V11.3.2 Verify that only approved ciphers and modes such as AES with GCM are used.
---------+V11.3.3 Verify that encrypted data is protected against unauthorized modification preferably by using an …
---------+V11.3.4 Verify that nonces, initialization vectors, and other single-use numbers are not used for more than …
---------+V11.3.5 Verify that any combination of an encryption algorithm and a MAC algorithm is operating in …
------+V11.4 Hashing and Hash-based Functions
---------+V11.4.1 Verify that only approved hash functions are used for general cryptographic use cases, including …
---------+V11.4.2 Verify that passwords are stored using an approved, computationally intensive, key derivation …
---------+V11.4.3 Verify that hash functions used in digital signatures, as part of data authentication or data …
---------+V11.4.4 Verify that the application uses approved key derivation functions with key stretching parameters …
------+V11.5 Random Values
---------+V11.5.1 Verify that all random numbers and strings which are intended to be non-guessable must be generated …
---------+V11.5.2 Verify that the random number generation mechanism in use is designed to work securely, even under …
------+V11.6 Public Key Cryptography
---------+V11.6.1 Verify that only approved cryptographic algorithms and modes of operation are used for key …
---------+V11.6.2 Verify that approved cryptographic algorithms are used for key exchange (such as Diffie-Hellman) …
------+V11.7 In-Use Data Cryptography
---------+V11.7.1 Verify that full memory encryption is in use that protects sensitive data while it is in use …
---------+V11.7.2 Verify that data minimization ensures the minimal amount of data is exposed during processing, and …
---+V12 Secure Communication
------+V12.1 General TLS Security Guidance
---------+V12.1.1 Verify that only the latest recommended versions of the TLS protocol are enabled, such as TLS 1.2 …
---------+V12.1.2 Verify that only recommended cipher suites are enabled, with the strongest cipher suites set as …
---------+V12.1.3 Verify that the application validates that mTLS client certificates are trusted before using the …
---------+V12.1.4 Verify that proper certification revocation, such as Online Certificate Status Protocol (OCSP) …
---------+V12.1.5 Verify that Encrypted Client Hello (ECH) is enabled in the application's TLS settings to prevent …
------+V12.2 HTTPS Communication with External Facing Services
---------+V12.2.1 Verify that TLS is used for all connectivity between a client and external facing, HTTP-based …
---------+V12.2.2 Verify that external facing services use publicly trusted TLS certificates.
------+V12.3 General Service to Service Communication Security
---------+V12.3.1 Verify that an encrypted protocol such as TLS is used for all inbound and outbound connections to …
---------+V12.3.2 Verify that TLS clients validate certificates received before communicating with a TLS server.
---------+V12.3.3 Verify that TLS or another appropriate transport encryption mechanism used for all connectivity …
---------+V12.3.4 Verify that TLS connections between internal services use trusted certificates. Where internally …
---------+V12.3.5 Verify that services communicating internally within a system (intra-service communications) use …
---+V13 Configuration
------+V13.1 Configuration Documentation
---------+V13.1.1 Verify that all communication needs for the application are documented. This must include external …
---------+V13.1.2 Verify that for each service the application uses, the documentation defines the maximum number of …
---------+V13.1.3 Verify that the application documentation defines resource‑management strategies for every external …
---------+V13.1.4 Verify that the application's documentation defines the secrets that are critical for the security …
------+V13.2 Backend Communication Configuration
---------+V13.2.1 Verify that communications between backend application components that don't support the …
---------+V13.2.2 Verify that communications between backend application components, including local or operating …
---------+V13.2.3 Verify that if a credential has to be used for service authentication, the credential being used by …
---------+V13.2.4 Verify that an allowlist is used to define the external resources or systems with which the …
---------+V13.2.5 Verify that the web or application server is configured with an allowlist of resources or systems …
---------+V13.2.6 Verify that where the application connects to separate services, it follows the documented …
------+V13.3 Secret Management
---------+V13.3.1 Verify that a secrets management solution, such as a key vault, is used to securely create, store …
---------+V13.3.2 Verify that access to secret assets adheres to the principle of least privilege.
---------+V13.3.3 Verify that all cryptographic operations are performed using an isolated security module (such as a …
---------+V13.3.4 Verify that secrets are configured to expire and be rotated based on the application's …
------+V13.4 Unintended Information Leakage
---------+V13.4.1 Verify that the application is deployed either without any source control metadata, including the …
---------+V13.4.2 Verify that debug modes are disabled for all components in production environments to prevent …
---------+V13.4.3 Verify that web servers do not expose directory listings to clients unless explicitly intended.
---------+V13.4.4 Verify that using the HTTP TRACE method is not supported in production environments, to avoid …
---------+V13.4.5 Verify that documentation (such as for internal APIs) and monitoring endpoints are not exposed …
---------+V13.4.6 Verify that the application does not expose detailed version information of backend components.
---------+V13.4.7 Verify that the web tier is configured to only serve files with specific file extensions to prevent …
---+V14 Data Protection
------+V14.1 Data Protection Documentation
---------+V14.1.1 Verify that all sensitive data created and processed by the application has been identified and …
---------+V14.1.2 Verify that all sensitive data protection levels have a documented set of protection requirements. …
------+V14.2 General Data Protection
---------+V14.2.1 Verify that sensitive data is only sent to the server in the HTTP message body or header fields …
---------+V14.2.2 Verify that the application prevents sensitive data from being cached in server components, such as …
---------+V14.2.3 Verify that defined sensitive data is not sent to untrusted parties (e.g., user trackers) to …
---------+V14.2.4 Verify that controls around sensitive data related to encryption, integrity verification …
---------+V14.2.5 Verify that caching mechanisms are configured to only cache responses which have the expected …
---------+V14.2.6 Verify that the application only returns the minimum required sensitive data for the application's …
---------+V14.2.7 Verify that sensitive information is subject to data retention classification, ensuring that …
---------+V14.2.8 Verify that sensitive information is removed from the metadata of user-submitted files unless …
------+V14.3 Client-side Data Protection
---------+V14.3.1 Verify that authenticated data is cleared from client storage, such as the browser DOM, after the …
---------+V14.3.2 Verify that the application sets sufficient anti-caching HTTP response header fields (i.e. …
---------+V14.3.3 Verify that data stored in browser storage (such as localStorage, sessionStorage, IndexedDB, or …
---+V15 Secure Coding and Architecture
------+V15.1 Secure Coding and Architecture Documentation
---------+V15.1.1 Verify that application documentation defines risk based remediation time frames for 3rd party …
---------+V15.1.2 Verify that an inventory catalog, such as software bill of materials (SBOM), is maintained of all …
---------+V15.1.3 Verify that the application documentation identifies functionality which is time-consuming or …
---------+V15.1.4 Verify that application documentation highlights third-party libraries which are considered to be …
---------+V15.1.5 Verify that application documentation highlights parts of the application where "dangerous …
------+V15.2 Security Architecture and Dependencies
---------+V15.2.1 Verify that the application only contains components which have not breached the documented update …
---------+V15.2.2 Verify that the application has implemented defenses against loss of availability due to …
---------+V15.2.3 Verify that the production environment only includes functionality that is required for the …
---------+V15.2.4 Verify that third-party components and all of their transitive dependencies are included from the …
---------+V15.2.5 Verify that the application implements additional protections around parts of the application which …
------+V15.3 Defensive Coding
---------+V15.3.1 Verify that the application only returns the required subset of fields from a data object. For …
---------+V15.3.2 Verify that where the application backend makes calls to external URLs, it is configured to not …
---------+V15.3.3 Verify that the application has countermeasures to protect against mass assignment attacks by …
---------+V15.3.4 Verify that all proxying and middleware components transfer the user's original IP address …
---------+V15.3.5 Verify that the application explicitly ensures that variables are of the correct type and performs …
---------+V15.3.6 Verify that JavaScript code is written in a way that prevents prototype pollution, for example, by …
---------+V15.3.7 Verify that the application has defenses against HTTP parameter pollution attacks, particularly if …
------+V15.4 Safe Concurrency
---------+V15.4.1 Verify that shared objects in multi-threaded code (such as caches, files, or in-memory objects …
---------+V15.4.2 Verify that checks on a resource's state, such as its existence or permissions, and the actions …
---------+V15.4.3 Verify that locks are used consistently to avoid threads getting stuck, whether by waiting on each …
---------+V15.4.4 Verify that resource allocation policies prevent thread starvation by ensuring fair access to …
---+V16 Security Logging and Error Handling
------+V16.1 Security Logging Documentation
---------+V16.1.1 Verify that an inventory exists documenting the logging performed at each layer of the …
------+V16.2 General Logging
---------+V16.2.1 Verify that each log entry includes necessary metadata (such as when, where, who, what) that would …
---------+V16.2.2 Verify that time sources for all logging components are synchronized, and that timestamps in …
---------+V16.2.3 Verify that the application only stores or broadcasts logs to the files and services that are …
---------+V16.2.4 Verify that logs can be read and correlated by the log processor that is in use, preferably by …
---------+V16.2.5 Verify that when logging sensitive data, the application enforces logging based on the data's …
------+V16.3 Security Events
---------+V16.3.1 Verify that all authentication operations are logged, including successful and unsuccessful …
---------+V16.3.2 Verify that failed authorization attempts are logged. For L3, this must include logging all …
---------+V16.3.3 Verify that the application logs the security events that are defined in the documentation and also …
---------+V16.3.4 Verify that the application logs unexpected errors and security control failures such as backend …
------+V16.4 Log Protection
---------+V16.4.1 Verify that all logging components appropriately encode data to prevent log injection.
---------+V16.4.2 Verify that logs are protected from unauthorized access and cannot be modified.
---------+V16.4.3 Verify that logs are securely transmitted to a logically separate system for analysis, detection …
------+V16.5 Error Handling
---------+V16.5.1 Verify that a generic message is returned to the consumer when an unexpected or security-sensitive …
---------+V16.5.2 Verify that the application continues to operate securely when external resource access fails, for …
---------+V16.5.3 Verify that the application fails gracefully and securely, including when an exception occurs …
---------+V16.5.4 Verify that a "last resort" error handler is defined which will catch all unhandled exceptions. …
---+V17 WebRTC
------+V17.1 TURN Server
---------+V17.1.1 Verify that the Traversal Using Relays around NAT (TURN) service only allows access to IP addresses …
---------+V17.1.2 Verify that the Traversal Using Relays around NAT (TURN) service is not susceptible to resource …
------+V17.2 Media
---------+V17.2.1 Verify that the key for the Datagram Transport Layer Security (DTLS) certificate is managed and …
---------+V17.2.2 Verify that the media server is configured to use and support approved Datagram Transport Layer …
---------+V17.2.3 Verify that Secure Real-time Transport Protocol (SRTP) authentication is checked at the media …
---------+V17.2.4 Verify that the media server is able to continue processing incoming media traffic when …
---------+V17.2.5 Verify that the media server is able to continue processing incoming media traffic during a flood …
---------+V17.2.6 Verify that the media server is not susceptible to the "ClientHello" Race Condition vulnerability …
---------+V17.2.7 Verify that any audio or video recording mechanisms associated with the media server are able to …
---------+V17.2.8 Verify that the Datagram Transport Layer Security (DTLS) certificate is checked against the Session …
------+V17.3 Signaling
---------+V17.3.1 Verify that the signaling server is able to continue processing legitimate incoming signaling …
---------+V17.3.2 Verify that the signaling server is able to continue processing legitimate signaling messages when …
|
OWASP Application Security Verification Standard 5.0.0
The Application Security Verification Standard is a list of application security requirements that architects, developers, testers, security professionals, tool vendors, and consumers can use to define, build, test, and verify secure applications.
1. Visão geral
| Título |
Norma |
|
V1 Encoding and Sanitization
|
Control ObjectiveThis chapter addresses the most common web application security weaknesses related to the unsafe processing of untrusted data. Such weaknesses can result in various technical vulnerabilities, where untrusted data is interpreted according to the syntax rules of the relevant interpreter. For modern web applications, it is always best to use safer APIs, such as parameterized queries, auto-escaping, or templating frameworks. Otherwise, carefully performed output encoding, escaping, or sanitization becomes critical to the application's security. Input validation serves as a defense-in-depth mechanism to protect against unexpected or dangerous content. However, since its primary purpose is to ensure that incoming content matches functional and business expectations, requirements related to this can be found in the "Validation and Business Logic" chapter. ReferencesFor more information, see also: For more information, specifically on deserialization or parsing issues, please see:
|
|
V2 Validation and Business Logic
|
Control ObjectiveThis chapter aims to ensure that a verified application meets the following high-level goals: - Input received by the application matches business or functional expectations.
- The business logic flow is sequential, processed in order, and cannot be bypassed.
- Business logic includes limits and controls to detect and prevent automated attacks, such as continuous small funds transfers or adding a million friends one at a time.
- High-value business logic flows have considered abuse cases and malicious actors, and have protections against spoofing, tampering, information disclosure, and elevation of privilege attacks.
ReferencesFor more information, see also:
|
|
V3 Web Frontend Security
|
Control ObjectiveThis category focuses on requirements designed to protect against attacks executed via a web frontend. These requirements do not apply to machine-to-machine solutions. ReferencesFor more information, see also:
|
|
V4 API and Web Service
|
Control ObjectiveSeveral considerations apply specifically to applications that expose APIs for use by web browsers or other consumers (commonly using JSON, XML, or GraphQL). This chapter covers the relevant security configurations and mechanisms that should be applied. Note that authentication, session management, and input validation concerns from other chapters also apply to APIs, so this chapter cannot be taken out of context or tested in isolation. ReferencesFor more information, see also:
|
|
V5 File Handling
|
Control ObjectiveThe use of files can present a variety of risks to the application, including denial of service, unauthorized access, and storage exhaustion. This chapter includes requirements to address these risks. ReferencesFor more information, see also:
|
|
V6 Authentication
|
Control ObjectiveAuthentication is the process of establishing or confirming the authenticity of an individual or device. It involves verifying claims made by a person or about a device, ensuring resistance to impersonation, and preventing the recovery or interception of passwords. NIST SP 800-63 is a modern, evidence-based standard that is valuable for organizations worldwide, but is particularly relevant to US agencies and those interacting with US agencies. While many of the requirements in this chapter are based on the second section of the standard (known as NIST SP 800-63B "Digital Identity Guidelines - Authentication and Lifecycle Management"), the chapter focuses on common threats and frequently exploited authentication weaknesses. It does not attempt to comprehensively cover every point in the standard. For cases where full NIST SP 800-63 compliance is necessary, please refer to NIST SP 800-63. Additionally, NIST SP 800-63 terminology may sometimes differ, and this chapter often uses more commonly understood terminology to improve clarity. A common feature of more advanced applications is the ability to adapt authentication stages required based on various risk factors. This feature is covered in the "Authorization" chapter, since these mechanisms also need to be considered for authorization decisions. ReferencesFor more information, see also:
|
|
V7 Session Management
|
Control ObjectiveSession management mechanisms allow applications to correlate user and device interactions over time, even when using stateless communication protocols (such as HTTP). Modern applications may use multiple session tokens with distinct characteristics and purposes. A secure session management system is one that prevents attackers from obtaining, utilizing, or otherwise abusing a victim's session. Applications maintaining sessions must ensure that the following high-level session management requirements are met: - Sessions are unique to each individual and cannot be guessed or shared.
- Sessions are invalidated when no longer required and are timed out during periods of inactivity.
Many of the requirements in this chapter relate to selected NIST SP 800-63 Digital Identity Guidelines controls, focusing on common threats and commonly exploited authentication weaknesses. Note that requirements for specific implementation details of certain session management mechanisms can be found elsewhere: - HTTP Cookies are a common mechanism for securing session tokens. Specific security requirements for cookies can be found in the "Web Frontend Security" chapter.
- Self-contained tokens are frequently used as a way of maintaining sessions. Specific security requirements can be found in the "Self-contained Tokens" chapter.
ReferencesFor more information, see also:
|
|
V8 Authorization
|
Control ObjectiveAuthorization ensures that access is granted only to permitted consumers (users, servers, and other clients). To enforce the Principle of Least Privilege (POLP), verified applications must meet the following high-level requirements: - Document authorization rules, including decision-making factors and environmental contexts.
- Consumers should have access only to resources permitted by their defined entitlements.
ReferencesFor more information, see also:
|
|
V9 Self-contained Tokens
|
Control ObjectiveThe concept of a self-contained token is mentioned in the original RFC 6749 OAuth 2.0 from 2012. It refers to a token containing data or claims on which a receiving service will rely to make security decisions. This should be differentiated from a simple token containing only an identifier, which a receiving service uses to look up data locally. The most common examples of self-contained tokens are JSON Web Tokens (JWTs) and SAML assertions. The use of self-contained tokens has become very widespread, even outside of OAuth and OIDC. At the same time, the security of this mechanism relies on the ability to validate the integrity of the token and to ensure that the token is valid for a particular context. There are many pitfalls with this process, and this chapter provides specific details of the mechanisms that applications should have in place to prevent them. ReferencesFor more information, see also:
|
|
V10 OAuth and OIDC
|
Control ObjectiveOAuth2 (referred to as OAuth in this chapter) is an industry-standard framework for delegated authorization. For example, using OAuth, a client application can obtain access to APIs (server resources) on a user's behalf, provided the user has authorized the client application to do so. By itself, OAuth is not designed for user authentication. The OpenID Connect (OIDC) framework extends OAuth by adding a user identity layer on top of OAuth. OIDC provides support for features including standardized user information, Single Sign-On (SSO), and session management. As OIDC is an extension of OAuth, the OAuth requirements in this chapter also apply to OIDC. The following roles are defined in OAuth: - The OAuth client is the application that attempts to obtain access to server resources (e.g., by calling an API using the issued access token). The OAuth client is often a server-side application.
- A confidential client is a client capable of maintaining the confidentiality of the credentials it uses to authenticate itself with the authorization server.
- A public client is not capable of maintaining the confidentiality of credentials for authenticating with the authorization server. Therefore, instead of authenticating itself (e.g., using 'client_id' and 'client_secret' parameters), it only identifies itself (using a 'client_id' parameter).
- The OAuth resource server (RS) is the server API exposing resources to OAuth clients.
- The OAuth authorization server (AS) is a server application that issues access tokens to OAuth clients. These access tokens allow OAuth clients to access RS resources, either on behalf of an end-user or on the OAuth client's own behalf. The AS is often a separate application, but (if appropriate) it may be integrated into a suitable RS.
- The resource owner (RO) is the end-user who authorizes OAuth clients to obtain limited access to resources hosted on the resource server on their behalf. The resource owner consents to this delegated authorization by interacting with the authorization server.
The following roles are defined in OIDC: - The relying party (RP) is the client application requesting end-user authentication through the OpenID Provider. It assumes the role of an OAuth client.
- The OpenID Provider (OP) is an OAuth AS that is capable of authenticating the end-user and provides OIDC claims to an RP. The OP may be the identity provider (IdP), but in federated scenarios, the OP and the identity provider (where the end-user authenticates) may be different server applications.
OAuth and OIDC were initially designed for third-party applications. Today, they are often used by first-party applications as well. However, when used in first-party scenarios, such as authentication and session management, the protocol adds some complexity, which may introduce new security challenges. OAuth and OIDC can be used for many types of applications, but the focus for ASVS and the requirements in this chapter is on web applications and APIs. Since OAuth and OIDC can be considered logic on top of web technologies, general requirements from other chapters always apply, and this chapter cannot be taken out of context. This chapter addresses best current practices for OAuth2 and OIDC aligned with specifications found at https://oauth.net/2/ and https://openid.net/developers/specs/. Even if RFCs are considered mature, they are updated frequently. Thus, it is important to align with the latest versions when applying the requirements in this chapter. See the references section for more details. Given the complexity of the area, it is vitally important for a secure OAuth or OIDC solution to use well-known industry-standard authorization servers and apply the recommended security configuration. Terminology used in this chapter aligns with OAuth RFCs and OIDC specifications, but note that OIDC terminology is only used for OIDC-specific requirements; otherwise, OAuth terminology is used. In the context of OAuth and OIDC, the term "token" in this chapter refers to: - Access tokens, which shall only be consumed by the RS and can either be reference tokens that are validated using introspection or self-contained tokens that are validated using some key material.
- Refresh tokens, which shall only be consumed by the authorization server that issued the token.
- OIDC ID Tokens, which shall only be consumed by the client that triggered the authorization flow.
The risk levels for some of the requirements in this chapter depend on whether the client is a confidential client or regarded as a public client. Since using strong client authentication mitigates many attack vectors, a few requirements might be relaxed when using a confidential client for L1 applications. ReferencesFor more information on OAuth, please see: For OAuth-related requirements in ASVS following published and in draft status RFC-s are used: For more information on OpenID Connect, please see:
|
|
V11 Cryptography
|
Control ObjectiveThe objective of this chapter is to define best practices for the general use of cryptography, as well as to instill a fundamental understanding of cryptographic principles and inspire a shift toward more resilient and modern approaches. It encourages the following: - Implementing robust cryptographic systems that fail securely, adapt to evolving threats, and are future-proof.
- Utilizing cryptographic mechanisms that are both secure and aligned with industry best practices.
- Maintaining a secure cryptographic key management system with appropriate access controls and auditing.
- Regularly evaluating the cryptographic landscape to assess new risks and adapt algorithms accordingly.
- Discovering and managing cryptographic use cases throughout the application's lifecycle to ensure that all cryptographic assets are accounted for and secured.
In addition to outlining general principles and best practices, this document also provides more in-depth technical information about the requirements in Appendix C - Cryptography Standards. This includes algorithms and modes that are considered "approved" for the purposes of the requirements in this chapter. Requirements that use cryptography to solve a separate problem, such as secrets management or communications security, will be in different parts of the standard. ReferencesFor more information, see also:
|
|
V12 Secure Communication
|
Control ObjectiveThis chapter includes requirements related to the specific mechanisms that should be in place to protect data in transit, both between an end-user client and a backend service, as well as between internal and backend services. The general concepts promoted by this chapter include: - Ensuring that communications are encrypted externally, and ideally internally as well.
- Configuring encryption mechanisms using the latest guidance, including preferred algorithms and ciphers.
- Ensuring that communications are not being intercepted by unauthorized parties through the use of signed certificates.
In addition to outlining general principles and best practices, the ASVS also provides more in-depth technical information about cryptographic strength in Appendix C - Cryptography Standards. ReferencesFor more information, see also:
|
|
V13 Configuration
|
Control ObjectiveThe application's default configuration must be secure for use on the Internet. This chapter provides guidance on the various configurations necessary to achieve this, including those applied during development, build, and deployment. Topics covered include preventing data leakage, securely managing communication between components, and protecting secrets. ReferencesFor more information, see also:
|
|
V14 Data Protection
|
Control ObjectiveApplications cannot account for all usage patterns and user behaviors, and should therefore implement controls to limit unauthorized access to sensitive data on client devices. This chapter includes requirements related to defining what data needs to be protected, how it should be protected, and specific mechanisms to implement or pitfalls to avoid. Another consideration for data protection is bulk extraction, modification, or excessive usage. Each system's requirements are likely to be very different, so determining what is "abnormal" must consider the threat model and business risk. From an ASVS perspective, detecting these issues is handled in the "Security Logging and Error Handling" chapter, and setting limits is handled in the "Validation and Business Logic" chapter. ReferencesFor more information, see also:
|
|
V15 Secure Coding and Architecture
|
Control ObjectiveMany ASVS requirements either relate to a particular area of security, such as authentication or authorization, or pertain to a particular type of application functionality, such as logging or file handling. This chapter provides general security requirements to consider when designing and developing applications. These requirements focus not only on clean architecture and code quality but also on specific architecture and coding practices necessary for application security. ReferencesFor more information, see also:
|
|
V16 Security Logging and Error Handling
|
Control ObjectiveSecurity logs are distinct from error or performance logs and are used to record security-relevant events such as authentication decisions, access control decisions, and attempts to bypass security controls, such as input validation or business logic validation. Their purpose is to support detection, response, and investigation by providing high-signal, structured data for analysis tools like SIEMs. Logs should not include sensitive personal data unless legally required, and any logged data must be protected as a high-value asset. Logging must not compromise privacy or system security. Applications must also fail securely, avoiding unnecessary disclosure or disruption. For detailed implementation guidance, refer to the OWASP Cheat Sheets in the references section. ReferencesFor more information, see also:
|
|
V17 WebRTC
|
Control ObjectiveWeb Real-Time Communication (WebRTC) enables real-time voice, video, and data exchange in modern applications. As adoption increases, securing WebRTC infrastructure becomes critical. This section provides security requirements for stakeholders who develop, host, or integrate WebRTC systems. The WebRTC market can be broadly categorized into three segments: - Product Developers: Proprietary and open-source vendors that create and supply WebRTC products and solutions. Their focus is on developing robust and secure WebRTC technologies that can be used by others.
- Communication Platforms as a Service (CPaaS): Providers that offer APIs, SDKs, and the necessary infrastructure or platforms to enable WebRTC functionalities. CPaaS providers may use products from the first category or develop their own WebRTC software to offer these services.
- Service Providers: Organizations that leverage products from product developers or CPaaS providers, or develop their own WebRTC solutions. They create and implement applications for online conferencing, healthcare, e-learning, and other domains where real-time communication is crucial.
The security requirements outlined here are primarily focused on Product Developers, CPaaS, and Service Providers who: - Utilize open-source solutions to build their WebRTC applications.
- Use commercial WebRTC products as part of their infrastructure.
- Use internally developed WebRTC solutions or integrate various components into a cohesive service offering.
It is important to note that these security requirements do not apply to developers who exclusively use SDKs and APIs provided by CPaaS vendors. For such developers, the CPaaS providers are typically responsible for most of the underlying security concerns within their platforms, and a generic security standard like ASVS may not fully address their needs. ReferencesFor more information, see also:
|
1.1 Referências
1.2 Requisitos identificados
1.3 Regulamentos relacionados
2. Requisitos identificados
Requisitos
| Fonte |
Requisito |
3. Regulamentos relacionados
Regulamentos
| Fonte |
Regulamentação |
Pedidos ligados
- OWASP -
EN: Publications of the OWASP Foundation, https://owasp.org/. OWASP® is a registered trademark of the OWASP Foundation, Inc.; GRCA is not affiliated with, nor endorsed by, the OWASP Foundation. Only the versions published by OWASP are authoritative. - OWASP Application Security Verification Standard (ASVS) 5.0.0, May 2025, from OWASP/ASVS: © 2008-2025 The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: divided into sections and converted into the GRCA format, the wording unchanged. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Mobile Application Security Verification Standard (MASVS) v2.1.0, January 2024, from OWASP/masvs: © The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: converted into the GRCA format, the wording unchanged. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Mobile Application Security Weakness Enumeration (MASWE) v1.0.0, August 2026, from OWASP/maswe: © The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: converted into the GRCA format, the wording unchanged, linked to the MASVS controls they map to. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Mobile Application Security Testing Guide (MASTG) v2.0.0, June 2026, from OWASP/mastg: © The OWASP Foundation, licensed under CC BY-SA 4.0. The tests and best practices only, without code samples, images, tools or apps. Changes: converted into the GRCA format, the wording unchanged; references to other pages of the MASTG as links to mas.owasp.org; the weakness of each test in the numbering of MASWE v1 and linked to it. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Software Assurance Maturity Model (SAMM) v2.2.0, July 2026, from owaspsamm/core: © The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: converted into the GRCA format, the wording unchanged; short codes (G-SM-1-A) built from the model, the assessment questions as assessment procedures of their activities. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Top 10:2025, from OWASP/Top10: © 2003-2025 The OWASP® Foundation, Inc., licensed under CC BY-SA 4.0. The ten categories, without the icons. Changes: converted into the GRCA format, the wording unchanged. These adaptations are shared under CC BY-SA 4.0 as well. The names of the mapped CWEs (Common Weakness Enumeration): © 2006–2026 The MITRE Corporation. License: The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. Any copy you make for such purposes is authorized on the condition that you reproduce MITRE’s copyright designation and this license in any such copy. See the CWE Terms of Use. CWE™ is a trademark of The MITRE Corporation.
DE: Veröffentlichungen der OWASP Foundation, https://owasp.org/. OWASP® ist eine eingetragene Marke der OWASP Foundation, Inc.; GRCA steht in keiner Verbindung zur OWASP Foundation und wird von ihr nicht unterstützt. Maßgeblich sind allein die von OWASP veröffentlichten Fassungen. - OWASP Application Security Verification Standard (ASVS) 5.0.0, Mai 2025, aus OWASP/ASVS: © 2008-2025 The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in Abschnitte aufgeteilt und in das GRCA-Format umgewandelt, der Wortlaut unverändert. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Mobile Application Security Verification Standard (MASVS) v2.1.0, Januar 2024, aus OWASP/masvs: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Mobile Application Security Weakness Enumeration (MASWE) v1.0.0, August 2026, aus OWASP/maswe: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert, mit den MASVS-Controls verknüpft, denen sie zugeordnet sind. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Mobile Application Security Testing Guide (MASTG) v2.0.0, Juni 2026, aus OWASP/mastg: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Nur die Tests und Best Practices, ohne Codebeispiele, Bilder, Werkzeuge und Apps. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert; Verweise auf andere Seiten des MASTG als Links zu mas.owasp.org; die Schwachstelle jedes Tests in der Nummerierung der MASWE v1 und mit ihr verknüpft. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Software Assurance Maturity Model (SAMM) v2.2.0, Juli 2026, aus owaspsamm/core: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert; Kürzel (G-SM-1-A) aus dem Modell gebildet, die Assessment-Fragen als Prüfverfahren ihrer Aktivitäten. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Top 10:2025, aus OWASP/Top10: © 2003-2025 The OWASP® Foundation, Inc., lizenziert unter CC BY-SA 4.0. Die zehn Kategorien, ohne die Symbole. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0. Die Namen der zugeordneten CWEs (Common Weakness Enumeration): © 2006–2026 The MITRE Corporation. MITRE erlaubt die Nutzung für Forschung, Entwicklung und kommerzielle Zwecke, wenn jede Kopie den Urheberrechtsvermerk und die Lizenz enthält; maßgeblich ist der englische Wortlaut der Lizenz oben und die CWE Terms of Use. CWE™ ist eine Marke der MITRE Corporation.
|