Secure iOS apps with cycript

With cycript technology, all iOS applications can debug and access variables and methods within the application.

You can also overwrite variables and execution methods.

Is there a way to protect the application from accessing these instances so that hackers cannot gain access to high secure values?

+7
security ios
source share
1 answer

With cycript technology, all iOS applications can debug and access variables and methods within the application. You can also overwrite variables and execution methods.

YES Cycript (simple) / MobileSubstrate (intermediate) / GDB for iOS (more advanced) allows you to change the runtime (i.e. methods / objects / i.variables) and do much more.

Is there a way to protect the application from accessing these instances so that hackers cannot gain access to high secure values?

There is no 100% safe way. As someone said once, when you cannot stop every hacker, but you can slow down and repel most of them. Then, if you protect your application from certain types of attacks, your application will stand a little longer without being hacked.

There is one thing to keep in mind for iOS development: Objective-C (and Swift) make hackers really easy to manipulate the runtime and perform static analysis. In short: this is related to how these languages ​​are compiled and organized in binary format.

Since this is language related, you can use other languages ​​to avoid this! To do this, it is recommended to use other languages, such as C / C ++ instead of Objective-C / Swift for a security code that processes sensitive information. For example, Cycript cannot access the C / C ++ code and, therefore, cannot change the environment encoded in these languages.

In practice, if you use cross-platform tools to develop your applications (e.g. Cocos2d, Unity, ...) , you can be protected from such attacks as a debugger (e.g. Cycript, GDB), because most of these cross-platform tools for developers, they use only Objective-C / Swift for the very first steps when launching the application and compile your application logic in any language you are developing (for example, C ++ for Cocos2d and Unity).

+2
source share

All Articles