Mobile banking app security: what is RASP and what banks need

By LCode Technologies · Updated · 8 min read

In short

Runtime application self-protection (RASP) is security built into a mobile app that checks, while the app runs, whether the device, the app code and its connections can be trusted. It then reacts to threats such as rooting, tampering or debugging. OWASP lists RASP as a defence-in-depth measure alongside obfuscation, anti-debugging and anti-tampering.

What is RASP in mobile app security?

RASP is protection embedded in the app itself. It watches for a compromised device, a modified app, an attached debugger or a hostile network while the app runs, then blocks, limits or reports the session.

A mobile banking app runs on a device the bank doesn't control. The phone may be rooted, infected with malware or on an attacker's Wi-Fi, and the app package can be decompiled and altered. Server-side controls can't see this, so RASP moves some checks into the app itself.

The OWASP Mobile Application Security Verification Standard (MASVS) covers this in its MASVS-RESILIENCE group: "Defense-in-depth measures such as code obfuscation, anti-debugging, anti-tampering, and runtime application self-protection (RASP) can increase an app's resilience against reverse engineering and specific client-side attacks." [1] Its four controls require that the app validates the integrity of the platform, implements anti-tampering mechanisms, and resists static analysis and dynamic analysis [1].

OWASP also cautions that the absence of these measures "does not in itself constitute a vulnerability", and that all apps must still meet the rest of the MASVS [1]. RASP adds to secure design and server-side validation; it doesn't replace them.

How is RASP different from app shielding, obfuscation and a WAF?

Obfuscation makes app code hard to read, app shielding usually bundles obfuscation with anti-tampering and RASP checks, RASP reacts to threats at runtime, and a WAF filters traffic at the server. They protect different places and work best together.

RASP vs app shielding vs obfuscation vs WAF
ControlWhere it runsWhat it protects againstLimitation
Code obfuscationApplied to the app package at build timeReverse engineering: understanding logic, keys and API calls from decompiled codeSlows attackers down but does not detect an attack in progress
RASPInside the app on the device, at runtimeRooted or jailbroken devices, tampering, debuggers, hooking frameworks, hostile networksCan be bypassed by determined attackers, and detections need a defined response
App shieldingApplied to the app, usually as an SDK or build stepA combined layer, typically obfuscation, anti-tampering and runtime checks togetherThe term means different things to different vendors, so ask what is actually included
Web application firewall (WAF)In front of the bank's servers or APIsMalicious HTTP requests such as injection attempts and abusive trafficCannot see the state of the device or whether the app has been modified

Which OWASP Mobile Top 10 risks matter most for banking apps?

All ten apply, but for banking apps the ones most directly addressed by app-side controls are insecure communication (M5), insufficient binary protections (M7), insecure data storage (M9), insufficient cryptography (M10) and insecure authentication (M3).

The OWASP Mobile Top 10 2024 (final release) lists M1 Improper Credential Usage, M2 Inadequate Supply Chain Security, M3 Insecure Authentication/Authorization, M4 Insufficient Input/Output Validation, M5 Insecure Communication, M6 Inadequate Privacy Controls, M7 Insufficient Binary Protections, M8 Security Misconfiguration, M9 Insecure Data Storage and M10 Insufficient Cryptography [2]. The mapping below shows typical controls. It is a practical guide, not an OWASP mapping.

OWASP Mobile Top 10 2024 risks mapped to banking app controls
RiskWhy it matters for a banking appTypical controls
M1 Improper Credential UsageHard-coded keys or stored passwords can be extractedNo credentials in the app package, server-issued tokens, secure key storage
M2 Inadequate Supply Chain SecurityThird-party SDKs and libraries run with the app's privilegesLibrary inventory and validation, dependency review
M3 Insecure Authentication/AuthorizationAccount takeover leads directly to fraudMPIN or biometrics, device binding, re-authentication, server-side authorization
M5 Insecure CommunicationTraffic can be intercepted on hostile networksTLS with certificate pinning, detection of unsafe Wi-Fi, man-in-the-middle and replay protection
M7 Insufficient Binary ProtectionsAttackers can decompile, modify and redistribute the appObfuscation, anti-tampering, anti-debugging, root and jailbreak detection (RASP)
M9 Insecure Data StorageLost or compromised phones expose customer dataEncrypted storage, no sensitive data in logs or temp files, wiping data from memory on exit
M10 Insufficient CryptographyWeak algorithms or poor key handling undermine every other controlCurrent algorithms, proper key management, no home-made cryptography

