 Phony certificates fool faulty crypto in apps from AIM, Chase, and more
Phony certificates fool faulty crypto in apps from AIM, Chase, and more

          
          
Instant messaging clients Trillian and AIM are among the apps that fail to properly validate SSL certificates before establishing a secure connection, according to the researchers. Man-in-the-middle attacks on Trillian, depending on the specific setup, can yield login credentials for a variety of third-party services (including Google Talk, AIM, Yahoo!, and Windows Live services). The AIM client version 1.0.1.2 on Windows also accepts certificates signed by untrusted parties and also fails to verify if the host name on the certificate conforms to the Internet address the app is connected to.
Similar weaknesses in the Chase mobile banking app for Google's Android operating system also puts users at risk, the researchers said. "Even a primitive network attacker—for example, someone in control of a malicious Wi-Fi access point—can exploit this vulnerability to harvest the login credentials of Chase mobile banking customers," the paper warned.
The researchers attributed weaknesses to the "terrible design" of the programming interfaces provided in widely used code libraries that implement SSL. In some cases, the libraries leave it up to individual apps to validate the certificates presented when they connect to a server. In other cases, options chosen by app developers inadvertently turn off validation routines that by default are supposed to run.
"These APIs are extremely confusing," said Moxie Marlinspike, the pseudonymous researcher who has repeatedly exposed vulnerabilities in SSL. "They're very easy to get wrong and people do get them wrong all the time. But some of the cases that [the researchers] outline don't spell certain death."
One such case, Marlinspike said, was a weakness described in the code libraries for the Amazon Flexible Payments Service used to process online payments. Invoking the library using the PHP language turns off domain-name checking in FPS, allowing the server running the program to accept connections to non-authorized servers, the paper said. Marlinspike didn't dispute that finding but said that FPS provides its own signature-based authentication protocol and doesn't transmit client credentials, credit card numbers, or bank account information. Under those circumstances, the lack of SSL validation doesn't necessarily indicate a significant loss of security, he said.

          
                  