Object level authorization – OWASP – A1
- Verify that implement authorization checks with user policies and hierarchy
- Verify that API implementation is not rely on IDs sent from client, instead API should check IDs stored object in the session.
- Verify that server configuration is hardened as per the recommendation of the application server and framework in use.
- Verify that , API implementation check authorization each time there is a client request to access database.
- Verify that API is not using random guessable IDs ( UUIDs)
Brocken authentication – OWASP – A2
- Verify all possible ways to authenticate all APIs
- Verify password reset APIs and one-time links also allow users to get authenticated and should be strictly protected.
- Verify API implements standards authentication, token generation, password storage and Multi factor authentication.
- Verify , API uses short lived access token.
- Verify that , API uses stricter rate-limiting for authentication, implement lockout polices and weak password checks.
Excessive data exposure – OWASP – A3
- Verify that , API is not relying on client to filter data.
- Verify API responses and adapt response to what the API consumers really need.
- Verify API specification define schemas of all request and responses.
- Verify error API responses are clearly defined.
- Verify that all the sensitive or PII information are used with clear justification.
- Verify APIs enforced response checks to prevent accidental data and exception leaks.
Lack of resources and rate limiting – OWASP – A4
- Verify that , rate limiting is configured considering API method , client and addresses.
- Verify payload limit is configured.
- Verify compression ration while implementing rate limiting.
- Verify rate limiting in the context of computing / container resources
Brocken functional level authorization – OWASP – A5
- Verify , by default all access are denied
- Verify that , API is not relying on App to enforce admin access
- Verify , all the unnecessary features are disabled.
- Verify rate limiting in the content of computing/container resources
- Ensure roles are granted only based on specific role.
- Verify authorization are implemented correctly in API.
Mass assignment- OWASP – A6
- Verify API is not automatically bind incoming data and internal objects.
- Verify API is not explicitly define all the parameters and payload you are expecting.
- Verify that , for object schemas use the readOnly set to true for all properties that can be retrieved via APIs but should never be modified.
- Verify that APIs are precisely define at design time the schemas, types, patterns you will accept in the requests and enforces them at runtime.
Security misconfiguration – OWASP – A7
- Verify that APIs implementation are repeatable & hardening and patching activities are incorporated in development process
- Verify that API ecosystem has automated process to locate configuration flaws.
- Verify that , platform disabled unnecessary features in any API.
- Verify that , platform restrict administrative access.
- Ensure , define and enforce all outputs including errors .
- Verify authorization are implemented correctly in API.
Injection OWASP – A8
- Verify that , API are not trusting your API consumers even if internal.
- Verify API are strictly define all input data : schemas , types , string patterns – and enforce them at runtime.
- Verify that APIs are validating, filtering & sanitizing all incoming data.
- Verify that APIs are define , limit and enforce API outputs to prevent data leaks.
Improper asset management – OWASP – A9
- Verify platform capability document / inventory all API hosts.
- Verify platform limit access to anything that should not be public.
- Verify platform limit access to production data. Saggregate access to production and non-production data.
- Verify , architecture implement additional external controls such as API firewall.
- Verify that a process is considered for properly retire old versions or backport security fixes
- Verify architecture implements strict authentication , redirects , CORs etc.
Insufficient Logging & Monitoring OWASP – A10
- Verify API Log failed attempts , denied access , input validation failure any failure in security policy checks.
- Verify platform ensure that logs are formatted to be consumable by other tools.
- Verify that platform protects logs as highly sensitive.
- Verify that platform include enough details to identify attackers.
- Verify platform integrate with SIEM and other dashboards, monitoring alerting tools.