Friday, 15 February 2013

Introducing Mobile AppArmour


Overview

Threats to mobile apps are well documented, as are the risks posed from jailbreaking, rooting and malware. As we place an increasing level of trust in mobile apps, we need to ensure they protect the integrity of our personal, financial and corporate data. Presently, there are few products that focus explicitly on protecting mobile apps and few developers that have the security knowledge to implement robust defenses themselves. This is the primary reason we developed Mobile AppArmour, a product to embed defensive protections in to iOS apps, without modification to the source code.

How does Mobile AppArmour Work?

Mobile AppArmour is integrated in to the Xcode IDE using a custom run script and a number of LLVM compiler optimization passes. During the build process, Xcode is configured to compile your app to LLVM bitcode, an encoded version of the LLVM intermediate representation. Using the LLVM bitcode, Mobile AppArmour is able to transform your app by embedding defensive protections then recreate the linker steps to output a compiled ARM binary.

What does Mobile AppArmour Protect Against?

Currently, Mobile AppArmour has modules to detect and protect against the following classes of attack:
  • Jailbreaking
  • Runtime tampering
  • Binary modification
  • Debugging

As well as improving our current feature set we are working hard on expanding it and the following are on our shortlist of new features:
  • Control-flow obfuscation
  • Class, method and string obfuscation

If you’re interested in learning more about Mobile AppArmour and how it can help to secure your iOS applications, get in touch.