Mobile app security has fundamentally shifted. We can no longer rely on the assumption that an application is running in a safe environment just because it was downloaded from an official app store. To protect APIs, backend infrastructure, and sensitive user data, developers have increasingly turned to device attestation— Developers increasingly use app and device attestation to obtain cryptographically verifiable evidence about app authenticity and selected device-integrity properties.
To support this, the major platform providers have built robust hardware-based attestation frameworks: Platform providers offer different trust mechanisms, including Google Play Integrity on Android and Apple App Attest on Apple platforms. HarmonyOS also provides key-management capabilities through HUKS, although these should not be treated as interchangeable with a complete app-attestation service.
These native tools are powerful. They leverage the device’s Trusted Execution Environment (TEE) and hardware-backed keystores to provide a strong root of trust. But as mobile architectures grow more complex and attackers grow more sophisticated, relying solely on platform-specific hardware attestation leaves critical gaps in your security posture.
Here is why native hardware attestation isn't a silver bullet—and how a universal security layer can bridge the gap.
The Weaknesses of Native Hardware Attestation
While native APIs provide an excellent baseline, implementing them in the real world exposes several operational and security challenges:
1. The Fragmentation Nightmare
If you build cross-platform apps, you are dealing with a fragmented security landscape. Google, Apple, and Huawei each use entirely different APIs, require different backend validation logic, and return different token formats. Maintaining three separate verification pipelines on your API gateway drains engineering resources and complicates updates.
2. The Device Exclusion Problem
Hardware attestation relies on specific ecosystems. Google Play Integrity, for example, requires Google Mobile Services (GMS). Native attestation coverage and assurance levels vary across platforms, device configurations, and OS versions. Some devices may be unsupported or unable to satisfy a chosen integrity tier. Developers therefore need an explicit policy for unsupported devices, lower-assurance verdicts, and temporary attestation failures.This forces developers into a difficult choice: block legitimate users, or create insecure bypass rules in their backend.
3. It Doesn't Solve the "Secret" Problem
Native attestation provides evidence about specific app and device properties; a successful result is not a blanket guarantee that the execution environment is free from compromise. Your app still needs a way to authenticate itself to your backend. Developers typically solve this by hardcoding API keys into the app binary. Even on a perfectly secure device, a hardcoded API key can be extracted by anyone who downloads the app file and runs it through a basic decompiler.
4. Susceptibility to Advanced Evasion
While hardware attestation is difficult to spoof, it is not impossible. Highly sophisticated attackers are increasingly developing techniques to bypass platform security. By exploiting low-level OS vulnerabilities, using advanced emulation frameworks, or manipulating the boot process before the attestation checks even run, attackers can successfully forge "clean" hardware signals on compromised devices.
Attackers can also bypass the API's hardware-backed checks by employing hooking frameworks such as Zygisk or Magisk. A common exploit is the "Leaf Hack," where attackers extract a valid cryptographic keybox.xml from a legitimate device and use it to sign illegitimate attestation certificates, tricking Google into classifying a compromised emulator or rooted device as a secure environment.
The Solution: A Universal Layer with Deep Software Attestation
To achieve true zero-trust mobile security, you need a system that builds upon native hardware trust but abstracts its complexity and reinforces its vulnerabilities. This is where Approov comes in.
Approov acts as a universal management and security wrapper around native attestation APIs, transforming them from fragmented, bare-metal signals into a comprehensive security solution.
Unifying the Ecosystem
Approov provides a consistent approach to app attestation across supported iOS, Android, and HarmonyOS platforms. Platform-specific SDK integrations handle the mobile-side complexity, while a common Approov token-verification model simplifies backend enforcement. This allows your API gateway to apply consistent security policies across supported platforms without maintaining separate verification workflows.
Dynamic Secrets and Pinned Connections
Instead of hardcoding API keys in your app, Approov delivers secrets Just-in-Time over the network, but only after the device passes attestation. Furthermore, Approov automatically manages dynamic certificate pinning, locking your app's connection to your specific server and neutralizing Man-in-the-Middle (MitM) attacks—something native attestation cannot do on its own.
The Ultimate Safety Net: Software Attestation
What happens when an attacker successfully spoofs a hardware attestation signal, or a legitimate user logs in from an older device without a TEE?
Approov fills this critical gap with a patented, cloud-based software attestation engine. Rather than relying solely on the device's self-reported hardware status, Approov calculates a deep cryptographic fingerprint of the app’s executing code in memory.
- No Blind Spots: If a user is on an older device or an AOSP build without GMS, Approov seamlessly falls back to high-fidelity software attestation, ensuring 100% of your user base is protected without false positives.
- Catching the Sophisticated Attacker: Because Approov's dynamic SDK checks analyze the live memory space, they can detect dynamic instrumentation frameworks (like Frida or Xposed) and memory-hooking techniques in real-time. If an advanced attacker uses an emulator or low-level exploit to fake a "clean" Play Integrity signal, Approov’s in-memory fingerprinting will still detect the tampering.
- Cloud-First Verification: Crucially, the decision of whether the app is tampered with is made in the Approov Cloud, not on the mobile device. Approov evaluates attestation evidence in its cloud service rather than relying solely on a local pass/fail decision. This makes enforcement less dependent on security logic that an attacker can patch within the app.
Conclusion
Native attestation is a valuable component of mobile security, but it is not a complete mobile API protection strategy. Its scope, supported environments, and integrity guarantees differ across platforms.developer.
Approov adds runtime app attestation, attestation-gated secret delivery, dynamic certificate pinning, and backend token enforcement. These controls help organizations reduce reliance on embedded credentials and make API access decisions using additional evidence about the requesting app and its environment. The goal is not an infallible safety net, but a stronger, more consistent defense against mobile API abuse.
Ted Miracco
CEO of Approov
Ted’s high-technology experience spans 30 years in cybersecurity, electronic design automation (EDA), RF/microwave circuit design, semiconductors, and defense electronics.
