Post

Replies

Boosts

Views

Activity

Is the Keychain and the Secure Enclave worthless on jailbroken devices?
I'd like to prevent an attacker who uses a jailbroken iPhone or iPad from reading the contents of the Keychain of my app. Is there any point in using the Secure Enclave to generate a public-private key pair if an attacker with a jailbroken device can easily attach a debugger to my app, read from the Keychain of my app and also request decryption via the Secure Enclave while appearing to the Secure Enclave as my genuine app? Doesn't the whole security of the Keychain stand on the assumption that an attacker cannot attach a debugger to my app? Is there really no reliable way how to prevent someone from attaching a debugger to my app? I think that using PT_DENY_ATTACH is very easily bypassed by attackers. I don't mind if someone attaches a debugger to a re-signed version of my app, because such re-signed app would have a different Team ID, so the Secure Enclave would fail when attempting to use the key generated by my genuine app. I just want to prevent the situation when an attacker could read from the Keychain of my app and request the Secure Enclave to apply the private keys which were generated by my genuine app. Is the Keychain and the Secure Enclave essentially worthless on jailbroken devices if a determined attacker wants to take control of my app running on their jailbroken device?
0
0
20
4h
Is the Keychain and the Secure Enclave worthless on jailbroken devices?
I'd like to prevent an attacker who uses a jailbroken iPhone or iPad from reading the contents of the Keychain of my app. Is there any point in using the Secure Enclave to generate a public-private key pair if an attacker with a jailbroken device can easily attach a debugger to my app, read from the Keychain of my app and also request decryption via the Secure Enclave while appearing to the Secure Enclave as my genuine app? Doesn't the whole security of the Keychain stand on the assumption that an attacker cannot attach a debugger to my app? Is there really no reliable way how to prevent someone from attaching a debugger to my app? I think that using PT_DENY_ATTACH is very easily bypassed by attackers. I don't mind if someone attaches a debugger to a re-signed version of my app, because such re-signed app would have a different Team ID, so the Secure Enclave would fail when attempting to use the key generated by my genuine app. I just want to prevent the situation when an attacker could read from the Keychain of my app and request the Secure Enclave to apply the private keys which were generated by my genuine app. Is the Keychain and the Secure Enclave essentially worthless on jailbroken devices if a determined attacker wants to take control of my app running on their jailbroken device?
Replies
0
Boosts
0
Views
20
Activity
4h