visit
In the past year, we have observed the security of various banks in terms of mobile application security. The security flaws described are those due to poor programming practices.
åThe Flaws can be elucidated as follows —A mobile banking application should allow the users to perform a subset of operations they can perform at the bank. Thus we lay down our assumptions of how the mobile banking application should actually function. While making a payment, a payment request should be valid only once. Similarly, transfers should be possible only to approved and trusted beneficiaries. Moving on to the challenge response, banks, as an added layer of security may ask for certain digits of a password (like 2nd,3rd and 7th digit), or a similar form of secondary authentication. Only upon responding with what was asked for, is the transaction processed.
Alice->Server : Transfer 100$ to Bob
Server-> Alice: OK ; Give me authentication numbers : 1 , 5 ,8
Alice->Server : Transfer 100$ to Bob ; Authentication 1:22 5:45 8:12
Transfer SuccessfulThe Authentication characters can be considered to be Key Value pairs, where there are 16 Keys 1…16. There exist authentication digits for each of these The Bypass payment hack happens in step 3. Eve, the adversary can tamper the request as
3. Alice -> Server : Transfer 10000$ to Eve ; Authentication 1:22 5:45 8:12The server accepts it, and the transfer is successful. The problem is
2. Server-> Alice: OK ; Give me authentication numbers : 1 , 5 ,8Eve can tamper with the request response, and provide the 3 valid key value pairs she knows. Thus irrespective of what the server asks for, Eve can provide the key value pairs she knows, and the transaction still goes through. Thus she effectively bypasses the security mechanism since she can spoof each transaction.
Alice->Server : Transfer 100$ to Bob ; Authentication 1:22 2:99 3:10This attack is an advanced one, and requires Eve to possess the session key. However once she has it by sniffing a live transaction, By combining vulnerability 2 & 3, She can create malicious transactions. These flaws are related to the logic and may not fall under the banks threat model, as they assume the application to be in the trusted computing base. However, this assumption, may not hold true, given how easy it is to poison the phone certificate store through an application with misleading permissions. Public Key Pinning would solve the problem in the sniffing, However there may be an adversary sniffing traffic on the first install and run of the banking application. In addition, these logic vulnerabilities would exist even in the web banking application. At Spherical Defence (neural.ai), we are developing technology for banks to detect intrusion attempts real time using Deep Learning by learning grammar and the semantics of trusted communication.