In association with heise online

SSL crackers

Incidentally, this includes encrypted connections: the profile adds a CA certificate that classifies the device as trustworthy to the certificate store. This allows a Man-in-the-Middle attacker to intercept SSL connections, decrypt data packets during transmission, and then eventually re-encrypt them. As iOS implicitly trusts the attacker's CA, it will accept the newly encrypted packets without any problems. Usually, such packets would trigger an error message. The attacker can see a plain text version of the encrypted data and can even freely manipulate the data.

Zoom Our configuration profile installs the Burp web proxy's "PortSwigger CA" root certificate. This certificate would even allow us to crack encrypted SSL connections, for example to steal a user's iTunes password.
For example, if a user makes a purchase at the App Store after the profile has been installed, the invisible interceptor can see the user's iTunes password in plain text. This provides the key to the user's full digital identity. Potential attackers can not only inflate the affected Apple customer's bill by making purchases, they can also access any iCloud backups and download them to a different device. This means that the victim's iOS device can, in effect, be duplicated – complete with all the data that is stored on it.

The cause of the problem resides in the signature check: we did sign our bogus Everything Everywhere profile with a valid certificate – but it was a certificate that is actually only intended for signing (and encrypting) emails. We obtained this certificate free of charge from TC TrustCenter, a Symantec subsidiary whose CA certificate is trusted implicitly by iOS.

The reason the configuration profile appears to have been signed by Apple is simple: we got TrustCenter to issue the email certificate for a Mr Apple Computer. These details are not checked when an email certificate is issued. Therefore, iOS is grossly negligent to trust these signatures when checking configuration files. To sign the .mobileconfig file with the TrustCenter certificate, we exported an unsigned configuration profile via Apple's utility and then signed the profile manually using the OpenSSL command line tool.

iOS Configuration Profile
Zoom After updating to iOS 6, our configuration profile is "Not Verified"
Heise Security informed Apple of this problem in November 2011. On the Cryptopath blog, the problem had even been documented as early as January 2010. This means that the hole was present in several iOS generations, and that Apple has taken almost three years to close it.

Support for the mobileconfig files cannot be disabled under iOS. Therefore, users who can should update to iOS 6, if only for security reasons. If Apple is no longer providing updates for a user's device with new versions of iOS, such as the first generation iPad or iPhone 3G, all users can do is keep their eyes open when browsing and inspect any dialogs with sceptical care.

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit