This episode explores the unique challenges of mobile app security, emphasizing how critical services and intellectual property residing on user-controlled devices make them prime targets for reverse engineering, tampering, and fraud. Ryan Lloyd, CPO of GuardSquare, details their platform's multi-layered approach using code obfuscation, runtime application self-protection (RASP), security testing, threat monitoring, and API attestation to harden applications. The discussion also covers common vulnerabilities, compliance considerations, and the impact of LLMs on the evolving attacker landscape.
Summarized by Podsumo
Unlike web applications, mobile apps place critical logic and intellectual property directly on user devices, an uncontrolled environment, making them highly susceptible to reverse engineering, runtime manipulation, and fraud.
GuardSquare employs a compiler-based approach for mobile app protection, utilizing mutually reinforcing layers of code obfuscation (e.g., name, control flow, virtualization) and Runtime Application Self-Protection (RASP) to detect and respond to dynamic attacks like debugging or hooking.
Analysis of banking apps revealed common vulnerabilities such as *hard-coded keys* (e.g., for AWS infrastructure or authentication, found in *164 out of 5,000+ banking apps* analyzed) and *insecure TLS implementations* leading to man-in-the-middle attacks.
Beyond protection, GuardSquare offers *Threatcast* for real-time monitoring of attack attempts, acting as "trip wires," and *App Attestation* to verify the trustworthiness of devices calling backend APIs, effectively blocking bots and tampered apps.
While not inventing new attack methods, *Large Language Models* are making existing reverse engineering knowledge *more accessible to a broader range of attackers*, intensifying the "cat and mouse game" in mobile security.
"You've never installed a banking app on a desktop computer... But a banking app for mobile, a lot of that IP and logic is built into an app that's on the end user's device where they can tamper with the environment, tamper with the code, and manipulate its behaviors."
"Hard-coded keys is still a big one that we see. Insecure communication is another... And then the third case that I think is really interesting that we've seen... was identifying third party libraries and which endpoints they're communicating with."
"I don't think the LLMs are going to invent any new novel way to perform reverse engineering or an attack. But it makes it more accessible to more people, so you end up with more attackers than you did before."