
The main screen of the sample app shows a ‘Click me’ button. We will present two different attack scenarios that can be followed to circumvent IOSSecuritySuite’s jailbreak detection using a Swift sample app protected by the anti-tampering library. Circumventing the jailbreak detection: test setup
BL TPS DEFEND JAILBREAKER CODE
The last point is a lesser disadvantage since it is often trivial to gain insight into the functioning of implemented security mechanisms by decompiling the application - unless its code is obfuscated. This means a reverse engineer can analyze the source code of the library to understand how it works. Secondly, this specific anti-tampering library is an open source solution. In this case, the good coding practice of separating concerns renders applications more vulnerable.
BL TPS DEFEND JAILBREAKER PATCH
First, the security checks are centralized, which means that it is sufficient for an attacker to patch the code in one place to remove all of the security mechanisms. The overall setup has two apparent weaknesses. If at least one of these checks fails, the jailbreak detection returns a flag developers can use to either terminate the application or select a different execution path. Once implemented, the jailbreak detection provided by IOSSecuritySuite performs several simple heuristics: To make use of IOSSecuritySuite, app developers need to add the anti-tampering library to their project and implement calls to specific IOSSecuritySuite methods to the code they want to protect. How iOS SecuritySuite's jailbreak detection works The described attack scenarios are equally effective for bypassing the other anti-tampering protections provided by IOSSecuritySuite, including debugger and emulator detection. We use a sample application protected with IOSSecuritySuite, a much-used open source anti-tampering library, to illustrate how easily DIY security solutions can be bested and show how dynamic analysis and hooking (using Frida) can be used to defeat the jailbreak detection provided by the anti-tampering library. In this blog, we discuss two different attack scenarios that are likely to defeat any DIY security solution. A recent survey of 1300 App Store applications shows that most of the top applications use some form of runtime application self-protection (RASP), but only implement easy-to-bypass protection, leaving the apps vulnerable to reverse engineering and tampering. The problem with these DIY security implementations, in addition to the difficulty of maintaining them, is that, in general, they only offer limited protection. Additionally, there are a number of open source security libraries developers can integrate in their applications to secure them. that dispense guidance to developers looking to build their in-app defenses from the ground up. There are blog posts, guides, tutorials, etc. The internet provides ample resources for developers or development teams who want to implement security measures against reverse engineering and tampering in their mobile applications.