What are root detection, SSL pinning, device binding, MITM and replay protection?

Root and jailbreak detection checks whether the phone's security model has been broken. SSL pinning makes the app trust only the bank's own certificates. Device binding ties an account to a registered phone. MITM and replay protection stop intercepted traffic from being read, altered or reused.

  • Root and jailbreak detection: rooting (Android) or jailbreaking (iOS) removes the operating system's sandbox, so malware can read another app's memory or files. The app checks for signs of this and can refuse to run or restrict high-risk functions.
  • SSL or certificate pinning: by default, an app trusts any certificate signed by an authority the device trusts, including one an attacker has installed. Pinning limits trust to the bank's expected certificate or public key, so an intercepting proxy is rejected.
  • Device binding: the customer's account is linked to a specific registered device, often using a combination of hardware, software and SIM or service identifiers. A stolen password is then not enough on another phone.
  • Man-in-the-middle (MITM) attacks: an attacker sits between the app and the server, for example on a rogue Wi-Fi hotspot, to read or change traffic. Pinning, end-to-end encryption and network checks are the usual defences.
  • Replay attacks: an attacker captures a valid request, such as a payment instruction, and sends it again. Nonces, timestamps and request signing make each request valid only once.

What do RBI's Digital Payment Security Controls Directions say about mobile apps?

RBI's Digital Payment Security Controls rules set mobile app controls including mandatory device binding, device policy checks, phasing out old app versions and code obfuscation, while root and jailbreak checks are optional. Since 31 July 2026 they are issued as separate Directions for each type of regulated entity.

The 2021 Master Direction on Digital Payment Security Controls (RBI/2020-21/74) covered scheduled commercial banks (excluding RRBs), small finance banks, payments banks and credit card issuing NBFCs. On 31 July 2026 RBI issued separate Digital Payment Security Controls Directions for individual categories of regulated entity, for example small finance banks [3] and urban co-operative banks [4], repealing the earlier instructions for those categories. Each bank should read the Directions issued for its own category. The mobile application controls in the SFB and UCB Directions include the following [3][4]:

  • The bank shall enforce a device policy that allows the app to install or run only after baseline checks, including for a vulnerable operating system, vulnerable or malicious apps and insecure Wi-Fi configurations.
  • The bank shall deactivate older app versions in a phased but time-bound manner, within six months of releasing a newer version, and shall identify remote access applications where possible and prohibit login from them.
  • Other listed controls include secure download and installation, device or application encryption, minimal data collection and app permissions, application sandboxing and code obfuscation.
  • The bank shall ensure device binding of the mobile application, implemented through a combination of hardware, software and service information. If several devices may be registered, the user must be notified of each new device.
  • The bank may explore checking whether the device is rooted or jailbroken before installation and disallowing the app from installing or functioning on such a device. This check is optional, not mandatory.
  • The bank shall host the checksum of the current app version on a public platform so users can verify it.
  • The app should require re-authentication each time it is launched and after an idle period, and should not store user IDs, passwords, keys or hashes on the device.

This guide summarises regulation and standards for general information and is not legal or compliance advice. Always refer to the current text of the RBI Directions for your category of institution, and note that some controls are stated as mandatory ("shall") while others are advisory ("may").

What should banks check when evaluating a mobile app security or RASP solution?

Check which threats it detects, what it does when it detects them, how it protects network traffic, storage and authentication, how it is integrated and updated, and how its controls map to OWASP MASVS and your regulator's requirements.

  • Detection coverage: root, jailbreak, emulators, debuggers, hooking, app tampering, repackaging, malware and remote access tools.
  • Response options: block, restrict features, force re-authentication or alert the server, and whether the bank configures these per threat.
  • Network protection: certificate pinning, detection of compromised or unsecured Wi-Fi, and MITM and replay defences.
  • Data protection: encrypted local storage, secure key handling and no sensitive data left on the device.
  • Authentication support: device binding, session handling and cryptographic protection of credentials.
  • Binary hardening: obfuscation and anti-tampering on both Android and iOS builds.
  • Standards mapping: evidence against MASVS-RESILIENCE and the other MASVS groups, and against the RBI Direction clauses that apply to you.
  • Operational fit: effect on app size, start-up time and false positives, and how quickly new bypass techniques are addressed.

