This project has been discontinued and is no longer maintained. This website will be shut down permanently on March 1, 2017.
What is it? AppMinder Jailbreak Detection is an experimental prototype jailbreak detection tool for the Apple iOS platform based on ARM assembly code.
Why jailbreak detection? Jailbreak detection, the process of verifying the authenticity and integrity of the iOS platform on which an app is running, is a controversial topic. There are, however, obvious reasons for enterprises to ensure that proprietary company apps run only on stock devices. As jailbreaking a device eliminates several security layers of the iOS operating system, there is an increased risk of such devices being infected with malware (see ,  and ).
Why ARM assembly code? Common jailbreak detection checks are typically implemented in Objective-C or C. These checks can be easily circumvented using publicly known techniques, such as runtime hooking or C function hooking (see ,  and ). To thwart these hooking techniques, all AppMinder Jailbreak Detection checks are implemented in ARM assembly code. In order to bypass these checks, an attacker would have to modify the app's executable code using techniques like in-memory or binary patching. To complicate this process as much as possible, AppMinder Jailbreak Detection incorporates various code obfuscation techniques, as well as self-integrity checks and anti-debugging measures. AppMinder Jailbreak Detection also supports some level of polymorphism. This means that the assembly code of each individual jailbreak check is mutated, while keeping the original semantics intact. These measures are intended to make it more difficult to bypass the jailbreak detection checks in an automated fashion.
What is it for? AppMinder is mainly designed and developed with Enterprise iOS Apps in mind. Apps leveraging AppMinder checks may, however, also be approved by Apple during the App Store Review Process.
What is the field of application? Do you have a corporate policy that prohibits the use of jailbroken devices? Do your proprietary enterprise apps already search for signs of jailbreaks? If so, you might use AppMinder in addition to your existing jailbreak checks.
Is AppMinder Jailbreak Detection a truly reliable and comprehensive solution?
No. Given enough time and resources, determined attackers will, sooner or later, succeed in circumventing all jailbreak detection checks, just as they circumvent software copy protection functions and other client-side security mechanisms. By design, therefore, jailbreak detection is fundamentally a race between developers and attackers. So what's the point? The jailbreak detection checks provided by AppMinder are not intended to completely prevent professional attackers from bypassing them using techniques like in-memory or binary patching. AppMinder does, however, seek to increase the overall time and complexity required to bypass the checks.
What happens if a jailbreak is detected? Once a jailbreak is detected, the app will be terminated.
How do you use it? After choosing your settings and clicking the Generate button below, you will be provided with a unique jailbreak detection check, as well as with instructions on how to integrate this check into your Apple iOS app. AppMinder consists of two parts, namely "Variant A" and "Variant B". Each part implements different checks which are meant to thwart different attack strategies. Both parts must therefore be considered complementary, rather than mutually exclusive.
What are the limitations? The current version of AppMinder Jailbreak Detection has some limitations:
Some of these limitations may be addressed in future releases of AppMinder. If you wish to improve AppMinder by contributing code in one of these areas, please let us know.
Contributions and troubleshooting: AppMinder Jailbreak Detection contains bugs and features that have yet to be implemented. If you want to contribute to AppMinder, or if you run into any trouble, please do not hesitate to ping us. Your feedback is the only way AppMinder can be improved.
What are the terms & conditions? The BSD License specifies the terms and conditions of use for AppMinder. Please be advised that we do not provide support for AppMinder and that the project may be discontinued at any time.
Important Notice: Please be aware that the current version of AppMinder (0.6.3-BETA from June 2015) does not detect the latest Pangu Jailbreak for iOS 9.0-9.1 [Read more]