[Infowarrior] - iPhones Vulnerable to New Remote Attack

Richard Forno rforno at infowarrior.org
Tue Feb 2 23:36:44 UTC 2010


(A good friend and I wrote about this type of vuln nearly 10 years ago  
after Microsoft got burned by a similar technique with its Windows  
update process.  History repeats itself farther down the Pacific  
coast, it seems.  --rick)

Home > Vulnerabilities > iPhones Vulnerable to New Remote Attack
iPhones Vulnerable to New Remote Attack
By Dennis Fisher
Created 02/02/2010 - 1:04pm

http://threatpost.com/en_us/print/3030
  [1]There are several flaws in the way that the iPhone handles  
digital certificates which could lead to an attacker being able to  
create his own trusted certificate and entice users into downloading  
malicious files onto their iPhones. The attack is the end result of a  
number of different problems with the way that the iPhone handles over- 
the-air provisioning, trusted root certificates and configuration  
files. But the result of the attack is that a remote hacker may be  
able to change some settings on the iPhone and force all of the user's  
Web traffic to run through any server he chose and also to change the  
root certificate on the phone, enabling him to man-in-the-middle SSL  
traffic from the iPhone.

The chain of vulnerabilities and the attack was outlined in an  
anonymous blog post on the iPhone flaws [2] on Friday. Charlie Miller,  
an Apple security researcher at Independent Security Evaluators, said  
that the attack works, although it would not lead to remote code  
execution on the iPhone.

"It definitely works. I downloaded the file and ran it and it worked,"  
Miller said. "The only thing is that it warns you that the file will  
change your phone, but it also says that the certificate is from Apple  
and it's been verified."

The problems start with the fact that the iPhone signs its own  
credentials using a certificate signed by Apple when it is requesting  
a configuration file from a remote server during the provisioning  
process. The only way to establish the validity of the Apple  
certificate is to verify each of the certificates that leads to the  
Apple root certificate authority, and that can only be done by getting  
the data from a jailbroken iPhone.

Interestingly, the Apple root CA on top of the iPhone chain is not the  
same as the one published on the Apple web site. Fetching the root  
certificate published on Apple’s web site [3] shows:

Serial Number: 2 (0x2)
CN=Apple Root CA
keyid=2B:D0:69:47:94:76:09:FE:F4:6B:8D:2E:40:A6:F7:47:4D:7F:08:5E
Different name (CN), different serial numbers (1 vs 2) but the same  
key id. It looks like somebody reused the same keyset to generate a  
second certificate. Hard to tell whether this is an oversight or  
intentional, but the fact is: you cannot technically relate an iPhone  
signature to the Apple root CA certificate published on their web  
site. Even with the same keyset, verification will fail because  
Subject and Serial are different.

The iPhone by default will trust configuration files that it receives  
over the air or while connected to a PC, as long as the file is signed  
by a trusted implementation of the iPhone Configuration Utility, a  
desktop application used to create config files for iPhones. However,  
the iPhone also will accept a file that is signed by a signature-only  
certificate, which can be obtained fairly easily without any  
credentials.

Apple has a list of 224 root certificates [4] that it trusts. As part  
of the attack, the anonymous researchers obtained a signature  
certificate from VeriSign for a company named Apple Computer. They  
backed the certificate up to disk, then used iPCU to create a  
mobilconfig file called "Security Update," and attributed it to Apple  
Computer. They then exported it to disk without a signature as an XML  
file. They then signed the file and its CA trust chain and uploaded it  
to a Web server.

Opening the file with Safari on an iPhone results in the phone  
trusting the configuration file.

"To be successful, profile installation needs to be validated by the  
end-user. Unless they know about this flaw it is quite likely that a  
default end-user would trust an update that claims to be issued by  
Apple and indicated as trusted by the device. A bit of social  
engineering is needed to both get the user to click on the link and  
accept the profile installation," the researchers wrote.

The mobileconfig file has the authority to change a number of things  
on the iPhone, including the default HTTP proxy and the root  
certificate. Miller was unable to verify that the file could change  
the iPhone's proxy settings.

A real-world attack might involve the attacker enticing the user into  
clicking on a malicious URL either in an email or on a site, leading  
them to the site to download the configuration file. The user would  
see a dialogue box asking him whether he's sure he wants to install  
the file. If he accepts, the file downloads and takes whatever action  
is contained in the configuration profile.

The attacker would not have the ability to run code on the iPhone, but  
he could take any number of other actions, Miller said.

"You can make any part of the phone not work. You definitely don't get  
to run code, but there's lots of nasty things you can do. You can make  
applications not work, make it so that you can't remove this config  
file," Miller said. "At the very least, you can make someone's day  
miserable."


More information about the Infowarrior mailing list