Where does LCode's D-Secure fit?

D-Secure is LCode Technologies' mobile app security suite for banking apps. It provides protection across five layers: application binary, network connectivity, transport, application authentication and storage.

About LCode: this section describes LCode Technologies' own product. The table lists what D-Secure includes in each layer.

D-Secure's five security layers
LayerD-Secure capabilities
Application binary securityCode tampering access control, analysis and reverse engineering controls, jailbreak detection, debugger detection, certificate pinning controls, session handling, detection of apps downloaded from third-party sources, third-party library validation, compromised device security, potentially dangerous Android app validation, root access controls, malware infection detection, remote access controls and device binding
Network connectivity securityEndpoint verification through SSL pinning and detection of compromised Wi-Fi networks
Transport layer securityCryptography, end-to-end encryption, MITM handling and replay attack handling
Application authentication securitySecure authentication and cryptographic encryption and decryption
Storage layer securitySecure data storage and encryption in transfer of data

Frequently asked questions

What is RASP in mobile banking?

Runtime application self-protection (RASP) is security built into a mobile banking app that detects threats while the app runs, such as a rooted or jailbroken phone, a modified app, an attached debugger or an intercepted connection, and responds by blocking, restricting or reporting the session. OWASP's MASVS lists RASP as a defence-in-depth resilience measure.

Why do banking apps not work on rooted or jailbroken phones?

Rooting or jailbreaking removes the operating system protections that keep apps isolated, so malware could read the banking app's data or alter its behaviour. Many banks therefore block or restrict their apps on such devices. RBI's Digital Payment Security Controls Directions say a bank may explore disallowing the app from installing or functioning on rooted or jailbroken phones; the check is optional rather than mandatory.

What is SSL pinning and why do banking apps use it?

SSL or certificate pinning makes an app accept only the bank server's expected certificate or public key instead of any certificate the device trusts. This stops man-in-the-middle attacks in which an attacker installs a rogue certificate or runs an intercepting proxy on a hostile Wi-Fi network.

Is RASP the same as app shielding?

Not exactly. RASP refers to runtime detection and response inside the app. App shielding is a broader vendor term that usually combines RASP with code obfuscation and anti-tampering. Always ask a vendor exactly which controls their shielding includes.

Is the 2021 RBI Master Direction on Digital Payment Security Controls still in force?

No longer as a single document. On 31 July 2026 RBI issued separate Digital Payment Security Controls Directions for individual categories of regulated entity, such as small finance banks and urban co-operative banks, repealing the earlier instructions for those categories. A bank should follow the Directions issued for its own category.

What does LCode's D-Secure protect against?

D-Secure covers code tampering, reverse engineering, jailbroken and rooted devices, debuggers, remote access, malware infections, apps from third-party sources, potentially dangerous Android apps, compromised devices and Wi-Fi networks, and man-in-the-middle and replay attacks, across five layers: binary, network connectivity, transport, authentication and storage.

Related LCode products

  • D-Secure Mobile App Security

    An advanced mobile app security suite designed to protect application binaries, secure network connections, encrypt transport layers, and ensure secure authentication and storage.

  • Digital Banking – Omni Channel

    A comprehensive digital banking suite empowering retail and corporate customers with seamless access across Mobile, Web, Agency, and USSD channels.

  • Unified Payment Interface (UPI) & IMPS Switch

    A unified platform for instant real-time inter-bank transactions combining IMPS and UPI functionalities, providing robust payment solutions for banks and merchants.

Key terms

Sources

  1. MASVS-RESILIENCE: Resilience Against Reverse Engineering and TamperingOWASP Mobile Application Security
  2. OWASP Mobile Top 10 2024: Final ReleaseOWASP Foundation
  3. Reserve Bank of India (Small Finance Banks – Digital Payment Security Controls) Directions, 2026 (RBI/DoS/2026-27/420, July 31, 2026)Reserve Bank of India
  4. Reserve Bank of India (Urban Co-operative Banks – Digital Payment Security Controls) Directions, 2026 (RBI/DoS/2026-27/438, July 31, 2026)Reserve Bank of India