Protecting the endpoints that move money.
WHAT MAKES THEM DISTINCTIVE
They are directly valuable to attack, and errors are financial.
WHAT TO ENFORCE ON EVERY REQUEST
Authentication of the caller Authorisation for that specific resource Validation of every parameter Rate limiting
WHY AUTHORISATION PER RESOURCE MATTERS
Authenticating a caller does not establish they may act on that account.
WHAT THAT VULNERABILITY IS CALLED
Broken object-level authorisation, and it is the commonest serious fault in financial interfaces.
HOW IT IS EXPLOITED
Changing an identifier in a request to reach another customer's data.
WHAT PREVENTS IT
Checking ownership on every record access, without exception.
WHAT TO NEVER ACCEPT FROM THE CLIENT
Amounts Fees Currency Account identifiers used without ownership checks Status values
WHAT TO DERIVE SERVER-SIDE
All of them.
WHAT TO LOG
Every request, with the caller, the resource and the outcome.
WHAT TO RATE LIMIT
By caller, by account, and by address.
WHY BY ACCOUNT
An attacker with valid credentials is still limited.
WHAT TO ALERT ON
Authorisation failures in volume, which indicate probing.